From 7220d8233e81291db8bda3d4eb5286ca45f07be0 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 26 Jan 2025 01:50:08 +0900 Subject: Add 'search' and 'transform-search' Close #4202 --- src/options.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/options.go') diff --git a/src/options.go b/src/options.go index 9d233b57..2b9a5196 100644 --- a/src/options.go +++ b/src/options.go @@ -1332,7 +1332,7 @@ const ( func init() { executeRegexp = regexp.MustCompile( - `(?si)[:+](become|execute(?:-multi|-silent)?|reload(?:-sync)?|preview|(?:change|transform)-(?:query|prompt|(?:border|list|preview|input|header)-label|header)|transform|change-(?:preview-window|preview|multi|nth)|(?:re|un)bind|pos|put|print)`) + `(?si)[:+](become|execute(?:-multi|-silent)?|reload(?:-sync)?|preview|(?:change|transform)-(?:query|prompt|(?:border|list|preview|input|header)-label|header|search)|transform|change-(?:preview-window|preview|multi|nth)|(?:re|un)bind|pos|put|print|search)`) splitRegexp = regexp.MustCompile("[,:]+") actionNameRegexp = regexp.MustCompile("(?i)^[a-z-]+") } @@ -1744,6 +1744,10 @@ func isExecuteAction(str string) actionType { return actTransformPrompt case "transform-query": return actTransformQuery + case "transform-search": + return actTransformSearch + case "search": + return actSearch } return actIgnore } @@ -3252,7 +3256,7 @@ func ParseOptions(useDefaults bool, args []string) (*Options, error) { // 1. explicitly set --scheme=default, // 2. or replace $FZF_DEFAULT_COMMAND with an equivalent 'start:reload' // binding, which is the new preferred way. - if !opts.hasReloadOnStart() && util.IsTty(os.Stdin) { + if !opts.hasReloadOrTransformOnStart() && util.IsTty(os.Stdin) { opts.Scheme = "path" } _, opts.Criteria, _ = parseScheme(opts.Scheme) @@ -3267,10 +3271,10 @@ func ParseOptions(useDefaults bool, args []string) (*Options, error) { return opts, nil } -func (opts *Options) hasReloadOnStart() bool { +func (opts *Options) hasReloadOrTransformOnStart() bool { if actions, prs := opts.Keymap[tui.Start.AsEvent()]; prs { for _, action := range actions { - if action.t == actReload || action.t == actReloadSync { + if action.t == actReload || action.t == actReloadSync || action.t == actTransform { return true } } -- cgit v1.2.3