mirror of
https://gitea.com/gitea/tea.git
synced 2025-09-02 18:08:30 +02:00
Use glamour and termev to render/colorize content (#181)
Merge branch 'master' into use-glamour select Glamour Theme based on BackgroundColor Merge branch 'master' into use-glamour Merge branch 'master' into use-glamour update termev update go.mod label color colorate use glamour for issue content Vendor: Add glamour Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/181 Reviewed-by: techknowlogick <techknowlogick@gitea.io> Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
@ -21,6 +21,7 @@ import (
|
||||
"code.gitea.io/tea/modules/git"
|
||||
"code.gitea.io/tea/modules/utils"
|
||||
|
||||
"github.com/muesli/termenv"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
@ -100,6 +101,13 @@ func init() {
|
||||
yamlConfigPath = filepath.Join(dir, "tea.yml")
|
||||
}
|
||||
|
||||
func getGlamourTheme() string {
|
||||
if termenv.HasDarkBackground() {
|
||||
return "dark"
|
||||
}
|
||||
return "light"
|
||||
}
|
||||
|
||||
func getOwnerAndRepo(repoPath, user string) (string, string) {
|
||||
if len(repoPath) == 0 {
|
||||
return "", ""
|
||||
|
@ -11,6 +11,7 @@ import (
|
||||
|
||||
"code.gitea.io/sdk/gitea"
|
||||
|
||||
"github.com/charmbracelet/glamour"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
@ -64,12 +65,14 @@ func runIssueDetail(ctx *cli.Context, index string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Printf("#%d %s\n%s created %s\n\n%s\n", issue.Index,
|
||||
in := fmt.Sprintf("# #%d %s\n%s created %s\n\n%s\n", issue.Index,
|
||||
issue.Title,
|
||||
issue.Poster.UserName,
|
||||
issue.Created.Format("2006-01-02 15:04:05"),
|
||||
issue.Body,
|
||||
)
|
||||
out, err := glamour.Render(in, getGlamourTheme())
|
||||
fmt.Print(out)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ import (
|
||||
|
||||
"code.gitea.io/sdk/gitea"
|
||||
|
||||
"github.com/muesli/termenv"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
@ -59,6 +60,8 @@ func runLabels(ctx *cli.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
p := termenv.ColorProfile()
|
||||
|
||||
fPath := ctx.String("save")
|
||||
if len(fPath) > 0 {
|
||||
f, err := os.Create(fPath)
|
||||
@ -72,11 +75,13 @@ func runLabels(ctx *cli.Context) error {
|
||||
}
|
||||
} else {
|
||||
for _, label := range labels {
|
||||
color := termenv.String(label.Color)
|
||||
|
||||
values = append(
|
||||
values,
|
||||
[]string{
|
||||
strconv.FormatInt(label.ID, 10),
|
||||
label.Color,
|
||||
fmt.Sprint(color.Background(p.Color("#" + label.Color))),
|
||||
label.Name,
|
||||
label.Description,
|
||||
},
|
||||
|
Reference in New Issue
Block a user