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:
6543
2020-09-19 16:00:50 +00:00
committed by Lunny Xiao
parent f8d983b523
commit 89e93d90b3
434 changed files with 68002 additions and 3 deletions

View File

@ -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 "", ""

View File

@ -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
}

View File

@ -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,
},