8 tea "charm.land/bubbletea/v2"
12// ExecShell parses a shell command string and executes it with exec.Command.
13// Uses shell.Fields for proper handling of shell syntax like quotes and
14// arguments while preserving TTY handling for terminal editors.
15func ExecShell(ctx context.Context, cmdStr string, callback tea.ExecCallback) tea.Cmd {
16 fields, err := shell.Fields(cmdStr, nil)
18 return ReportError(err)
21 return ReportError(errors.New("empty command"))
24 cmd := exec.CommandContext(ctx, fields[0], fields[1:]...)
25 return tea.ExecProcess(cmd, callback)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list