summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2021-11-04 00:49:05 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2021-11-04 00:49:05 +0900
commit673c5d886d51fceb3df6bc96edf234837a6442a8 (patch)
tree4599dc52bc6dcb6f6937af9a90c7c7fd3ace1e31
parentf799b568d1a5644188b6edaeec3df5167b3e2268 (diff)
Add 'put' action for putting the character to the prompt
fzf --bind 'space:preview(date)+put' Close #2456
-rw-r--r--man/man1/fzf.11
-rw-r--r--src/options.go6
2 files changed, 7 insertions, 0 deletions
diff --git a/man/man1/fzf.1 b/man/man1/fzf.1
index b4721d04..5f5eb91e 100644
--- a/man/man1/fzf.1
+++ b/man/man1/fzf.1
@@ -860,6 +860,7 @@ A key or an event can be bound to one or more of the following actions.
\fBpreview-top\fR
\fBprevious-history\fR (\fIctrl-p\fR on \fB--history\fR)
\fBprint-query\fR (print query and exit)
+ \fBput\fR (put the character to the prompt)
\fBrefresh-preview\fR
\fBreload(...)\fR (see below for the details)
\fBreplace-query\fR (replace query string with the current selection)
diff --git a/src/options.go b/src/options.go
index e2c03dd9..b93fd972 100644
--- a/src/options.go
+++ b/src/options.go
@@ -981,6 +981,12 @@ func parseKeymap(keymap map[tui.Event][]action, str string) {
appendAction(actEnableSearch)
case "disable-search":
appendAction(actDisableSearch)
+ case "put":
+ if key.Type == tui.Rune && unicode.IsGraphic(key.Char) {
+ appendAction(actRune)
+ } else {
+ errorExit("unable to put non-printable character: " + pair[0])
+ }
default:
t := isExecuteAction(specLower)
if t == actIgnore {