Documentation ¶
Overview ¶
Package fzf implements fzf, a command-line fuzzy finder.
The MIT License (MIT)
Copyright (c) 2017 Junegunn Choi ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index ¶
- Constants
- Variables
- func CountItems(cs []*Chunk) int
- func Run(opts *Options, 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 Opt
- type Options
- type Pattern
- type Range
- type Reader
- type Result
- type Terminal
- type Token
Constants ¶
const ( EvtReadNew util.EventType = iota EvtReadFin EvtSearchNew EvtSearchProgress EvtSearchFin EvtHeader EvtReady EvtReturn )
fzf events
Variables ¶
EmptyMerger is a Merger with no data
var Running bool
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 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 sizeSpec MinHeight int Layout layoutType Cycle bool Hscroll bool HscrollOff int FileWord bool InfoStyle infoStyle JumpLabels string Prompt string Query string Select1 bool Exit0 bool Filter *string ToggleSort bool Expect map[int]string Keymap map[int][]action Preview previewOpts PrintQuery bool ReadZero bool Printer func(string) PrintSep string Sync bool History *History Header []string HeaderLines int Margin [4]sizeSpec Bordered bool Unicode bool Tabstop int ClearOnExit bool Version bool Reader io.Reader Writer io.Writer }
Options stores the values of command-line options
func ParseOptions ¶
ParseOptions parses 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, cacheable bool, nth []Range, delimiter Delimiter, 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 ¶
Reader reads from command or standard input
func NewReader ¶
func NewReader(pusher func([]byte) bool, eventBox *util.EventBox, delimNil bool, wait bool, rd io.Reader) *Reader
NewReader returns new Reader object
func (*Reader) ReadSource ¶
func (r *Reader) ReadSource()
ReadSource reads data from the default command or from standard input
type Terminal ¶
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