File tree Expand file tree Collapse file tree 4 files changed +15
-29
lines changed
Expand file tree Collapse file tree 4 files changed +15
-29
lines changed Original file line number Diff line number Diff line change @@ -469,13 +469,7 @@ func (h *BufPane) HandleEvent(event tcell.Event) {
469469 h .paste (e .Text ())
470470 h .Relocate ()
471471 case * tcell.EventKey :
472- ke := KeyEvent {
473- code : e .Key (),
474- mod : metaToAlt (e .Modifiers ()),
475- }
476- if e .Key () == tcell .KeyRune {
477- ke .r = e .Rune ()
478- }
472+ ke := keyEvent (e )
479473
480474 done := h .DoKeyEvent (ke )
481475 if ! done && e .Key () == tcell .KeyRune {
Original file line number Diff line number Diff line change @@ -44,6 +44,17 @@ func metaToAlt(mod tcell.ModMask) tcell.ModMask {
4444 return mod
4545}
4646
47+ func keyEvent (e * tcell.EventKey ) KeyEvent {
48+ ke := KeyEvent {
49+ code : e .Key (),
50+ mod : metaToAlt (e .Modifiers ()),
51+ }
52+ if e .Key () == tcell .KeyRune {
53+ ke .r = e .Rune ()
54+ }
55+ return ke
56+ }
57+
4758func (k KeyEvent ) Name () string {
4859 if k .any {
4960 return "<any>"
@@ -155,14 +166,7 @@ func (m MouseEvent) Name() string {
155166func ConstructEvent (event tcell.Event ) (Event , error ) {
156167 switch e := event .(type ) {
157168 case * tcell.EventKey :
158- ke := KeyEvent {
159- code : e .Key (),
160- mod : metaToAlt (e .Modifiers ()),
161- }
162- if e .Key () == tcell .KeyRune {
163- ke .r = e .Rune ()
164- }
165- return ke , nil
169+ return keyEvent (e ), nil
166170 case * tcell.EventRaw :
167171 return RawEvent {
168172 esc : e .EscSeq (),
Original file line number Diff line number Diff line change @@ -86,13 +86,7 @@ func (h *InfoPane) HandleEvent(event tcell.Event) {
8686 case * tcell.EventResize :
8787 // TODO
8888 case * tcell.EventKey :
89- ke := KeyEvent {
90- code : e .Key (),
91- mod : metaToAlt (e .Modifiers ()),
92- }
93- if e .Key () == tcell .KeyRune {
94- ke .r = e .Rune ()
95- }
89+ ke := keyEvent (e )
9690
9791 done := h .DoKeyEvent (ke )
9892 hasYN := h .HasYN
Original file line number Diff line number Diff line change @@ -125,13 +125,7 @@ func (t *TermPane) Unsplit() {
125125// copy-paste
126126func (t * TermPane ) HandleEvent (event tcell.Event ) {
127127 if e , ok := event .(* tcell.EventKey ); ok {
128- ke := KeyEvent {
129- code : e .Key (),
130- mod : metaToAlt (e .Modifiers ()),
131- }
132- if e .Key () == tcell .KeyRune {
133- ke .r = e .Rune ()
134- }
128+ ke := keyEvent (e )
135129 action , more := TermBindings .NextEvent (ke , nil )
136130
137131 if ! more {
You can’t perform that action at this time.
0 commit comments