From 6632ab0a77c996e623b05bb9503b67697518f187 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 31 Dec 2019 17:23:12 -0500 Subject: [PATCH] Switch to gdamore/tcell --- cmd/micro/micro.go | 2 +- go.mod | 2 +- go.sum | 6 ++++++ internal/action/actions.go | 2 +- internal/action/bindings.go | 4 +--- internal/action/bufpane.go | 18 +++++++++--------- internal/action/events.go | 2 +- internal/action/infopane.go | 2 +- internal/action/rawpane.go | 6 +++--- internal/action/tab.go | 2 +- internal/action/termpane.go | 6 +++--- internal/buffer/message.go | 2 +- internal/config/colorscheme.go | 2 +- internal/config/colorscheme_test.go | 2 +- internal/display/bufwindow.go | 2 +- internal/display/infowindow.go | 2 +- internal/display/termwindow.go | 2 +- internal/screen/screen.go | 2 +- 18 files changed, 35 insertions(+), 31 deletions(-) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 1b28bde2..4bc638b4 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -7,6 +7,7 @@ import ( "os" "sort" + "github.com/gdamore/tcell" "github.com/go-errors/errors" isatty "github.com/mattn/go-isatty" "github.com/zyedidia/micro/internal/action" @@ -15,7 +16,6 @@ import ( "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/shell" "github.com/zyedidia/micro/internal/util" - "github.com/zyedidia/tcell" ) var ( diff --git a/go.mod b/go.mod index 8d1b4fa9..bb5e1dd5 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ require ( github.com/blang/semver v3.5.1+incompatible github.com/dustin/go-humanize v1.0.0 github.com/flynn/json5 v0.0.0-20160717195620-7620272ed633 - github.com/gdamore/encoding v1.0.0 // indirect + github.com/gdamore/tcell v1.3.0 github.com/go-errors/errors v1.0.1 github.com/lucasb-eyer/go-colorful v1.0.3 // indirect github.com/mattn/go-isatty v0.0.11 diff --git a/go.sum b/go.sum index f8a69fce..bac7a50b 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,4 @@ +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -11,15 +12,19 @@ github.com/flynn/json5 v0.0.0-20160717195620-7620272ed633 h1:xJMmr4GMYIbALX5edyo github.com/flynn/json5 v0.0.0-20160717195620-7620272ed633/go.mod h1:NJDK3/o7abx6PP54EOe0G0n0RLmhCo9xv61gUYpI0EY= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= +github.com/gdamore/tcell v1.3.0 h1:r35w0JBADPZCVQijYebl6YMWWtHRqVEGt7kL2eBADRM= +github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM= github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= github.com/lucasb-eyer/go-colorful v1.0.3 h1:QIbQXiugsb+q10B+MI+7DI1oQLdmnep86tWFlaaUAac= github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54= github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -53,6 +58,7 @@ github.com/zyedidia/tcell v0.0.0-20191228235154-5b9bbc0d56c7/go.mod h1:yXgdp23+a github.com/zyedidia/terminal v0.0.0-20180726154117-533c623e2415 h1:752dTQ5OatJ9M5ULK2+9lor+nzyZz+LYDo3WGngg3Rc= github.com/zyedidia/terminal v0.0.0-20180726154117-533c623e2415/go.mod h1:8leT8G0Cm8NoJHdrrKHyR9MirWoF4YW7pZh06B6H+1E= golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/internal/action/actions.go b/internal/action/actions.go index 925c97e8..6e871cd9 100644 --- a/internal/action/actions.go +++ b/internal/action/actions.go @@ -14,7 +14,7 @@ import ( "github.com/zyedidia/micro/internal/shell" "github.com/zyedidia/micro/internal/util" "github.com/zyedidia/micro/pkg/shellwords" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) // ScrollUp is not an action diff --git a/internal/action/bindings.go b/internal/action/bindings.go index 18fdfa33..b2f2b02c 100644 --- a/internal/action/bindings.go +++ b/internal/action/bindings.go @@ -9,9 +9,9 @@ import ( "unicode" "github.com/flynn/json5" + "github.com/gdamore/tcell" "github.com/zyedidia/micro/internal/config" "github.com/zyedidia/micro/internal/screen" - "github.com/zyedidia/tcell" ) func InitBindings() { @@ -374,8 +374,6 @@ var keyEvents = map[string]tcell.Key{ "CtrlRightSq": tcell.KeyCtrlRightSq, "CtrlCarat": tcell.KeyCtrlCarat, "CtrlUnderscore": tcell.KeyCtrlUnderscore, - "CtrlPageUp": tcell.KeyCtrlPgUp, - "CtrlPageDown": tcell.KeyCtrlPgDn, "Tab": tcell.KeyTab, "Esc": tcell.KeyEsc, "Escape": tcell.KeyEscape, diff --git a/internal/action/bufpane.go b/internal/action/bufpane.go index f3a734da..138cd3f2 100644 --- a/internal/action/bufpane.go +++ b/internal/action/bufpane.go @@ -6,13 +6,13 @@ import ( luar "layeh.com/gopher-luar" + "github.com/gdamore/tcell" lua "github.com/yuin/gopher-lua" "github.com/zyedidia/micro/internal/buffer" "github.com/zyedidia/micro/internal/config" "github.com/zyedidia/micro/internal/display" ulua "github.com/zyedidia/micro/internal/lua" "github.com/zyedidia/micro/internal/screen" - "github.com/zyedidia/tcell" ) type BufKeyAction func(*BufPane) bool @@ -261,14 +261,14 @@ func (h *BufPane) HandleEvent(event tcell.Event) { } switch e := event.(type) { - case *tcell.EventRaw: - re := RawEvent{ - esc: e.EscSeq(), - } - h.DoKeyEvent(re) - case *tcell.EventPaste: - h.paste(e.Text()) - h.Relocate() + // case *tcell.EventRaw: + // re := RawEvent{ + // esc: e.EscSeq(), + // } + // h.DoKeyEvent(re) + // case *tcell.EventPaste: + // h.paste(e.Text()) + // h.Relocate() case *tcell.EventKey: ke := KeyEvent{ code: e.Key(), diff --git a/internal/action/events.go b/internal/action/events.go index 5bf6c58e..80596195 100644 --- a/internal/action/events.go +++ b/internal/action/events.go @@ -1,7 +1,7 @@ package action import ( - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) type Event interface{} diff --git a/internal/action/infopane.go b/internal/action/infopane.go index 00dde633..0ded6be2 100644 --- a/internal/action/infopane.go +++ b/internal/action/infopane.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/internal/display" "github.com/zyedidia/micro/internal/info" "github.com/zyedidia/micro/internal/util" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) type InfoKeyAction func(*InfoPane) diff --git a/internal/action/rawpane.go b/internal/action/rawpane.go index cdeade47..b40db4af 100644 --- a/internal/action/rawpane.go +++ b/internal/action/rawpane.go @@ -1,12 +1,11 @@ package action import ( - "fmt" "reflect" + "github.com/gdamore/tcell" "github.com/zyedidia/micro/internal/buffer" "github.com/zyedidia/micro/internal/display" - "github.com/zyedidia/tcell" ) type RawPane struct { @@ -35,6 +34,7 @@ func (h *RawPane) HandleEvent(event tcell.Event) { } h.Buf.Insert(h.Cursor.Loc, reflect.TypeOf(event).String()[7:]) - h.Buf.Insert(h.Cursor.Loc, fmt.Sprintf(": %q\n", event.EscSeq())) + // h.Buf.Insert(h.Cursor.Loc, fmt.Sprintf(": %q\n", event.EscSeq())) + h.Buf.Insert(h.Cursor.Loc, "\n") h.Relocate() } diff --git a/internal/action/tab.go b/internal/action/tab.go index ba29a282..f7ae111b 100644 --- a/internal/action/tab.go +++ b/internal/action/tab.go @@ -6,7 +6,7 @@ import ( "github.com/zyedidia/micro/internal/display" "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/views" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) // The TabList is a list of tabs and a window to display the tab bar diff --git a/internal/action/termpane.go b/internal/action/termpane.go index b5a2da52..bde15ae0 100644 --- a/internal/action/termpane.go +++ b/internal/action/termpane.go @@ -3,11 +3,11 @@ package action import ( "runtime" + "github.com/gdamore/tcell" "github.com/zyedidia/clipboard" "github.com/zyedidia/micro/internal/display" "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/shell" - "github.com/zyedidia/tcell" "github.com/zyedidia/terminal" ) @@ -78,10 +78,10 @@ func (t *TermPane) HandleEvent(event tcell.Event) { clipboard.WriteAll(t.GetSelection(t.GetView().Width), "clipboard") InfoBar.Message("Copied selection to clipboard") } else if t.Status != shell.TTDone { - t.WriteString(event.EscSeq()) + // t.WriteString(event.EscSeq()) } } else if e, ok := event.(*tcell.EventMouse); e != nil && (!ok || t.State.Mode(terminal.ModeMouseMask)) { - t.WriteString(event.EscSeq()) + // t.WriteString(event.EscSeq()) } else if e != nil { x, y := e.Position() v := t.GetView() diff --git a/internal/buffer/message.go b/internal/buffer/message.go index 065d9666..b21dd42f 100644 --- a/internal/buffer/message.go +++ b/internal/buffer/message.go @@ -2,7 +2,7 @@ package buffer import ( "github.com/zyedidia/micro/internal/config" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) type MsgType int diff --git a/internal/config/colorscheme.go b/internal/config/colorscheme.go index a843c4c6..8080d7fc 100644 --- a/internal/config/colorscheme.go +++ b/internal/config/colorscheme.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) // Micro's default style diff --git a/internal/config/colorscheme_test.go b/internal/config/colorscheme_test.go index 83080df1..494637c0 100644 --- a/internal/config/colorscheme_test.go +++ b/internal/config/colorscheme_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) func TestSimpleStringToStyle(t *testing.T) { diff --git a/internal/display/bufwindow.go b/internal/display/bufwindow.go index 39934166..04766d49 100644 --- a/internal/display/bufwindow.go +++ b/internal/display/bufwindow.go @@ -10,7 +10,7 @@ import ( "github.com/zyedidia/micro/internal/config" "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/util" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) // The BufWindow provides a way of displaying a certain section diff --git a/internal/display/infowindow.go b/internal/display/infowindow.go index b179c81e..57a98925 100644 --- a/internal/display/infowindow.go +++ b/internal/display/infowindow.go @@ -9,7 +9,7 @@ import ( "github.com/zyedidia/micro/internal/info" "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/util" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) type InfoWindow struct { diff --git a/internal/display/termwindow.go b/internal/display/termwindow.go index 95a90037..5b7797f8 100644 --- a/internal/display/termwindow.go +++ b/internal/display/termwindow.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/internal/config" "github.com/zyedidia/micro/internal/screen" "github.com/zyedidia/micro/internal/shell" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" "github.com/zyedidia/terminal" ) diff --git a/internal/screen/screen.go b/internal/screen/screen.go index 1e149be7..98af8803 100644 --- a/internal/screen/screen.go +++ b/internal/screen/screen.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/internal/config" "github.com/zyedidia/micro/pkg/terminfo" - "github.com/zyedidia/tcell" + "github.com/gdamore/tcell" ) // Screen is the tcell screen we use to draw to the terminal