glow/ui/editor.go
Carlos Alexandro Becker 597e56bad4
feat: open editor in current line
closes #547
2024-07-09 16:38:32 -03:00

19 lines
435 B
Go

package ui
import (
tea "github.com/charmbracelet/bubbletea"
"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)
}