From 9078688baf9ee82c5cbe222b825a247dffe2814e Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 13 May 2016 00:51:15 +0900 Subject: [PATCH] Add print-query action for --bind Close #571 --- src/options.go | 2 ++ src/terminal.go | 8 ++++++++ test/test_go.rb | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/src/options.go b/src/options.go index 4d5ac2d..ea7d717 100644 --- a/src/options.go +++ b/src/options.go @@ -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": diff --git a/src/terminal.go b/src/terminal.go index cd9ca93..771cad7 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -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: diff --git a/test/test_go.rb b/test/test_go.rb index 81f77c9..02bf08d 100644 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -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|