aboutsummaryrefslogtreecommitdiff
path: root/internal/color/color.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/color/color.go')
-rw-r--r--internal/color/color.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/color/color.go b/internal/color/color.go
index 5a1aa54..92535d1 100644
--- a/internal/color/color.go
+++ b/internal/color/color.go
@@ -521,3 +521,22 @@ func ExpandTagsDefault(mode string, def ColorSpec, text string) string {
return sb.String()
}
+
+func ExpandDialogTags(mode string, dialogSpec ColorSpec, text string) string {
+ parts := strings.Split(text, `"`)
+ var sb strings.Builder
+ for i, part := range parts {
+ if i%2 == 0 {
+ if part != "" {
+ sb.WriteString(ExpandTagsDefault(mode, NoColor(), part))
+ }
+ } else {
+ if i < len(parts)-1 {
+ sb.WriteString(ExpandTagsDefault(mode, dialogSpec, `"`+part+`"`))
+ } else {
+ sb.WriteString(ExpandTagsDefault(mode, dialogSpec, `"`+part))
+ }
+ }
+ }
+ return sb.String()
+}