File: sgr.go

package info (click to toggle)
golang-github-charmbracelet-x 0.0~git20251028.0cf22f8%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,940 kB
  • sloc: sh: 124; makefile: 5
file content (79 lines) | stat: -rw-r--r-- 3,738 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package ansi

// SelectGraphicRendition (SGR) is a command that sets display attributes.
//
// Default is 0.
//
//	CSI Ps ; Ps ... m
//
// See: https://vt100.net/docs/vt510-rm/SGR.html
func SelectGraphicRendition(ps ...Attr) string {
	if len(ps) == 0 {
		return ResetStyle
	}

	return NewStyle(ps...).String()
}

// SGR is an alias for [SelectGraphicRendition].
func SGR(ps ...Attr) string {
	return SelectGraphicRendition(ps...)
}

var attrStrings = map[int]string{
	ResetAttr:                        resetAttr,
	BoldAttr:                         boldAttr,
	FaintAttr:                        faintAttr,
	ItalicAttr:                       italicAttr,
	UnderlineAttr:                    underlineAttr,
	SlowBlinkAttr:                    slowBlinkAttr,
	RapidBlinkAttr:                   rapidBlinkAttr,
	ReverseAttr:                      reverseAttr,
	ConcealAttr:                      concealAttr,
	StrikethroughAttr:                strikethroughAttr,
	NormalIntensityAttr:              normalIntensityAttr,
	NoItalicAttr:                     noItalicAttr,
	NoUnderlineAttr:                  noUnderlineAttr,
	NoBlinkAttr:                      noBlinkAttr,
	NoReverseAttr:                    noReverseAttr,
	NoConcealAttr:                    noConcealAttr,
	NoStrikethroughAttr:              noStrikethroughAttr,
	BlackForegroundColorAttr:         blackForegroundColorAttr,
	RedForegroundColorAttr:           redForegroundColorAttr,
	GreenForegroundColorAttr:         greenForegroundColorAttr,
	YellowForegroundColorAttr:        yellowForegroundColorAttr,
	BlueForegroundColorAttr:          blueForegroundColorAttr,
	MagentaForegroundColorAttr:       magentaForegroundColorAttr,
	CyanForegroundColorAttr:          cyanForegroundColorAttr,
	WhiteForegroundColorAttr:         whiteForegroundColorAttr,
	ExtendedForegroundColorAttr:      extendedForegroundColorAttr,
	DefaultForegroundColorAttr:       defaultForegroundColorAttr,
	BlackBackgroundColorAttr:         blackBackgroundColorAttr,
	RedBackgroundColorAttr:           redBackgroundColorAttr,
	GreenBackgroundColorAttr:         greenBackgroundColorAttr,
	YellowBackgroundColorAttr:        yellowBackgroundColorAttr,
	BlueBackgroundColorAttr:          blueBackgroundColorAttr,
	MagentaBackgroundColorAttr:       magentaBackgroundColorAttr,
	CyanBackgroundColorAttr:          cyanBackgroundColorAttr,
	WhiteBackgroundColorAttr:         whiteBackgroundColorAttr,
	ExtendedBackgroundColorAttr:      extendedBackgroundColorAttr,
	DefaultBackgroundColorAttr:       defaultBackgroundColorAttr,
	ExtendedUnderlineColorAttr:       extendedUnderlineColorAttr,
	DefaultUnderlineColorAttr:        defaultUnderlineColorAttr,
	BrightBlackForegroundColorAttr:   brightBlackForegroundColorAttr,
	BrightRedForegroundColorAttr:     brightRedForegroundColorAttr,
	BrightGreenForegroundColorAttr:   brightGreenForegroundColorAttr,
	BrightYellowForegroundColorAttr:  brightYellowForegroundColorAttr,
	BrightBlueForegroundColorAttr:    brightBlueForegroundColorAttr,
	BrightMagentaForegroundColorAttr: brightMagentaForegroundColorAttr,
	BrightCyanForegroundColorAttr:    brightCyanForegroundColorAttr,
	BrightWhiteForegroundColorAttr:   brightWhiteForegroundColorAttr,
	BrightBlackBackgroundColorAttr:   brightBlackBackgroundColorAttr,
	BrightRedBackgroundColorAttr:     brightRedBackgroundColorAttr,
	BrightGreenBackgroundColorAttr:   brightGreenBackgroundColorAttr,
	BrightYellowBackgroundColorAttr:  brightYellowBackgroundColorAttr,
	BrightBlueBackgroundColorAttr:    brightBlueBackgroundColorAttr,
	BrightMagentaBackgroundColorAttr: brightMagentaBackgroundColorAttr,
	BrightCyanBackgroundColorAttr:    brightCyanBackgroundColorAttr,
	BrightWhiteBackgroundColorAttr:   brightWhiteBackgroundColorAttr,
}