]> git.lizzy.rs Git - micro.git/blob - internal/action/rawpane.go
Fix v2 import path for go mod
[micro.git] / internal / action / rawpane.go
1 package action
2
3 import (
4         "fmt"
5         "reflect"
6
7         "github.com/zyedidia/micro/v2/internal/buffer"
8         "github.com/zyedidia/micro/v2/internal/display"
9         "github.com/zyedidia/tcell"
10 )
11
12 type RawPane struct {
13         *BufPane
14 }
15
16 func NewRawPaneFromWin(b *buffer.Buffer, win display.BWindow, tab *Tab) *RawPane {
17         rh := new(RawPane)
18         rh.BufPane = NewBufPane(b, win, tab)
19
20         return rh
21 }
22
23 func NewRawPane(tab *Tab) *RawPane {
24         b := buffer.NewBufferFromString("", "", buffer.BTRaw)
25         w := display.NewBufWindow(0, 0, 0, 0, b)
26         return NewRawPaneFromWin(b, w, tab)
27 }
28
29 func (h *RawPane) HandleEvent(event tcell.Event) {
30         switch e := event.(type) {
31         case *tcell.EventKey:
32                 if e.Key() == tcell.KeyCtrlQ {
33                         h.Quit()
34                 }
35         }
36
37         h.Buf.Insert(h.Cursor.Loc, reflect.TypeOf(event).String()[7:])
38         h.Buf.Insert(h.Cursor.Loc, fmt.Sprintf(": %q\n", event.EscSeq()))
39         h.Relocate()
40 }