1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-25 12:24:47 +02:00

use strconv for quoting in 'GitCommand.Commit' and 'OSCommand.ShellCommandFromString'

use raw strings for the escaped quotes in 'os_default_platform.go' and 'os_windows.go'

Signed-off-by: Randshot <randshot@norealm.xyz>
This commit is contained in:
Randshot 2020-07-14 21:43:12 +02:00 committed by Jesse Duffield
parent dbf042b8ad
commit 5dfa26ea8b
4 changed files with 8 additions and 6 deletions

View File

@ -451,7 +451,7 @@ func (c *GitCommand) usingGpg() bool {
// Commit commits to git // Commit commits to git
func (c *GitCommand) Commit(message string, flags string) (*exec.Cmd, error) { func (c *GitCommand) Commit(message string, flags string) (*exec.Cmd, error) {
command := fmt.Sprintf("git commit %s -m %s", flags, c.OSCommand.Quote(message)) command := fmt.Sprintf("git commit %s -m %s", flags, strconv.Quote(message))
if c.usingGpg() { if c.usingGpg() {
return c.OSCommand.ShellCommandFromString(command), nil return c.OSCommand.ShellCommandFromString(command), nil
} }

View File

@ -8,6 +8,7 @@ import (
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"regexp" "regexp"
"strconv"
"strings" "strings"
"sync" "sync"
@ -125,10 +126,11 @@ func (c *OSCommand) ShellCommandFromString(commandStr string) *exec.Cmd {
if c.Platform.os == "windows" { if c.Platform.os == "windows" {
quotedCommand = commandStr quotedCommand = commandStr
} else { } else {
quotedCommand = c.Quote(commandStr) quotedCommand = strconv.Quote(commandStr)
} }
return c.ExecutableFromString(fmt.Sprintf("%s %s %s", c.Platform.shell, c.Platform.shellArg, quotedCommand)) shellCommand := fmt.Sprintf("%s %s %s", c.Platform.shell, c.Platform.shellArg, quotedCommand)
return c.ExecutableFromString(shellCommand)
} }
// RunCommandWithOutputLive runs RunCommandWithOutputLiveWrapper // RunCommandWithOutputLive runs RunCommandWithOutputLiveWrapper

View File

@ -12,9 +12,9 @@ func getPlatform() *Platform {
catCmd: "cat", catCmd: "cat",
shell: "bash", shell: "bash",
shellArg: "-c", shellArg: "-c",
escapedQuote: "'",
openCommand: "open {{filename}}", openCommand: "open {{filename}}",
openLinkCommand: "open {{link}}", openLinkCommand: "open {{link}}",
fallbackEscapedQuote: "\"", escapedQuote: `\'`,
fallbackEscapedQuote: `\"`,
} }
} }

View File

@ -7,6 +7,6 @@ func getPlatform() *Platform {
shell: "cmd", shell: "cmd",
shellArg: "/c", shellArg: "/c",
escapedQuote: `\"`, escapedQuote: `\"`,
fallbackEscapedQuote: "\\'", fallbackEscapedQuote: `\'`,
} }
} }