Documentation
¶
Index ¶
- Variables
- func ExitMenuCmd() tea.Msg
- func FreshListCmd() tea.Msg
- type Event
- type EventManager
- type ExitMenuMsg
- type FreshListMsg
- type ItemRender
- type ListManager
- func (l *ListManager) AppendList(rs []ItemRender)
- func (l *ListManager) Curr() (ItemRender, error)
- func (l *ListManager) CurrIndex() int
- func (l *ListManager) Files() []ItemRender
- func (l *ListManager) Helps() []ItemRender
- func (l *ListManager) List() []ItemRender
- func (l *ListManager) NewList()
- func (l *ListManager) ReSort()
- func (l *ListManager) SetFiles(files []ItemRender)
- func (l *ListManager) SetIndex(index int)
- type Menu
- type Model
- type StringRender
Constants ¶
This section is empty.
Variables ¶
View Source
var ClearInputEvent = &Event{ Keys: []string{"ctrl+x"}, Cb: func(_ string, m *Model) (tea.Model, tea.Cmd) { m.Inputs = []string{} m.InputCursor = 0 m.FreshList() return m, nil }, }
View Source
var EnterEvent = &Event{ Keys: []string{"enter"}, Cb: func(_ string, m *Model) (tea.Model, tea.Cmd) { if m.lm.ShowingHelp { m.lm.ShowingHelp = false return m, nil } if menus := m.menuFetcher(m.Modifying); m.ShowMenu && len(menus) > 0 { if menu := menus[m.MenuIndex]; menu.Cb != nil { return m, menu.Cb(m) } } else { m.ShowMenu = true } return m, nil }, }
View Source
var MoveEvent = &Event{ Keys: []string{"up", "ctrl+j", "down", "ctrl+k"}, Cb: func(key string, m *Model) (tea.Model, tea.Cmd) { list := m.lm.List() currIndex := &m.lm.currIndex if m.ShowMenu && m.CurrMenu().Name == "Add" { list = m.lm.files currIndex = &m.lm.fileIndex } switch key { case "up", "ctrl+k": if *currIndex < len(list)-1 { *currIndex++ } case "down", "ctrl+j": if *currIndex > 0 { *currIndex-- } } return m, nil }, }
Functions ¶
func ExitMenuCmd ¶
func FreshListCmd ¶
Types ¶
type EventManager ¶
type EventManager struct {
// contains filtered or unexported fields
}
func NewEventManager ¶
func NewEventManager(events ...*Event) *EventManager
func (*EventManager) Add ¶
func (e *EventManager) Add(events ...*Event)
func (*EventManager) Find ¶
func (e *EventManager) Find(key string) *Event
type ExitMenuMsg ¶
type ExitMenuMsg int
type FreshListMsg ¶
type FreshListMsg int
type ItemRender ¶
type ListManager ¶
type ListManager struct { SearchChan chan<- string ShowingHelp bool // contains filtered or unexported fields }
func NewListManager ¶
func NewListManager(searchChan chan<- string) *ListManager
func (*ListManager) AppendList ¶
func (l *ListManager) AppendList(rs []ItemRender)
func (*ListManager) Curr ¶
func (l *ListManager) Curr() (ItemRender, error)
func (*ListManager) CurrIndex ¶
func (l *ListManager) CurrIndex() int
func (*ListManager) Files ¶
func (l *ListManager) Files() []ItemRender
func (*ListManager) Helps ¶
func (l *ListManager) Helps() []ItemRender
func (*ListManager) List ¶
func (l *ListManager) List() []ItemRender
func (*ListManager) NewList ¶
func (l *ListManager) NewList()
func (*ListManager) ReSort ¶
func (l *ListManager) ReSort()
func (*ListManager) SetFiles ¶
func (l *ListManager) SetFiles(files []ItemRender)
func (*ListManager) SetIndex ¶
func (l *ListManager) SetIndex(index int)
type Model ¶
type Model struct { Inputs []string MenuIndex int InputCursor int ShowMenu bool Modifying bool // contains filtered or unexported fields }
func NewModel ¶
func NewModel(lm *ListManager, menuFetcher func(bool) []*Menu, events ...*Event) *Model
func (*Model) CurrFile ¶
func (m *Model) CurrFile() (ItemRender, error)
func (*Model) CurrItem ¶
func (m *Model) CurrItem() (ItemRender, error)
type StringRender ¶
type StringRender string
func (StringRender) Order ¶
func (h StringRender) Order() int
func (StringRender) String ¶
func (h StringRender) String() string
Click to show internal directories.
Click to hide internal directories.