mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-06 00:47:15 -04:00
Implement Capitalization (#118)
This commit is contained in:
+10
-1
@@ -3,6 +3,7 @@ package ansi
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"strings"
|
||||
"text/template"
|
||||
|
||||
"github.com/muesli/termenv"
|
||||
@@ -38,13 +39,21 @@ func renderText(w io.Writer, p termenv.Profile, rules StylePrimitive, s string)
|
||||
|
||||
out := termenv.String(s)
|
||||
|
||||
if rules.Upper != nil && *rules.Upper {
|
||||
out = termenv.String(strings.ToUpper(s))
|
||||
}
|
||||
if rules.Lower != nil && *rules.Lower {
|
||||
out = termenv.String(strings.ToLower(s))
|
||||
}
|
||||
if rules.Title != nil && *rules.Title {
|
||||
out = termenv.String(strings.Title(s))
|
||||
}
|
||||
if rules.Color != nil {
|
||||
out = out.Foreground(p.Color(*rules.Color))
|
||||
}
|
||||
if rules.BackgroundColor != nil {
|
||||
out = out.Background(p.Color(*rules.BackgroundColor))
|
||||
}
|
||||
|
||||
if rules.Underline != nil && *rules.Underline {
|
||||
out = out.Underline()
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ type StylePrimitive struct {
|
||||
BackgroundColor *string `json:"background_color,omitempty"`
|
||||
Underline *bool `json:"underline,omitempty"`
|
||||
Bold *bool `json:"bold,omitempty"`
|
||||
Upper *bool `json:"upper,omitempty"`
|
||||
Lower *bool `json:"lower,omitempty"`
|
||||
Title *bool `json:"title,omitempty"`
|
||||
Italic *bool `json:"italic,omitempty"`
|
||||
CrossedOut *bool `json:"crossed_out,omitempty"`
|
||||
Faint *bool `json:"faint,omitempty"`
|
||||
@@ -151,6 +154,9 @@ func cascadeStyle(parent StyleBlock, child StyleBlock, toBlock bool) StyleBlock
|
||||
s.BackgroundColor = parent.BackgroundColor
|
||||
s.Underline = parent.Underline
|
||||
s.Bold = parent.Bold
|
||||
s.Upper = parent.Upper
|
||||
s.Title = parent.Title
|
||||
s.Lower = parent.Lower
|
||||
s.Italic = parent.Italic
|
||||
s.CrossedOut = parent.CrossedOut
|
||||
s.Faint = parent.Faint
|
||||
@@ -186,6 +192,15 @@ func cascadeStyle(parent StyleBlock, child StyleBlock, toBlock bool) StyleBlock
|
||||
if child.Bold != nil {
|
||||
s.Bold = child.Bold
|
||||
}
|
||||
if child.Upper != nil {
|
||||
s.Upper = child.Upper
|
||||
}
|
||||
if child.Lower != nil {
|
||||
s.Lower = child.Lower
|
||||
}
|
||||
if child.Title != nil {
|
||||
s.Title = child.Title
|
||||
}
|
||||
if child.Italic != nil {
|
||||
s.Italic = child.Italic
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user