ui

package
v0.1.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package ui provides shared TUI styling, layout helpers, and theme definitions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func JoinHorizontal

func JoinHorizontal(sep string, items ...string) string

JoinHorizontal joins items horizontally with a separator.

func PadRight

func PadRight(s string, width int) string

PadRight pads s with spaces to the given width.

func PlaceCentre

func PlaceCentre(width, height int, content string) string

PlaceCentre centres content both horizontally and vertically within the given dimensions.

func RenderKeyValue

func RenderKeyValue(styles Styles, key, value string) string

RenderKeyValue renders a "key: value" pair with styles.

func Truncate

func Truncate(s string, maxLen int) string

Truncate truncates s to maxLen runes, appending "..." if truncated.

Types

type Styles

type Styles struct {
	Theme Theme

	// Layout
	TabBar    lipgloss.Style
	TabActive lipgloss.Style
	TabItem   lipgloss.Style
	Content   lipgloss.Style
	StatusBar lipgloss.Style
	HelpBar   lipgloss.Style

	// Panels
	Panel        lipgloss.Style
	PanelFocused lipgloss.Style
	PanelTitle   lipgloss.Style

	// List items
	ListItem     lipgloss.Style
	ListSelected lipgloss.Style
	ListDimmed   lipgloss.Style

	// Text
	Title    lipgloss.Style
	Subtitle lipgloss.Style
	Body     lipgloss.Style
	Muted    lipgloss.Style
	Bold     lipgloss.Style
	Code     lipgloss.Style
	KeyBind  lipgloss.Style
	KeyDesc  lipgloss.Style

	// Git file statuses
	FileAdded     lipgloss.Style
	FileModified  lipgloss.Style
	FileDeleted   lipgloss.Style
	FileRenamed   lipgloss.Style
	FileConflict  lipgloss.Style
	FileUntracked lipgloss.Style

	// Diff
	DiffAdded          lipgloss.Style
	DiffAddedGutter    lipgloss.Style
	DiffAddedLineNum   lipgloss.Style
	DiffRemoved        lipgloss.Style
	DiffRemovedGutter  lipgloss.Style
	DiffRemovedLineNum lipgloss.Style
	DiffContext        lipgloss.Style
	DiffContextLineNum lipgloss.Style
	DiffHeader         lipgloss.Style
	DiffHunkHeader     lipgloss.Style
	DiffLineNum        lipgloss.Style
	DiffSeparator      lipgloss.Style

	// Commit / refs
	CommitHash lipgloss.Style
	CommitMsg  lipgloss.Style
	Author     lipgloss.Style
	Date       lipgloss.Style
	BranchName lipgloss.Style
	TagName    lipgloss.Style
	RemoteName lipgloss.Style

	// Dialogs
	Dialog       lipgloss.Style
	DialogTitle  lipgloss.Style
	DialogButton lipgloss.Style

	Spinner lipgloss.Style
}

Styles holds pre-computed lipgloss styles derived from a Theme.

func DefaultStyles

func DefaultStyles() Styles

DefaultStyles returns styles using the dark theme.

func NewStyles

func NewStyles(t Theme) Styles

NewStyles builds all styles from the given theme.

type Theme

type Theme struct {
	Bg            lipgloss.Color
	Surface       lipgloss.Color
	SurfaceHover  lipgloss.Color
	Border        lipgloss.Color
	BorderFocused lipgloss.Color

	Text        lipgloss.Color
	TextMuted   lipgloss.Color
	TextSubtle  lipgloss.Color
	TextInverse lipgloss.Color

	Primary   lipgloss.Color
	Secondary lipgloss.Color
	Accent    lipgloss.Color

	Added     lipgloss.Color
	Modified  lipgloss.Color
	Deleted   lipgloss.Color
	Renamed   lipgloss.Color
	Conflict  lipgloss.Color
	Untracked lipgloss.Color

	Success lipgloss.Color
	Warning lipgloss.Color
	Error   lipgloss.Color
	Info    lipgloss.Color

	CommitHash  lipgloss.Color
	BranchLocal lipgloss.Color
	BranchHead  lipgloss.Color
	Tag         lipgloss.Color
	Remote      lipgloss.Color
	Stash       lipgloss.Color

	GraphColors []lipgloss.Color
}

Theme holds all colours for the application. Inspired by Zed's default dark palette (Catppuccin Mocha).

func DarkTheme

func DarkTheme() Theme

DarkTheme returns the default Zed-inspired dark theme.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL