summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2022-08-01 10:42:16 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2022-08-02 20:57:12 +0900
commitbbbcd780c91b00a04bfc613364a82d36cbacd3e0 (patch)
tree3a4971c1c92dabc61de1e26b2c0c0986c16a8c5b /src
parent475469a2e7131c6917f8b46a4d2bdf0c02ca4a21 (diff)
downloadfzf-bbbcd780c91b00a04bfc613364a82d36cbacd3e0.tar.gz
Allow "--version" to be used as the argument to --query, --header, et al.
But why?
Diffstat (limited to 'src')
-rw-r--r--src/options.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/options.go b/src/options.go
index 1fdded3b..79748f7d 100644
--- a/src/options.go
+++ b/src/options.go
@@ -1742,12 +1742,20 @@ func postProcessOptions(opts *Options) {
}
}
+func expectsArbitraryString(opt string) bool {
+ switch opt {
+ case "-q", "--query", "-f", "--filter", "--header", "--prompt":
+ return true
+ }
+ return false
+}
+
// ParseOptions parses command-line options
func ParseOptions() *Options {
opts := defaultOptions()
- for _, arg := range os.Args[1:] {
- if arg == "--version" {
+ for idx, arg := range os.Args[1:] {
+ if arg == "--version" && (idx == 0 || idx > 0 && !expectsArbitraryString(os.Args[idx])) {
opts.Version = true
return opts
}