navigation

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2021 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Overview

Package navigation provides the functionality of navigating the filesystem.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ascend

func Ascend(app cli.App)

Ascend ascends in the navigation addon if it is active.

func Descend

func Descend(app cli.App)

Descend descends in the navigation addon if it is active.

func MutateFiltering

func MutateFiltering(app cli.App, f func(bool) bool)

MutateFiltering changes the filtering status of the navigation addon if it is active.

func MutateShowHidden

func MutateShowHidden(app cli.App, f func(bool) bool)

MutateShowHidden changes whether the navigation addon should show file whose names start with ".".

func ScrollPreview

func ScrollPreview(app cli.App, delta int)

ScrollPreview scrolls the preview if the navigation addon is currently active.

func Select

func Select(app cli.App, f func(cli.ListBoxState) int)

Select changes the selection if the navigation addon is currently active.

func SelectedName

func SelectedName(app cli.App) string

SelectedName returns the currently selected name in the navigation addon. It returns an empty string if the navigation addon is not active, or if there is no selected name.

func Start

func Start(app cli.App, cfg Config)

Start starts the navigation function.

Types

type Config

type Config struct {
	// Key binding.
	Binding cli.Handler
	// Underlying filesystem.
	Cursor Cursor
	// A function that returns the relative weights of the widths of the 3
	// columns. If unspecified, the ratio is 1:3:4.
	WidthRatio func() [3]int
}

Config contains the configuration needed for the navigation functionality.

type Cursor

type Cursor interface {
	// Current returns a File that represents the current directory.
	Current() (File, error)
	// Parent returns a File that represents the parent directory. It may return
	// nil if the current directory is the root of the filesystem.
	Parent() (File, error)
	// Ascend navigates to the parent directory.
	Ascend() error
	// Descend navigates to the named child directory.
	Descend(name string) error
}

Cursor represents a cursor for navigating in a potentially virtual filesystem.

func NewOSCursor

func NewOSCursor() Cursor

NewOSCursor returns a Cursor backed by the OS.

type File

type File interface {
	// Name returns the name of the file.
	Name() string
	// ShowName returns a styled filename.
	ShowName() ui.Text
	// IsDirDeep returns whether the file is itself a directory or a symlink to
	// a directory.
	IsDirDeep() bool
	// Read returns either a list of File's if the File represents a directory,
	// a (possibly incomplete) slice of bytes if the File represents a normal
	// file, or an error if the File cannot be read.
	Read() ([]File, []byte, error)
}

File represents a potentially virtual file.

Jump to

Keyboard shortcuts

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