glow/ui/editor.go
2025-01-13 17:49:52 +03:00

19 lines
438 B
Go

package ui
import (
tea "github.com/charmbracelet/bubbletea/v2"
"github.com/charmbracelet/x/editor"
)
type editorFinishedMsg struct{ err error }
func openEditor(path string, lineno int) tea.Cmd {
cb := func(err error) tea.Msg {
return editorFinishedMsg{err}
}
cmd, err := editor.Cmd("Glow", path, editor.OpenAtLine(uint(lineno)))
if err != nil {
return func() tea.Msg { return cb(err) }
}
return tea.ExecProcess(cmd, cb)
}