diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2024-04-13 14:00:16 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-04-13 14:00:16 +0900 |
| commit | fd1ba46f77532b4bc9b6af00db9dc8ecdf6e2b3f (patch) | |
| tree | c284b39e0b6948e0ce12d2cacf830d586582d201 /src/tui/tui.go | |
| parent | a4745626dd5c5f697dbbc5e3aa1796d5016c1faf (diff) | |
| download | fzf-fd1ba46f77532b4bc9b6af00db9dc8ecdf6e2b3f.tar.gz | |
Export $FZF_KEY environment variable to child processes
It's the name of the last key pressed.
Related #3412
Diffstat (limited to 'src/tui/tui.go')
| -rw-r--r-- | src/tui/tui.go | 112 |
1 files changed, 71 insertions, 41 deletions
diff --git a/src/tui/tui.go b/src/tui/tui.go index 729146cc..ad65e92f 100644 --- a/src/tui/tui.go +++ b/src/tui/tui.go @@ -6,10 +6,13 @@ import ( "strconv" "time" + "github.com/junegunn/fzf/src/util" "github.com/rivo/uniseg" ) // Types of user action +// +//go:generate stringer -type=EventType type EventType int const ( @@ -41,7 +44,7 @@ const ( CtrlX CtrlY CtrlZ - ESC + Esc CtrlSpace CtrlDelete @@ -51,27 +54,12 @@ const ( CtrlCaret CtrlSlash - Invalid - Resize - Mouse - DoubleClick - LeftClick - RightClick - SLeftClick - SRightClick - ScrollUp - ScrollDown - SScrollUp - SScrollDown - PreviewScrollUp - PreviewScrollDown - - BTab - BSpace + ShiftTab + Backspace - Del - PgUp - PgDn + Delete + PageUp + PageDown Up Down @@ -81,11 +69,11 @@ const ( End Insert - SUp - SDown - SLeft - SRight - SDelete + ShiftUp + ShiftDown + ShiftLeft + ShiftRight + ShiftDelete F1 F2 @@ -100,6 +88,38 @@ const ( F11 F12 + AltBackspace + + AltUp + AltDown + AltLeft + AltRight + + AltShiftUp + AltShiftDown + AltShiftLeft + AltShiftRight + + Alt + CtrlAlt + + Invalid + + Mouse + DoubleClick + LeftClick + RightClick + SLeftClick + SRightClick + ScrollUp + ScrollDown + SScrollUp + SScrollDown + PreviewScrollUp + PreviewScrollDown + + // Events + Resize Change BackwardEOF Start @@ -110,21 +130,6 @@ const ( Result Jump JumpCancel - - AltBS - - AltUp - AltDown - AltLeft - AltRight - - AltSUp - AltSDown - AltSLeft - AltSRight - - Alt - CtrlAlt ) func (t EventType) AsEvent() Event { @@ -144,6 +149,31 @@ func (e Event) Comparable() Event { return Event{e.Type, e.Char, nil} } +func (e Event) KeyName() string { + if e.Type >= Invalid { + return "" + } + + switch e.Type { + case Rune: + return string(e.Char) + case Alt: + return "alt-" + string(e.Char) + case CtrlAlt: + return "ctrl-alt-" + string(e.Char) + case CtrlBackSlash: + return "ctrl-\\" + case CtrlRightBracket: + return "ctrl-]" + case CtrlCaret: + return "ctrl-^" + case CtrlSlash: + return "ctrl-/" + } + + return util.ToKebabCase(e.Type.String()) +} + func Key(r rune) Event { return Event{Rune, r, nil} } |
