Update to tcell v2
This commit is contained in:
parent
f35f507832
commit
11104fd093
21 changed files with 32 additions and 39 deletions
|
@ -24,7 +24,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/shell"
|
"github.com/zyedidia/micro/v2/internal/shell"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"github.com/zyedidia/micro/v2/internal/util"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -297,13 +297,15 @@ func main() {
|
||||||
if screen.Screen != nil {
|
if screen.Screen != nil {
|
||||||
screen.Screen.Fini()
|
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
|
// backup all open buffers
|
||||||
for _, b := range buffer.OpenBuffers {
|
for _, b := range buffer.OpenBuffers {
|
||||||
b.Backup()
|
b.Backup()
|
||||||
}
|
}
|
||||||
// Print the stack trace too
|
|
||||||
fmt.Print(errors.Wrap(err, 2).ErrorStack())
|
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -380,9 +382,6 @@ func main() {
|
||||||
// time out after 10ms
|
// 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 {
|
for {
|
||||||
DoEvent()
|
DoEvent()
|
||||||
}
|
}
|
||||||
|
@ -392,16 +391,6 @@ func main() {
|
||||||
func DoEvent() {
|
func DoEvent() {
|
||||||
var event tcell.Event
|
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
|
// Display everything
|
||||||
screen.Screen.Fill(' ', config.DefStyle)
|
screen.Screen.Fill(' ', config.DefStyle)
|
||||||
screen.Screen.HideCursor()
|
screen.Screen.HideCursor()
|
||||||
|
@ -435,10 +424,12 @@ func DoEvent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ulua.Lock.Lock()
|
ulua.Lock.Lock()
|
||||||
|
// if event != nil {
|
||||||
if action.InfoBar.HasPrompt {
|
if action.InfoBar.HasPrompt {
|
||||||
action.InfoBar.HandleEvent(event)
|
action.InfoBar.HandleEvent(event)
|
||||||
} else {
|
} else {
|
||||||
action.Tabs.HandleEvent(event)
|
action.Tabs.HandleEvent(event)
|
||||||
}
|
}
|
||||||
|
// }
|
||||||
ulua.Lock.Unlock()
|
ulua.Lock.Unlock()
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/buffer"
|
"github.com/zyedidia/micro/v2/internal/buffer"
|
||||||
"github.com/zyedidia/micro/v2/internal/config"
|
"github.com/zyedidia/micro/v2/internal/config"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var tempDir string
|
var tempDir string
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -17,7 +17,7 @@ require (
|
||||||
github.com/zyedidia/highlight v0.0.0-20170330143449-201131ce5cf5
|
github.com/zyedidia/highlight v0.0.0-20170330143449-201131ce5cf5
|
||||||
github.com/zyedidia/json5 v0.0.0-20200102012142-2da050b1a98d
|
github.com/zyedidia/json5 v0.0.0-20200102012142-2da050b1a98d
|
||||||
github.com/zyedidia/pty v2.0.0+incompatible // indirect
|
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
|
github.com/zyedidia/terminal v0.0.0-20180726154117-533c623e2415
|
||||||
golang.org/x/text v0.3.2
|
golang.org/x/text v0.3.2
|
||||||
gopkg.in/sourcemap.v1 v1.0.5 // indirect
|
gopkg.in/sourcemap.v1 v1.0.5 // indirect
|
||||||
|
|
2
go.sum
2
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/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 h1:PwsWfTKDvgSsMKL8QfFqxrD2qxZk6apxxKOJwjhLbxs=
|
||||||
github.com/zyedidia/tcell v1.4.12/go.mod h1:HhlbMSCcGX15rFDB+Q1Lk3pKEOocsCUAQC3zhZ9sadA=
|
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 h1:752dTQ5OatJ9M5ULK2+9lor+nzyZz+LYDo3WGngg3Rc=
|
||||||
github.com/zyedidia/terminal v0.0.0-20180726154117-533c623e2415/go.mod h1:8leT8G0Cm8NoJHdrrKHyR9MirWoF4YW7pZh06B6H+1E=
|
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-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/shell"
|
"github.com/zyedidia/micro/v2/internal/shell"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"github.com/zyedidia/micro/v2/internal/util"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ScrollUp is not an action
|
// ScrollUp is not an action
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/zyedidia/json5"
|
"github.com/zyedidia/json5"
|
||||||
"github.com/zyedidia/micro/v2/internal/config"
|
"github.com/zyedidia/micro/v2/internal/config"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"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){
|
var Binder = map[string]func(e Event, action string){
|
||||||
|
@ -334,9 +334,9 @@ func UnbindKey(k string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var mouseEvents = map[string]tcell.ButtonMask{
|
var mouseEvents = map[string]tcell.ButtonMask{
|
||||||
"MouseLeft": tcell.Button1,
|
"MouseLeft": tcell.ButtonPrimary,
|
||||||
"MouseMiddle": tcell.Button2,
|
"MouseMiddle": tcell.ButtonMiddle,
|
||||||
"MouseRight": tcell.Button3,
|
"MouseRight": tcell.ButtonSecondary,
|
||||||
"MouseWheelUp": tcell.WheelUp,
|
"MouseWheelUp": tcell.WheelUp,
|
||||||
"MouseWheelDown": tcell.WheelDown,
|
"MouseWheelDown": tcell.WheelDown,
|
||||||
"MouseWheelLeft": tcell.WheelLeft,
|
"MouseWheelLeft": tcell.WheelLeft,
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/display"
|
"github.com/zyedidia/micro/v2/internal/display"
|
||||||
ulua "github.com/zyedidia/micro/v2/internal/lua"
|
ulua "github.com/zyedidia/micro/v2/internal/lua"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type BufKeyAction func(*BufPane) bool
|
type BufKeyAction func(*BufPane) bool
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Event interface {
|
type Event interface {
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/display"
|
"github.com/zyedidia/micro/v2/internal/display"
|
||||||
"github.com/zyedidia/micro/v2/internal/info"
|
"github.com/zyedidia/micro/v2/internal/info"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"github.com/zyedidia/micro/v2/internal/util"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type InfoKeyAction func(*InfoPane)
|
type InfoKeyAction func(*InfoPane)
|
||||||
|
|
|
@ -3,7 +3,7 @@ package action
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PaneKeyAction func(Pane) bool
|
type PaneKeyAction func(Pane) bool
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
|
|
||||||
"github.com/zyedidia/micro/v2/internal/buffer"
|
"github.com/zyedidia/micro/v2/internal/buffer"
|
||||||
"github.com/zyedidia/micro/v2/internal/display"
|
"github.com/zyedidia/micro/v2/internal/display"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RawPane struct {
|
type RawPane struct {
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/display"
|
"github.com/zyedidia/micro/v2/internal/display"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/views"
|
"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
|
// The TabList is a list of tabs and a window to display the tab bar
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/display"
|
"github.com/zyedidia/micro/v2/internal/display"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/shell"
|
"github.com/zyedidia/micro/v2/internal/shell"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
"github.com/zyedidia/terminal"
|
"github.com/zyedidia/terminal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package buffer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/zyedidia/micro/v2/internal/config"
|
"github.com/zyedidia/micro/v2/internal/config"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type MsgType int
|
type MsgType int
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type terminalClipboard struct{}
|
type terminalClipboard struct{}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Micro's default style
|
// Micro's default style
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSimpleStringToStyle(t *testing.T) {
|
func TestSimpleStringToStyle(t *testing.T) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/config"
|
"github.com/zyedidia/micro/v2/internal/config"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"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
|
// The BufWindow provides a way of displaying a certain section
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/info"
|
"github.com/zyedidia/micro/v2/internal/info"
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"github.com/zyedidia/micro/v2/internal/util"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type InfoWindow struct {
|
type InfoWindow struct {
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"github.com/zyedidia/micro/v2/internal/screen"
|
"github.com/zyedidia/micro/v2/internal/screen"
|
||||||
"github.com/zyedidia/micro/v2/internal/shell"
|
"github.com/zyedidia/micro/v2/internal/shell"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"github.com/zyedidia/micro/v2/internal/util"
|
||||||
"github.com/zyedidia/tcell"
|
"github.com/zyedidia/tcell/v2"
|
||||||
"github.com/zyedidia/terminal"
|
"github.com/zyedidia/terminal"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/zyedidia/micro/v2/internal/config"
|
"github.com/zyedidia/micro/v2/internal/config"
|
||||||
"github.com/zyedidia/micro/v2/internal/util"
|
"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
|
// Screen is the tcell screen we use to draw to the terminal
|
||||||
|
|
Loading…
Reference in a new issue