1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-27 12:32:37 +02:00

"opening and editing"

This commit is contained in:
Jesse Duffield 2018-08-08 19:46:21 +10:00
parent 3839719154
commit c965333756
3 changed files with 29 additions and 24 deletions

View File

@ -193,8 +193,8 @@ func genericFileOpen(g *gocui.Gui, v *gocui.View, open func(*gocui.Gui, string)
} }
return nil return nil
} }
if output, err := open(g, file.Name); err != nil { if _, err := open(g, file.Name); err != nil {
return createErrorPanel(g, output) return createErrorPanel(g, err.Error())
} }
return nil return nil
} }

View File

@ -19,6 +19,9 @@ import (
var ( var (
// ErrNoCheckedOutBranch : When we have no checked out branch // ErrNoCheckedOutBranch : When we have no checked out branch
ErrNoCheckedOutBranch = errors.New("No currently checked out branch") ErrNoCheckedOutBranch = errors.New("No currently checked out branch")
// ErrNoOpenCommand : When we don't know which command to use to open a file
ErrNoOpenCommand = errors.New("Unsure what command to use to open this file")
) )
// GitFile : A staged/unstaged file // GitFile : A staged/unstaged file
@ -278,8 +281,26 @@ func sublimeOpenFile(g *gocui.Gui, filename string) (string, error) {
} }
func openFile(g *gocui.Gui, filename string) (string, error) { func openFile(g *gocui.Gui, filename string) (string, error) {
cmdName, cmdTrail := getOpenCommand() cmdName, cmdTrail, err := getOpenCommand()
return runCommand(cmdName + " " + filename + " " + cmdTrail) // TODO: find out why finder is being opened here if err != nil {
return "", err
}
return runCommand(cmdName + " " + filename + cmdTrail)
}
func getOpenCommand() (string, string, error) {
//NextStep open equivalents: xdg-open (linux), cygstart (cygwin), open (OSX)
trailMap := map[string]string{
"xdg-open": " &>/dev/null &",
"cygstart": "",
"open": "",
}
for name, trail := range trailMap {
if out, _ := runCommand("which " + name); out != "exit status 1" {
return name, trail, nil
}
}
return "", "", ErrNoOpenCommand
} }
func gitAddPatch(g *gocui.Gui, filename string) { func gitAddPatch(g *gocui.Gui, filename string) {
@ -299,20 +320,6 @@ func editFile(g *gocui.Gui, filename string) (string, error) {
return "", nil return "", nil
} }
func getOpenCommand() (string, string) {
//NextStep open equivalents: xdg-open (linux), cygstart (cygwin), open (OSX)
trailMap := map[string]string{
"xdg-open": "&>/dev/null &",
"cygstart": "",
}
for name, trail := range trailMap {
if out, _ := runCommand("which " + name); out != "exit status 1" {
return name, trail
}
}
return "open", ""
}
func runSubProcess(g *gocui.Gui, cmdName string, commandArgs ...string) { func runSubProcess(g *gocui.Gui, cmdName string, commandArgs ...string) {
subprocess = exec.Command(cmdName, commandArgs...) subprocess = exec.Command(cmdName, commandArgs...)
subprocess.Stdin = os.Stdin subprocess.Stdin = os.Stdin

View File

@ -19,7 +19,6 @@ var (
ErrSubprocess = errors.New("running subprocess") ErrSubprocess = errors.New("running subprocess")
subprocess *exec.Cmd subprocess *exec.Cmd
startTime time.Time startTime time.Time
debugging bool
// Rev - Git Revision // Rev - Git Revision
Rev string Rev string
@ -28,7 +27,7 @@ var (
Version = "unversioned" Version = "unversioned"
builddate string builddate string
debuggingPointer = flag.Bool("debug", false, "a boolean") debuggingFlag = flag.Bool("debug", false, "a boolean")
versionFlag = flag.Bool("v", false, "Print the current version") versionFlag = flag.Bool("v", false, "Print the current version")
) )
@ -53,7 +52,7 @@ func commandLog(objects ...interface{}) {
} }
func localLog(colour color.Attribute, path string, objects ...interface{}) { func localLog(colour color.Attribute, path string, objects ...interface{}) {
if !debugging { if !*debuggingFlag {
return return
} }
f, _ := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, 0644) f, _ := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, 0644)
@ -75,7 +74,6 @@ func navigateToRepoRootDirectory() {
func main() { func main() {
startTime = time.Now() startTime = time.Now()
debugging = *debuggingPointer
devLog("\n\n\n\n\n\n\n\n\n\n") devLog("\n\n\n\n\n\n\n\n\n\n")
flag.Parse() flag.Parse()
if *versionFlag { if *versionFlag {