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:
parent
dbf042b8ad
commit
5dfa26ea8b
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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: `\"`,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,6 @@ func getPlatform() *Platform {
|
|||||||
shell: "cmd",
|
shell: "cmd",
|
||||||
shellArg: "/c",
|
shellArg: "/c",
|
||||||
escapedQuote: `\"`,
|
escapedQuote: `\"`,
|
||||||
fallbackEscapedQuote: "\\'",
|
fallbackEscapedQuote: `\'`,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user