mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-01-06 03:53:59 +02:00
Support line offset for most common editors by default
This commit is contained in:
parent
f56988039a
commit
866f4b9f0e
@ -58,5 +58,15 @@ func (self *FileCommands) GetEditCmdStr(filename string, lineNumber int) (string
|
|||||||
}
|
}
|
||||||
|
|
||||||
editCmdTemplate := self.UserConfig.OS.EditCommandTemplate
|
editCmdTemplate := self.UserConfig.OS.EditCommandTemplate
|
||||||
|
if editCmdTemplate == "{{editor}} {{filename}}" {
|
||||||
|
switch editor {
|
||||||
|
case "emacs", "nano", "vi", "vim":
|
||||||
|
editCmdTemplate = "{{editor}} +{{line}} {{filename}}"
|
||||||
|
case "subl":
|
||||||
|
editCmdTemplate = "{{editor}} {{filename}}:{{line}}"
|
||||||
|
case "code":
|
||||||
|
editCmdTemplate = "{{editor}} --goto {{filename}}:{{line}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
return utils.ResolvePlaceholderString(editCmdTemplate, templateValues), nil
|
return utils.ResolvePlaceholderString(editCmdTemplate, templateValues), nil
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: nil,
|
gitConfigMockResponses: nil,
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, `nano "test"`, cmdStr)
|
assert.Equal(t, `nano +1 "test"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -61,7 +61,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: map[string]string{"core.editor": "nano"},
|
gitConfigMockResponses: map[string]string{"core.editor": "nano"},
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, `nano "test"`, cmdStr)
|
assert.Equal(t, `nano +1 "test"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -79,6 +79,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: nil,
|
gitConfigMockResponses: nil,
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, `nano +1 "test"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -96,7 +97,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: nil,
|
gitConfigMockResponses: nil,
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, `emacs "test"`, cmdStr)
|
assert.Equal(t, `emacs +1 "test"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -111,7 +112,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: nil,
|
gitConfigMockResponses: nil,
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, `vi "test"`, cmdStr)
|
assert.Equal(t, `vi +1 "test"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -126,7 +127,7 @@ func TestEditFileCmdStr(t *testing.T) {
|
|||||||
gitConfigMockResponses: nil,
|
gitConfigMockResponses: nil,
|
||||||
test: func(cmdStr string, err error) {
|
test: func(cmdStr string, err error) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, `vi "file/with space"`, cmdStr)
|
assert.Equal(t, `vi +1 "file/with space"`, cmdStr)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user