browser

package
v0.0.0-...-6bb53db Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultKeyMap = KeyMap{
	Left: key.NewBinding(
		key.WithKeys("left", "esc"),
		key.WithHelp("←/esc", "view previous folder"),
	),
	Right: key.NewBinding(
		key.WithKeys("right"),
		key.WithHelp("→", "view subfolder or file"),
	),
	ToggleSelect: key.NewBinding(
		key.WithKeys("enter", " "),
		key.WithHelp("space/↲", "toggle selection"),
	),
	Select: key.NewBinding(
		key.WithKeys("+"),
		key.WithHelp("+", "select directory entry"),
	),
	DeSelect: key.NewBinding(
		key.WithKeys("-"),
		key.WithHelp("-", "deselect directory entry"),
	),
	SelectAll: key.NewBinding(
		key.WithKeys("alt+=", "ctrl+="),
		key.WithHelp("alt+=/ctrl+=", "select all entries"),
	),
	DeSelectAll: key.NewBinding(
		key.WithKeys("alt+-", "ctrl+-"),
		key.WithHelp("alt+-/ctrl+-", "deselect all entries"),
	),
	RunShell: key.NewBinding(
		key.WithKeys("$"),
		key.WithHelp("$", "run shell"),
	),
	GoHome: key.NewBinding(
		key.WithKeys("~", "alt+h", "ctrl+h"),
		key.WithHelp("~/alt+h/ctrl+h", "navigate to home folder"),
	),
	Refresh: key.NewBinding(
		key.WithKeys("alt+r", "ctrl+r", "f5"),
		key.WithHelp("alt+r/ctrl+r/f5", "refresh directory listing"),
	),
	Help: key.NewBinding(
		key.WithKeys("alt+h", "ctrl+h", "?"),
		key.WithHelp("?", "show help"),
	),
	ViewBinary: key.NewBinding(
		key.WithKeys("#"),
		key.WithHelp("#", "view file bytes"),
	),
	FileInfo: key.NewBinding(
		key.WithKeys("tab"),
		key.WithHelp("tab", "view file information"),
	),
}

Functions

func NewBinaryFileModel

func NewBinaryFileModel(fs fs.FS, folder string, entry fs.DirEntry, prev tea.Model) (tea.Model, error)

NewBinaryFileModel creates a new model to view a file as bytes.

func NewBinaryModel

func NewBinaryModel(rdr io.ReadSeekCloser, path string, prev tea.Model) (tea.Model, error)

NewBinaryModel creates a new model to view a binary file.

func NewFileInfoModel

func NewFileInfoModel(fs fs.FS, folder string, entry fs.DirEntry, prev tea.Model) (tea.Model, error)

NewFileInfoModel creates a new model to view file information.

func NewFileModel

func NewFileModel(fs fs.FS, folder string, entry fs.DirEntry, prev tea.Model) (tea.Model, error)

func NewHelpModel

func NewHelpModel(prev tea.Model) (tea.Model, error)

NewHelpMode creates a new model to view help text.

func NewTextModel

func NewTextModel(rdr io.Reader, path string, prev tea.Model) (tea.Model, error)

NewTextModel creates a new model to view a text file.

Types

type KeyMap

type KeyMap struct {
	Left         key.Binding
	Right        key.Binding
	ToggleSelect key.Binding
	Select       key.Binding
	DeSelect     key.Binding
	SelectAll    key.Binding
	DeSelectAll  key.Binding
	RunShell     key.Binding
	GoHome       key.Binding
	Refresh      key.Binding
	Help         key.Binding
	ViewBinary   key.Binding
	FileInfo     key.Binding
}

type Model

type Model struct {
	scroller.Model[views.FS]
	// contains filtered or unexported fields
}

func New

func New(fsys fs.FS, root, folder string) (*Model, error)

func (Model) Init

func (m Model) Init() tea.Cmd

func (Model) Update

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

Jump to

Keyboard shortcuts

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