From af4c3885aef554b9b8e7947c5c18e2d39ad583ee Mon Sep 17 00:00:00 2001 From: TorchedSammy <38820196+TorchedSammy@users.noreply.github.com> Date: Mon, 22 Nov 2021 15:13:05 -0500 Subject: [PATCH] feat: add signal hooks for sigint and sigwinch (#80) --- lua.go | 7 +++++++ main.go | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lua.go b/lua.go index 90f89ee..9708338 100644 --- a/lua.go +++ b/lua.go @@ -59,6 +59,13 @@ func LuaInit() { hooks = bait.New() l.PreloadModule("bait", hooks.Loader) + // Add Ctrl-C handler + hooks.Em.On("signal.sigint", func() { + if !interactive { + os.Exit(0) + } + }) + l.SetGlobal("complete", l.NewFunction(hshcomplete)) // Add more paths that Lua can require from diff --git a/main.go b/main.go index 9e21d2b..f0909c2 100644 --- a/main.go +++ b/main.go @@ -265,13 +265,12 @@ func HandleSignals() { for s := range c { switch s { case os.Interrupt: + hooks.Em.Emit("signals.sigint") if !running { - if !interactive { - os.Exit(0) - } lr.ClearInput() } case syscall.SIGWINCH: + hooks.Em.Emit("signals.resize") if !running { lr.Resize() }