1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-11-29 22:48:24 +02:00

factor out platform specific logic into a struct on state

This commit is contained in:
Jesse Duffield
2018-08-09 13:14:24 +10:00
parent ce8884f509
commit 5cc34e7801
2 changed files with 30 additions and 10 deletions

29
gui.go
View File

@@ -5,6 +5,7 @@ import (
// "io"
// "io/ioutil"
"runtime"
"strings"
"time"
@@ -28,6 +29,7 @@ type stateType struct {
ConflictTop bool
Conflicts []conflict
EditHistory *stack.Stack
Platform platform
}
type conflict struct {
@@ -45,6 +47,33 @@ var state = stateType{
ConflictTop: true,
Conflicts: make([]conflict, 0),
EditHistory: stack.New(),
Platform: getPlatform(),
}
type platform struct {
os string
shell string
shellArg string
escapedQuote string
}
func getPlatform() platform {
switch runtime.GOOS {
case "windows":
return platform{
os: "windows",
shell: "cmd",
shellArg: "/c",
escapedQuote: "\\\"",
}
default:
return platform{
os: runtime.GOOS,
shell: "bash",
shellArg: "-c",
escapedQuote: "\"",
}
}
}
func scrollUpMain(g *gocui.Gui, v *gocui.View) error {