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

@@ -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: