mirror of
https://github.com/junegunn/fzf.git
synced 2026-10-28 08:05:53 +00:00
All input lines now enter the chunklist with sequential indices, and header lines are excluded from matching via Pattern.startIndex and PassMerger offset. This allows the number of header lines to be changed at runtime with change-header-lines(N), transform-header-lines, and bg-transform-header-lines actions. - Remove EvtHeader event; header items are read directly from chunks - Add startIndex to Pattern and PassMerger for skipping header items - Add targetIndex field to Terminal for cursor repositioning across header-lines changes Close #4659
79 lines
1.7 KiB
Go
79 lines
1.7 KiB
Go
package fzf
|
|
|
|
import (
|
|
"math"
|
|
"time"
|
|
|
|
"github.com/junegunn/fzf/src/util"
|
|
)
|
|
|
|
const (
|
|
// Core
|
|
coordinatorDelayMax time.Duration = 100 * time.Millisecond
|
|
coordinatorDelayStep time.Duration = 10 * time.Millisecond
|
|
|
|
// Reader
|
|
readerBufferSize = 64 * 1024
|
|
readerSlabSize = 128 * 1024
|
|
readerPollIntervalMin = 10 * time.Millisecond
|
|
readerPollIntervalStep = 5 * time.Millisecond
|
|
readerPollIntervalMax = 50 * time.Millisecond
|
|
|
|
// Terminal
|
|
initialDelay = 20 * time.Millisecond
|
|
initialDelayTac = 100 * time.Millisecond
|
|
spinnerDuration = 100 * time.Millisecond
|
|
previewCancelWait = 500 * time.Millisecond
|
|
previewChunkDelay = 100 * time.Millisecond
|
|
previewDelayed = 500 * time.Millisecond
|
|
maxPatternLength = 1000
|
|
maxMulti = math.MaxInt32
|
|
|
|
// Background processes
|
|
maxBgProcesses = 30
|
|
maxBgProcessesPerAction = 3
|
|
|
|
// Matcher
|
|
numPartitionsMultiplier = 8
|
|
maxPartitions = 32
|
|
progressMinDuration = 200 * time.Millisecond
|
|
|
|
// Capacity of each chunk
|
|
chunkSize int = 1000
|
|
|
|
// Pre-allocated memory slices to minimize GC
|
|
slab16Size int = 100 * 1024 // 200KB * 32 = 12.8MB
|
|
slab32Size int = 2048 // 8KB * 32 = 256KB
|
|
|
|
// Do not cache results of low selectivity queries
|
|
queryCacheMax int = chunkSize / 5
|
|
|
|
// Not to cache mergers with large lists
|
|
mergerCacheMax int = 100000
|
|
|
|
// History
|
|
defaultHistoryMax int = 1000
|
|
|
|
// Jump labels
|
|
defaultJumpLabels string = "asdfghjklqwertyuiopzxcvbnm1234567890ASDFGHJKLQWERTYUIOPZXCVBNM`~;:,<.>/?'\"!@#$%^&*()[{]}-_=+"
|
|
)
|
|
|
|
// fzf events
|
|
const (
|
|
EvtReadNew util.EventType = iota
|
|
EvtReadFin
|
|
EvtSearchNew
|
|
EvtSearchProgress
|
|
EvtSearchFin
|
|
EvtReady
|
|
EvtQuit
|
|
)
|
|
|
|
const (
|
|
ExitOk = 0
|
|
ExitNoMatch = 1
|
|
ExitError = 2
|
|
ExitBecome = 126
|
|
ExitInterrupt = 130
|
|
)
|