mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-05-13 08:26:56 +00:00
Get rid of os.Exit() from ExecAndHoldTillEnter
This commit is contained in:
parent
712faa7aa5
commit
ca7ab7a57c
2 changed files with 7 additions and 8 deletions
|
|
@ -107,8 +107,7 @@ func KittyToolEntryPoints(root *cli.Command) {
|
|||
Hidden: true,
|
||||
OnlyArgsAllowed: true,
|
||||
Run: func(cmd *cli.Command, args []string) (rc int, err error) {
|
||||
tui.ExecAndHoldTillEnter(args)
|
||||
return
|
||||
return tui.ExecAndHoldTillEnter(args)
|
||||
},
|
||||
})
|
||||
// __shebang__
|
||||
|
|
|
|||
|
|
@ -41,10 +41,10 @@ func HoldTillEnter(start_with_newline bool) {
|
|||
lp.Run()
|
||||
}
|
||||
|
||||
func ExecAndHoldTillEnter(cmdline []string) {
|
||||
func ExecAndHoldTillEnter(cmdline []string) (int, error) {
|
||||
if len(cmdline) == 0 {
|
||||
HoldTillEnter(false)
|
||||
os.Exit(0)
|
||||
return 0, nil
|
||||
}
|
||||
var cmd *exec.Cmd
|
||||
if len(cmdline) == 1 {
|
||||
|
|
@ -59,14 +59,14 @@ func ExecAndHoldTillEnter(cmdline []string) {
|
|||
err := cmd.Run()
|
||||
is_exit_error := err != nil && errors.As(err, &ee)
|
||||
if err != nil && !is_exit_error {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
return 1, err
|
||||
}
|
||||
HoldTillEnter(true)
|
||||
if err == nil {
|
||||
os.Exit(0)
|
||||
return 0, nil
|
||||
}
|
||||
if is_exit_error {
|
||||
os.Exit(ee.ExitCode())
|
||||
return ee.ExitCode(), nil
|
||||
}
|
||||
os.Exit(1)
|
||||
return 1, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue