From bbbcd780c91b00a04bfc613364a82d36cbacd3e0 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Mon, 1 Aug 2022 10:42:16 +0900 Subject: [PATCH] Allow "--version" to be used as the argument to --query, --header, et al. But why? --- src/options.go | 12 ++++++++++-- 1 file 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 }