1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-06-17 00:18:05 +02:00

platform specific shell usage

This commit is contained in:
Jesse Duffield
2018-08-07 15:21:50 +10:00
parent 46fb4c5f0a
commit a70753364c

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"os" "os"
"os/exec" "os/exec"
"runtime"
"strings" "strings"
"time" "time"
@ -111,12 +112,20 @@ func mergeGitStatusFiles(oldGitFiles, newGitFiles []GitFile) []GitFile {
return result return result
} }
func platformShell() (string, string) {
if runtime.GOOS == "windows" {
return "cmd", "/c"
}
return "sh", "-c"
}
func runDirectCommand(command string) (string, error) { func runDirectCommand(command string) (string, error) {
timeStart := time.Now() timeStart := time.Now()
commandLog(command) commandLog(command)
shell, shellArg := platformShell()
cmdOut, err := exec. cmdOut, err := exec.
Command("sh", "-c", command). Command(shell, shellArg, command).
CombinedOutput() CombinedOutput()
devLog("run direct command time for command: ", command, time.Now().Sub(timeStart)) devLog("run direct command time for command: ", command, time.Now().Sub(timeStart))
return sanitisedCommandOutput(cmdOut, err) return sanitisedCommandOutput(cmdOut, err)