fix: default to nvim if available

This commit is contained in:
raj 2023-10-22 15:59:12 +05:30
parent 221b199a1d
commit 1a50535f45
2 changed files with 18 additions and 3 deletions

View File

@ -46,7 +46,7 @@ var ListProjects = &cobra.Command{
// print a vim command to open the config file // print a vim command to open the config file
editorCommand, err := projectconfig.GetEditorCommand(selectedRow[0]) editorCommand, err := projectconfig.GetEditorCommand(selectedRow[0])
if err != nil { if err != nil {
editorCommand = "vim" editorCommand = ""
} }
utils.EditFile(projectconfig.ProjectConfigFilePath(selectedRow[0]), editorCommand) utils.EditFile(projectconfig.ProjectConfigFilePath(selectedRow[0]), editorCommand)
log.Debug("Opened config file", "file", projectconfig.ProjectConfigFilePath(selectedRow[0])) log.Debug("Opened config file", "file", projectconfig.ProjectConfigFilePath(selectedRow[0]))
@ -150,7 +150,12 @@ var InitCmd = &cobra.Command{
if err != nil { if err != nil {
logger.Error(err) logger.Error(err)
} else { } else {
fmt.Println("Created Project, set up your config by editing:", ppath) editorCommand, err := projectconfig.GetEditorCommand(projectName)
if err != nil {
editorCommand = ""
}
utils.EditFile(ppath, editorCommand)
fmt.Println("Created Project, config is at:", ppath)
} }
}, },
} }

View File

@ -5,9 +5,19 @@ import (
"os/exec" "os/exec"
) )
func checkNvimExists() bool {
cmd := exec.Command("nvim", "--version")
err := cmd.Run()
return err == nil
}
func EditFile(filePath string, editorCommand string) error { func EditFile(filePath string, editorCommand string) error {
if editorCommand == "" { if editorCommand == "" {
editorCommand = "vim" if checkNvimExists() {
editorCommand = "nvim"
} else {
editorCommand = "vim"
}
} }
cmd := exec.Command(editorCommand, filePath) cmd := exec.Command(editorCommand, filePath)