use $EDITOR, default to vim, use $HOME/.vimrc if exists
This commit is contained in:
@@ -61,13 +61,25 @@ func edit(dry bool, filepath string) error {
|
||||
return nil
|
||||
}
|
||||
vi := func() error {
|
||||
vibin, err := exec.LookPath("vi")
|
||||
bin := "vim"
|
||||
if editor := os.Getenv("EDITOR"); editor != "" {
|
||||
bin = editor
|
||||
}
|
||||
editorbin, err := exec.LookPath(bin)
|
||||
if err != nil {
|
||||
editorbin, err = exec.LookPath("vi")
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
args := []string{editorbin, tempFile}
|
||||
vimrc := path.Join(os.Getenv("HOME"), ".vimrc")
|
||||
if _, err := os.Stat(vimrc); err == nil {
|
||||
args = append(args, "-u", vimrc)
|
||||
}
|
||||
cpid, err := syscall.ForkExec(
|
||||
vibin,
|
||||
[]string{vibin, tempFile},
|
||||
editorbin,
|
||||
args,
|
||||
&syscall.ProcAttr{
|
||||
Dir: "",
|
||||
Env: os.Environ(),
|
||||
|
||||
Reference in New Issue
Block a user