MCPcopy
hub / github.com/junegunn/fzf / ToString

Method ToString

src/ansi.go:43–91  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

41}
42
43func (s *ansiState) ToString() string {
44 if !s.colored() {
45 return ""
46 }
47
48 ret := ""
49 if s.attr&tui.Bold > 0 || s.attr&tui.BoldForce > 0 {
50 ret += "1;"
51 }
52 if s.attr&tui.Dim > 0 {
53 ret += "2;"
54 }
55 if s.attr&tui.Italic > 0 {
56 ret += "3;"
57 }
58 if s.attr&tui.Underline > 0 {
59 switch s.attr.UnderlineStyle() {
60 case tui.UlStyleDouble:
61 ret += "4:2;"
62 case tui.UlStyleCurly:
63 ret += "4:3;"
64 case tui.UlStyleDotted:
65 ret += "4:4;"
66 case tui.UlStyleDashed:
67 ret += "4:5;"
68 default:
69 ret += "4;"
70 }
71 }
72 if s.attr&tui.Blink > 0 {
73 ret += "5;"
74 }
75 if s.attr&tui.Reverse > 0 {
76 ret += "7;"
77 }
78 if s.attr&tui.StrikeThrough > 0 {
79 ret += "9;"
80 }
81 ret += toAnsiString(s.fg, 30) + toAnsiString(s.bg, 40)
82 if s.ul != -1 {
83 ret += toAnsiStringUl(s.ul)
84 }
85
86 ret = "\x1b[" + strings.TrimSuffix(ret, ";") + "m"
87 if s.url != nil {
88 ret = fmt.Sprintf("\x1b]8;%s;%s\x1b\\%s\x1b]8;;\x1b", s.url.params, s.url.uri, ret)
89 }
90 return ret
91}
92
93func toAnsiStringUl(color tui.Color) string {
94 col := int(color)

Callers 15

TestDelimiterRegexStringFunction · 0.45
TestDelimiterRegexRegexFunction · 0.45
JoinTokensFunction · 0.45
TransformFunction · 0.45
buildResultFromBoundsFunction · 0.45
TestChunkListFunction · 0.45
RunFunction · 0.45
AsStringMethod · 0.45
printHighlightedMethod · 0.45

Calls 5

coloredMethod · 0.95
toAnsiStringFunction · 0.85
toAnsiStringUlFunction · 0.85
UnderlineStyleMethod · 0.80
TrimSuffixMethod · 0.80

Tested by 8

TestDelimiterRegexStringFunction · 0.36
TestDelimiterRegexRegexFunction · 0.36
TestChunkListFunction · 0.36
TestTokenizeFunction · 0.36
TestTransformFunction · 0.36