From d270e8f66b929163102998b0d0eaeeb811ca23c3 Mon Sep 17 00:00:00 2001 From: TorchedSammy <38820196+TorchedSammy@users.noreply.github.com> Date: Mon, 6 Dec 2021 15:53:51 -0400 Subject: [PATCH] fix: resize if terminal has been resized during running command and fix readline segfault --- main.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 8330175..db08fb1 100644 --- a/main.go +++ b/main.go @@ -34,6 +34,9 @@ var ( hooks bait.Bait defaultConfPath string defaultHistPath string + + resized bool + started bool ) func main() { @@ -167,6 +170,7 @@ func main() { os.Exit(0) } + started = true input: for interactive { running = false @@ -174,6 +178,11 @@ input: lr.SetPrompt(fmtPrompt()) input, err := lr.Read() + if resized { + resized = false + lr.Resize() + } + if err == io.EOF { // Exit if user presses ^D (ctrl + d) break @@ -270,8 +279,12 @@ func HandleSignals() { } case syscall.SIGWINCH: hooks.Em.Emit("signals.resize") - if !running && interactive { - lr.Resize() + if interactive { + if !running && started { + lr.Resize() + } else { + resized = true + } } } }