diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2024-08-13 18:51:02 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-08-13 18:51:02 +0900 |
| commit | e215e2daf3ae0f68e45482958c7d348652b86688 (patch) | |
| tree | e002c998f9739cdb7f8ac934a307c5718ac5af3b /src | |
| parent | e28f5aa45baf20ffdba469e11a998d3016c8cb42 (diff) | |
| download | fzf-e215e2daf3ae0f68e45482958c7d348652b86688.tar.gz | |
Allow comments in $FZF_DEFAULT_OPTS and $FZF_DEFAULT_OPTS_FILE
Close #3961
Diffstat (limited to 'src')
| -rw-r--r-- | src/options.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/options.go b/src/options.go index 1593d6f8..0f903df6 100644 --- a/src/options.go +++ b/src/options.go @@ -12,7 +12,7 @@ import ( "github.com/junegunn/fzf/src/algo" "github.com/junegunn/fzf/src/tui" - "github.com/mattn/go-shellwords" + "github.com/junegunn/go-shellwords" "github.com/rivo/uniseg" ) @@ -2915,6 +2915,12 @@ func postProcessOptions(opts *Options) error { return processScheme(opts) } +func parseShellWords(str string) ([]string, error) { + parser := shellwords.NewParser() + parser.ParseComment = true + return parser.Parse(str) +} + // ParseOptions parses command-line options func ParseOptions(useDefaults bool, args []string) (*Options, error) { opts := defaultOptions() @@ -2928,7 +2934,7 @@ func ParseOptions(useDefaults bool, args []string) (*Options, error) { return nil, errors.New("$FZF_DEFAULT_OPTS_FILE: " + err.Error()) } - words, parseErr := shellwords.Parse(string(bytes)) + words, parseErr := parseShellWords(string(bytes)) if parseErr != nil { return nil, errors.New(path + ": " + parseErr.Error()) } @@ -2940,7 +2946,7 @@ func ParseOptions(useDefaults bool, args []string) (*Options, error) { } // 2. Options from $FZF_DEFAULT_OPTS string - words, parseErr := shellwords.Parse(os.Getenv("FZF_DEFAULT_OPTS")) + words, parseErr := parseShellWords(os.Getenv("FZF_DEFAULT_OPTS")) if parseErr != nil { return nil, errors.New("$FZF_DEFAULT_OPTS: " + parseErr.Error()) } |
