feat: ctrl+c / esc aborts action

This commit is contained in:
Maas Lalani 2022-12-13 15:46:43 -05:00
parent c8e6b4a9d5
commit 832c4fc917
2 changed files with 10 additions and 2 deletions

View file

@ -29,7 +29,9 @@ func (o Options) Run() error {
return fmt.Errorf("unable to run confirm: %w", err)
}
if m.(model).confirmation {
if m.(model).aborted {
os.Exit(130)
} else if m.(model).confirmation {
os.Exit(0)
} else {
os.Exit(1)

View file

@ -23,6 +23,7 @@ type model struct {
affirmative string
negative string
quitting bool
aborted bool
hasTimeout bool
timeout time.Duration
@ -57,7 +58,12 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return m, nil
case tea.KeyMsg:
switch msg.String() {
case "ctrl+c", "esc", "q", "n", "N":
case "ctrl+c", "esc":
m.confirmation = false
m.aborted = true
m.quitting = true
return m, tea.Quit
case "q", "n", "N":
m.confirmation = false
m.quitting = true
return m, tea.Quit