Add print-query action for --bind

Close #571
This commit is contained in:
Junegunn Choi 2016-05-13 00:51:15 +09:00
parent 9bd8b1d25f
commit 9078688baf
3 changed files with 17 additions and 0 deletions

View File

@ -531,6 +531,8 @@ func parseKeymap(keymap map[int]actionType, execmap map[int]string, str string)
keymap[key] = actAbort
case "accept":
keymap[key] = actAccept
case "print-query":
keymap[key] = actPrintQuery
case "backward-char":
keymap[key] = actBackwardChar
case "backward-delete-char":

View File

@ -91,6 +91,7 @@ const (
reqRefresh
reqRedraw
reqClose
reqPrintQuery
reqQuit
)
@ -132,6 +133,7 @@ const (
actUp
actPageUp
actPageDown
actPrintQuery
actToggleSort
actPreviousHistory
actNextHistory
@ -819,6 +821,10 @@ func (t *Terminal) Loop() {
exit(exitOk)
}
exit(exitNoMatch)
case reqPrintQuery:
C.Close()
fmt.Println(string(t.input))
exit(exitOk)
case reqQuit:
C.Close()
exit(exitInterrupt)
@ -906,6 +912,8 @@ func (t *Terminal) Loop() {
if t.cx > 0 {
t.cx--
}
case actPrintQuery:
req(reqPrintQuery)
case actAbort:
req(reqQuit)
case actDeleteChar:

View File

@ -771,6 +771,13 @@ class TestGoFZF < TestBase
assert_equal %w[4 5 6 9], readonce.split($/)
end
def test_bind_print_query
tmux.send_keys "seq 1 1000 | #{fzf '-m --bind=ctrl-j:print-query'}", :Enter
tmux.until { |lines| lines[-2].end_with? '/1000' }
tmux.send_keys 'print-my-query', 'C-j'
assert_equal %w[print-my-query], readonce.split($/)
end
def test_long_line
data = '.' * 256 * 1024
File.open(tempname, 'w') do |f|