Documentation
¶
Overview ¶
Package term provides information about the terminal that the current process is connected to (if any), for example measuring the dimensions of the terminal and inspecting whether it's safe to output color.
Index ¶
- Constants
- func IsColorDisabled() bool
- func IsColorForced() bool
- func IsTerminal(f *os.File) bool
- type ColorScheme
- func (c *ColorScheme) Blue(t string) string
- func (c *ColorScheme) Bluef(t string, args ...interface{}) string
- func (c *ColorScheme) Bold(t string) string
- func (c *ColorScheme) Boldf(t string, args ...interface{}) string
- func (c *ColorScheme) ColorFromRGB(hex string) func(string) string
- func (c *ColorScheme) ColorFromString(s string) func(string) string
- func (c *ColorScheme) Cyan(t string) string
- func (c *ColorScheme) CyanBold(t string) string
- func (c *ColorScheme) Cyanf(t string, args ...interface{}) string
- func (c *ColorScheme) FailureIcon() string
- func (c *ColorScheme) FailureIconWithColor(colo func(string) string) string
- func (c *ColorScheme) Gray(t string) string
- func (c *ColorScheme) Grayf(t string, args ...interface{}) string
- func (c *ColorScheme) Green(t string) string
- func (c *ColorScheme) GreenBold(t string) string
- func (c *ColorScheme) Greenf(t string, args ...interface{}) string
- func (c *ColorScheme) HexToRGB(hex string, x string) string
- func (c *ColorScheme) Magenta(t string) string
- func (c *ColorScheme) Magentaf(t string, args ...interface{}) string
- func (c *ColorScheme) Red(t string) string
- func (c *ColorScheme) Redf(t string, args ...interface{}) string
- func (c *ColorScheme) SuccessIcon() string
- func (c *ColorScheme) SuccessIconWithColor(colo func(string) string) string
- func (c *ColorScheme) WarningIcon() string
- func (c *ColorScheme) Yellow(t string) string
- func (c *ColorScheme) Yellowf(t string, args ...interface{}) string
- type ErrClosedPagerPipe
- type GHTerm
- func (t GHTerm) ErrOut() io.Writer
- func (t GHTerm) In() io.Reader
- func (t GHTerm) Is256ColorSupported() bool
- func (t GHTerm) IsColorEnabled() bool
- func (t GHTerm) IsTerminalOutput() bool
- func (t GHTerm) IsTrueColorSupported() bool
- func (t GHTerm) Out() io.Writer
- func (t GHTerm) Size() (int, int, error)
- func (t GHTerm) Theme() string
- type IOStreams
- func (s *IOStreams) CanPrompt() bool
- func (s *IOStreams) ColorEnabled() bool
- func (s *IOStreams) ColorScheme() *ColorScheme
- func (s *IOStreams) ColorSupport256() bool
- func (s *IOStreams) DetectTerminalTheme()
- func (s *IOStreams) GetNeverPrompt() bool
- func (s *IOStreams) GetPager() string
- func (s *IOStreams) HasTrueColor() bool
- func (s *IOStreams) IsStderrTTY() bool
- func (s *IOStreams) IsStdinTTY() bool
- func (s *IOStreams) IsStdoutTTY() bool
- func (s *IOStreams) ReadUserFile(fn string) ([]byte, error)
- func (s *IOStreams) RefreshScreen()
- func (s *IOStreams) RunWithProgress(label string, run func() error) error
- func (s *IOStreams) SetAlternateScreenBufferEnabled(enabled bool)
- func (s *IOStreams) SetColorEnabled(colorEnabled bool)
- func (s *IOStreams) SetNeverPrompt(v bool)
- func (s *IOStreams) SetPager(cmd string)
- func (s *IOStreams) SetStderrTTY(isTTY bool)
- func (s *IOStreams) SetStdinTTY(isTTY bool)
- func (s *IOStreams) SetStdoutTTY(isTTY bool)
- func (s *IOStreams) StartAlternateScreenBuffer()
- func (s *IOStreams) StartPager() error
- func (s *IOStreams) StartProgressIndicator()
- func (s *IOStreams) StartProgressIndicatorWithLabel(label string)
- func (s *IOStreams) StopAlternateScreenBuffer()
- func (s *IOStreams) StopPager()
- func (s *IOStreams) StopProgressIndicator()
- func (s *IOStreams) TempFile(dir, pattern string) (*os.File, error)
- func (s *IOStreams) TerminalTheme() string
- func (s *IOStreams) TerminalWidth() int
Constants ¶
const DefaultWidth = 80
Variables ¶
This section is empty.
Functions ¶
func IsColorDisabled ¶
func IsColorDisabled() bool
IsColorDisabled returns true if environment variables NO_COLOR or CLICOLOR prohibit usage of color codes in terminal output.
func IsColorForced ¶
func IsColorForced() bool
IsColorForced returns true if environment variable CLICOLOR_FORCE is set to force colored terminal output.
func IsTerminal ¶
IsTerminal reports whether a file descriptor is connected to a terminal.
Types ¶
type ColorScheme ¶
type ColorScheme struct {
// contains filtered or unexported fields
}
func NewColorScheme ¶
func NewColorScheme(enabled, is256enabled bool, trueColor bool) *ColorScheme
func (*ColorScheme) Blue ¶
func (c *ColorScheme) Blue(t string) string
func (*ColorScheme) Bluef ¶
func (c *ColorScheme) Bluef(t string, args ...interface{}) string
func (*ColorScheme) Bold ¶
func (c *ColorScheme) Bold(t string) string
func (*ColorScheme) Boldf ¶
func (c *ColorScheme) Boldf(t string, args ...interface{}) string
func (*ColorScheme) ColorFromRGB ¶
func (c *ColorScheme) ColorFromRGB(hex string) func(string) string
ColorFromRGB returns a function suitable for TablePrinter.AddField that calls HexToRGB, coloring text if supported by the terminal.
func (*ColorScheme) ColorFromString ¶
func (c *ColorScheme) ColorFromString(s string) func(string) string
func (*ColorScheme) Cyan ¶
func (c *ColorScheme) Cyan(t string) string
func (*ColorScheme) CyanBold ¶
func (c *ColorScheme) CyanBold(t string) string
func (*ColorScheme) Cyanf ¶
func (c *ColorScheme) Cyanf(t string, args ...interface{}) string
func (*ColorScheme) FailureIcon ¶
func (c *ColorScheme) FailureIcon() string
func (*ColorScheme) FailureIconWithColor ¶
func (c *ColorScheme) FailureIconWithColor(colo func(string) string) string
func (*ColorScheme) Gray ¶
func (c *ColorScheme) Gray(t string) string
func (*ColorScheme) Grayf ¶
func (c *ColorScheme) Grayf(t string, args ...interface{}) string
func (*ColorScheme) Green ¶
func (c *ColorScheme) Green(t string) string
func (*ColorScheme) GreenBold ¶
func (c *ColorScheme) GreenBold(t string) string
func (*ColorScheme) Greenf ¶
func (c *ColorScheme) Greenf(t string, args ...interface{}) string
func (*ColorScheme) HexToRGB ¶
func (c *ColorScheme) HexToRGB(hex string, x string) string
HexToRGB uses the given hex to color x if supported by the terminal.
func (*ColorScheme) Magenta ¶
func (c *ColorScheme) Magenta(t string) string
func (*ColorScheme) Magentaf ¶
func (c *ColorScheme) Magentaf(t string, args ...interface{}) string
func (*ColorScheme) Red ¶
func (c *ColorScheme) Red(t string) string
func (*ColorScheme) Redf ¶
func (c *ColorScheme) Redf(t string, args ...interface{}) string
func (*ColorScheme) SuccessIcon ¶
func (c *ColorScheme) SuccessIcon() string
func (*ColorScheme) SuccessIconWithColor ¶
func (c *ColorScheme) SuccessIconWithColor(colo func(string) string) string
func (*ColorScheme) WarningIcon ¶
func (c *ColorScheme) WarningIcon() string
func (*ColorScheme) Yellow ¶
func (c *ColorScheme) Yellow(t string) string
func (*ColorScheme) Yellowf ¶
func (c *ColorScheme) Yellowf(t string, args ...interface{}) string
type ErrClosedPagerPipe ¶
type ErrClosedPagerPipe struct {
// contains filtered or unexported fields
}
ErrClosedPagerPipe is the error returned when writing to a pager that has been closed.
type GHTerm ¶
type GHTerm struct {
// contains filtered or unexported fields
}
GHTerm represents information about the terminal that a process is connected to.
func FromEnv ¶
func FromEnv() GHTerm
FromEnv initializes a GHTerm from os.Stdout and environment variables:
- GH_FORCE_TTY
- NO_COLOR
- CLICOLOR
- CLICOLOR_FORCE
- TERM
- COLORTERM
func (GHTerm) Is256ColorSupported ¶
Is256ColorSupported reports whether the terminal advertises ANSI 256 color codes.
func (GHTerm) IsColorEnabled ¶
IsColorEnabled reports whether it's safe to output ANSI color sequences, depending on IsTerminalOutput and environment variables.
func (GHTerm) IsTerminalOutput ¶
IsTerminalOutput returns true if standard output is connected to a terminal.
func (GHTerm) IsTrueColorSupported ¶
IsTrueColorSupported reports whether the terminal advertises support for ANSI true color sequences.
type IOStreams ¶
type IOStreams struct { In fileReader Out fileWriter ErrOut io.Writer TempFileOverride *os.File // contains filtered or unexported fields }
func (*IOStreams) ColorEnabled ¶
func (*IOStreams) ColorScheme ¶
func (s *IOStreams) ColorScheme() *ColorScheme
func (*IOStreams) ColorSupport256 ¶
func (*IOStreams) DetectTerminalTheme ¶
func (s *IOStreams) DetectTerminalTheme()
DetectTerminalTheme is a utility to call before starting the output pager so that the terminal background can be reliably detected.
func (*IOStreams) GetNeverPrompt ¶
func (*IOStreams) HasTrueColor ¶
func (*IOStreams) IsStderrTTY ¶
func (*IOStreams) IsStdinTTY ¶
func (*IOStreams) IsStdoutTTY ¶
func (*IOStreams) RefreshScreen ¶
func (s *IOStreams) RefreshScreen()
func (*IOStreams) RunWithProgress ¶
func (*IOStreams) SetAlternateScreenBufferEnabled ¶
func (*IOStreams) SetColorEnabled ¶
func (*IOStreams) SetNeverPrompt ¶
func (*IOStreams) SetStderrTTY ¶
func (*IOStreams) SetStdinTTY ¶
func (*IOStreams) SetStdoutTTY ¶
func (*IOStreams) StartAlternateScreenBuffer ¶
func (s *IOStreams) StartAlternateScreenBuffer()
func (*IOStreams) StartPager ¶
func (*IOStreams) StartProgressIndicator ¶
func (s *IOStreams) StartProgressIndicator()
func (*IOStreams) StartProgressIndicatorWithLabel ¶
func (*IOStreams) StopAlternateScreenBuffer ¶
func (s *IOStreams) StopAlternateScreenBuffer()
func (*IOStreams) StopProgressIndicator ¶
func (s *IOStreams) StopProgressIndicator()
func (*IOStreams) TerminalTheme ¶
TerminalTheme returns "light", "dark", or "none" depending on the background color of the terminal.
func (*IOStreams) TerminalWidth ¶
TerminalWidth returns the width of the terminal that controls the process