From 9a3b565806689a35f1d330c233dbbc725bb7ebe8 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Mon, 6 Aug 2018 13:49:15 +1000 Subject: [PATCH] add vscode keybinding --- files_panel.go | 6 ++++-- gitcommands.go | 6 +++++- gui.go | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/files_panel.go b/files_panel.go index dd0a3f2be..52d4137e3 100644 --- a/files_panel.go +++ b/files_panel.go @@ -180,8 +180,10 @@ func genericFileOpen(g *gocui.Gui, v *gocui.View, open func(string) (string, err } return nil } - _, err = open(file.Name) - return err + if output, err := open(file.Name); err != nil { + return createErrorPanel(g, output) + } + return nil } func handleFileOpen(g *gocui.Gui, v *gocui.View) error { diff --git a/gitcommands.go b/gitcommands.go index e0f5bacfe..719a8ceb0 100644 --- a/gitcommands.go +++ b/gitcommands.go @@ -305,7 +305,11 @@ func runCommand(command string) (string, error) { splitCmd := strings.Split(command, " ") cmdOut, err := exec.Command(splitCmd[0], splitCmd[1:]...).CombinedOutput() devLog("run command time: ", time.Now().Sub(commandStartTime)) - return string(cmdOut), err + outputString := string(cmdOut) + if outputString == "" && err != nil { + return err.Error(), err + } + return outputString, err } func openFile(filename string) (string, error) { diff --git a/gui.go b/gui.go index 1c55c91ba..040cfdafd 100644 --- a/gui.go +++ b/gui.go @@ -124,6 +124,9 @@ func keybindings(g *gocui.Gui) error { if err := g.SetKeybinding("files", 's', gocui.ModNone, handleSublimeFileOpen); err != nil { return err } + if err := g.SetKeybinding("files", 'v', gocui.ModNone, handleVsCodeFileOpen); err != nil { + return err + } if err := g.SetKeybinding("files", 'i', gocui.ModNone, handleIgnoreFile); err != nil { return err }