default to nano and warn if $EDITOR not set

trunk
nbsp 2025-01-09 05:04:00 +02:00
parent 491adc5290
commit 251c250a8d
No known key found for this signature in database
GPG Key ID: 7184AC1C9835CE48
4 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1 @@
patch type="fixed" "default to nano and warn if no $EDITOR set"

View File

@ -1,6 +1,8 @@
package app
import (
"bufio"
"fmt"
"os"
"os/exec"
@ -61,6 +63,17 @@ func (graffiti *Graffiti) Event(state *ui.State, event vaxis.Event) (processed b
}
func editGraffiti(state *ui.State) {
// if $EDITOR isn't set, warn about it, and use nano
editor := os.ExpandEnv(os.Getenv("EDITOR"))
if editor == "" {
editor = "nano"
state.Suspend()
fmt.Print("$EDITOR not found, using nano. press ↵ to continue")
input := bufio.NewScanner(os.Stdin)
input.Scan()
state.Resume()
}
state.HideCursor()
vt := term.New()
vt.TERM = os.Getenv("TERM")

View File

@ -1,6 +1,8 @@
package app
import (
"bufio"
"fmt"
"os"
"os/exec"
"path"
@ -129,13 +131,24 @@ func showManpage(state *ui.State) {
}
func newFeels(state *ui.State) {
// if $EDITOR isn't set, warn about it, and use nano
editor := os.ExpandEnv(os.Getenv("EDITOR"))
if editor == "" {
editor = "nano"
state.Suspend()
fmt.Print("$EDITOR not found, using nano. press ↵ to continue")
input := bufio.NewScanner(os.Stdin)
input.Scan()
state.Resume()
}
state.HideCursor()
vt := term.New()
vt.TERM = os.Getenv("TERM")
vt.Attach(state.PostEvent())
vt.Focus()
now := time.Now()
err := vt.Start(exec.Command(os.ExpandEnv(os.Getenv("EDITOR")), path.Join(ttbp.PathUserEntries, now.Format("20060102")+".txt")))
err := vt.Start(exec.Command(editor, path.Join(ttbp.PathUserEntries, now.Format("20060102")+".txt")))
if err != nil {
panic(err)
}

View File

@ -83,3 +83,11 @@ func (state *State) HideCursor() {
func (state *State) Window() vaxis.Window {
return state.vx.Window()
}
func (state *State) Suspend() {
state.vx.Suspend()
}
func (state *State) Resume() {
state.vx.Resume()
}