use $EDITOR, default to vim, use $HOME/.vimrc if exists

This commit is contained in:
Bel LaPointe
2021-12-31 22:44:33 -05:00
parent 967a02c90a
commit 3c9b34202b
2 changed files with 21 additions and 7 deletions

View File

@@ -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(),