diff options
author | Duco van Amstel <duco.vanamstel@gmail.com> | 2018-11-18 16:32:26 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-18 16:32:26 +0000 |
commit | d5bc7c434336ace9591447d65c043cdad1c686ff (patch) | |
tree | 5fcd41df548af27d1a1fd9b0c8643afeb91d31e2 /vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go | |
parent | 32f57b7c26bdd8701587faf5c8bb3bef133d34b1 (diff) | |
parent | 692bb8faa7c4000953b0622a77126193f8fd0383 (diff) | |
download | matterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.tar.gz matterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.tar.bz2 matterbridge-msglm-d5bc7c434336ace9591447d65c043cdad1c686ff.zip |
Merge pull request #598 from Helcaraxan/feature/update-deps
Upgrade logrus / testify to stable versions
Diffstat (limited to 'vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go')
-rw-r--r-- | vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go new file mode 100644 index 00000000..ef18d8f9 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go @@ -0,0 +1,36 @@ +// +build windows + +package sequences + +import ( + "syscall" + "unsafe" +) + +var ( + kernel32Dll *syscall.LazyDLL = syscall.NewLazyDLL("Kernel32.dll") + setConsoleMode *syscall.LazyProc = kernel32Dll.NewProc("SetConsoleMode") +) + +func EnableVirtualTerminalProcessing(stream syscall.Handle, enable bool) error { + const ENABLE_VIRTUAL_TERMINAL_PROCESSING uint32 = 0x4 + + var mode uint32 + err := syscall.GetConsoleMode(syscall.Stdout, &mode) + if err != nil { + return err + } + + if enable { + mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } else { + mode &^= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } + + ret, _, err := setConsoleMode.Call(uintptr(unsafe.Pointer(stream)), uintptr(mode)) + if ret == 0 { + return err + } + + return nil +} |