Documentation ¶
Overview ¶
Package fzf implements fzf, a command-line fuzzy finder.
Index ¶
- Constants
- Variables
- func CountItems(cs []*Chunk) int
- func Run(opts *Options, version string, revision string)
- type ByOrder
- type ByRelevance
- type ByRelevanceTac
- type Case
- type Chunk
- type ChunkCache
- type ChunkList
- type Delimiter
- type History
- type Item
- type ItemBuilder
- type MatchRequest
- type Matcher
- type Merger
- type Offset
- type Options
- type Pattern
- type Range
- type Reader
- type Result
- type Terminal
- func (t *Terminal) Input() (bool, []rune)
- func (t *Terminal) Loop()
- func (t *Terminal) MaxFitAndPad(opts *Options) (int, int)
- func (t *Terminal) UpdateCount(cnt int, final bool, failedCommand *string)
- func (t *Terminal) UpdateHeader(header []string)
- func (t *Terminal) UpdateList(merger *Merger, reset bool)
- func (t *Terminal) UpdateProgress(progress float32)
- type Token
Constants ¶
const ( EvtReadNew util.EventType = iota EvtReadFin EvtSearchNew EvtSearchProgress EvtSearchFin EvtHeader EvtReady EvtQuit )
fzf events
Variables ¶
EmptyMerger is a Merger with no data
Functions ¶
Types ¶
type ByRelevance ¶
type ByRelevance []Result
ByRelevance is for sorting Items
func (ByRelevance) Len ¶
func (a ByRelevance) Len() int
func (ByRelevance) Less ¶
func (a ByRelevance) Less(i, j int) bool
func (ByRelevance) Swap ¶
func (a ByRelevance) Swap(i, j int)
type ByRelevanceTac ¶
type ByRelevanceTac []Result
ByRelevanceTac is for sorting Items
func (ByRelevanceTac) Len ¶
func (a ByRelevanceTac) Len() int
func (ByRelevanceTac) Less ¶
func (a ByRelevanceTac) Less(i, j int) bool
func (ByRelevanceTac) Swap ¶
func (a ByRelevanceTac) Swap(i, j int)
type Chunk ¶
type Chunk struct {
// contains filtered or unexported fields
}
Chunk is a list of Items whose size has the upper limit of chunkSize
type ChunkCache ¶
type ChunkCache struct {
// contains filtered or unexported fields
}
ChunkCache associates Chunk and query string to lists of items
func (*ChunkCache) Add ¶
func (cc *ChunkCache) Add(chunk *Chunk, key string, list []Result)
Add adds the list to the cache
type ChunkList ¶
type ChunkList struct {
// contains filtered or unexported fields
}
ChunkList is a list of Chunks
func NewChunkList ¶
func NewChunkList(trans ItemBuilder) *ChunkList
NewChunkList returns a new ChunkList
type Delimiter ¶
type Delimiter struct {
// contains filtered or unexported fields
}
Delimiter for tokenizing the input
type History ¶
type History struct {
// contains filtered or unexported fields
}
History struct represents input history
type Item ¶
type Item struct {
// contains filtered or unexported fields
}
Item represents each input line. 56 bytes.
func (*Item) Colors ¶
func (item *Item) Colors() []ansiOffset
Colors returns ansiOffsets of the Item
func (*Item) TrimLength ¶
type ItemBuilder ¶
ItemBuilder is a closure type that builds Item object from byte array
type MatchRequest ¶
type MatchRequest struct {
// contains filtered or unexported fields
}
MatchRequest represents a search request
type Matcher ¶
type Matcher struct {
// contains filtered or unexported fields
}
Matcher is responsible for performing search
type Merger ¶
type Merger struct {
// contains filtered or unexported fields
}
Merger holds a set of locally sorted lists of items and provides the view of a single, globally-sorted list
func PassMerger ¶
PassMerger returns a new Merger that simply returns the items in the original order
type Offset ¶
type Offset [2]int32
Offset holds two 32-bit integers denoting the offsets of a matched substring
type Options ¶
type Options struct { Fuzzy bool FuzzyAlgo algo.Algo Scheme string Extended bool Phony bool Case Case Normalize bool Nth []Range WithNth []Range Delimiter Delimiter Sort int Tac bool Criteria []criterion Multi int Ansi bool Mouse bool Theme *tui.ColorTheme Black bool Bold bool Height heightSpec MinHeight int Layout layoutType Cycle bool KeepRight bool Hscroll bool HscrollOff int ScrollOff int FileWord bool InfoStyle infoStyle Separator *string JumpLabels string Prompt string Pointer string Marker string Query string Select1 bool Exit0 bool Filter *string ToggleSort bool Expect map[tui.Event]string Keymap map[tui.Event][]*action Preview previewOpts PrintQuery bool ReadZero bool Printer func(string) PrintSep string Sync bool History *History Header []string HeaderLines int HeaderFirst bool Ellipsis string Margin [4]sizeSpec Padding [4]sizeSpec BorderShape tui.BorderShape BorderLabel labelOpts PreviewLabel labelOpts Unicode bool Tabstop int ClearOnExit bool Version bool }
Options stores the values of command-line options
type Pattern ¶
type Pattern struct {
// contains filtered or unexported fields
}
Pattern represents search pattern
func BuildPattern ¶
func BuildPattern(fuzzy bool, fuzzyAlgo algo.Algo, extended bool, caseMode Case, normalize bool, forward bool, withPos bool, cacheable bool, nth []Range, delimiter Delimiter, abbrevByDefault bool, runes []rune) *Pattern
BuildPattern builds Pattern object from the given arguments
type Range ¶
type Range struct {
// contains filtered or unexported fields
}
Range represents nth-expression
func ParseRange ¶
ParseRange parses nth-expression and returns the corresponding Range object
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader reads from command or standard input
func (*Reader) ReadSource ¶
func (r *Reader) ReadSource()
ReadSource reads data from the default command or from standard input
type Terminal ¶
type Terminal struct {
// contains filtered or unexported fields
}
Terminal represents terminal input/output
func NewTerminal ¶
NewTerminal returns new Terminal object
func (*Terminal) UpdateCount ¶
UpdateCount updates the count information
func (*Terminal) UpdateHeader ¶
UpdateHeader updates the header
func (*Terminal) UpdateList ¶
UpdateList updates Merger to display the list
func (*Terminal) UpdateProgress ¶
UpdateProgress updates the search progress
type Token ¶
type Token struct {
// contains filtered or unexported fields
}
Token contains the tokenized part of the strings and its prefix length