Documentation ¶
Index ¶
- Constants
- Variables
- func AltScreen()deprecated
- func ChangeScrollingRegion(top, bottom int)deprecated
- func ClearLine()deprecated
- func ClearLineLeft()deprecated
- func ClearLineRight()deprecated
- func ClearLines(n int)deprecated
- func ClearScreen()deprecated
- func ConvertToRGB(c Color) colorful.Color
- func Copy(str string)
- func CopyPrimary(str string)
- func CursorBack(n int)deprecated
- func CursorDown(n int)deprecated
- func CursorForward(n int)deprecated
- func CursorNextLine(n int)deprecated
- func CursorPrevLine(n int)deprecated
- func CursorUp(n int)deprecated
- func DeleteLines(n int)deprecated
- func DisableBracketedPaste()deprecated
- func DisableMouse()deprecated
- func DisableMouseAllMotion()deprecated
- func DisableMouseCellMotion()deprecated
- func DisableMouseHilite()deprecated
- func DisableMousePress()deprecated
- func EnableBracketedPaste()deprecated
- func EnableMouse()deprecated
- func EnableMouseAllMotion()deprecated
- func EnableMouseCellMotion()deprecated
- func EnableMouseHilite()deprecated
- func EnableMousePress()deprecated
- func EnableVirtualTerminalProcessing(_ io.Writer) (func() error, error)
- func EnvNoColor() bool
- func ExitAltScreen()deprecated
- func HasDarkBackground() bool
- func HideCursor()deprecated
- func Hyperlink(link, name string) string
- func InsertLines(n int)deprecated
- func MoveCursor(row int, column int)deprecated
- func Notify(title, body string)
- func Reset()deprecated
- func RestoreCursorPosition()deprecated
- func RestoreScreen()deprecated
- func SaveCursorPosition()deprecated
- func SaveScreen()deprecated
- func SetBackgroundColor(color Color)deprecated
- func SetCursorColor(color Color)deprecated
- func SetDefaultOutput(o *Output)
- func SetForegroundColor(color Color)deprecated
- func SetWindowTitle(title string)deprecated
- func ShowCursor()deprecated
- func TemplateFuncs(p Profile) template.FuncMap
- type ANSI256Color
- type ANSIColor
- type Color
- type Environ
- type File
- type NoColor
- type Output
- func (o Output) AltScreen()
- func (o *Output) BackgroundColor() Color
- func (o Output) ChangeScrollingRegion(top, bottom int)
- func (o Output) ClearLine()
- func (o Output) ClearLineLeft()
- func (o Output) ClearLineRight()
- func (o Output) ClearLines(n int)
- func (o Output) ClearScreen()
- func (o *Output) ColorProfile() Profile
- func (o Output) Copy(str string)
- func (o Output) CopyPrimary(str string)
- func (o Output) CursorBack(n int)
- func (o Output) CursorDown(n int)
- func (o Output) CursorForward(n int)
- func (o Output) CursorNextLine(n int)
- func (o Output) CursorPrevLine(n int)
- func (o Output) CursorUp(n int)
- func (o Output) DeleteLines(n int)
- func (o Output) DisableBracketedPaste()
- func (o Output) DisableMouse()
- func (o Output) DisableMouseAllMotion()
- func (o Output) DisableMouseCellMotion()
- func (o Output) DisableMouseExtendedMode()
- func (o Output) DisableMouseHilite()
- func (o Output) DisableMousePixelsMode()
- func (o Output) DisableMousePress()
- func (o Output) EnableBracketedPaste()
- func (o Output) EnableMouse()
- func (o Output) EnableMouseAllMotion()
- func (o Output) EnableMouseCellMotion()
- func (o Output) EnableMouseExtendedMode()
- func (o Output) EnableMouseHilite()
- func (o Output) EnableMousePixelsMode()
- func (o Output) EnableMousePress()
- func (o *Output) EnvColorProfile() Profile
- func (o *Output) EnvNoColor() bool
- func (o Output) ExitAltScreen()
- func (o *Output) ForegroundColor() Color
- func (o *Output) HasDarkBackground() bool
- func (o Output) HideCursor()
- func (o *Output) Hyperlink(link, name string) string
- func (o Output) InsertLines(n int)
- func (o Output) MoveCursor(row int, column int)
- func (o *Output) Notify(title, body string)
- func (o Output) Reset()
- func (o Output) RestoreCursorPosition()
- func (o Output) RestoreScreen()
- func (o Output) SaveCursorPosition()
- func (o Output) SaveScreen()
- func (o Output) SetBackgroundColor(color Color)
- func (o Output) SetCursorColor(color Color)
- func (o Output) SetForegroundColor(color Color)
- func (o Output) SetWindowTitle(title string)
- func (o Output) ShowCursor()
- func (o Output) TTY() File
- func (o Output) TemplateFuncs() template.FuncMap
- func (o Output) Write(p []byte) (int, error)
- func (o Output) WriteString(s string) (int, error)
- type OutputOption
- type Profile
- type RGBColor
- type Style
- func (t Style) Background(c Color) Style
- func (t Style) Blink() Style
- func (t Style) Bold() Style
- func (t Style) CrossOut() Style
- func (t Style) Faint() Style
- func (t Style) Foreground(c Color) Style
- func (t Style) Italic() Style
- func (t Style) Overline() Style
- func (t Style) Reverse() Style
- func (t Style) String() string
- func (t Style) Styled(s string) string
- func (t Style) Underline() Style
- func (t Style) Width() int
Constants ¶
const ( Foreground = "38" Background = "48" )
Foreground and Background sequence codes
const ( // TrueColor, 24-bit color profile TrueColor = Profile(iota) // ANSI256, 8-bit color profile ANSI256 // ANSI, 4-bit color profile ANSI // Ascii, uncolored profile Ascii //nolint:revive )
const ( // Cursor positioning. CursorUpSeq = "%dA" CursorDownSeq = "%dB" CursorForwardSeq = "%dC" CursorBackSeq = "%dD" CursorNextLineSeq = "%dE" CursorPreviousLineSeq = "%dF" CursorHorizontalSeq = "%dG" CursorPositionSeq = "%d;%dH" EraseDisplaySeq = "%dJ" EraseLineSeq = "%dK" ScrollUpSeq = "%dS" ScrollDownSeq = "%dT" SaveCursorPositionSeq = "s" RestoreCursorPositionSeq = "u" ChangeScrollingRegionSeq = "%d;%dr" InsertLineSeq = "%dL" DeleteLineSeq = "%dM" // Explicit values for EraseLineSeq. EraseLineRightSeq = "0K" EraseLineLeftSeq = "1K" EraseEntireLineSeq = "2K" // Mouse. EnableMousePressSeq = "?9h" // press only (X10) DisableMousePressSeq = "?9l" EnableMouseSeq = "?1000h" // press, release, wheel DisableMouseSeq = "?1000l" EnableMouseHiliteSeq = "?1001h" // highlight DisableMouseHiliteSeq = "?1001l" EnableMouseCellMotionSeq = "?1002h" // press, release, move on pressed, wheel DisableMouseCellMotionSeq = "?1002l" EnableMouseAllMotionSeq = "?1003h" // press, release, move, wheel DisableMouseAllMotionSeq = "?1003l" EnableMouseExtendedModeSeq = "?1006h" // press, release, move, wheel, extended coordinates DisableMouseExtendedModeSeq = "?1006l" EnableMousePixelsModeSeq = "?1016h" // press, release, move, wheel, extended pixel coordinates DisableMousePixelsModeSeq = "?1016l" // Screen. RestoreScreenSeq = "?47l" SaveScreenSeq = "?47h" AltScreenSeq = "?1049h" ExitAltScreenSeq = "?1049l" // Bracketed paste. // https://en.wikipedia.org/wiki/Bracketed-paste EnableBracketedPasteSeq = "?2004h" DisableBracketedPasteSeq = "?2004l" StartBracketedPasteSeq = "200~" EndBracketedPasteSeq = "201~" // Session. SetWindowTitleSeq = "2;%s" + string(BEL) SetForegroundColorSeq = "10;%s" + string(BEL) SetBackgroundColorSeq = "11;%s" + string(BEL) SetCursorColorSeq = "12;%s" + string(BEL) ShowCursorSeq = "?25h" HideCursorSeq = "?25l" )
Sequence definitions.
const ( ResetSeq = "0" BoldSeq = "1" FaintSeq = "2" ItalicSeq = "3" UnderlineSeq = "4" BlinkSeq = "5" ReverseSeq = "7" CrossOutSeq = "9" OverlineSeq = "53" )
Sequence definitions.
const ( // Escape character ESC = '\x1b' // Bell BEL = '\a' // Control Sequence Introducer CSI = string(ESC) + "[" // Operating System Command OSC = string(ESC) + "]" // String Terminator ST = string(ESC) + `\` )
const ( // timeout for OSC queries OSCTimeout = 5 * time.Second )
Variables ¶
var ( // ErrInvalidColor gets returned when a color is invalid. ErrInvalidColor = errors.New("invalid color") )
var ( // ErrStatusReport gets returned when the terminal can't be queried. ErrStatusReport = errors.New("unable to retrieve status report") )
Functions ¶
func AltScreen
deprecated
added in
v0.5.0
func AltScreen()
AltScreen switches to the alternate screen buffer. The former view can be restored with ExitAltScreen().
Deprecated: please use termenv.Output instead.
func ChangeScrollingRegion
deprecated
added in
v0.6.0
func ChangeScrollingRegion(top, bottom int)
ChangeScrollingRegion sets the scrolling region of the terminal.
Deprecated: please use termenv.Output instead.
func ClearLine
deprecated
added in
v0.5.0
func ClearLine()
ClearLine clears the current line.
Deprecated: please use termenv.Output instead.
func ClearLineLeft
deprecated
added in
v0.9.0
func ClearLineLeft()
ClearLineLeft clears the line to the left of the cursor.
Deprecated: please use termenv.Output instead.
func ClearLineRight
deprecated
added in
v0.9.0
func ClearLineRight()
ClearLineRight clears the line to the right of the cursor.
Deprecated: please use termenv.Output instead.
func ClearLines
deprecated
added in
v0.5.0
func ClearLines(n int)
ClearLines clears a given number of lines.
Deprecated: please use termenv.Output instead.
func ClearScreen
deprecated
added in
v0.5.0
func ClearScreen()
ClearScreen clears the visible portion of the terminal.
Deprecated: please use termenv.Output instead.
func ConvertToRGB ¶
func ConvertToRGB(c Color) colorful.Color
ConvertToRGB converts a Color to a colorful.Color.
func Copy ¶ added in v0.13.0
func Copy(str string)
Copy copies text to clipboard using OSC 52 escape sequence.
func CopyPrimary ¶ added in v0.14.0
func CopyPrimary(str string)
CopyPrimary copies text to primary clipboard (X11) using OSC 52 escape sequence.
func CursorBack
deprecated
added in
v0.6.0
func CursorBack(n int)
CursorBack moves the cursor backwards a given number of cells.
Deprecated: please use termenv.Output instead.
func CursorDown
deprecated
added in
v0.5.2
func CursorDown(n int)
CursorDown moves the cursor down a given number of lines.
Deprecated: please use termenv.Output instead.
func CursorForward
deprecated
added in
v0.6.0
func CursorForward(n int)
CursorForward moves the cursor up a given number of lines.
Deprecated: please use termenv.Output instead.
func CursorNextLine
deprecated
added in
v0.5.0
func CursorNextLine(n int)
CursorNextLine moves the cursor down a given number of lines and places it at the beginning of the line.
Deprecated: please use termenv.Output instead.
func CursorPrevLine
deprecated
added in
v0.5.0
func CursorPrevLine(n int)
CursorPrevLine moves the cursor up a given number of lines and places it at the beginning of the line.
Deprecated: please use termenv.Output instead.
func DeleteLines
deprecated
added in
v0.6.0
func DeleteLines(n int)
DeleteLines deletes the given number of lines, pulling any lines in the scrollable region below up.
Deprecated: please use termenv.Output instead.
func DisableBracketedPaste
deprecated
added in
v0.13.0
func DisableBracketedPaste()
DisableBracketedPaste disables bracketed paste.
Deprecated: please use termenv.Output instead.
func DisableMouse
deprecated
added in
v0.6.0
func DisableMouse()
DisableMouse disables Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func DisableMouseAllMotion
deprecated
added in
v0.6.0
func DisableMouseAllMotion()
DisableMouseAllMotion disables All Motion Mouse mode.
Deprecated: please use termenv.Output instead.
func DisableMouseCellMotion
deprecated
added in
v0.6.0
func DisableMouseCellMotion()
DisableMouseCellMotion disables Cell Motion Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func DisableMouseHilite
deprecated
added in
v0.6.0
func DisableMouseHilite()
DisableMouseHilite disables Hilite Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func DisableMousePress
deprecated
added in
v0.6.0
func DisableMousePress()
DisableMousePress disables X10 mouse mode.
Deprecated: please use termenv.Output instead.
func EnableBracketedPaste
deprecated
added in
v0.13.0
func EnableBracketedPaste()
EnableBracketedPaste enables bracketed paste.
Deprecated: please use termenv.Output instead.
func EnableMouse
deprecated
added in
v0.6.0
func EnableMouse()
EnableMouse enables Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func EnableMouseAllMotion
deprecated
added in
v0.6.0
func EnableMouseAllMotion()
EnableMouseAllMotion enables All Motion Mouse mode.
Deprecated: please use termenv.Output instead.
func EnableMouseCellMotion
deprecated
added in
v0.6.0
func EnableMouseCellMotion()
EnableMouseCellMotion enables Cell Motion Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func EnableMouseHilite
deprecated
added in
v0.6.0
func EnableMouseHilite()
EnableMouseHilite enables Hilite Mouse Tracking mode.
Deprecated: please use termenv.Output instead.
func EnableMousePress
deprecated
added in
v0.6.0
func EnableMousePress()
EnableMousePress enables X10 mouse mode. Button press events are sent only.
Deprecated: please use termenv.Output instead.
func EnableVirtualTerminalProcessing ¶ added in v0.13.0
EnableVirtualTerminalProcessing enables virtual terminal processing on Windows for w and returns a function that restores w to its previous state. On non-Windows platforms, or if w does not refer to a terminal, then it returns a non-nil no-op function and no error.
func EnvNoColor ¶ added in v0.7.2
func EnvNoColor() bool
EnvNoColor returns true if the environment variables explicitly disable color output by setting NO_COLOR (https://no-color.org/) or CLICOLOR/CLICOLOR_FORCE (https://bixense.com/clicolors/) If NO_COLOR is set, this will return true, ignoring CLICOLOR/CLICOLOR_FORCE If CLICOLOR=="0", it will be true only if CLICOLOR_FORCE is also "0" or is unset.
func ExitAltScreen
deprecated
added in
v0.5.0
func ExitAltScreen()
ExitAltScreen exits the alternate screen buffer and returns to the former terminal view.
Deprecated: please use termenv.Output instead.
func HasDarkBackground ¶
func HasDarkBackground() bool
HasDarkBackground returns whether terminal uses a dark-ish background.
func HideCursor
deprecated
added in
v0.5.0
func HideCursor()
HideCursor hides the cursor.
Deprecated: please use termenv.Output instead.
func InsertLines
deprecated
added in
v0.6.0
func InsertLines(n int)
InsertLines inserts the given number of lines at the top of the scrollable region, pushing lines below down.
Deprecated: please use termenv.Output instead.
func MoveCursor
deprecated
added in
v0.5.0
func Notify ¶ added in v0.14.0
func Notify(title, body string)
Notify triggers a notification using OSC777.
func Reset
deprecated
added in
v0.5.1
func Reset()
Reset the terminal to its default style, removing any active styles.
Deprecated: please use termenv.Output instead.
func RestoreCursorPosition
deprecated
added in
v0.6.0
func RestoreCursorPosition()
RestoreCursorPosition restores a saved cursor position.
Deprecated: please use termenv.Output instead.
func RestoreScreen
deprecated
added in
v0.11.0
func RestoreScreen()
RestoreScreen restores a previously saved screen state.
Deprecated: please use termenv.Output instead.
func SaveCursorPosition
deprecated
added in
v0.6.0
func SaveCursorPosition()
SaveCursorPosition saves the cursor position.
Deprecated: please use termenv.Output instead.
func SaveScreen
deprecated
added in
v0.11.0
func SaveScreen()
SaveScreen saves the screen state.
Deprecated: please use termenv.Output instead.
func SetBackgroundColor
deprecated
added in
v0.11.0
func SetBackgroundColor(color Color)
SetBackgroundColor sets the default background color.
Deprecated: please use termenv.Output instead.
func SetCursorColor
deprecated
added in
v0.11.0
func SetCursorColor(color Color)
SetCursorColor sets the cursor color.
Deprecated: please use termenv.Output instead.
func SetDefaultOutput ¶ added in v0.15.0
func SetDefaultOutput(o *Output)
SetDefaultOutput sets the default global output.
func SetForegroundColor
deprecated
added in
v0.11.0
func SetForegroundColor(color Color)
SetForegroundColor sets the default foreground color.
Deprecated: please use termenv.Output instead.
func SetWindowTitle
deprecated
added in
v0.11.0
func SetWindowTitle(title string)
SetWindowTitle sets the terminal window title.
Deprecated: please use termenv.Output instead.
func ShowCursor
deprecated
added in
v0.5.0
func ShowCursor()
ShowCursor shows the cursor.
Deprecated: please use termenv.Output instead.
func TemplateFuncs ¶
TemplateFuncs contains a few useful template helpers.
Types ¶
type ANSI256Color ¶
type ANSI256Color int
ANSI256Color is a color (16-255) as defined by the ANSI Standard.
func (ANSI256Color) Sequence ¶
func (c ANSI256Color) Sequence(bg bool) string
Sequence returns the ANSI Sequence for the color.
func (ANSI256Color) String ¶ added in v0.10.0
func (c ANSI256Color) String() string
type ANSIColor ¶
type ANSIColor int
ANSIColor is a color (0-15) as defined by the ANSI Standard.
const ( ANSIBlack ANSIColor = iota ANSIRed ANSIGreen ANSIYellow ANSIBlue ANSIMagenta ANSICyan ANSIWhite ANSIBrightBlack ANSIBrightRed ANSIBrightGreen ANSIBrightYellow ANSIBrightBlue ANSIBrightMagenta ANSIBrightCyan ANSIBrightWhite )
ANSI color codes
type Color ¶
type Color interface { // Sequence returns the ANSI Sequence for the color. Sequence(bg bool) string }
Color is an interface implemented by all colors that can be converted to an ANSI sequence.
func BackgroundColor ¶
func BackgroundColor() Color
BackgroundColor returns the terminal's default background color.
func ForegroundColor ¶
func ForegroundColor() Color
ForegroundColor returns the terminal's default foreground color.
type File ¶ added in v0.13.0
type File interface { io.ReadWriter Fd() uintptr }
File represents a file descriptor.
type NoColor ¶
type NoColor struct{}
NoColor is a nop for terminals that don't support colors.
type Output ¶ added in v0.13.0
type Output struct { Profile // contains filtered or unexported fields }
Output is a terminal output.
func DefaultOutput ¶ added in v0.13.0
func DefaultOutput() *Output
DefaultOutput returns the default global output.
func NewOutput ¶ added in v0.13.0
func NewOutput(tty io.Writer, opts ...OutputOption) *Output
NewOutput returns a new Output for the given file descriptor.
func (Output) AltScreen ¶ added in v0.13.0
func (o Output) AltScreen()
AltScreen switches to the alternate screen buffer. The former view can be restored with ExitAltScreen().
func (*Output) BackgroundColor ¶ added in v0.13.0
BackgroundColor returns the terminal's default background color.
func (Output) ChangeScrollingRegion ¶ added in v0.13.0
ChangeScrollingRegion sets the scrolling region of the terminal.
func (Output) ClearLine ¶ added in v0.13.0
func (o Output) ClearLine()
ClearLine clears the current line.
func (Output) ClearLineLeft ¶ added in v0.13.0
func (o Output) ClearLineLeft()
ClearLineLeft clears the line to the left of the cursor.
func (Output) ClearLineRight ¶ added in v0.13.0
func (o Output) ClearLineRight()
ClearLineRight clears the line to the right of the cursor.
func (Output) ClearLines ¶ added in v0.13.0
ClearLines clears a given number of lines.
func (Output) ClearScreen ¶ added in v0.13.0
func (o Output) ClearScreen()
ClearScreen clears the visible portion of the terminal.
func (*Output) ColorProfile ¶ added in v0.13.0
ColorProfile returns the supported color profile: Ascii, ANSI, ANSI256, or TrueColor.
func (Output) CopyPrimary ¶ added in v0.14.0
CopyPrimary copies text to primary clipboard (X11) using OSC 52 escape sequence.
func (Output) CursorBack ¶ added in v0.13.0
CursorBack moves the cursor backwards a given number of cells.
func (Output) CursorDown ¶ added in v0.13.0
CursorDown moves the cursor down a given number of lines.
func (Output) CursorForward ¶ added in v0.13.0
CursorForward moves the cursor up a given number of lines.
func (Output) CursorNextLine ¶ added in v0.13.0
CursorNextLine moves the cursor down a given number of lines and places it at the beginning of the line.
func (Output) CursorPrevLine ¶ added in v0.13.0
CursorPrevLine moves the cursor up a given number of lines and places it at the beginning of the line.
func (Output) DeleteLines ¶ added in v0.13.0
DeleteLines deletes the given number of lines, pulling any lines in the scrollable region below up.
func (Output) DisableBracketedPaste ¶ added in v0.13.0
func (o Output) DisableBracketedPaste()
DisableBracketedPaste disables bracketed paste.
func (Output) DisableMouse ¶ added in v0.13.0
func (o Output) DisableMouse()
DisableMouse disables Mouse Tracking mode.
func (Output) DisableMouseAllMotion ¶ added in v0.13.0
func (o Output) DisableMouseAllMotion()
DisableMouseAllMotion disables All Motion Mouse mode.
func (Output) DisableMouseCellMotion ¶ added in v0.13.0
func (o Output) DisableMouseCellMotion()
DisableMouseCellMotion disables Cell Motion Mouse Tracking mode.
func (Output) DisableMouseExtendedMode ¶ added in v0.14.0
func (o Output) DisableMouseExtendedMode()
DisableMouseExtendedMotion disables Extended Mouse mode (SGR).
func (Output) DisableMouseHilite ¶ added in v0.13.0
func (o Output) DisableMouseHilite()
DisableMouseHilite disables Hilite Mouse Tracking mode.
func (Output) DisableMousePixelsMode ¶ added in v0.14.0
func (o Output) DisableMousePixelsMode()
DisableMousePixelsMotion disables Pixel Motion Mouse mode (SGR-Pixels).
func (Output) DisableMousePress ¶ added in v0.13.0
func (o Output) DisableMousePress()
DisableMousePress disables X10 mouse mode.
func (Output) EnableBracketedPaste ¶ added in v0.13.0
func (o Output) EnableBracketedPaste()
EnableBracketedPaste enables bracketed paste.
func (Output) EnableMouse ¶ added in v0.13.0
func (o Output) EnableMouse()
EnableMouse enables Mouse Tracking mode.
func (Output) EnableMouseAllMotion ¶ added in v0.13.0
func (o Output) EnableMouseAllMotion()
EnableMouseAllMotion enables All Motion Mouse mode.
func (Output) EnableMouseCellMotion ¶ added in v0.13.0
func (o Output) EnableMouseCellMotion()
EnableMouseCellMotion enables Cell Motion Mouse Tracking mode.
func (Output) EnableMouseExtendedMode ¶ added in v0.14.0
func (o Output) EnableMouseExtendedMode()
EnableMouseExtendedMotion enables Extended Mouse mode (SGR). This should be enabled in conjunction with EnableMouseCellMotion, and EnableMouseAllMotion.
func (Output) EnableMouseHilite ¶ added in v0.13.0
func (o Output) EnableMouseHilite()
EnableMouseHilite enables Hilite Mouse Tracking mode.
func (Output) EnableMousePixelsMode ¶ added in v0.14.0
func (o Output) EnableMousePixelsMode()
EnableMousePixelsMotion enables Pixel Motion Mouse mode (SGR-Pixels). This should be enabled in conjunction with EnableMouseCellMotion, and EnableMouseAllMotion.
func (Output) EnableMousePress ¶ added in v0.13.0
func (o Output) EnableMousePress()
EnableMousePress enables X10 mouse mode. Button press events are sent only.
func (*Output) EnvColorProfile ¶ added in v0.13.0
EnvColorProfile returns the color profile based on environment variables set Supports NO_COLOR (https://no-color.org/) and CLICOLOR/CLICOLOR_FORCE (https://bixense.com/clicolors/) If none of these environment variables are set, this behaves the same as ColorProfile() It will return the Ascii color profile if EnvNoColor() returns true If the terminal does not support any colors, but CLICOLOR_FORCE is set and not "0" then the ANSI color profile will be returned.
func (*Output) EnvNoColor ¶ added in v0.13.0
EnvNoColor returns true if the environment variables explicitly disable color output by setting NO_COLOR (https://no-color.org/) or CLICOLOR/CLICOLOR_FORCE (https://bixense.com/clicolors/) If NO_COLOR is set, this will return true, ignoring CLICOLOR/CLICOLOR_FORCE If CLICOLOR=="0", it will be true only if CLICOLOR_FORCE is also "0" or is unset.
func (Output) ExitAltScreen ¶ added in v0.13.0
func (o Output) ExitAltScreen()
ExitAltScreen exits the alternate screen buffer and returns to the former terminal view.
func (*Output) ForegroundColor ¶ added in v0.13.0
ForegroundColor returns the terminal's default foreground color.
func (*Output) HasDarkBackground ¶ added in v0.13.0
HasDarkBackground returns whether terminal uses a dark-ish background.
func (Output) HideCursor ¶ added in v0.13.0
func (o Output) HideCursor()
HideCursor hides the cursor.
func (Output) InsertLines ¶ added in v0.13.0
InsertLines inserts the given number of lines at the top of the scrollable region, pushing lines below down.
func (Output) MoveCursor ¶ added in v0.13.0
MoveCursor moves the cursor to a given position.
func (Output) Reset ¶ added in v0.13.0
func (o Output) Reset()
Reset the terminal to its default style, removing any active styles.
func (Output) RestoreCursorPosition ¶ added in v0.13.0
func (o Output) RestoreCursorPosition()
RestoreCursorPosition restores a saved cursor position.
func (Output) RestoreScreen ¶ added in v0.13.0
func (o Output) RestoreScreen()
RestoreScreen restores a previously saved screen state.
func (Output) SaveCursorPosition ¶ added in v0.13.0
func (o Output) SaveCursorPosition()
SaveCursorPosition saves the cursor position.
func (Output) SaveScreen ¶ added in v0.13.0
func (o Output) SaveScreen()
SaveScreen saves the screen state.
func (Output) SetBackgroundColor ¶ added in v0.13.0
SetBackgroundColor sets the default background color.
func (Output) SetCursorColor ¶ added in v0.13.0
SetCursorColor sets the cursor color.
func (Output) SetForegroundColor ¶ added in v0.13.0
SetForegroundColor sets the default foreground color.
func (Output) SetWindowTitle ¶ added in v0.13.0
SetWindowTitle sets the terminal window title.
func (Output) ShowCursor ¶ added in v0.13.0
func (o Output) ShowCursor()
ShowCursor shows the cursor.
func (Output) TTY ¶ added in v0.13.0
TTY returns the terminal's file descriptor. This may be nil if the output is not a terminal.
func (Output) TemplateFuncs ¶ added in v0.13.0
TemplateFuncs returns template helpers for the given output.
type OutputOption ¶ added in v0.14.0
type OutputOption = func(*Output)
OutputOption sets an option on Output.
func WithColorCache ¶ added in v0.13.0
func WithColorCache(v bool) OutputOption
WithColorCache returns a new OutputOption with fore- and background color values pre-fetched and cached.
func WithEnvironment ¶ added in v0.13.0
func WithEnvironment(environ Environ) OutputOption
WithEnvironment returns a new OutputOption for the given environment.
func WithProfile ¶ added in v0.13.0
func WithProfile(profile Profile) OutputOption
WithProfile returns a new OutputOption for the given profile.
func WithTTY ¶ added in v0.15.0
func WithTTY(v bool) OutputOption
WithTTY returns a new OutputOption to assume whether or not the output is a TTY. This is useful when mocking console output.
func WithUnsafe ¶ added in v0.14.0
func WithUnsafe() OutputOption
WithUnsafe returns a new OutputOption with unsafe mode enabled. Unsafe mode doesn't check whether or not the terminal is a TTY.
This option supersedes WithTTY.
This is useful when mocking console output and enforcing ANSI escape output e.g. on SSH sessions.
type Profile ¶
type Profile int
Profile is a color profile: Ascii, ANSI, ANSI256, or TrueColor.
func ColorProfile ¶
func ColorProfile() Profile
ColorProfile returns the supported color profile: Ascii, ANSI, ANSI256, or TrueColor.
func EnvColorProfile ¶ added in v0.7.2
func EnvColorProfile() Profile
EnvColorProfile returns the color profile based on environment variables set Supports NO_COLOR (https://no-color.org/) and CLICOLOR/CLICOLOR_FORCE (https://bixense.com/clicolors/) If none of these environment variables are set, this behaves the same as ColorProfile() It will return the Ascii color profile if EnvNoColor() returns true If the terminal does not support any colors, but CLICOLOR_FORCE is set and not "0" then the ANSI color profile will be returned.
func (Profile) Color ¶
Color creates a Color from a string. Valid inputs are hex colors, as well as ANSI color codes (0-15, 16-255).
type Style ¶
type Style struct {
// contains filtered or unexported fields
}
Style is a string that various rendering styles can be applied to.
func (Style) Background ¶
Background sets a background color.
func (Style) Foreground ¶
Foreground sets a foreground color.