summaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorRyooooooga <eial5q265e5@gmail.com>2022-04-22 21:54:03 +0900
committerRyooooooga <eial5q265e5@gmail.com>2022-04-23 17:39:12 +0900
commite5730cb80bffe835725f94d40e7ea28838f45f91 (patch)
tree762c2c0c83ccfbc36b6891befc9463439aa5e6e6 /pkg
parent8b103b16bd3a06d0e661e507832459fae7ec1198 (diff)
fix: improve default editCommandTemplate
Diffstat (limited to 'pkg')
-rw-r--r--pkg/commands/git_commands/file.go13
-rw-r--r--pkg/commands/git_commands/file_test.go26
-rw-r--r--pkg/config/config_default_platform.go6
-rw-r--r--pkg/config/config_linux.go4
-rw-r--r--pkg/config/config_windows.go4
5 files changed, 31 insertions, 22 deletions
diff --git a/pkg/commands/git_commands/file.go b/pkg/commands/git_commands/file.go
index 1837ee4a4..898c26e33 100644
--- a/pkg/commands/git_commands/file.go
+++ b/pkg/commands/git_commands/file.go
@@ -5,7 +5,6 @@ import (
"strconv"
"github.com/go-errors/errors"
- "github.com/jesseduffield/lazygit/pkg/config"
"github.com/jesseduffield/lazygit/pkg/utils"
)
@@ -59,14 +58,16 @@ func (self *FileCommands) GetEditCmdStr(filename string, lineNumber int) (string
}
editCmdTemplate := self.UserConfig.OS.EditCommandTemplate
- if editCmdTemplate == config.DefaultEditCommandTemplate {
+ if len(editCmdTemplate) == 0 {
switch editor {
- case "emacs", "nano", "vi", "vim":
- editCmdTemplate = "{{editor}} +{{line}} {{filename}}"
+ case "emacs", "nano", "vi", "vim", "nvim":
+ editCmdTemplate = "{{editor}} +{{line}} -- {{filename}}"
case "subl":
- editCmdTemplate = "{{editor}} {{filename}}:{{line}}"
+ editCmdTemplate = "{{editor}} -- {{filename}}:{{line}}"
case "code":
- editCmdTemplate = "{{editor}} -r --goto {{filename}}:{{line}}"
+ editCmdTemplate = "{{editor}} -r --goto -- {{filename}}:{{line}}"
+ default:
+ editCmdTemplate = "{{editor}} -- {{filename}}"
}
}
return utils.ResolvePlaceholderString(editCmdTemplate, templateValues), nil
diff --git a/pkg/commands/git_commands/file_test.go b/pkg/commands/git_commands/file_test.go
index 61482054b..4b9128dfe 100644
--- a/pkg/commands/git_commands/file_test.go
+++ b/pkg/commands/git_commands/file_test.go
@@ -47,7 +47,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: nil,
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `nano +1 "test"`, cmdStr)
+ assert.Equal(t, `nano "test"`, cmdStr)
},
},
{
@@ -61,7 +61,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: map[string]string{"core.editor": "nano"},
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `nano +1 "test"`, cmdStr)
+ assert.Equal(t, `nano "test"`, cmdStr)
},
},
{
@@ -79,7 +79,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: nil,
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `nano +1 "test"`, cmdStr)
+ assert.Equal(t, `nano "test"`, cmdStr)
},
},
{
@@ -97,7 +97,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: nil,
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `emacs +1 "test"`, cmdStr)
+ assert.Equal(t, `emacs "test"`, cmdStr)
},
},
{
@@ -112,7 +112,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: nil,
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `vi +1 "test"`, cmdStr)
+ assert.Equal(t, `vi "test"`, cmdStr)
},
},
{
@@ -127,7 +127,7 @@ func TestEditFileCmdStr(t *testing.T) {
gitConfigMockResponses: nil,
test: func(cmdStr string, err error) {
assert.NoError(t, err)
- assert.Equal(t, `vi +1 "file/with space"`, cmdStr)
+ assert.Equal(t, `vi "file/with space"`, cmdStr)
},
},
{
@@ -144,6 +144,20 @@ func TestEditFileCmdStr(t *testing.T) {
assert.Equal(t, `vim +1 "open file/at line"`, cmdStr)
},
},
+ {
+ filename: "default edit command template",
+ configEditCommand: "vim",
+ configEditCommandTemplate: "",
+ runner: oscommands.NewFakeRunner(t),
+ getenv: func(env string) string {
+ return ""
+ },
+ gitConfigMockResponses: nil,
+ test: func(cmdStr string, err error) {
+ assert.NoError(t, err)
+ assert.Equal(t, `vim +1 -- "default edit command template"`, cmdStr)
+ },
+ },
}
for _, s := range scenarios {
diff --git a/pkg/config/config_default_platform.go b/pkg/config/config_default_platform.go
index 32b76cbf0..6784f0ce2 100644
--- a/pkg/config/config_default_platform.go
+++ b/pkg/config/config_default_platform.go
@@ -3,14 +3,12 @@
package config
-const DefaultEditCommandTemplate = `{{editor}} {{filename}}`
-
// GetPlatformDefaultConfig gets the defaults for the platform
func GetPlatformDefaultConfig() OSConfig {
return OSConfig{
EditCommand: ``,
- EditCommandTemplate: DefaultEditCommandTemplate,
- OpenCommand: "open {{filename}}",
+ EditCommandTemplate: "",
+ OpenCommand: "open -- {{filename}}",
OpenLinkCommand: "open {{link}}",
}
}
diff --git a/pkg/config/config_linux.go b/pkg/config/config_linux.go
index 93baa1335..b9e195f9f 100644
--- a/pkg/config/config_linux.go
+++ b/pkg/config/config_linux.go
@@ -1,12 +1,10 @@
package config
-const DefaultEditCommandTemplate = `{{editor}} {{filename}}`
-
// GetPlatformDefaultConfig gets the defaults for the platform
func GetPlatformDefaultConfig() OSConfig {
return OSConfig{
EditCommand: ``,
- EditCommandTemplate: DefaultEditCommandTemplate,
+ EditCommandTemplate: "",
OpenCommand: `xdg-open {{filename}} >/dev/null`,
OpenLinkCommand: `xdg-open {{link}} >/dev/null`,
}
diff --git a/pkg/config/config_windows.go b/pkg/config/config_windows.go
index eb0b00728..12ecb8dff 100644
--- a/pkg/config/config_windows.go
+++ b/pkg/config/config_windows.go
@@ -1,12 +1,10 @@
package config
-const DefaultEditCommandTemplate = `{{editor}} {{filename}}`
-
// GetPlatformDefaultConfig gets the defaults for the platform
func GetPlatformDefaultConfig() OSConfig {
return OSConfig{
EditCommand: ``,
- EditCommandTemplate: DefaultEditCommandTemplate,
+ EditCommandTemplate: "",
OpenCommand: `start "" {{filename}}`,
OpenLinkCommand: `start "" {{link}}`,
}