m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-17 15:53:39 -05:00

Add replace-query action

replace-query action replaces the query string with the current
selection. If the selection is too long, it will be truncated.

If the line contains meta-characters of fzf search syntax, it is
possible that the line is no longer included in the updated result.

e.g.

  echo '!hello' | fzf --bind ctrl-v:replace-query

Close #1137
This commit is contained in:
Junegunn Choi
2017-12-01 13:08:55 +09:00
parent 1e8e1d3c9d
commit c20954f020
4 changed files with 18 additions and 0 deletions

View File

@@ -664,6 +664,8 @@ func parseKeymap(keymap map[int][]action, str string) {
appendAction(actAccept)
case "print-query":
appendAction(actPrintQuery)
case "replace-query":
appendAction(actReplaceQuery)
case "backward-char":
appendAction(actBackwardChar)
case "backward-delete-char":

View File

@@ -203,6 +203,7 @@ const (
actJump
actJumpAccept
actPrintQuery
actReplaceQuery
actToggleSort
actTogglePreview
actTogglePreviewWrap
@@ -1568,6 +1569,11 @@ func (t *Terminal) Loop() {
}
case actPrintQuery:
req(reqPrintQuery)
case actReplaceQuery:
if t.cy < t.merger.Length() {
t.input = t.merger.Get(t.cy).item.text.ToRunes()
t.cx = len(t.input)
}
case actAbort:
req(reqQuit)
case actDeleteChar: