summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-02-02 01:48:52 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-02-02 02:23:47 +0900
commit32234be7a271196b62689974bf2002034f7e712e (patch)
treef4ccbb62e4b8780c1fddf8116374ceea0f36bfa0 /src
parent178b49832e09a78a9f8f5ce1647d5f36b667a097 (diff)
downloadfzf-32234be7a271196b62689974bf2002034f7e712e.tar.gz
FZF_KEY enhancements
* 'enter' instead of 'ctrl-m' * 'space' instead of ' '
Diffstat (limited to 'src')
-rw-r--r--src/options.go4
-rw-r--r--src/options_test.go4
-rw-r--r--src/terminal.go2
-rw-r--r--src/tui/eventtype_string.go4
-rw-r--r--src/tui/tcell_test.go8
-rw-r--r--src/tui/tui.go5
6 files changed, 15 insertions, 12 deletions
diff --git a/src/options.go b/src/options.go
index 2b91fbf7..99d58634 100644
--- a/src/options.go
+++ b/src/options.go
@@ -885,7 +885,7 @@ func parseKeyChordsImpl(str string, message string) (map[tui.Event]string, error
case "right":
add(tui.Right)
case "enter", "return":
- add(tui.CtrlM)
+ add(tui.Enter)
case "space":
chords[tui.Key(' ')] = key
case "backspace", "bspace", "bs":
@@ -3220,7 +3220,7 @@ func postProcessOptions(opts *Options) error {
// If 'double-click' is left unbound, bind it to the action bound to 'enter'
if _, prs := opts.Keymap[tui.DoubleClick.AsEvent()]; !prs {
- opts.Keymap[tui.DoubleClick.AsEvent()] = opts.Keymap[tui.CtrlM.AsEvent()]
+ opts.Keymap[tui.DoubleClick.AsEvent()] = opts.Keymap[tui.Enter.AsEvent()]
}
// If we're not using extended search mode, --nth option becomes irrelevant
diff --git a/src/options_test.go b/src/options_test.go
index 40d2920b..5c9a789a 100644
--- a/src/options_test.go
+++ b/src/options_test.go
@@ -172,7 +172,7 @@ func TestParseKeys(t *testing.T) {
if len(pairs) != 9 {
t.Error(9)
}
- check(tui.CtrlM, "Return")
+ check(tui.Enter, "Return")
checkEvent(tui.Key(' '), "space")
check(tui.Tab, "tab")
check(tui.ShiftTab, "btab")
@@ -195,7 +195,7 @@ func TestParseKeys(t *testing.T) {
check(tui.ShiftLeft, "shift-left")
check(tui.ShiftRight, "shift-right")
check(tui.ShiftTab, "shift-tab")
- check(tui.CtrlM, "Enter")
+ check(tui.Enter, "Enter")
check(tui.Backspace, "bspace")
}
diff --git a/src/terminal.go b/src/terminal.go
index 175d82c4..820cc606 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -671,7 +671,7 @@ func defaultKeymap() map[tui.Event][]*action {
add(tui.CtrlJ, actDown)
add(tui.CtrlK, actUp)
add(tui.CtrlL, actClearScreen)
- add(tui.CtrlM, actAccept)
+ add(tui.Enter, actAccept)
add(tui.CtrlN, actDown)
add(tui.CtrlP, actUp)
add(tui.CtrlU, actUnixLineDiscard)
diff --git a/src/tui/eventtype_string.go b/src/tui/eventtype_string.go
index a62ba073..df57ccc1 100644
--- a/src/tui/eventtype_string.go
+++ b/src/tui/eventtype_string.go
@@ -21,7 +21,7 @@ func _() {
_ = x[CtrlJ-10]
_ = x[CtrlK-11]
_ = x[CtrlL-12]
- _ = x[CtrlM-13]
+ _ = x[Enter-13]
_ = x[CtrlN-14]
_ = x[CtrlO-15]
_ = x[CtrlP-16]
@@ -110,7 +110,7 @@ func _() {
_ = x[ClickHeader-99]
}
-const _EventType_name = "RuneCtrlACtrlBCtrlCCtrlDCtrlECtrlFCtrlGCtrlHTabCtrlJCtrlKCtrlLCtrlMCtrlNCtrlOCtrlPCtrlQCtrlRCtrlSCtrlTCtrlUCtrlVCtrlWCtrlXCtrlYCtrlZEscCtrlSpaceCtrlDeleteCtrlBackSlashCtrlRightBracketCtrlCaretCtrlSlashShiftTabBackspaceDeletePageUpPageDownUpDownLeftRightHomeEndInsertShiftUpShiftDownShiftLeftShiftRightShiftDeleteF1F2F3F4F5F6F7F8F9F10F11F12AltBackspaceAltUpAltDownAltLeftAltRightAltShiftUpAltShiftDownAltShiftLeftAltShiftRightAltCtrlAltInvalidFatalMouseDoubleClickLeftClickRightClickSLeftClickSRightClickScrollUpScrollDownSScrollUpSScrollDownPreviewScrollUpPreviewScrollDownResizeChangeBackwardEOFStartLoadFocusOneZeroResultJumpJumpCancelClickHeader"
+const _EventType_name = "RuneCtrlACtrlBCtrlCCtrlDCtrlECtrlFCtrlGCtrlHTabCtrlJCtrlKCtrlLEnterCtrlNCtrlOCtrlPCtrlQCtrlRCtrlSCtrlTCtrlUCtrlVCtrlWCtrlXCtrlYCtrlZEscCtrlSpaceCtrlDeleteCtrlBackSlashCtrlRightBracketCtrlCaretCtrlSlashShiftTabBackspaceDeletePageUpPageDownUpDownLeftRightHomeEndInsertShiftUpShiftDownShiftLeftShiftRightShiftDeleteF1F2F3F4F5F6F7F8F9F10F11F12AltBackspaceAltUpAltDownAltLeftAltRightAltShiftUpAltShiftDownAltShiftLeftAltShiftRightAltCtrlAltInvalidFatalMouseDoubleClickLeftClickRightClickSLeftClickSRightClickScrollUpScrollDownSScrollUpSScrollDownPreviewScrollUpPreviewScrollDownResizeChangeBackwardEOFStartLoadFocusOneZeroResultJumpJumpCancelClickHeader"
var _EventType_index = [...]uint16{0, 4, 9, 14, 19, 24, 29, 34, 39, 44, 47, 52, 57, 62, 67, 72, 77, 82, 87, 92, 97, 102, 107, 112, 117, 122, 127, 132, 135, 144, 154, 167, 183, 192, 201, 209, 218, 224, 230, 238, 240, 244, 248, 253, 257, 260, 266, 273, 282, 291, 301, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 333, 336, 339, 351, 356, 363, 370, 378, 388, 400, 412, 425, 428, 435, 442, 447, 452, 463, 472, 482, 492, 503, 511, 521, 530, 541, 556, 573, 579, 585, 596, 601, 605, 610, 613, 617, 623, 627, 637, 648}
diff --git a/src/tui/tcell_test.go b/src/tui/tcell_test.go
index 217ad048..63bcd8ce 100644
--- a/src/tui/tcell_test.go
+++ b/src/tui/tcell_test.go
@@ -82,9 +82,9 @@ func TestGetCharEventKey(t *testing.T) {
{giveKey{tcell.KeyTab, rune(tcell.KeyTab), tcell.ModNone}, wantKey{Tab, 0, nil}}, // unhandled, actual "Tab" keystroke
{giveKey{tcell.KeyTAB, rune(tcell.KeyTAB), tcell.ModNone}, wantKey{Tab, 0, nil}}, // fabricated, unhandled
// KeyEnter is alias for KeyCR
- {giveKey{tcell.KeyCtrlM, rune(tcell.KeyCtrlM), tcell.ModNone}, wantKey{CtrlM, 0, nil}}, // actual "Enter" keystroke
- {giveKey{tcell.KeyCR, rune(tcell.KeyCR), tcell.ModNone}, wantKey{CtrlM, 0, nil}}, // fabricated, unhandled
- {giveKey{tcell.KeyEnter, rune(tcell.KeyEnter), tcell.ModNone}, wantKey{CtrlM, 0, nil}}, // fabricated, unhandled
+ {giveKey{tcell.KeyCtrlM, rune(tcell.KeyCtrlM), tcell.ModNone}, wantKey{Enter, 0, nil}}, // actual "Enter" keystroke
+ {giveKey{tcell.KeyCR, rune(tcell.KeyCR), tcell.ModNone}, wantKey{Enter, 0, nil}}, // fabricated, unhandled
+ {giveKey{tcell.KeyEnter, rune(tcell.KeyEnter), tcell.ModNone}, wantKey{Enter, 0, nil}}, // fabricated, unhandled
// Ctrl+Alt keys
{giveKey{tcell.KeyCtrlA, rune(tcell.KeyCtrlA), tcell.ModCtrl | tcell.ModAlt}, wantKey{CtrlAlt, 'a', nil}}, // fabricated
{giveKey{tcell.KeyCtrlA, rune(tcell.KeyCtrlA), tcell.ModCtrl | tcell.ModAlt | tcell.ModShift}, wantKey{CtrlAlt, 'a', nil}}, // fabricated
@@ -233,7 +233,7 @@ Quick reference
10 1 KeyCtrlJ KeyLF = ^J CtrlJ
11 1 KeyCtrlK KeyVT = ^K CtrlK
12 1 KeyCtrlL KeyFF = ^L CtrlL
-13 1 KeyCtrlM KeyCR = ^M KeyEnter CtrlM
+13 1 KeyCtrlM KeyCR = ^M KeyEnter Enter
14 1 KeyCtrlN KeySO = ^N CtrlN
15 1 KeyCtrlO KeySI = ^O CtrlO
16 1 KeyCtrlP KeyDLE = ^P CtrlP
diff --git a/src/tui/tui.go b/src/tui/tui.go
index 8423c631..265d3cff 100644
--- a/src/tui/tui.go
+++ b/src/tui/tui.go
@@ -28,7 +28,7 @@ const (
CtrlJ
CtrlK
CtrlL
- CtrlM
+ Enter
CtrlN
CtrlO
CtrlP
@@ -160,6 +160,9 @@ func (e Event) KeyName() string {
switch e.Type {
case Rune:
+ if e.Char == ' ' {
+ return "space"
+ }
return string(e.Char)
case Alt:
return "alt-" + string(e.Char)