internal

package
v1.0.0-rc.19 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInterrupted = errors.New("interrupted")

Functions

func Draw added in v0.9.25

func Draw(page Page, options SunbeamOptions) error

func RenderAction

func RenderAction(action types.Action, old, new string) types.Action

func RenderCommand added in v0.9.18

func RenderCommand(command *types.Command, old, new string) *types.Command

func RenderExpression

func RenderExpression(expression *types.Expression, old, new string) *types.Expression

func RenderRequest

func RenderRequest(request *types.Request, old, new string) *types.Request

func RenderTextProvider

func RenderTextProvider(pageProvider *types.TextProvider, old, new string) *types.TextProvider

Types

type ActionList

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

func NewActionList

func NewActionList() ActionList

func (*ActionList) Blur

func (al *ActionList) Blur()

func (*ActionList) Clear

func (al *ActionList) Clear()

func (*ActionList) Focus

func (al *ActionList) Focus() tea.Cmd

func (ActionList) Focused

func (al ActionList) Focused() bool

func (*ActionList) SetActions

func (al *ActionList) SetActions(actions ...types.Action)

func (*ActionList) SetSize

func (al *ActionList) SetSize(w, h int)

func (*ActionList) SetTitle

func (al *ActionList) SetTitle(title string)

func (ActionList) Update

func (al ActionList) Update(msg tea.Msg) (ActionList, tea.Cmd)

func (ActionList) View

func (al ActionList) View() string

type Checkbox

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

func NewCheckbox

func NewCheckbox(input types.Input) *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() string

func (Checkbox) View

func (cb Checkbox) View() string

type CommandRunner

type CommandRunner struct {
	Generator PageGenerator
	// contains filtered or unexported fields
}

func NewRunner

func NewRunner(generator PageGenerator) *CommandRunner

func (*CommandRunner) Focus added in v0.9.25

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

func (*CommandRunner) Init

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

func (CommandRunner) IsLoading

func (runner CommandRunner) IsLoading() bool

func (*CommandRunner) Refresh

func (runner *CommandRunner) Refresh() tea.Msg

func (*CommandRunner) SetIsloading

func (c *CommandRunner) SetIsloading(isLoading bool) tea.Cmd

func (*CommandRunner) SetSize

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

func (*CommandRunner) Update

func (runner *CommandRunner) Update(msg tea.Msg) (Page, tea.Cmd)

func (*CommandRunner) View

func (c *CommandRunner) View() string

type ContentMsg

type ContentMsg string

type Detail

type Detail struct {
	Style lipgloss.Style

	ContentCmd func() string
	// contains filtered or unexported fields
}

func NewDetail

func NewDetail(title string, contentCmd func() string, actions []types.Action) *Detail

func (*Detail) Focus added in v0.9.25

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

func (*Detail) Init

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

func (*Detail) RefreshContent

func (c *Detail) RefreshContent()

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.Input) *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() string
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 added in v0.9.12

type ExitMsg struct {
	Cmd  *exec.Cmd
	Text string
}

type Filter

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

	EmptyText string

	DrawLines bool
	// contains filtered or unexported fields
}

func NewFilter

func NewFilter() 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 Footer struct {
	Width int
	// contains filtered or unexported fields
}

func NewFooter

func NewFooter(title string) Footer

func (*Footer) SetBindings

func (f *Footer) SetBindings(bindings ...key.Binding)

func (Footer) View

func (f Footer) View() string

type Form

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

func NewForm

func NewForm(title string, submitCmd func(values map[string]string) tea.Cmd, inputs ...types.Input) *Form

func (*Form) CurrentItem

func (c *Form) CurrentItem() FormInput

func (Form) Focus added in v0.9.25

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() string

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

type FormItem

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

func NewFormItem

func NewFormItem(input types.Input) (*FormItem, error)
type Header struct {
	Width int
	// contains filtered or unexported fields
}

func NewHeader

func NewHeader() Header

func (*Header) Focus

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

func (Header) Init

func (h Header) Init() tea.Cmd

func (*Header) SetIsLoading

func (h *Header) SetIsLoading(isLoading bool) tea.Cmd

func (Header) Update

func (h Header) Update(msg tea.Msg) (Header, tea.Cmd)

func (Header) Value

func (h Header) Value() string

func (Header) View

func (c Header) View() string

type IsLoadingMsg

type IsLoadingMsg struct{}

type List

type List struct {
	DetailFunc          func(types.ListItem) string
	ReloadOnQueryChange bool

	ShowDetail bool
	// contains filtered or unexported fields
}

func NewList

func NewList(page *types.Page) *List

func (*List) Focus added in v0.9.25

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) RefreshDetail

func (c *List) RefreshDetail()

func (List) Selection

func (c List) Selection() *ListItem

func (*List) SetIsLoading

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

func (*List) SetItems

func (c *List) SetItems(items []ListItem, selectedId string) tea.Cmd

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 struct {
	types.ListItem
}

Probably not necessary, need to be refactored

func ParseScriptItem

func ParseScriptItem(scriptItem types.ListItem) ListItem

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
	Focus() tea.Cmd
	Update(tea.Msg) (Page, tea.Cmd)
	View() string
	SetSize(width, height int)
}

type PageGenerator

type PageGenerator func() (*types.Page, error)

func GeneratorFromAction

func GeneratorFromAction(action types.Action) (PageGenerator, error)

func NewCommandGenerator

func NewCommandGenerator(command *types.Command) PageGenerator

func NewFileGenerator

func NewFileGenerator(name string) PageGenerator

func NewPageProviderGenerator

func NewPageProviderGenerator(pageProvider *types.TextProvider) PageGenerator

func NewRequestGenerator

func NewRequestGenerator(request *types.Request) PageGenerator

func NewStaticGenerator added in v0.9.2

func NewStaticGenerator(reader io.Reader) PageGenerator

type Paginator

type Paginator struct {
	OutputCmd *exec.Cmd
	OutputMsg string
	Cancelled bool
	// contains filtered or unexported fields
}

func NewPaginator

func NewPaginator(root Page, options SunbeamOptions) *Paginator

func (*Paginator) Init

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

func (Paginator) MarginHorizontal

func (m Paginator) MarginHorizontal(width int) int

func (Paginator) MarginVertical

func (m Paginator) MarginVertical(height int) int

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 added in v0.9.18

type QueryChangeMsg struct {
	Query string
}

type SelectionChangeMsg

type SelectionChangeMsg struct {
	SelectionId string
}

type SubmitFormMsg

type SubmitFormMsg struct {
	Id     string
	Values map[string]any
}

type SunbeamOptions

type SunbeamOptions struct {
	MaxHeight  int
	MaxWidth   int
	Border     bool
	FullScreen bool
	Margin     int
}

type TextArea

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

func NewTextArea

func NewTextArea(formItem types.Input) *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() string

type TextInput

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

func NewTextInput

func NewTextInput(formItem types.Input) *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() string

func (TextInput) View

func (ti TextInput) View() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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