diff --git a/src/core.go b/src/core.go index 2db5b3a..ae8c8eb 100644 --- a/src/core.go +++ b/src/core.go @@ -227,6 +227,12 @@ func Run(opts *Options, revision string) { for { delay := true ticks++ + input := func() []rune { + if opts.Phony { + return []rune{} + } + return []rune(terminal.Input()) + } eventBox.Wait(func(events *util.Events) { if _, fin := (*events)[EvtReadFin]; fin { delete(*events, EvtReadNew) @@ -241,7 +247,7 @@ func Run(opts *Options, revision string) { if opts.Sync { terminal.UpdateList(PassMerger(&snapshot, opts.Tac)) } - matcher.Reset(snapshot, terminal.Input(), false, !reading, sort) + matcher.Reset(snapshot, input(), false, !reading, sort) case EvtSearchNew: switch val := value.(type) { @@ -249,7 +255,7 @@ func Run(opts *Options, revision string) { sort = val } snapshot, _ := chunkList.Snapshot() - matcher.Reset(snapshot, terminal.Input(), true, !reading, sort) + matcher.Reset(snapshot, input(), true, !reading, sort) delay = false case EvtSearchProgress: diff --git a/src/options.go b/src/options.go index 2ab3a89..9e09379 100644 --- a/src/options.go +++ b/src/options.go @@ -33,6 +33,7 @@ const usage = `usage: fzf [options] -d, --delimiter=STR Field delimiter regex (default: AWK-style) +s, --no-sort Do not sort the result --tac Reverse the order of the input + --phony Do not perform search --tiebreak=CRI[,..] Comma-separated list of sort criteria to apply when the scores are tied [length|begin|end|index] (default: length) @@ -154,6 +155,7 @@ type Options struct { Fuzzy bool FuzzyAlgo algo.Algo Extended bool + Phony bool Case Case Normalize bool Nth []Range @@ -207,6 +209,7 @@ func defaultOptions() *Options { Fuzzy: true, FuzzyAlgo: algo.FuzzyMatchV2, Extended: true, + Phony: false, Case: CaseSmart, Normalize: true, Nth: make([]Range, 0), @@ -1014,6 +1017,10 @@ func parseOptions(opts *Options, allArgs []string) { } case "--no-expect": opts.Expect = make(map[int]string) + case "--no-phony": + opts.Phony = false + case "--phony": + opts.Phony = true case "--tiebreak": opts.Criteria = parseTiebreak(nextString(allArgs, &i, "sort criterion required")) case "--bind":