From bdb510b1c3b69d0b5be915efac87306fc82cd246 Mon Sep 17 00:00:00 2001 From: Alexander Korostelin <4d.41.49.4c@gmail.com> Date: Fri, 23 Jan 2026 10:56:43 +0500 Subject: [PATCH] add Windows terminal ANSI initialization (issue #4) --- init_windows.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 init_windows.go diff --git a/init_windows.go b/init_windows.go new file mode 100644 index 0000000..d2608ac --- /dev/null +++ b/init_windows.go @@ -0,0 +1,24 @@ +//go:build windows + +package clime + +import ( + "os" + + "golang.org/x/sys/windows" +) + +func init() { + // enable ANSI control sequences for Windows terminal + h := windows.Handle(os.Stdout.Fd()) + var originalMode uint32 + err := windows.GetConsoleMode(h, &originalMode) + if err != nil { + return + } + err = windows.SetConsoleMode(h, + originalMode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING) + if err != nil { + return + } +}