Documentation ¶
Index ¶
- func ColorProfile() termenv.Profile
- func HasDarkBackground() bool
- func Height(str string) int
- func JoinHorizontal(pos Position, strs ...string) string
- func JoinVertical(pos Position, strs ...string) string
- func Place(width, height int, hPos, vPos Position, str string, opts ...WhitespaceOption) string
- func PlaceHorizontal(width int, pos Position, str string, opts ...WhitespaceOption) string
- func PlaceVertical(height int, pos Position, str string, opts ...WhitespaceOption) string
- func Width(str string) (width int)
- type AdaptiveColor
- type Border
- type Color
- type NoColor
- type Position
- type Style
- func (s Style) Align(p Position) Style
- func (s Style) Background(c TerminalColor) Style
- func (s Style) Blink(v bool) Style
- func (s Style) Bold(v bool) Style
- func (s Style) Border(b Border, sides ...bool) Style
- func (s Style) BorderBackground(c ...TerminalColor) Style
- func (s Style) BorderBottom(v bool) Style
- func (s Style) BorderBottomBackground(c TerminalColor) Style
- func (s Style) BorderBottomForeground(c TerminalColor) Style
- func (s Style) BorderForeground(c ...TerminalColor) Style
- func (s Style) BorderLeft(v bool) Style
- func (s Style) BorderLeftBackground(c TerminalColor) Style
- func (s Style) BorderLeftForeground(c TerminalColor) Style
- func (s Style) BorderRight(v bool) Style
- func (s Style) BorderRightBackground(c TerminalColor) Style
- func (s Style) BorderRightForeground(c TerminalColor) Style
- func (s Style) BorderStyle(b Border) Style
- func (s Style) BorderTop(v bool) Style
- func (s Style) BorderTopBackground(c TerminalColor) Style
- func (s Style) BorderTopForeground(c TerminalColor) Style
- func (s Style) ColorWhitespace(v bool) Style
- func (s Style) Copy() Style
- func (s Style) Faint(v bool) Style
- func (s Style) Foreground(c TerminalColor) Style
- func (s Style) GetAlign() Position
- func (s Style) GetBackground() TerminalColor
- func (s Style) GetBlink() bool
- func (s Style) GetBold() bool
- func (s Style) GetBorder() (b Border, top, right, bottom, left bool)
- func (s Style) GetBorderBottom() bool
- func (s Style) GetBorderBottomBackground() TerminalColor
- func (s Style) GetBorderBottomForeground() TerminalColor
- func (s Style) GetBorderLeft() bool
- func (s Style) GetBorderLeftBackground() TerminalColor
- func (s Style) GetBorderLeftForeground() TerminalColor
- func (s Style) GetBorderRight() bool
- func (s Style) GetBorderRightBackground() TerminalColor
- func (s Style) GetBorderRightForeground() TerminalColor
- func (s Style) GetBorderStyle() Border
- func (s Style) GetBorderTop() bool
- func (s Style) GetBorderTopBackground() TerminalColor
- func (s Style) GetBorderTopForeground() TerminalColor
- func (s Style) GetColorWhitespace() bool
- func (s Style) GetFaint() bool
- func (s Style) GetForeground() TerminalColor
- func (s Style) GetHeight() int
- func (s Style) GetInline() bool
- func (s Style) GetItalic() bool
- func (s Style) GetMargin() (top, right, bottom, left int)
- func (s Style) GetMarginBottom() int
- func (s Style) GetMarginLeft() int
- func (s Style) GetMarginRight() int
- func (s Style) GetMarginTop() int
- func (s Style) GetMaxHeight() int
- func (s Style) GetMaxWidth() int
- func (s Style) GetPadding() (top, right, bottom, left int)
- func (s Style) GetPaddingBottom() int
- func (s Style) GetPaddingLeft() int
- func (s Style) GetPaddingRight() int
- func (s Style) GetPaddingTop() int
- func (s Style) GetReverse() bool
- func (s Style) GetStrikethrough() bool
- func (s Style) GetStrikethroughSpaces() bool
- func (s Style) GetUnderline() bool
- func (s Style) GetUnderlineSpaces() bool
- func (s Style) GetWidth() int
- func (s Style) Height(i int) Style
- func (s Style) Inherit(i Style) Style
- func (s Style) Inline(v bool) Style
- func (s Style) Italic(v bool) Style
- func (s Style) Margin(i ...int) Style
- func (s Style) MarginBackground(c TerminalColor) Style
- func (s Style) MarginBottom(i int) Style
- func (s Style) MarginLeft(i int) Style
- func (s Style) MarginRight(i int) Style
- func (s Style) MarginTop(i int) Style
- func (s Style) MaxHeight(n int) Style
- func (s Style) MaxWidth(n int) Style
- func (s Style) Padding(i ...int) Style
- func (s Style) PaddingBottom(i int) Style
- func (s Style) PaddingLeft(i int) Style
- func (s Style) PaddingRight(i int) Style
- func (s Style) PaddingTop(i int) Style
- func (s Style) Render(str string) string
- func (s Style) Reverse(v bool) Style
- func (s Style) SetString(str string) Style
- func (s Style) Strikethrough(v bool) Style
- func (s Style) StrikethroughSpaces(v bool) Style
- func (s Style) String() string
- func (s Style) Underline(v bool) Style
- func (s Style) UnderlineSpaces(v bool) Style
- func (s Style) UnsetAlign() Style
- func (s Style) UnsetBackground() Style
- func (s Style) UnsetBlink() Style
- func (s Style) UnsetBold() Style
- func (s Style) UnsetBorderBackground() Style
- func (s Style) UnsetBorderBottom() Style
- func (s Style) UnsetBorderBottomBackground() Style
- func (s Style) UnsetBorderBottomForeground() Style
- func (s Style) UnsetBorderForeground() Style
- func (s Style) UnsetBorderLeft() Style
- func (s Style) UnsetBorderLeftBackground() Style
- func (s Style) UnsetBorderLeftForeground() Style
- func (s Style) UnsetBorderRight() Style
- func (s Style) UnsetBorderRightBackground() Style
- func (s Style) UnsetBorderRightForeground() Style
- func (s Style) UnsetBorderStyle() Style
- func (s Style) UnsetBorderTop() Style
- func (s Style) UnsetBorderTopBackgroundColor() Style
- func (s Style) UnsetBorderTopForeground() Style
- func (s Style) UnsetColorWhitespace() Style
- func (s Style) UnsetFaint() Style
- func (s Style) UnsetForeground() Style
- func (s Style) UnsetHeight() Style
- func (s Style) UnsetInline() Style
- func (s Style) UnsetItalic() Style
- func (s Style) UnsetMarginBackground() Style
- func (s Style) UnsetMarginBottom() Style
- func (s Style) UnsetMarginLeft() Style
- func (s Style) UnsetMarginRight() Style
- func (s Style) UnsetMarginTop() Style
- func (s Style) UnsetMargins() Style
- func (s Style) UnsetMaxHeight() Style
- func (s Style) UnsetMaxWidth() Style
- func (s Style) UnsetPadding() Style
- func (s Style) UnsetPaddingBottom() Style
- func (s Style) UnsetPaddingLeft() Style
- func (s Style) UnsetPaddingRight() Style
- func (s Style) UnsetPaddingTop() Style
- func (s Style) UnsetReverse() Style
- func (s Style) UnsetStrikethrough() Style
- func (s Style) UnsetStrikethroughSpaces() Style
- func (s Style) UnsetString() Style
- func (s Style) UnsetUnderline() Style
- func (s Style) UnsetUnderlineSpaces() Style
- func (s Style) UnsetWidth() Style
- func (s Style) Width(i int) Style
- type TerminalColor
- type WhitespaceOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ColorProfile ¶
ColorProfile returns the detected termenv color profile. It will perform the actual check only once.
func HasDarkBackground ¶ added in v0.1.1
func HasDarkBackground() bool
HadDarkBackground returns whether or not the terminal has a dark background.
func Height ¶
Height returns height of a string in cells. This is done simply by counting \n characters. If your strings use \r\n for newlines you should convert them to \n first, or simply write a separate function for measuring height.
func JoinHorizontal ¶
JoinHorizontal is a utility function for horizontally joining two potentially multi-lined strings along a vertical axis. The first argument is the position, with 0 being all the way at the top and 1 being all the way at the bottom.
If you just want to align to the left, right or center you may as well just use the helper constants Top, Center, and Bottom.
Example:
blockB := "...\n...\n..." blockA := "...\n...\n...\n...\n..." // Join 20% from the top str := lipgloss.JoinHorizontal(0.2, blockA, blockB) // Join on the top edge str := lipgloss.JoinHorizontal(lipgloss.Top, blockA, blockB)
func JoinVertical ¶
JoinVertical is a utility function for vertically joining two potentially multi-lined strings along a horizontal axis. The first argument is the position, with 0 being all the way to the left and 1 being all the way to the right.
If you just want to align to the left, right or center you may as well just use the helper constants Left, Center, and Right.
Example:
blockB := "...\n...\n..." blockA := "...\n...\n...\n...\n..." // Join 20% from the top str := lipgloss.JoinVertical(0.2, blockA, blockB) // Join on the right edge str := lipgloss.JoinVertical(lipgloss.Right, blockA, blockB)
func Place ¶
func Place(width, height int, hPos, vPos Position, str string, opts ...WhitespaceOption) string
Place places a string or text block vertically in an unstyled box of a given width or height.
func PlaceHorizontal ¶
func PlaceHorizontal(width int, pos Position, str string, opts ...WhitespaceOption) string
PlaceHorizontal places a string or text block horizontally in an unstyled block of a given width. If the given width is shorter than the max width of the string (measured by it's longest line) this will be a noöp.
func PlaceVertical ¶
func PlaceVertical(height int, pos Position, str string, opts ...WhitespaceOption) string
PlaceVertical places a string or text block vertically in an unstyled block of a given height. If the given height is shorter than the height of the string (measured by it's newlines) then this will be a noöp.
Types ¶
type AdaptiveColor ¶
AdaptiveColor provides color options for light and dark backgrounds. The appropriate color with be returned at runtime based on the darkness of the terminal background color.
Example usage:
color := lipgloss.AdaptiveColor{Light: "#0000ff", Dark: "#000099"}
func (AdaptiveColor) RGBA ¶
func (ac AdaptiveColor) RGBA() (r, g, b, a uint32)
RGBA returns the RGBA value of this color. This satisfies the Go Color interface. Note that on error we return black with 100% opacity, or:
Red: 0x0, Green: 0x0, Blue: 0x0, Alpha: 0xFFFF
This is inline with go-colorful's default behavior.
type Border ¶
type Border struct { Top string Bottom string Left string Right string TopLeft string TopRight string BottomRight string BottomLeft string }
Border contains a series of values which comprise the various parts of a border.
func DoubleBorder ¶
func DoubleBorder() Border
DoubleBorder returns a border comprised of two thin strokes.
func NormalBorder ¶
func NormalBorder() Border
NormalBorder returns a standard-type border with a normal weight and 90 degree corners.
func RoundedBorder ¶
func RoundedBorder() Border
RoundedBorder returns a border with rounded corners.
func ThickBorder ¶
func ThickBorder() Border
Thick border returns a border that's thicker than the one returned by NormalBorder.
type Color ¶
type Color string
Color specifies a color by hex or ANSI value. For example:
ansiColor := lipgloss.Color("21") hexColor := lipgloss.Color("#0000ff")
type NoColor ¶
type NoColor struct{}
NoColor is used to specify the absence of color styling. When this is active foreground colors will be rendered with the terminal's default text color, and background colors will not be drawn at all.
Example usage:
var style = someStyle.Copy().Background(lipgloss.NoColor{})
type Position ¶
type Position float64
Position represents a position along a horizontal or vertical axis. It's in situations where an axis is involved, like alignment, joining, placement and so on.
A value of 0 represents the start (the left or top) and 1 represents the end (the right or bottom). 0.5 represents the center.
There are constants Top, Bottom, Center, Left and Right in this package that can be used to aid readability.
type Style ¶
type Style struct {
// contains filtered or unexported fields
}
Style contains a set of rules that comprise a style as a whole.
func NewStyle ¶
func NewStyle() Style
NewStyle returns a new, empty Style. While it's syntactic sugar for the Style{} primitive, it's recommended to use this function for creating styles incase the underlying implementation changes.
func (Style) Background ¶
func (s Style) Background(c TerminalColor) Style
Background sets a background color.
func (Style) Border ¶
Border is shorthand for setting a the border style and which sides should have a border at once. The variadic argument sides works as follows:
With one value, the value is applied to all sides.
With two values, the values are applied to the vertical and horizontal sides, in that order.
With three values, the values are applied to the top side, the horizontal sides, and the bottom side, in that order.
With four values, the values are applied clockwise starting from the top side, followed by the right side, then the bottom, and finally the left.
With more than four arguments the border will be applied to all sides.
Examples:
// Applies borders to the top and bottom only lipgloss.NewStyle().Border(lipgloss.NormalBorder(), true, false) // Applies rounded borders to the right and bottom only lipgloss.NewStyle().Border(lipgloss.RoundedBorder(), false, true, true, false)
func (Style) BorderBackground ¶ added in v0.1.2
func (s Style) BorderBackground(c ...TerminalColor) Style
BorderBackgroundColor is a shorthand function for setting all of the background colors of the borders at once. The arguments work as follows:
With one argument, the argument is applied to all sides.
With two arguments, the arguments are applied to the vertical and horizontal sides, in that order.
With three arguments, the arguments are applied to the top side, the horizontal sides, and the bottom side, in that order.
With four arguments, the arguments are applied clockwise starting from the top side, followed by the right side, then the bottom, and finally the left.
With more than four arguments nothing will be set.
func (Style) BorderBottom ¶
BorderBottom determines whether or not to draw a bottom border.
func (Style) BorderBottomBackground ¶ added in v0.1.2
func (s Style) BorderBottomBackground(c TerminalColor) Style
BorderBottomBackgroundColor set the top color of the border.
func (Style) BorderBottomForeground ¶ added in v0.1.2
func (s Style) BorderBottomForeground(c TerminalColor) Style
BorderBottomForegroundColor set the top color of the border.
func (Style) BorderForeground ¶ added in v0.1.2
func (s Style) BorderForeground(c ...TerminalColor) Style
BorderForeground is a shorthand function for setting all of the foreground colors of the borders at once. The arguments work as follows:
With one argument, the argument is applied to all sides.
With two arguments, the arguments are applied to the vertical and horizontal sides, in that order.
With three arguments, the arguments are applied to the top side, the horizontal sides, and the bottom side, in that order.
With four arguments, the arguments are applied clockwise starting from the top side, followed by the right side, then the bottom, and finally the left.
With more than four arguments nothing will be set.
func (Style) BorderLeft ¶
BorderLeft determines whether or not to draw a left border.
func (Style) BorderLeftBackground ¶ added in v0.1.2
func (s Style) BorderLeftBackground(c TerminalColor) Style
BorderLeftBackgroundColor set the top color of the border.
func (Style) BorderLeftForeground ¶ added in v0.1.2
func (s Style) BorderLeftForeground(c TerminalColor) Style
BorderLeftForegroundColor set the top color of the border.
func (Style) BorderRight ¶
BorderRight determines whether or not to draw a right border.
func (Style) BorderRightBackground ¶ added in v0.1.2
func (s Style) BorderRightBackground(c TerminalColor) Style
BorderRightBackgroundColor set the top color of the border.
func (Style) BorderRightForeground ¶ added in v0.1.2
func (s Style) BorderRightForeground(c TerminalColor) Style
BorderRightForegroundColor set the top color of the border.
func (Style) BorderStyle ¶
BorderStyle defines the Border on a style. A Border contains a series of definitions for the sides and corners of a border.
Note that if border visibility has not been set for any sides when setting the border style, the border will be enabled for all sides during rendering.
You can define border characters as you'd like, though several default styles are included: NormalBorder(), RoundedBorder(), ThickBorder(), and DoubleBorder().
Example:
lipgloss.NewStyle().BorderStyle(lipgloss.ThickBorder())
func (Style) BorderTopBackground ¶ added in v0.1.2
func (s Style) BorderTopBackground(c TerminalColor) Style
BorderTopBackgroundColor set the top color of the border.
func (Style) BorderTopForeground ¶ added in v0.1.2
func (s Style) BorderTopForeground(c TerminalColor) Style
BorderTopForegroundColor set the top color of the border.
func (Style) ColorWhitespace ¶
ColorWhitespace determines whether or not the background color should be applied to the padding. This is true by default as it's more than likely the desired and expected behavior, but it can be disabled for certain graphic effects.
func (Style) Foreground ¶
func (s Style) Foreground(c TerminalColor) Style
Foreground sets a foreground color.
// Sets the foreground to blue s := lipgloss.NewStyle().Foreground(lipgloss.Color("#0000ff")) // Removes the foreground color s.Foreground(lipgloss.NoColor)
func (Style) GetAlign ¶ added in v0.2.0
GetAlign returns the style's implicit alignment setting. If no alignment is set Position.AlignLeft is returned.
func (Style) GetBackground ¶ added in v0.2.0
func (s Style) GetBackground() TerminalColor
GetBackground returns the style's back color. If no value is set NoColor{} is returned.
func (Style) GetBlink ¶ added in v0.2.0
GetBlink returns the style's blink value. It no value is set false is returned.
func (Style) GetBold ¶ added in v0.2.0
GetBold returns the style's bold value It no value is set false is returned.
func (Style) GetBorder ¶ added in v0.2.0
GetBorder returns the style's border style (type Border) and value for the top, right, bottom, and left in that order. If no value is set for the border style, Border{} is returned. For all other unset values false is returend.
func (Style) GetBorderBottom ¶ added in v0.2.0
GetBorderBottom returns the style's bottom border setting. If no value is set false is returned.
func (Style) GetBorderBottomBackground ¶ added in v0.2.0
func (s Style) GetBorderBottomBackground() TerminalColor
GetBorderBottomBackground returns the style's border bottom background color. If no value is set NoColor{} is returned.
func (Style) GetBorderBottomForeground ¶ added in v0.2.0
func (s Style) GetBorderBottomForeground() TerminalColor
GetBorderBottomForeground returns the style's border bottom foreground color. If no value is set NoColor{} is returned.
func (Style) GetBorderLeft ¶ added in v0.2.0
GetBorderLeft returns the style's left border setting. If no value is set false is returned.
func (Style) GetBorderLeftBackground ¶ added in v0.2.0
func (s Style) GetBorderLeftBackground() TerminalColor
GetBorderLeftBackground returns the style's border bottom background color. If no value is set NoColor{} is returned.
func (Style) GetBorderLeftForeground ¶ added in v0.2.0
func (s Style) GetBorderLeftForeground() TerminalColor
GetBorderLeftForeground returns the style's border bottom foreground color. If no value is set NoColor{} is returned.
func (Style) GetBorderRight ¶ added in v0.2.0
GetBorderRight returns the style's right border setting. If no value is set false is returned.
func (Style) GetBorderRightBackground ¶ added in v0.2.0
func (s Style) GetBorderRightBackground() TerminalColor
GetBorderRightBackground returns the style's border right background color. If no value is set NoColor{} is returned.
func (Style) GetBorderRightForeground ¶ added in v0.2.0
func (s Style) GetBorderRightForeground() TerminalColor
GetBorderRightForeground returns the style's border right foreground color. If no value is set NoColor{} is returned.
func (Style) GetBorderStyle ¶ added in v0.2.0
GetBorderStyle returns the style's border style (type Border). If no value is set Border{} is returned.
func (Style) GetBorderTop ¶ added in v0.2.0
GetBorderTop returns the style's top border setting. If no value is set false is returned.
func (Style) GetBorderTopBackground ¶ added in v0.2.0
func (s Style) GetBorderTopBackground() TerminalColor
GetBorderTopBackground returns the style's border top background color. If no value is set NoColor{} is returned.
func (Style) GetBorderTopForeground ¶ added in v0.2.0
func (s Style) GetBorderTopForeground() TerminalColor
GetBorderTopForeground returns the style's border top foreground color. If no value is set NoColor{} is returned.
func (Style) GetColorWhitespace ¶ added in v0.2.0
GetColorWhitespace returns the style's whitespace coloring setting. If no value is set false is returned.
func (Style) GetFaint ¶ added in v0.2.0
GetFaint returns the style's faint value. It no value is set false is returned.
func (Style) GetForeground ¶ added in v0.2.0
func (s Style) GetForeground() TerminalColor
GetForeground returns the style's foreground color. If no value is set NoColor{} is returned.
func (Style) GetHeight ¶ added in v0.2.0
GetHeight returns the style's height setting. If no height is set 0 is returned.
func (Style) GetInline ¶ added in v0.2.0
GetInline returns the style's inline setting. If no value is set false is returned.
func (Style) GetItalic ¶ added in v0.2.0
GetItalic returns the style's italic value. It no value is set false is returned.
func (Style) GetMargin ¶ added in v0.2.0
GetMargin returns the style's top, right, bottom, and left margins, in that order. 0 is returned for unset values.
func (Style) GetMarginBottom ¶ added in v0.2.0
GetMarginBottom returns the style's bottom margin. If no value is set 0 is returned.
func (Style) GetMarginLeft ¶ added in v0.2.0
GetMarginLeft returns the style's left margin. If no value is set 0 is returned.
func (Style) GetMarginRight ¶ added in v0.2.0
GetMarginRight returns the style's right margin. If no value is set 0 is returned.
func (Style) GetMarginTop ¶ added in v0.2.0
GetMarginTop returns the style's top margin. If no value is set 0 is returned.
func (Style) GetMaxHeight ¶ added in v0.2.0
GetMaxHeight returns the style's max width setting. If no value is set 0 is returned.
func (Style) GetMaxWidth ¶ added in v0.2.0
GetMaxWidth returns the style's max width setting. If no value is set 0 is returned.
func (Style) GetPadding ¶ added in v0.2.0
GetPadding returns the style's top, right, bottom, and left padding values, in that order. 0 is returned for unset values.
func (Style) GetPaddingBottom ¶ added in v0.2.0
GetPaddingBottom returns the style's bottom padding. If no value is set 0 is returned.
func (Style) GetPaddingLeft ¶ added in v0.2.0
GetPaddingLeft returns the style's left padding. If no value is set 0 is returned.
func (Style) GetPaddingRight ¶ added in v0.2.0
GetPaddingRight returns the style's right padding. If no value is set 0 is returned.
func (Style) GetPaddingTop ¶ added in v0.2.0
GetPaddingTop returns the style's top padding. If no value is set 0 is returned.
func (Style) GetReverse ¶ added in v0.2.0
GetReverse returns the style's reverse value. It no value is set false is returned.
func (Style) GetStrikethrough ¶ added in v0.2.0
GetStrikethrough returns the style's strikethrough value. It no value is set false is returned.
func (Style) GetStrikethroughSpaces ¶ added in v0.2.0
GetStrikethroughSpaces returns whether or not the style is set to underline spaces. If not value is set false is returned.
func (Style) GetUnderline ¶ added in v0.2.0
GetUnderline returns the style's underline value. It no value is set false is returned.
func (Style) GetUnderlineSpaces ¶ added in v0.2.0
GetUnderlineSpaces returns whether or not the style is set to underline spaces. If not value is set false is returned.
func (Style) GetWidth ¶ added in v0.2.0
GetWidth returns the style's width setting. If no width is set 0 is returned.
func (Style) Height ¶
Height sets the width of the block before applying margins. If the height of the text block is less than this value after applying padding (or not), the block will be set to this height.
func (Style) Inherit ¶
Inherit takes values from the style in the argument applies them to this style, overwriting existing definitions. Only values explicitly set on the style in argument will be applied.
Margins, padding, and underlying string values are not inherited.
func (Style) Inline ¶
Inline makes rendering output one line and disables the rendering of margins, padding and borders. This is useful when you need a style to apply only to font rendering and don't want it to change any physical dimensions. It works well with Style.MaxWidth.
Because this in intended to be used at the time of render, this method will not mutate the style and instead return a copy.
Example:
var userInput string = "..." var userStyle = text.Style{ /* ... */ } fmt.Println(userStyle.Inline(true).Render(userInput))
func (Style) Italic ¶
Italic sets an italic formatting rule. In some terminal emulators this will render with "reverse" coloring if not italic font variant is available.
func (Style) Margin ¶
Margin is a shorthand method for setting margins on all sides at once.
With one argument, the value is applied to all sides.
With two arguments, the value is applied to the vertical and horizontal sides, in that order.
With three arguments, the value is applied to the top side, the horizontal sides, and the bottom side, in that order.
With four arguments, the value is applied clockwise starting from the top side, followed by the right side, then the bottom, and finally the left.
With more than four arguments no margin will be added.
func (Style) MarginBackground ¶
func (s Style) MarginBackground(c TerminalColor) Style
MarginBackground sets the background color of the margin. Note that this is also set when inheriting from a style with a background color. In that case the background color on that style will set the margin color on this style.
func (Style) MarginBottom ¶
MarginBottom sets the value of the bottom margin.
func (Style) MarginLeft ¶
MarginLeft sets the value of the left margin.
func (Style) MarginRight ¶
MarginRight sets the value of the right margin.
func (Style) MaxHeight ¶
MaxHeight applies a max width to a given style. This is useful in enforcing a certain width at render time, particularly with arbitrary strings and styles.
Because this in intended to be used at the time of render, this method will not mutate the style and instead return a copy.
func (Style) MaxWidth ¶
MaxWidth applies a max width to a given style. This is useful in enforcing a certain width at render time, particularly with arbitrary strings and styles.
Because this in intended to be used at the time of render, this method will not mutate the style and instead return a copy.
Example:
var userInput string = "..." var userStyle = text.Style{ /* ... */ } fmt.Println(userStyle.MaxWidth(16).Render(userInput))
func (Style) Padding ¶
Padding is a shorthand method for setting padding on all sides at once.
With one argument, the value is applied to all sides.
With two arguments, the value is applied to the vertical and horizontal sides, in that order.
With three arguments, the value is applied to the top side, the horizontal sides, and the bottom side, in that order.
With four arguments, the value is applied clockwise starting from the top side, followed by the right side, then the bottom, and finally the left.
With more than four arguments no padding will be added.
func (Style) PaddingBottom ¶
PaddingBottom adds padding to the bottom of the block.
func (Style) PaddingLeft ¶
PaddingLeft adds padding on the left.
func (Style) PaddingRight ¶
PaddingRight adds padding on the right.
func (Style) PaddingTop ¶
PaddingTop adds padding to the top of the block.
func (Style) SetString ¶
SetString sets the underlying string value for this style. To render once the underlying string is set, use the Style.String. This method is a convenience for cases when having a stringer implementation is handy, such as when using fmt.Sprintf. You can also simply define a style and render out strings directly with Style.Render.
func (Style) Strikethrough ¶
Strikethrough sets a strikethrough rule. By default, strikes will not be drawn on whitespace like margins and padding. To change this behavior set renderStrikethroughOnSpaces.
func (Style) StrikethroughSpaces ¶
StrikethroughSpaces determines whether to apply strikethroughs to spaces between words. By default this is true. Spaces can also be struck without underlining the text itself.
func (Style) String ¶
String implements stringer for a Style, returning the rendered result based on the rules in this style. An underlying string value must be set with Style.SetString prior to using this method.
func (Style) Underline ¶
Underline sets an underline rule. By default, underlines will not be drawn on whitespace like margins and padding. To change this behavior set renderUnderlinesOnSpaces.
func (Style) UnderlineSpaces ¶
UnderlineSpaces determines whether to underline spaces between words. By default this is true. Spaces can also be underlined without underlining the text itself.
func (Style) UnsetAlign ¶
UnsetAlign removes the text alignment style rule, if set.
func (Style) UnsetBackground ¶
UnsetBackground removes the background style rule, if set.
func (Style) UnsetBlink ¶
UnsetBlink removes the bold style rule, if set.
func (Style) UnsetBorderBackground ¶ added in v0.1.2
UnsetBorderBackground removes all border background color styles, if set.
func (Style) UnsetBorderBottom ¶
UnsetBorderBottom removes the border bottom style rule, if set.
func (Style) UnsetBorderBottomBackground ¶ added in v0.1.2
UnsetBorderBottomBackground removes the bottom border background color rule, if set.
func (Style) UnsetBorderBottomForeground ¶ added in v0.1.2
UnsetBorderBottomForeground removes the bottom border foreground color rule, if set.
func (Style) UnsetBorderForeground ¶ added in v0.1.2
UnsetBorderForeground removes all border foreground color styles, if set.
func (Style) UnsetBorderLeft ¶
UnsetBorderLeft removes the border left style rule, if set.
func (Style) UnsetBorderLeftBackground ¶ added in v0.1.2
UnsetBorderLeftBackground removes the left border color rule, if set.
func (Style) UnsetBorderLeftForeground ¶ added in v0.1.2
UnsetBorderLeftForeground removes the left border foreground color rule, if set.
func (Style) UnsetBorderRight ¶
UnsetBorderRight removes the border right style rule, if set.
func (Style) UnsetBorderRightBackground ¶ added in v0.1.2
UnsetBorderRightBackground removes the right border background color rule, if set.
func (Style) UnsetBorderRightForeground ¶ added in v0.1.2
UnsetBorderRightForeground removes the right border foreground color rule, if set.
func (Style) UnsetBorderStyle ¶
UnsetBorderStyle removes the border style rule, if set.
func (Style) UnsetBorderTop ¶
UnsetBorderTop removes the border top style rule, if set.
func (Style) UnsetBorderTopBackgroundColor ¶
UnsetBorderTopBackground removes the top border background color rule, if set.
func (Style) UnsetBorderTopForeground ¶ added in v0.1.2
UnsetBorderTopForeground removes the top border foreground color rule, if set.
func (Style) UnsetColorWhitespace ¶
UnsetColorWhitespace removes the rule for coloring padding, if set.
func (Style) UnsetFaint ¶
UnsetFaint removes the faint style rule, if set.
func (Style) UnsetForeground ¶
UnsetForeground removes the foreground style rule, if set.
func (Style) UnsetHeight ¶
UnsetHeight removes the height style rule, if set.
func (Style) UnsetInline ¶
UnsetInline removes the inline style rule, if set.
func (Style) UnsetItalic ¶
UnsetItalic removes the italic style rule, if set.
func (Style) UnsetMarginBackground ¶
UnsetMarginBackground removes the margin's background color. Note that the margin's background color can be set from the background color of another style during inheritance.
func (Style) UnsetMarginBottom ¶
UnsetMarginBottom removes the bottom margin style rule, if set.
func (Style) UnsetMarginLeft ¶
UnsetMarginLeft removes the left margin style rule, if set.
func (Style) UnsetMarginRight ¶
UnsetMarginRight removes the right margin style rule, if set.
func (Style) UnsetMarginTop ¶
UnsetMarginTop removes the top margin style rule, if set.
func (Style) UnsetMargins ¶
UnsetMargins removes all margin style rules.
func (Style) UnsetMaxHeight ¶
UnsetMaxHeight removes the max height style rule, if set.
func (Style) UnsetMaxWidth ¶
UnsetMaxWidth removes the max width style rule, if set.
func (Style) UnsetPadding ¶
UnsetPadding removes all padding style rules.
func (Style) UnsetPaddingBottom ¶
UnsetPaddingBottom removes the bottom style rule, if set.
func (Style) UnsetPaddingLeft ¶
UnsetPaddingLeft removes the left padding style rule, if set.
func (Style) UnsetPaddingRight ¶
UnsetPaddingRight removes the right padding style rule, if set.
func (Style) UnsetPaddingTop ¶
UnsetPaddingTop removes the top padding style rule, if set.
func (Style) UnsetReverse ¶
UnsetReverse removes the reverse style rule, if set.
func (Style) UnsetStrikethrough ¶
UnsetStrikethrough removes the strikethrough style rule, if set.
func (Style) UnsetStrikethroughSpaces ¶
UnsetUnderlineSpaces removes the value set by UnsetStrikethroughSpaces.
func (Style) UnsetString ¶
UnsetString sets the underlying string value to the empty string.
func (Style) UnsetUnderline ¶
UnsetItalic removes the underline style rule, if set.
func (Style) UnsetUnderlineSpaces ¶
UnsetUnderlineSpaces removes the value set by UnderlineSpaces.
func (Style) UnsetWidth ¶
UnsetWidth removes the width style rule, if set.
type TerminalColor ¶
type TerminalColor interface { RGBA() (r, g, b, a uint32) // contains filtered or unexported methods }
TerminalColor is a color intended to be rendered in the terminal. It satisfies the Go color.Color interface.
type WhitespaceOption ¶
type WhitespaceOption func(*whitespace)
WhiteSpaceOption sets a styling rule for rendering whitespace.
func WithWhitespaceBackground ¶
func WithWhitespaceBackground(c TerminalColor) WhitespaceOption
WithWhiteSpaceBackground sets the background color of the whitespace.
func WithWhitespaceChars ¶
func WithWhitespaceChars(s string) WhitespaceOption
WithWhitespaceChars sets the characters to be rendered in the whitespace.
func WithWhitespaceForeground ¶
func WithWhitespaceForeground(c TerminalColor) WhitespaceOption
WithWhitespaceForeground sets the color of the characters in the whitespace.