From 22b661d1b1b44e5e474c2d2339bfe3572aab3214 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Mon, 10 Nov 2014 07:06:33 -0600 Subject: [PATCH] fix readline support: window resizing --- goreadline/goreadline.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/goreadline/goreadline.go b/goreadline/goreadline.go index e70650a8..f5c7eebc 100644 --- a/goreadline/goreadline.go +++ b/goreadline/goreadline.go @@ -10,7 +10,32 @@ package goreadline #cgo LDFLAGS: -lreadline */ import "C" -import "unsafe" +import ( + "os" + "os/signal" + "syscall" + "unsafe" +) + +func init() { + C.rl_catch_sigwinch = 0 + c := make(chan os.Signal, 1) + signal.Notify(c, syscall.SIGWINCH) + go func() { + for sig := range c { + switch sig { + case syscall.SIGWINCH: + Resize() + default: + + } + } + }() +} + +func Resize() { + C.rl_resize_terminal() +} func ReadLine(prompt *string) *string { var cPrompt *C.char -- GitLab