tui

package
v1.0.0-rc.42 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Draw

func Draw(page Page) error

func ExitCmd

func ExitCmd() tea.Msg

func PopPageCmd

func PopPageCmd() tea.Msg

func PushPageCmd

func PushPageCmd(page Page) tea.Cmd

func ReloadCmd

func ReloadCmd(params map[string]any) tea.Cmd

func RenderItem

func RenderItem(title string, subtitle string, accessories []string, width int, selected bool) string

Types

type Checkbox

type Checkbox struct {
	// contains filtered or unexported fields
}

func NewCheckbox

func NewCheckbox(input types.Field) *Checkbox

func (*Checkbox) Blur

func (cb *Checkbox) Blur()

func (*Checkbox) Focus

func (cb *Checkbox) Focus() tea.Cmd

func (*Checkbox) Height

func (cb *Checkbox) Height() int

func (*Checkbox) SetWidth

func (cb *Checkbox) SetWidth(width int)

func (*Checkbox) Toggle

func (cb *Checkbox) Toggle()

func (Checkbox) Update

func (cb Checkbox) Update(msg tea.Msg) (FormInput, tea.Cmd)

func (Checkbox) Value

func (cb Checkbox) Value() any

func (Checkbox) View

func (cb Checkbox) View() string

type CommandRef

type CommandRef struct {
	Extension string         `json:"extension,omitempty"`
	Command   string         `json:"command,omitempty"`
	Params    map[string]any `json:"params,omitempty"`
}

type Detail

type Detail struct {
	Style lipgloss.Style
	// contains filtered or unexported fields
}

func NewDetail

func NewDetail(markdown string, actions ...types.Action) *Detail

func NewErrorPage

func NewErrorPage(err error) *Detail

func (*Detail) Blur

func (d *Detail) Blur() tea.Cmd

func (*Detail) Focus

func (d *Detail) Focus() tea.Cmd

func (*Detail) Init

func (d *Detail) Init() tea.Cmd

func (*Detail) RefreshContent

func (c *Detail) RefreshContent() error

func (*Detail) SetIsLoading

func (d *Detail) SetIsLoading(isLoading bool) tea.Cmd

func (*Detail) SetSize

func (c *Detail) SetSize(width, height int)

func (*Detail) Update

func (c *Detail) Update(msg tea.Msg) (Page, tea.Cmd)

func (*Detail) View

func (c *Detail) View() string

type DetailMsg

type DetailMsg string
type DropDown struct {
	// contains filtered or unexported fields
}

func NewDropDown

func NewDropDown(formItem types.Field) *DropDown
func (d *DropDown) Blur()
func (d *DropDown) Focus() tea.Cmd
func (dd DropDown) HasMatch() bool
func (dd *DropDown) Height() int
func (dd *DropDown) SetWidth(width int)
func (d DropDown) Title() string
func (d *DropDown) Update(msg tea.Msg) (FormInput, tea.Cmd)
func (d DropDown) Value() any
func (dd DropDown) View() string
type DropDownItem struct {
	// contains filtered or unexported fields
}
func (d DropDownItem) FilterValue() string
func (d DropDownItem) ID() string
func (d DropDownItem) Render(width int, selected bool) string

type ExitMsg

type ExitMsg struct {
}

type Filter

type Filter struct {
	Width, Height int
	Query         string
	Less          func(i, j FilterItem) bool
	Reversed      bool
	EmptyText     string

	DrawLines bool
	// contains filtered or unexported fields
}

func NewFilter

func NewFilter(items ...FilterItem) Filter

func (*Filter) CursorDown

func (m *Filter) CursorDown()

func (*Filter) CursorUp

func (m *Filter) CursorUp()

func (*Filter) FilterItems

func (f *Filter) FilterItems(query string)

func (Filter) Init

func (m Filter) Init() tea.Cmd

func (*Filter) Select

func (f *Filter) Select(id string)

func (Filter) Selection

func (f Filter) Selection() FilterItem

func (*Filter) SetItems

func (f *Filter) SetItems(items ...FilterItem)

func (*Filter) SetSize

func (f *Filter) SetSize(width, height int)

func (Filter) Update

func (f Filter) Update(msg tea.Msg) (Filter, tea.Cmd)

func (Filter) View

func (m Filter) View() string

type FilterItem

type FilterItem interface {
	FilterValue() string
	Render(width int, selected bool) string
	ID() string
}

type Form

type Form struct {
	// contains filtered or unexported fields
}

func NewForm

func NewForm(id string, fields ...types.Field) (*Form, error)

func (*Form) Blur

func (c *Form) Blur() tea.Cmd

func (*Form) CurrentItem

func (c *Form) CurrentItem() FormInput

func (Form) Focus

func (c Form) Focus() tea.Cmd

func (Form) Init

func (c Form) Init() tea.Cmd

func (*Form) ScrollViewport

func (c *Form) ScrollViewport()

func (*Form) SetIsLoading

func (c *Form) SetIsLoading(isLoading bool) tea.Cmd

func (*Form) SetSize

func (c *Form) SetSize(width, height int)

func (Form) Update

func (c Form) Update(msg tea.Msg) (Page, tea.Cmd)

func (*Form) View

func (c *Form) View() string

type FormInput

type FormInput interface {
	Focus() tea.Cmd
	Blur()

	Height() int
	Value() any

	SetWidth(int)
	Update(tea.Msg) (FormInput, tea.Cmd)
	View() string
}

type FormItem

type FormItem struct {
	FormInput
	Required bool
	Title    string
	Name     string
}

func NewFormItem

func NewFormItem(item types.Field) (FormItem, error)

type IsLoadingMsg

type IsLoadingMsg struct{}

type List

type List struct {
	Actions       []types.Action
	OnQueryChange func(string) tea.Cmd
	OnSelect      func(string) tea.Cmd
	// contains filtered or unexported fields
}

func NewList

func NewList(items ...types.ListItem) *List

func (*List) Blur

func (c *List) Blur() tea.Cmd

func (*List) Focus

func (c *List) Focus() tea.Cmd

func (*List) Init

func (c *List) Init() tea.Cmd

func (List) Query

func (c List) Query() string

func (List) Selection

func (c List) Selection() (types.ListItem, bool)

func (*List) SetActions

func (l *List) SetActions(actions ...types.Action)

func (*List) SetEmptyText

func (l *List) SetEmptyText(text string)

func (*List) SetIsLoading

func (c *List) SetIsLoading(isLoading bool) tea.Cmd

func (*List) SetItems

func (c *List) SetItems(items ...types.ListItem)

func (*List) SetQuery

func (c *List) SetQuery(query string)

func (*List) SetSize

func (c *List) SetSize(width, height int)

func (*List) Update

func (c *List) Update(msg tea.Msg) (Page, tea.Cmd)

func (List) View

func (c List) View() string

type ListItem

type ListItem types.ListItem

Probably not necessary, need to be refactored

func (ListItem) FilterValue

func (i ListItem) FilterValue() string

func (ListItem) ID

func (i ListItem) ID() string

func (ListItem) Render

func (i ListItem) Render(width int, selected bool) string

type Match

type Match struct {
	// contains filtered or unexported fields
}

type Page

type Page interface {
	Init() tea.Cmd
	SetSize(width, height int)
	Focus() tea.Cmd
	Blur() tea.Cmd
	Update(tea.Msg) (Page, tea.Cmd)
	View() string
}

type Paginator

type Paginator struct {
	// contains filtered or unexported fields
}

func NewPaginator

func NewPaginator(root Page) *Paginator

func (*Paginator) Init

func (m *Paginator) Init() tea.Cmd

func (*Paginator) Pop

func (m *Paginator) Pop() tea.Cmd

func (*Paginator) Push

func (m *Paginator) Push(page Page) tea.Cmd

func (*Paginator) SetSize

func (m *Paginator) SetSize(width, height int)

func (*Paginator) Update

func (m *Paginator) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (*Paginator) View

func (m *Paginator) View() string

type PopPageMsg

type PopPageMsg struct{}

type PushPageMsg

type PushPageMsg struct {
	Page Page
}

type QueryChangeMsg

type QueryChangeMsg string

type RefreshMsg

type RefreshMsg struct {
	// contains filtered or unexported fields
}

type ReloadMsg

type ReloadMsg struct {
	// contains filtered or unexported fields
}

type RootList

type RootList struct {
	OnSelect func(id string)
	// contains filtered or unexported fields
}

func NewRootList

func NewRootList(title string, generator func() (map[string]extensions.Extension, []types.ListItem, error)) *RootList

func (*RootList) Blur

func (c *RootList) Blur() tea.Cmd

func (*RootList) Focus

func (c *RootList) Focus() tea.Cmd

func (*RootList) Init

func (c *RootList) Init() tea.Cmd

func (RootList) Reload

func (c RootList) Reload() tea.Cmd

func (*RootList) SetError

func (c *RootList) SetError(err error) tea.Cmd

func (*RootList) SetSize

func (c *RootList) SetSize(width, height int)

func (*RootList) Update

func (c *RootList) Update(msg tea.Msg) (Page, tea.Cmd)

func (*RootList) View

func (c *RootList) View() string

type Runner

type Runner struct {
	// contains filtered or unexported fields
}

func NewRunner

func NewRunner(extensions map[string]extensions.Extension, ref CommandRef) (*Runner, error)

func (*Runner) Blur

func (c *Runner) Blur() tea.Cmd

func (*Runner) Focus

func (c *Runner) Focus() tea.Cmd

func (*Runner) Init

func (c *Runner) Init() tea.Cmd

func (*Runner) Reload

func (c *Runner) Reload(input types.CommandInput) tea.Cmd

func (*Runner) SetIsLoading

func (c *Runner) SetIsLoading(isLoading bool) tea.Cmd

func (*Runner) SetSize

func (c *Runner) SetSize(w int, h int)

func (*Runner) Update

func (c *Runner) Update(msg tea.Msg) (Page, tea.Cmd)

func (*Runner) View

func (c *Runner) View() string

type StatusBar

type StatusBar struct {
	Width int
	// contains filtered or unexported fields
}

func NewStatusBar

func NewStatusBar(actions ...types.Action) StatusBar

func (*StatusBar) Focus

func (h *StatusBar) Focus() tea.Cmd

func (StatusBar) Init

func (h StatusBar) Init() tea.Cmd

func (*StatusBar) SetActions

func (c *StatusBar) SetActions(actions ...types.Action)

func (*StatusBar) SetIsLoading

func (p *StatusBar) SetIsLoading(isLoading bool) tea.Cmd

func (*StatusBar) ShowInput

func (h *StatusBar) ShowInput()

func (StatusBar) Update

func (p StatusBar) Update(msg tea.Msg) (StatusBar, tea.Cmd)

func (StatusBar) Value

func (h StatusBar) Value() string

func (StatusBar) View

func (c StatusBar) View() string

type SubmitMsg

type SubmitMsg map[string]any

type TextArea

type TextArea struct {
	textarea.Model
	// contains filtered or unexported fields
}

func NewTextArea

func NewTextArea(formItem types.Field) *TextArea

func (*TextArea) Height

func (ta *TextArea) Height() int

func (*TextArea) SetWidth

func (ta *TextArea) SetWidth(w int)

func (*TextArea) Title

func (ta *TextArea) Title() string

func (*TextArea) Update

func (ta *TextArea) Update(msg tea.Msg) (FormInput, tea.Cmd)

func (*TextArea) Value

func (ta *TextArea) Value() any

type TextInput

type TextInput struct {
	textinput.Model
	// contains filtered or unexported fields
}

func NewTextInput

func NewTextInput(input types.Field) *TextInput

func (*TextInput) Height

func (ti *TextInput) Height() int

func (*TextInput) SetHidden

func (ti *TextInput) SetHidden()

func (*TextInput) SetWidth

func (ti *TextInput) SetWidth(width int)

func (*TextInput) Title

func (ti *TextInput) Title() string

func (*TextInput) Update

func (ti *TextInput) Update(msg tea.Msg) (FormInput, tea.Cmd)

func (*TextInput) Value

func (ti *TextInput) Value() any

func (TextInput) View

func (ti TextInput) View() string

Jump to

Keyboard shortcuts

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