From 44ee28bb2ee69684cac7982626bea12074a8af31 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 23 Aug 2020 20:20:05 +1000 Subject: [PATCH] support alacritty --- go.mod | 2 +- go.sum | 2 ++ pkg/gui/gui.go | 18 ++++++++---------- .../jesseduffield/termbox-go/terminfo.go | 1 + .../termbox-go/terminfo_builtin.go | 1 + vendor/modules.txt | 2 +- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 2628f496f..cc7492a67 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/google/go-cmp v0.3.1 // indirect github.com/integrii/flaggy v1.4.0 github.com/jesseduffield/gocui v0.3.1-0.20200823073938-1a970a28d894 - github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba // indirect + github.com/jesseduffield/termbox-go v0.0.0-20200823212418-a2289ed6aafe // indirect github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/mattn/go-colorable v0.1.4 // indirect diff --git a/go.sum b/go.sum index a8de67bcf..a3d643ac3 100644 --- a/go.sum +++ b/go.sum @@ -100,6 +100,8 @@ github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9 h1:iBBk1l github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9/go.mod h1:anMibpZtqNxjDbxrcDEAwSdaJ37vyUeM1f/M4uekib4= github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba h1:hWBdYchM9nZ2+GldroQQ627ISOC83iRDdpfwY+uyJeI= github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba/go.mod h1:anMibpZtqNxjDbxrcDEAwSdaJ37vyUeM1f/M4uekib4= +github.com/jesseduffield/termbox-go v0.0.0-20200823212418-a2289ed6aafe h1:qsVhCf2RFyyKIUe/+gJblbCpXMUki9rZrHuEctg6M/E= +github.com/jesseduffield/termbox-go v0.0.0-20200823212418-a2289ed6aafe/go.mod h1:anMibpZtqNxjDbxrcDEAwSdaJ37vyUeM1f/M4uekib4= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index bc6448374..12d680ab9 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -411,8 +411,6 @@ func (gui *Gui) Run() error { g.NextSearchMatchKey = gui.getKey("universal.nextMatch") g.PrevSearchMatchKey = gui.getKey("universal.prevMatch") - gui.stopChan = make(chan struct{}) - g.ASCII = runtime.GOOS == "windows" && runewidth.IsEastAsian() if gui.Config.GetUserConfig().GetBool("gui.mouseEvents") { @@ -453,6 +451,7 @@ func (gui *Gui) Run() error { // otherwise it handles the error, possibly by quitting the application func (gui *Gui) RunWithSubprocesses() error { for { + gui.stopChan = make(chan struct{}) if err := gui.Run(); err != nil { for _, manager := range gui.viewBufferManagerMap { manager.Close() @@ -465,28 +464,27 @@ func (gui *Gui) RunWithSubprocesses() error { close(gui.stopChan) - if err == gocui.ErrQuit { + switch err { + case gocui.ErrQuit: if !gui.State.RetainOriginalDir { if err := gui.recordCurrentDirectory(); err != nil { return err } } - break - } else if err == gui.Errors.ErrSwitchRepo { + return nil + case gui.Errors.ErrSwitchRepo, gui.Errors.ErrRestart: continue - } else if err == gui.Errors.ErrRestart { - continue - } else if err == gui.Errors.ErrSubProcess { + case gui.Errors.ErrSubProcess: + if err := gui.runCommand(); err != nil { return err } - } else { + default: return err } } } - return nil } func (gui *Gui) runCommand() error { diff --git a/vendor/github.com/jesseduffield/termbox-go/terminfo.go b/vendor/github.com/jesseduffield/termbox-go/terminfo.go index ab2e7a198..8cf52bb29 100644 --- a/vendor/github.com/jesseduffield/termbox-go/terminfo.go +++ b/vendor/github.com/jesseduffield/termbox-go/terminfo.go @@ -123,6 +123,7 @@ func setup_term_builtin() error { // let's assume that 'cygwin' is xterm compatible {"cygwin", xterm_keys, xterm_funcs}, {"st", xterm_keys, xterm_funcs}, + {"alacritty", xterm_keys, xterm_funcs}, } // try compatibility variants diff --git a/vendor/github.com/jesseduffield/termbox-go/terminfo_builtin.go b/vendor/github.com/jesseduffield/termbox-go/terminfo_builtin.go index a94866067..9571c2f12 100644 --- a/vendor/github.com/jesseduffield/termbox-go/terminfo_builtin.go +++ b/vendor/github.com/jesseduffield/termbox-go/terminfo_builtin.go @@ -61,4 +61,5 @@ var terms = []struct { {"rxvt-unicode", rxvt_unicode_keys, rxvt_unicode_funcs}, {"linux", linux_keys, linux_funcs}, {"rxvt-256color", rxvt_256color_keys, rxvt_256color_funcs}, + {"alacritty", xterm_keys, xterm_funcs}, } diff --git a/vendor/modules.txt b/vendor/modules.txt index 8e03e6480..863583aeb 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -102,7 +102,7 @@ github.com/jbenet/go-context/io # github.com/jesseduffield/gocui v0.3.1-0.20200823073938-1a970a28d894 ## explicit github.com/jesseduffield/gocui -# github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba +# github.com/jesseduffield/termbox-go v0.0.0-20200823212418-a2289ed6aafe ## explicit github.com/jesseduffield/termbox-go # github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0