From 11104fd093ece95261003a8adfa66c2e89450a04 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sat, 5 Sep 2020 14:52:35 -0400 Subject: [PATCH] Update to tcell v2 --- cmd/micro/micro.go | 25 ++++++++----------------- cmd/micro/micro_test.go | 2 +- go.mod | 2 +- go.sum | 2 ++ internal/action/actions.go | 2 +- internal/action/bindings.go | 8 ++++---- internal/action/bufpane.go | 2 +- internal/action/events.go | 2 +- internal/action/infopane.go | 2 +- internal/action/keytree.go | 2 +- internal/action/rawpane.go | 2 +- internal/action/tab.go | 2 +- internal/action/termpane.go | 2 +- internal/buffer/message.go | 2 +- internal/clipboard/terminal.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 +- 21 files changed, 32 insertions(+), 39 deletions(-) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 520d7fb4..e669d4db 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -24,7 +24,7 @@ import ( "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/shell" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) var ( @@ -297,13 +297,15 @@ func main() { if screen.Screen != nil { screen.Screen.Fini() } - fmt.Println("Micro encountered an error:", err) + if e, ok := err.(*lua.ApiError); ok { + fmt.Println("Lua API error:", e) + } else { + fmt.Println("Micro encountered an error:", errors.Wrap(err, 2).ErrorStack(), "\nIf you can reproduce this error, please report it at https://github.com/zyedidia/micro/issues") + } // backup all open buffers for _, b := range buffer.OpenBuffers { b.Backup() } - // Print the stack trace too - fmt.Print(errors.Wrap(err, 2).ErrorStack()) os.Exit(1) } }() @@ -380,9 +382,6 @@ func main() { // time out after 10ms } - // Since this loop is very slow (waits for user input every time) it's - // okay to be inefficient and run it via a function every time - // We do this so we can recover from panics without crashing the editor for { DoEvent() } @@ -392,16 +391,6 @@ func main() { func DoEvent() { var event tcell.Event - // recover from errors without crashing the editor - defer func() { - if err := recover(); err != nil { - if e, ok := err.(*lua.ApiError); ok { - screen.TermMessage("Lua API error:", e) - } else { - screen.TermMessage("Micro encountered an error:", errors.Wrap(err, 2).ErrorStack(), "\nIf you can reproduce this error, please report it at https://github.com/zyedidia/micro/issues") - } - } - }() // Display everything screen.Screen.Fill(' ', config.DefStyle) screen.Screen.HideCursor() @@ -435,10 +424,12 @@ func DoEvent() { } ulua.Lock.Lock() + // if event != nil { if action.InfoBar.HasPrompt { action.InfoBar.HandleEvent(event) } else { action.Tabs.HandleEvent(event) } + // } ulua.Lock.Unlock() } diff --git a/cmd/micro/micro_test.go b/cmd/micro/micro_test.go index 0a52bc8f..c5b64ef9 100644 --- a/cmd/micro/micro_test.go +++ b/cmd/micro/micro_test.go @@ -13,7 +13,7 @@ import ( "github.com/zyedidia/micro/v2/internal/buffer" "github.com/zyedidia/micro/v2/internal/config" "github.com/zyedidia/micro/v2/internal/screen" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) var tempDir string diff --git a/go.mod b/go.mod index 3a963294..5b81536e 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/zyedidia/highlight v0.0.0-20170330143449-201131ce5cf5 github.com/zyedidia/json5 v0.0.0-20200102012142-2da050b1a98d github.com/zyedidia/pty v2.0.0+incompatible // indirect - github.com/zyedidia/tcell v1.4.12 + github.com/zyedidia/tcell/v2 v2.0.0 github.com/zyedidia/terminal v0.0.0-20180726154117-533c623e2415 golang.org/x/text v0.3.2 gopkg.in/sourcemap.v1 v1.0.5 // indirect diff --git a/go.sum b/go.sum index aa2f7752..9a36f2fb 100644 --- a/go.sum +++ b/go.sum @@ -54,6 +54,8 @@ github.com/zyedidia/pty v2.0.0+incompatible h1:Ou5vXL6tvjst+RV8sUFISbuKDnUJPhnpy github.com/zyedidia/pty v2.0.0+incompatible/go.mod h1:4y9l9yJZNxRa7GB/fB+mmDmGkG3CqmzLf4vUxGGotEA= github.com/zyedidia/tcell v1.4.12 h1:PwsWfTKDvgSsMKL8QfFqxrD2qxZk6apxxKOJwjhLbxs= github.com/zyedidia/tcell v1.4.12/go.mod h1:HhlbMSCcGX15rFDB+Q1Lk3pKEOocsCUAQC3zhZ9sadA= +github.com/zyedidia/tcell/v2 v2.0.0 h1:d6q7nFhAkbCdK3znpOfsStRIbavCvHX0wb7h3NJ4Lzc= +github.com/zyedidia/tcell/v2 v2.0.0/go.mod h1:PT4YXe+nkU4iuQAPFfkMAZAYFQEnscyAxKsZ9B5Kl1w= 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= diff --git a/internal/action/actions.go b/internal/action/actions.go index b80ff67b..4bc5034b 100644 --- a/internal/action/actions.go +++ b/internal/action/actions.go @@ -13,7 +13,7 @@ import ( "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/shell" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) // ScrollUp is not an action diff --git a/internal/action/bindings.go b/internal/action/bindings.go index b3976c79..fcd557bb 100644 --- a/internal/action/bindings.go +++ b/internal/action/bindings.go @@ -13,7 +13,7 @@ import ( "github.com/zyedidia/json5" "github.com/zyedidia/micro/v2/internal/config" "github.com/zyedidia/micro/v2/internal/screen" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) var Binder = map[string]func(e Event, action string){ @@ -334,9 +334,9 @@ func UnbindKey(k string) error { } var mouseEvents = map[string]tcell.ButtonMask{ - "MouseLeft": tcell.Button1, - "MouseMiddle": tcell.Button2, - "MouseRight": tcell.Button3, + "MouseLeft": tcell.ButtonPrimary, + "MouseMiddle": tcell.ButtonMiddle, + "MouseRight": tcell.ButtonSecondary, "MouseWheelUp": tcell.WheelUp, "MouseWheelDown": tcell.WheelDown, "MouseWheelLeft": tcell.WheelLeft, diff --git a/internal/action/bufpane.go b/internal/action/bufpane.go index 9f35df1b..89a372c9 100644 --- a/internal/action/bufpane.go +++ b/internal/action/bufpane.go @@ -13,7 +13,7 @@ import ( "github.com/zyedidia/micro/v2/internal/display" ulua "github.com/zyedidia/micro/v2/internal/lua" "github.com/zyedidia/micro/v2/internal/screen" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type BufKeyAction func(*BufPane) bool diff --git a/internal/action/events.go b/internal/action/events.go index 3378f5cc..cf86a4ae 100644 --- a/internal/action/events.go +++ b/internal/action/events.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type Event interface { diff --git a/internal/action/infopane.go b/internal/action/infopane.go index ed4aea29..acf8563d 100644 --- a/internal/action/infopane.go +++ b/internal/action/infopane.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/v2/internal/display" "github.com/zyedidia/micro/v2/internal/info" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type InfoKeyAction func(*InfoPane) diff --git a/internal/action/keytree.go b/internal/action/keytree.go index 5b19640e..d507eb11 100644 --- a/internal/action/keytree.go +++ b/internal/action/keytree.go @@ -3,7 +3,7 @@ package action import ( "bytes" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type PaneKeyAction func(Pane) bool diff --git a/internal/action/rawpane.go b/internal/action/rawpane.go index bc8ade2a..7d0c57cc 100644 --- a/internal/action/rawpane.go +++ b/internal/action/rawpane.go @@ -6,7 +6,7 @@ import ( "github.com/zyedidia/micro/v2/internal/buffer" "github.com/zyedidia/micro/v2/internal/display" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type RawPane struct { diff --git a/internal/action/tab.go b/internal/action/tab.go index 66a21c6f..54f693ec 100644 --- a/internal/action/tab.go +++ b/internal/action/tab.go @@ -6,7 +6,7 @@ import ( "github.com/zyedidia/micro/v2/internal/display" "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/views" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) // 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 59ee7e84..cf5e33c4 100644 --- a/internal/action/termpane.go +++ b/internal/action/termpane.go @@ -8,7 +8,7 @@ import ( "github.com/zyedidia/micro/v2/internal/display" "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/shell" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" "github.com/zyedidia/terminal" ) diff --git a/internal/buffer/message.go b/internal/buffer/message.go index ce3d4547..31c96326 100644 --- a/internal/buffer/message.go +++ b/internal/buffer/message.go @@ -2,7 +2,7 @@ package buffer import ( "github.com/zyedidia/micro/v2/internal/config" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type MsgType int diff --git a/internal/clipboard/terminal.go b/internal/clipboard/terminal.go index fca42967..e3a05287 100644 --- a/internal/clipboard/terminal.go +++ b/internal/clipboard/terminal.go @@ -5,7 +5,7 @@ import ( "time" "github.com/zyedidia/micro/v2/internal/screen" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type terminalClipboard struct{} diff --git a/internal/config/colorscheme.go b/internal/config/colorscheme.go index 8109d07a..7d2fd9cf 100644 --- a/internal/config/colorscheme.go +++ b/internal/config/colorscheme.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) // Micro's default style diff --git a/internal/config/colorscheme_test.go b/internal/config/colorscheme_test.go index 106fd1be..2785c581 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/zyedidia/tcell/v2" ) func TestSimpleStringToStyle(t *testing.T) { diff --git a/internal/display/bufwindow.go b/internal/display/bufwindow.go index 5eaec35d..f6c01de4 100644 --- a/internal/display/bufwindow.go +++ b/internal/display/bufwindow.go @@ -8,7 +8,7 @@ import ( "github.com/zyedidia/micro/v2/internal/config" "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) // The BufWindow provides a way of displaying a certain section diff --git a/internal/display/infowindow.go b/internal/display/infowindow.go index 32662be2..a5d02c7b 100644 --- a/internal/display/infowindow.go +++ b/internal/display/infowindow.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/v2/internal/info" "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) type InfoWindow struct { diff --git a/internal/display/termwindow.go b/internal/display/termwindow.go index 6250fea9..6d85654c 100644 --- a/internal/display/termwindow.go +++ b/internal/display/termwindow.go @@ -6,7 +6,7 @@ import ( "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/shell" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" "github.com/zyedidia/terminal" ) diff --git a/internal/screen/screen.go b/internal/screen/screen.go index 4991529b..bd9005ac 100644 --- a/internal/screen/screen.go +++ b/internal/screen/screen.go @@ -7,7 +7,7 @@ import ( "github.com/zyedidia/micro/v2/internal/config" "github.com/zyedidia/micro/v2/internal/util" - "github.com/zyedidia/tcell" + "github.com/zyedidia/tcell/v2" ) // Screen is the tcell screen we use to draw to the terminal