From 82022615ddc25ec5bc0631894e32d8dda380eac2 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sat, 5 Jun 2021 22:17:49 +1000 Subject: bump tcell --- vendor/github.com/gdamore/tcell/v2/README.adoc | 5 +- vendor/github.com/gdamore/tcell/v2/color.go | 18 +- vendor/github.com/gdamore/tcell/v2/console_win.go | 45 +- vendor/github.com/gdamore/tcell/v2/nonblock_bsd.go | 29 +- .../github.com/gdamore/tcell/v2/nonblock_stub.go | 21 - .../github.com/gdamore/tcell/v2/nonblock_unix.go | 33 +- vendor/github.com/gdamore/tcell/v2/screen.go | 13 +- vendor/github.com/gdamore/tcell/v2/simulation.go | 4 + .../gdamore/tcell/v2/terminfo/a/aixterm/term.go | 1 + .../gdamore/tcell/v2/terminfo/a/alacritty/term.go | 113 +- .../gdamore/tcell/v2/terminfo/a/ansi/term.go | 1 + .../gdamore/tcell/v2/terminfo/b/beterm/term.go | 2 + .../gdamore/tcell/v2/terminfo/c/cygwin/term.go | 2 + .../gdamore/tcell/v2/terminfo/d/dtterm/term.go | 1 + .../gdamore/tcell/v2/terminfo/e/emacs/term.go | 2 + .../gdamore/tcell/v2/terminfo/g/gnome/term.go | 2 + .../gdamore/tcell/v2/terminfo/h/hpterm/term.go | 1 + .../gdamore/tcell/v2/terminfo/k/konsole/term.go | 226 +- .../gdamore/tcell/v2/terminfo/k/kterm/term.go | 1 + .../gdamore/tcell/v2/terminfo/l/linux/term.go | 2 + .../gdamore/tcell/v2/terminfo/models.txt | 1 - .../gdamore/tcell/v2/terminfo/p/pcansi/term.go | 1 + .../gdamore/tcell/v2/terminfo/r/rxvt/term.go | 10 + .../gdamore/tcell/v2/terminfo/s/screen/term.go | 2 + .../gdamore/tcell/v2/terminfo/s/simpleterm/term.go | 238 +- .../gdamore/tcell/v2/terminfo/s/sun/term.go | 31 +- .../gdamore/tcell/v2/terminfo/t/termite/term.go | 2 + .../gdamore/tcell/v2/terminfo/t/tmux/term.go | 63 +- .../gdamore/tcell/v2/terminfo/terminfo.go | 29 +- .../gdamore/tcell/v2/terminfo/v/vt100/term.go | 1 + .../gdamore/tcell/v2/terminfo/v/vt102/term.go | 1 + .../gdamore/tcell/v2/terminfo/v/vt220/term.go | 1 + .../gdamore/tcell/v2/terminfo/v/vt320/term.go | 1 + .../gdamore/tcell/v2/terminfo/v/vt400/term.go | 2 + .../gdamore/tcell/v2/terminfo/v/vt420/term.go | 1 + .../gdamore/tcell/v2/terminfo/w/wy50/term.go | 1 + .../gdamore/tcell/v2/terminfo/w/wy60/term.go | 1 + .../gdamore/tcell/v2/terminfo/w/wy99_ansi/term.go | 2 + .../gdamore/tcell/v2/terminfo/x/xfce/term.go | 1 + .../gdamore/tcell/v2/terminfo/x/xterm/direct.go | 92 + .../gdamore/tcell/v2/terminfo/x/xterm/term.go | 341 +-- .../tcell/v2/terminfo/x/xterm_kitty/term.go | 113 +- vendor/github.com/gdamore/tcell/v2/tscreen.go | 145 +- vendor/github.com/gdamore/tcell/v2/tscreen_stub.go | 18 - vendor/github.com/gdamore/tcell/v2/tscreen_unix.go | 108 +- vendor/github.com/gdamore/tcell/v2/tty.go | 56 + vendor/github.com/gdamore/tcell/v2/tty_unix.go | 173 ++ vendor/github.com/mattn/go-runewidth/go.mod | 2 +- vendor/github.com/mattn/go-runewidth/go.sum | 4 +- vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s | 1 + vendor/golang.org/x/sys/cpu/cpu.go | 5 +- vendor/golang.org/x/sys/cpu/cpu_aix.go | 1 + vendor/golang.org/x/sys/cpu/cpu_arm64.s | 1 + vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 4 + vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go | 6 + vendor/golang.org/x/sys/cpu/cpu_s390x.s | 1 + vendor/golang.org/x/sys/cpu/cpu_x86.go | 10 +- vendor/golang.org/x/sys/cpu/cpu_x86.s | 25 + vendor/golang.org/x/sys/unix/README.md | 6 +- vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 1 + vendor/golang.org/x/sys/unix/asm_bsd_386.s | 4 +- vendor/golang.org/x/sys/unix/asm_bsd_arm.s | 4 +- vendor/golang.org/x/sys/unix/asm_linux_386.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_amd64.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_arm64.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_mips64x.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_mipsx.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s | 1 + vendor/golang.org/x/sys/unix/asm_linux_riscv64.s | 4 +- vendor/golang.org/x/sys/unix/asm_linux_s390x.s | 3 +- vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s | 1 + vendor/golang.org/x/sys/unix/asm_solaris_amd64.s | 1 + vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go | 4 +- vendor/golang.org/x/sys/unix/fdset.go | 4 +- vendor/golang.org/x/sys/unix/ioctl_linux.go | 196 ++ vendor/golang.org/x/sys/unix/mkall.sh | 12 - vendor/golang.org/x/sys/unix/mkerrors.sh | 8 + .../golang.org/x/sys/unix/syscall_darwin.1_13.go | 4 +- vendor/golang.org/x/sys/unix/syscall_darwin.go | 11 + vendor/golang.org/x/sys/unix/syscall_darwin_386.go | 51 - vendor/golang.org/x/sys/unix/syscall_darwin_arm.go | 51 - .../x/sys/unix/syscall_darwin_libSystem.go | 9 +- vendor/golang.org/x/sys/unix/syscall_illumos.go | 51 +- vendor/golang.org/x/sys/unix/syscall_linux.go | 264 +-- vendor/golang.org/x/sys/unix/syscall_linux_386.go | 4 + .../golang.org/x/sys/unix/syscall_linux_amd64.go | 4 + vendor/golang.org/x/sys/unix/syscall_linux_arm.go | 4 + .../golang.org/x/sys/unix/syscall_linux_arm64.go | 4 + .../golang.org/x/sys/unix/syscall_linux_mips64x.go | 4 + .../golang.org/x/sys/unix/syscall_linux_mipsx.go | 4 + vendor/golang.org/x/sys/unix/syscall_linux_ppc.go | 276 +++ .../golang.org/x/sys/unix/syscall_linux_ppc64x.go | 4 + .../golang.org/x/sys/unix/syscall_linux_riscv64.go | 4 + .../golang.org/x/sys/unix/syscall_linux_s390x.go | 4 + .../golang.org/x/sys/unix/syscall_linux_sparc64.go | 4 + vendor/golang.org/x/sys/unix/syscall_zos_s390x.go | 52 +- vendor/golang.org/x/sys/unix/zerrors_darwin_386.go | 1789 -------------- vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go | 1789 -------------- vendor/golang.org/x/sys/unix/zerrors_linux.go | 113 +- vendor/golang.org/x/sys/unix/zerrors_linux_386.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_amd64.go | 19 + vendor/golang.org/x/sys/unix/zerrors_linux_arm.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_arm64.go | 19 + vendor/golang.org/x/sys/unix/zerrors_linux_mips.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_mips64.go | 19 + .../x/sys/unix/zerrors_linux_mips64le.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_mipsle.go | 19 + vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go | 879 +++++++ .../golang.org/x/sys/unix/zerrors_linux_ppc64.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_ppc64le.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_riscv64.go | 19 + .../golang.org/x/sys/unix/zerrors_linux_s390x.go | 21 + .../golang.org/x/sys/unix/zerrors_linux_sparc64.go | 19 + vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go | 28 + .../x/sys/unix/zsyscall_darwin_386.1_13.go | 40 - .../x/sys/unix/zsyscall_darwin_386.1_13.s | 12 - .../golang.org/x/sys/unix/zsyscall_darwin_386.go | 2431 -------------------- vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s | 290 --- .../x/sys/unix/zsyscall_darwin_amd64.1_13.go | 8 +- .../x/sys/unix/zsyscall_darwin_amd64.1_13.s | 19 +- .../golang.org/x/sys/unix/zsyscall_darwin_amd64.go | 572 ++--- .../golang.org/x/sys/unix/zsyscall_darwin_amd64.s | 853 +++++-- .../x/sys/unix/zsyscall_darwin_arm.1_13.go | 40 - .../x/sys/unix/zsyscall_darwin_arm.1_13.s | 12 - .../golang.org/x/sys/unix/zsyscall_darwin_arm.go | 2417 ------------------- vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s | 288 --- .../x/sys/unix/zsyscall_darwin_arm64.1_13.go | 8 +- .../x/sys/unix/zsyscall_darwin_arm64.1_13.s | 19 +- .../golang.org/x/sys/unix/zsyscall_darwin_arm64.go | 572 ++--- .../golang.org/x/sys/unix/zsyscall_darwin_arm64.s | 853 +++++-- vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go | 762 ++++++ vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go | 42 +- vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go | 438 ---- vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go | 438 ---- vendor/golang.org/x/sys/unix/zsysnum_linux_386.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_amd64.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_arm64.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_mips64.go | 1 + .../x/sys/unix/zsysnum_linux_mips64le.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_mipsle.go | 1 + vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go | 434 ++++ .../golang.org/x/sys/unix/zsysnum_linux_ppc64.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_ppc64le.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_riscv64.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_s390x.go | 1 + .../golang.org/x/sys/unix/zsysnum_linux_sparc64.go | 1 + vendor/golang.org/x/sys/unix/ztypes_darwin_386.go | 517 ----- .../golang.org/x/sys/unix/ztypes_darwin_amd64.go | 7 + vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go | 517 ----- .../golang.org/x/sys/unix/ztypes_darwin_arm64.go | 7 + .../golang.org/x/sys/unix/ztypes_illumos_amd64.go | 4 +- vendor/golang.org/x/sys/unix/ztypes_linux.go | 178 +- vendor/golang.org/x/sys/unix/ztypes_linux_386.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_arm.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_mips.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_mips64.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_mips64le.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_mipsle.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go | 639 +++++ vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_ppc64le.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_riscv64.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go | 18 +- .../golang.org/x/sys/unix/ztypes_linux_sparc64.go | 18 +- vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go | 4 + vendor/golang.org/x/sys/windows/empty.s | 1 + vendor/golang.org/x/sys/windows/exec_windows.go | 81 +- vendor/golang.org/x/sys/windows/syscall_windows.go | 1 + vendor/golang.org/x/sys/windows/types_windows.go | 17 +- .../golang.org/x/sys/windows/zsyscall_windows.go | 13 + vendor/golang.org/x/term/go.mod | 2 +- vendor/golang.org/x/term/term_unix_aix.go | 10 - vendor/golang.org/x/term/term_unix_linux.go | 10 - vendor/golang.org/x/term/term_unix_other.go | 13 + vendor/golang.org/x/term/term_unix_solaris.go | 10 - vendor/golang.org/x/term/term_unix_zos.go | 10 - vendor/modules.txt | 8 +- 182 files changed, 7621 insertions(+), 13151 deletions(-) delete mode 100644 vendor/github.com/gdamore/tcell/v2/nonblock_stub.go create mode 100644 vendor/github.com/gdamore/tcell/v2/terminfo/x/xterm/direct.go create mode 100644 vendor/github.com/gdamore/tcell/v2/tty.go create mode 100644 vendor/github.com/gdamore/tcell/v2/tty_unix.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl_linux.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go delete mode 100644 vendor/golang.org/x/term/term_unix_aix.go delete mode 100644 vendor/golang.org/x/term/term_unix_linux.go create mode 100644 vendor/golang.org/x/term/term_unix_other.go delete mode 100644 vendor/golang.org/x/term/term_unix_solaris.go delete mode 100644 vendor/golang.org/x/term/term_unix_zos.go (limited to 'vendor') diff --git a/vendor/github.com/gdamore/tcell/v2/README.adoc b/vendor/github.com/gdamore/tcell/v2/README.adoc index 15f390ff3..93af9fdcb 100644 --- a/vendor/github.com/gdamore/tcell/v2/README.adoc +++ b/vendor/github.com/gdamore/tcell/v2/README.adoc @@ -5,7 +5,7 @@ image:https://img.shields.io/travis/gdamore/tcell.svg?label=linux[Linux Status,l image:https://img.shields.io/appveyor/ci/gdamore/tcell.svg?label=windows[Windows Status,link="https://ci.appveyor.com/project/gdamore/tcell"] image:https://img.shields.io/badge/license-APACHE2-blue.svg[Apache License,link="https://github.com/gdamore/tcell/blob/master/LICENSE"] image:https://img.shields.io/badge/godoc-reference-blue.svg[GoDoc,link="https://godoc.org/github.com/gdamore/tcell"] -image:http://goreportcard.com/badge/gdamore/tcell[Go Report Card,link="http://goreportcard.com/report/gdamore/tcell"] +image:https://goreportcard.com/badge/gdamore/tcell[Go Report Card,link="http://goreportcard.com/report/gdamore/tcell"] image:https://img.shields.io/discord/639503822733180969?label=discord[Discord,link="https://discord.gg/urTTxDN"] image:https://codecov.io/gh/gdamore/tcell/branch/master/graph/badge.svg[codecov,link="https://codecov.io/gh/gdamore/tcell"] @@ -51,6 +51,9 @@ Version 1.x remains available using the import `github.com/gdamore/tcell`. * https://github.com/jbaramidze/gonano[gonano] - CLI test editor * https://github.com/tmountain/uchess[uchess] - A UCI chess client for your terminal * https://github.com/a-h/min[min] - A Gemini browser +* https://github.com/noborus/ov[ov] - Terminal pager +* https://github.com/gcla/tmux-wormhole[tmux-wormhole] - A tmux plugin to transfer files with magic wormhole +* https://github.com/anaseto/gruid-tcell[gruid-tcell] - A tcell driver for the grid based UI and game framework gruid. == Pure Go Terminfo Database diff --git a/vendor/github.com/gdamore/tcell/v2/color.go b/vendor/github.com/gdamore/tcell/v2/color.go index 8a13a073a..8e50fa302 100644 --- a/vendor/github.com/gdamore/tcell/v2/color.go +++ b/vendor/github.com/gdamore/tcell/v2/color.go @@ -14,7 +14,10 @@ package tcell -import "strconv" +import ( + ic "image/color" + "strconv" +) // Color represents a color. The low numeric values are the same as used // by ECMA-48, and beyond that XTerm. A 24-bit RGB value may be used by @@ -35,7 +38,7 @@ const ( // system or terminal default may exist. It's also the zero value. ColorDefault Color = 0 - // ColorIsValid is used to indicate the color value is actually + // ColorValid is used to indicate the color value is actually // valid (initialized). This is useful to permit the zero value // to be treated as the default. ColorValid Color = 1 << 32 @@ -1066,4 +1069,13 @@ func GetColor(name string) Color { // PaletteColor creates a color based on the palette index. func PaletteColor(index int) Color { return Color(index) | ColorValid -} \ No newline at end of file +} + +// FromImageColor converts an image/color.Color into tcell.Color. +// The alpha value is dropped, so it should be tracked separately if it is +// needed. +func FromImageColor(imageColor ic.Color) Color { + r, g, b, _ := imageColor.RGBA() + // NOTE image/color.Color RGB values range is [0, 0xFFFF] as uint32 + return NewRGBColor(int32(r>>8), int32(g>>8), int32(b>>8)) +} diff --git a/vendor/github.com/gdamore/tcell/v2/console_win.go b/vendor/github.com/gdamore/tcell/v2/console_win.go index ce2185313..7c5716039 100644 --- a/vendor/github.com/gdamore/tcell/v2/console_win.go +++ b/vendor/github.com/gdamore/tcell/v2/console_win.go @@ -41,6 +41,7 @@ type cScreen struct { fini bool vten bool truecolor bool + running bool w int h int @@ -265,42 +266,14 @@ func (s *cScreen) Fini() { s.disengage() } -func (s *cScreen) finish() { - s.Lock() - s.style = StyleDefault - s.curx = -1 - s.cury = -1 - s.fini = true - s.vten = false - s.Unlock() - - s.setCursorInfo(&s.ocursor) - s.setInMode(s.oimode) - s.setOutMode(s.oomode) - s.setBufferSize(int(s.oscreen.size.x), int(s.oscreen.size.y)) - s.clearScreen(StyleDefault, false) - s.setCursorPos(0, 0, false) - procSetConsoleTextAttribute.Call( - uintptr(s.out), - uintptr(s.mapStyle(StyleDefault))) - - close(s.quit) - procSetEvent.Call(uintptr(s.cancelflag)) - // Block until scanInput returns; this prevents a race condition on Win 8+ - // which causes syscall.Close to block until another keypress is read. - <-s.scandone - syscall.Close(s.in) - syscall.Close(s.out) -} - func (s *cScreen) disengage() { s.Lock() - stopQ := s.stopQ - if stopQ == nil { + if !s.running { s.Unlock() return } - s.stopQ = nil + s.running = false + stopQ := s.stopQ procSetEvent.Call(uintptr(s.cancelflag)) close(stopQ) s.Unlock() @@ -312,6 +285,7 @@ func (s *cScreen) disengage() { s.setBufferSize(int(s.oscreen.size.x), int(s.oscreen.size.y)) s.clearScreen(StyleDefault, false) s.setCursorPos(0, 0, false) + s.setCursorInfo(&s.ocursor) procSetConsoleTextAttribute.Call( uintptr(s.out), uintptr(s.mapStyle(StyleDefault))) @@ -320,7 +294,7 @@ func (s *cScreen) disengage() { func (s *cScreen) engage() error { s.Lock() defer s.Unlock() - if s.stopQ != nil { + if s.running { return errors.New("already engaged") } s.stopQ = make(chan struct{}) @@ -332,6 +306,7 @@ func (s *cScreen) engage() error { if cf == uintptr(0) { return e } + s.running = true s.cancelflag = syscall.Handle(cf) s.enableMouse(s.mouseEnabled) @@ -370,13 +345,17 @@ func (s *cScreen) PostEvent(ev Event) error { func (s *cScreen) PollEvent() Event { select { - case <-s.quit: + case <-s.stopQ: return nil case ev := <-s.evch: return ev } } +func (s *cScreen) HasPendingEvent() bool { + return len(s.evch) > 0 +} + type cursorInfo struct { size uint32 visible uint32 diff --git a/vendor/github.com/gdamore/tcell/v2/nonblock_bsd.go b/vendor/github.com/gdamore/tcell/v2/nonblock_bsd.go index df8fc0547..ffe5caf85 100644 --- a/vendor/github.com/gdamore/tcell/v2/nonblock_bsd.go +++ b/vendor/github.com/gdamore/tcell/v2/nonblock_bsd.go @@ -17,7 +17,6 @@ package tcell import ( - "os" "syscall" "golang.org/x/sys/unix" @@ -25,26 +24,18 @@ import ( // BSD systems use TIOC style ioctls. -// nonBlocking changes VMIN to 0, and VTIME to 1. This basically ensures that -// we can wake up the input loop. We only want to do this if we are going to interrupt -// that loop. Normally we use VMIN 1 and VTIME 0, which ensures we pick up bytes when -// they come but don't spin burning cycles. -func (t *tScreen) nonBlocking(on bool) { - fd := int(os.Stdin.Fd()) +// tcSetBufParams is used by the tty driver on UNIX systems to configure the +// buffering parameters (minimum character count and minimum wait time in msec.) +func tcSetBufParams(fd int, vMin uint8, vTime uint8) error { + _ = syscall.SetNonblock(fd, true) tio, err := unix.IoctlGetTermios(fd, unix.TIOCGETA) if err != nil { - return + return err } - if on { - tio.Cc[unix.VMIN] = 0 - tio.Cc[unix.VTIME] = 0 - } else { - // block for any output - tio.Cc[unix.VTIME] = 0 - tio.Cc[unix.VMIN] = 1 + tio.Cc[unix.VMIN] = vMin + tio.Cc[unix.VTIME] = vTime + if err = unix.IoctlSetTermios(fd, unix.TIOCSETA, tio); err != nil { + return err } - - _ = syscall.SetNonblock(fd, on) - // We want to set this *right now*. - _ = unix.IoctlSetTermios(fd, unix.TIOCSETA, tio) + return nil } diff --git a/vendor/github.com/gdamore/tcell/v2/nonblock_stub.go b/vendor/github.com/gdamore/tcell/v2/nonblock_stub.go deleted file mode 100644 index 35758c33e..000000000 --- a/vendor/github.com/gdamore/tcell/v2/nonblock_stub.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2021 The TCell Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use file except in compliance with the License. -// You may obtain a copy of the license at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build plan9 windows js - -package tcell - -func (t *tScreen) nonBlocking(on bool) error { - return nil -} \ No newline at end of file diff --git a/vendor/github.com/gdamore/tcell/v2/nonblock_unix.go b/vendor/github.com/gdamore/tcell/v2/nonblock_unix.go index c4c374cc9..768128d7a 100644 --- a/vendor/github.com/gdamore/tcell/v2/nonblock_unix.go +++ b/vendor/github.com/gdamore/tcell/v2/nonblock_unix.go @@ -17,36 +17,23 @@ package tcell import ( - "os" "syscall" "golang.org/x/sys/unix" ) -// NB: We might someday wish to move Windows to this model. However, -// that would probably mean sacrificing some of the richer key reporting -// that we can obtain with the console API present on Windows. - -// nonBlocking changes VMIN to 0, and VTIME to 1. This basically ensures that -// we can wake up the input loop. We only want to do this if we are going to interrupt -// that loop. Normally we use VMIN 1 and VTIME 0, which ensures we pick up bytes when -// they come but don't spin burning cycles. -func (t *tScreen) nonBlocking(on bool) { - fd := int(os.Stdin.Fd()) +// tcSetBufParams is used by the tty driver on UNIX systems to configure the +// buffering parameters (minimum character count and minimum wait time in msec.) +func tcSetBufParams(fd int, vMin uint8, vTime uint8) error { + _ = syscall.SetNonblock(fd, true) tio, err := unix.IoctlGetTermios(fd, unix.TCGETS) if err != nil { - return + return err } - if on { - tio.Cc[unix.VMIN] = 0 - tio.Cc[unix.VTIME] = 0 - } else { - // block for any output - tio.Cc[unix.VTIME] = 0 - tio.Cc[unix.VMIN] = 1 + tio.Cc[unix.VMIN] = vMin + tio.Cc[unix.VTIME] = vTime + if err = unix.IoctlSetTermios(fd, unix.TCSETS, tio); err != nil { + return err } - - _ = syscall.SetNonblock(fd, on) - // We want to set this *right now*. - _ = unix.IoctlSetTermios(fd, unix.TCSETS, tio) + return nil } diff --git a/vendor/github.com/gdamore/tcell/v2/screen.go b/vendor/github.com/gdamore/tcell/v2/screen.go index 37d7894dc..2d9a9ad98 100644 --- a/vendor/github.com/gdamore/tcell/v2/screen.go +++ b/vendor/github.com/gdamore/tcell/v2/screen.go @@ -83,6 +83,13 @@ type Screen interface { // Furthermore, this will return nil if the Screen is finalized. PollEvent() Event + // HasPendingEvent returns true if PollEvent would return an event + // without blocking. If the screen is stopped and PollEvent would + // return nil, then the return value from this function is unspecified. + // The purpose of this function is to allow multiple events to be collected + // at once, to minimize screen redraws. + HasPendingEvent() bool + // PostEvent tries to post an event into the event stream. This // can fail if the event queue is full. In that case, the event // is dropped, and ErrEventQFull is returned. @@ -112,7 +119,7 @@ type Screen interface { // EnablePaste enables bracketed paste mode, if supported. EnablePaste() - // DisablePaste() disables bracketed paste mode. + // DisablePaste disables bracketed paste mode. DisablePaste() // HasMouse returns true if the terminal (apparently) supports a @@ -151,7 +158,7 @@ type Screen interface { CharacterSet() string // RegisterRuneFallback adds a fallback for runes that are not - // part of the character set -- for example one coudld register + // part of the character set -- for example one could register // o as a fallback for ΓΈ. This should be done cautiously for // characters that might be displayed ordinarily in language // specific text -- characters that could change the meaning of @@ -162,7 +169,7 @@ type Screen interface { // character set, those are used in preference. Also, standard // fallbacks for graphical characters in the ACSC terminfo string // are registered implicitly. - + // // The display string should be the same width as original rune. // This makes it possible to register two character replacements // for full width East Asian characters, for example. diff --git a/vendor/github.com/gdamore/tcell/v2/simulation.go b/vendor/github.com/gdamore/tcell/v2/simulation.go index 7cb720cb5..468aeebf7 100644 --- a/vendor/github.com/gdamore/tcell/v2/simulation.go +++ b/vendor/github.com/gdamore/tcell/v2/simulation.go @@ -360,6 +360,10 @@ func (s *simscreen) PollEvent() Event { } } +func (s *simscreen) HasPendingEvent() bool { + return len(s.evch) > 0 +} + func (s *simscreen) PostEventWait(ev Event) { s.evch <- ev } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/a/aixterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/a/aixterm/term.go index 566df7bff..503c9199e 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/a/aixterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/a/aixterm/term.go @@ -78,5 +78,6 @@ func init() { KeyF36: "\x1b[036q", KeyClear: "\x1b[144q", KeyBacktab: "\x1b[Z", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/a/alacritty/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/a/alacritty/term.go index e312fc48e..5b9799846 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/a/alacritty/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/a/alacritty/term.go @@ -8,61 +8,62 @@ func init() { // alacritty terminal emulator terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "alacritty", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h\x1b[22;0;0t", - ExitCA: "\x1b[?1049l\x1b[23;0;0t", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b(B\x1b[m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - ResetFgBg: "\x1b[39;49m", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - StrikeThrough:"\x1b[9m", - Mouse: "\x1b[<", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, + Name: "alacritty", + Columns: 80, + Lines: 24, + Colors: 256, + Bell: "\a", + Clear: "\x1b[H\x1b[2J", + EnterCA: "\x1b[?1049h\x1b[22;0;0t", + ExitCA: "\x1b[?1049l\x1b[23;0;0t", + ShowCursor: "\x1b[?12l\x1b[?25h", + HideCursor: "\x1b[?25l", + AttrOff: "\x1b(B\x1b[m", + Underline: "\x1b[4m", + Bold: "\x1b[1m", + Dim: "\x1b[2m", + Italic: "\x1b[3m", + Blink: "\x1b[5m", + Reverse: "\x1b[7m", + EnterKeypad: "\x1b[?1h\x1b=", + ExitKeypad: "\x1b[?1l\x1b>", + SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", + SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", + SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", + ResetFgBg: "\x1b[39;49m", + AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x1b(0", + ExitAcs: "\x1b(B", + StrikeThrough: "\x1b[9m", + Mouse: "\x1b[<", + SetCursor: "\x1b[%i%p1%d;%p2%dH", + CursorBack1: "\b", + CursorUp1: "\x1b[A", + KeyUp: "\x1bOA", + KeyDown: "\x1bOB", + KeyRight: "\x1bOC", + KeyLeft: "\x1bOD", + KeyInsert: "\x1b[2~", + KeyDelete: "\x1b[3~", + KeyBackspace: "\u007f", + KeyHome: "\x1bOH", + KeyEnd: "\x1bOF", + KeyPgUp: "\x1b[5~", + KeyPgDn: "\x1b[6~", + KeyF1: "\x1bOP", + KeyF2: "\x1bOQ", + KeyF3: "\x1bOR", + KeyF4: "\x1bOS", + KeyF5: "\x1b[15~", + KeyF6: "\x1b[17~", + KeyF7: "\x1b[18~", + KeyF8: "\x1b[19~", + KeyF9: "\x1b[20~", + KeyF10: "\x1b[21~", + KeyF11: "\x1b[23~", + KeyF12: "\x1b[24~", + KeyBacktab: "\x1b[Z", + Modifiers: 1, + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/a/ansi/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/a/ansi/term.go index 53e4e49ea..5c572fd49 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/a/ansi/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/a/ansi/term.go @@ -38,5 +38,6 @@ func init() { KeyBackspace: "\b", KeyHome: "\x1b[H", KeyBacktab: "\x1b[Z", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/b/beterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/b/beterm/term.go index de2c992ab..e6d88838c 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/b/beterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/b/beterm/term.go @@ -51,5 +51,7 @@ func init() { KeyF10: "\x1b[20~", KeyF11: "\x1b[21~", KeyF12: "\x1b[22~", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/c/cygwin/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/c/cygwin/term.go index 8877b3507..46a0a4a3a 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/c/cygwin/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/c/cygwin/term.go @@ -60,5 +60,7 @@ func init() { KeyF18: "\x1b[32~", KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/d/dtterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/d/dtterm/term.go index 83fff47aa..f471c80d2 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/d/dtterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/d/dtterm/term.go @@ -64,5 +64,6 @@ func init() { KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", KeyHelp: "\x1b[28~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/e/emacs/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/e/emacs/term.go index e5a41fb93..b0b9b4771 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/e/emacs/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/e/emacs/term.go @@ -23,6 +23,7 @@ func init() { SetCursor: "\x1b[%i%p1%d;%p2%dH", CursorBack1: "\b", CursorUp1: "\x1b[A", + AutoMargin: true, }) // Emacs term.el terminal emulator term-protocol-version 0.96 @@ -57,5 +58,6 @@ func init() { KeyEnd: "\x1b[4~", KeyPgUp: "\x1b[5~", KeyPgDn: "\x1b[6~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/g/gnome/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/g/gnome/term.go index 3675b8e20..e85a3a343 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/g/gnome/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/g/gnome/term.go @@ -64,6 +64,7 @@ func init() { KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", Modifiers: 1, + AutoMargin: true, }) // GNOME Terminal with xterm 256-colors @@ -124,5 +125,6 @@ func init() { KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", Modifiers: 1, + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/h/hpterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/h/hpterm/term.go index 01135c9b1..123bfb939 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/h/hpterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/h/hpterm/term.go @@ -46,5 +46,6 @@ func init() { KeyF7: "\x1bv", KeyF8: "\x1bw", KeyClear: "\x1bJ", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/k/konsole/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/k/konsole/term.go index e30cffccb..236db9db2 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/k/konsole/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/k/konsole/term.go @@ -8,121 +8,123 @@ func init() { // KDE console window terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "konsole", - Columns: 80, - Lines: 24, - Colors: 8, - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - ResetFgBg: "\x1b[39;49m", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - StrikeThrough:"\x1b[9m", - Mouse: "\x1b[<", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, + Name: "konsole", + Columns: 80, + Lines: 24, + Colors: 8, + Clear: "\x1b[H\x1b[2J", + EnterCA: "\x1b7\x1b[?47h", + ExitCA: "\x1b[2J\x1b[?47l\x1b8", + ShowCursor: "\x1b[?25h", + HideCursor: "\x1b[?25l", + AttrOff: "\x1b[0m\x0f", + Underline: "\x1b[4m", + Bold: "\x1b[1m", + Dim: "\x1b[2m", + Italic: "\x1b[3m", + Blink: "\x1b[5m", + Reverse: "\x1b[7m", + EnterKeypad: "\x1b[?1h\x1b=", + ExitKeypad: "\x1b[?1l\x1b>", + SetFg: "\x1b[3%p1%dm", + SetBg: "\x1b[4%p1%dm", + SetFgBg: "\x1b[3%p1%d;4%p2%dm", + ResetFgBg: "\x1b[39;49m", + AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x0e", + ExitAcs: "\x0f", + EnableAcs: "\x1b)0", + StrikeThrough: "\x1b[9m", + Mouse: "\x1b[<", + SetCursor: "\x1b[%i%p1%d;%p2%dH", + CursorBack1: "\b", + CursorUp1: "\x1b[A", + KeyUp: "\x1bOA", + KeyDown: "\x1bOB", + KeyRight: "\x1bOC", + KeyLeft: "\x1bOD", + KeyInsert: "\x1b[2~", + KeyDelete: "\x1b[3~", + KeyBackspace: "\u007f", + KeyHome: "\x1bOH", + KeyEnd: "\x1bOF", + KeyPgUp: "\x1b[5~", + KeyPgDn: "\x1b[6~", + KeyF1: "\x1bOP", + KeyF2: "\x1bOQ", + KeyF3: "\x1bOR", + KeyF4: "\x1bOS", + KeyF5: "\x1b[15~", + KeyF6: "\x1b[17~", + KeyF7: "\x1b[18~", + KeyF8: "\x1b[19~", + KeyF9: "\x1b[20~", + KeyF10: "\x1b[21~", + KeyF11: "\x1b[23~", + KeyF12: "\x1b[24~", + KeyBacktab: "\x1b[Z", + Modifiers: 1, + AutoMargin: true, }) // KDE console window with xterm 256-colors terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "konsole-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b7\x1b[?47h", - ExitCA: "\x1b[2J\x1b[?47l\x1b8", - ShowCursor: "\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - ResetFgBg: "\x1b[39;49m", - AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b)0", - StrikeThrough:"\x1b[9m", - Mouse: "\x1b[<", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1bOH", - KeyEnd: "\x1bOF", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, + Name: "konsole-256color", + Columns: 80, + Lines: 24, + Colors: 256, + Clear: "\x1b[H\x1b[2J", + EnterCA: "\x1b7\x1b[?47h", + ExitCA: "\x1b[2J\x1b[?47l\x1b8", + ShowCursor: "\x1b[?25h", + HideCursor: "\x1b[?25l", + AttrOff: "\x1b[0m\x0f", + Underline: "\x1b[4m", + Bold: "\x1b[1m", + Dim: "\x1b[2m", + Italic: "\x1b[3m", + Blink: "\x1b[5m", + Reverse: "\x1b[7m", + EnterKeypad: "\x1b[?1h\x1b=", + ExitKeypad: "\x1b[?1l\x1b>", + SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", + SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", + SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", + ResetFgBg: "\x1b[39;49m", + AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x0e", + ExitAcs: "\x0f", + EnableAcs: "\x1b)0", + StrikeThrough: "\x1b[9m", + Mouse: "\x1b[<", + SetCursor: "\x1b[%i%p1%d;%p2%dH", + CursorBack1: "\b", + CursorUp1: "\x1b[A", + KeyUp: "\x1bOA", + KeyDown: "\x1bOB", + KeyRight: "\x1bOC", + KeyLeft: "\x1bOD", + KeyInsert: "\x1b[2~", + KeyDelete: "\x1b[3~", + KeyBackspace: "\u007f", + KeyHome: "\x1bOH", + KeyEnd: "\x1bOF", + KeyPgUp: "\x1b[5~", + KeyPgDn: "\x1b[6~", + KeyF1: "\x1bOP", + KeyF2: "\x1bOQ", + KeyF3: "\x1bOR", + KeyF4: "\x1bOS", + KeyF5: "\x1b[15~", + KeyF6: "\x1b[17~", + KeyF7: "\x1b[18~", + KeyF8: "\x1b[19~", + KeyF9: "\x1b[20~", + KeyF10: "\x1b[21~", + KeyF11: "\x1b[23~", + KeyF12: "\x1b[24~", + KeyBacktab: "\x1b[Z", + Modifiers: 1, + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/k/kterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/k/kterm/term.go index 28df71b40..eedbe6de0 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/k/kterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/k/kterm/term.go @@ -63,5 +63,6 @@ func init() { KeyF18: "\x1b[32~", KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/l/linux/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/l/linux/term.go index 3df1e8427..8783b4c7f 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/l/linux/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/l/linux/term.go @@ -65,5 +65,7 @@ func init() { KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", KeyBacktab: "\x1b[Z", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/models.txt b/vendor/github.com/gdamore/tcell/v2/terminfo/models.txt index 60905e021..f0db81299 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/models.txt +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/models.txt @@ -14,7 +14,6 @@ pcansi rxvt,rxvt-256color,rxvt-88color,rxvt-unicode,rxvt-unicode-256color screen,screen-256color st,st-256color|simpleterm -sun,sun-color termite tmux vt52 diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/p/pcansi/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/p/pcansi/term.go index dbde12073..9e89c1977 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/p/pcansi/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/p/pcansi/term.go @@ -36,5 +36,6 @@ func init() { KeyLeft: "\x1b[D", KeyBackspace: "\b", KeyHome: "\x1b[H", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/r/rxvt/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/r/rxvt/term.go index cd1430ae5..6fa9e7fa4 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/r/rxvt/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/r/rxvt/term.go @@ -107,6 +107,8 @@ func init() { KeyCtrlLeft: "\x1b[Od", KeyCtrlHome: "\x1b[7^", KeyCtrlEnd: "\x1b[8^", + AutoMargin: true, + InsertChar: "\x1b[@", }) // rxvt 2.7.9 with xterm 256-colors @@ -210,6 +212,8 @@ func init() { KeyCtrlLeft: "\x1b[Od", KeyCtrlHome: "\x1b[7^", KeyCtrlEnd: "\x1b[8^", + AutoMargin: true, + InsertChar: "\x1b[@", }) // rxvt 2.7.9 with xterm 88-colors @@ -313,6 +317,8 @@ func init() { KeyCtrlLeft: "\x1b[Od", KeyCtrlHome: "\x1b[7^", KeyCtrlEnd: "\x1b[8^", + AutoMargin: true, + InsertChar: "\x1b[@", }) // rxvt-unicode terminal (X Window System) @@ -392,6 +398,8 @@ func init() { KeyCtrlLeft: "\x1b[Od", KeyCtrlHome: "\x1b[7^", KeyCtrlEnd: "\x1b[8^", + AutoMargin: true, + InsertChar: "\x1b[@", }) // rxvt-unicode terminal with 256 colors (X Window System) @@ -471,5 +479,7 @@ func init() { KeyCtrlLeft: "\x1b[Od", KeyCtrlHome: "\x1b[7^", KeyCtrlEnd: "\x1b[8^", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/s/screen/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/s/screen/term.go index b9b26184a..d95d63633 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/s/screen/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/s/screen/term.go @@ -63,6 +63,7 @@ func init() { KeyF11: "\x1b[23~", KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", + AutoMargin: true, }) // GNU Screen with 256 colors @@ -122,5 +123,6 @@ func init() { KeyF11: "\x1b[23~", KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/s/simpleterm/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/s/simpleterm/term.go index 5ae00154c..f633f2941 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/s/simpleterm/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/s/simpleterm/term.go @@ -8,127 +8,129 @@ func init() { // simpleterm terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "st", - Columns: 80, - Lines: 24, - Colors: 8, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", - ResetFgBg: "\x1b[39;49m", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - StrikeThrough:"\x1b[9m", - Mouse: "\x1b[M", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, - TrueColor: true, + Name: "st", + Columns: 80, + Lines: 24, + Colors: 8, + Bell: "\a", + Clear: "\x1b[H\x1b[2J", + EnterCA: "\x1b[?1049h", + ExitCA: "\x1b[?1049l", + ShowCursor: "\x1b[?12l\x1b[?25h", + HideCursor: "\x1b[?25l", + AttrOff: "\x1b[0m", + Underline: "\x1b[4m", + Bold: "\x1b[1m", + Dim: "\x1b[2m", + Italic: "\x1b[3m", + Blink: "\x1b[5m", + Reverse: "\x1b[7m", + EnterKeypad: "\x1b[?1h\x1b=", + ExitKeypad: "\x1b[?1l\x1b>", + SetFg: "\x1b[3%p1%dm", + SetBg: "\x1b[4%p1%dm", + SetFgBg: "\x1b[3%p1%d;4%p2%dm", + ResetFgBg: "\x1b[39;49m", + AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x1b(0", + ExitAcs: "\x1b(B", + EnableAcs: "\x1b)0", + StrikeThrough: "\x1b[9m", + Mouse: "\x1b[M", + SetCursor: "\x1b[%i%p1%d;%p2%dH", + CursorBack1: "\b", + CursorUp1: "\x1b[A", + KeyUp: "\x1bOA", + KeyDown: "\x1bOB", + KeyRight: "\x1bOC", + KeyLeft: "\x1bOD", + KeyInsert: "\x1b[2~", + KeyDelete: "\x1b[3~", + KeyBackspace: "\u007f", + KeyHome: "\x1b[1~", + KeyEnd: "\x1b[4~", + KeyPgUp: "\x1b[5~", + KeyPgDn: "\x1b[6~", + KeyF1: "\x1bOP", + KeyF2: "\x1bOQ", + KeyF3: "\x1bOR", + KeyF4: "\x1bOS", + KeyF5: "\x1b[15~", + KeyF6: "\x1b[17~", + KeyF7: "\x1b[18~", + KeyF8: "\x1b[19~", + KeyF9: "\x1b[20~", + KeyF10: "\x1b[21~", + KeyF11: "\x1b[23~", + KeyF12: "\x1b[24~", + KeyClear: "\x1b[3;5~", + KeyBacktab: "\x1b[Z", + Modifiers: 1, + TrueColor: true, + AutoMargin: true, }) // simpleterm with 256 colors terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "st-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[2J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[?12l\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[0m", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - ResetFgBg: "\x1b[39;49m", - AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x1b(0", - ExitAcs: "\x1b(B", - EnableAcs: "\x1b)0", - StrikeThrough:"\x1b[9m", - Mouse: "\x1b[M", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1b[A", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyClear: "\x1b[3;5~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, - TrueColor: true, + Name: "st-256color", + Columns: 80, + Lines: 24, + Colors: 256, + Bell: "\a", + Clear: "\x1b[H\x1b[2J", + EnterCA: "\x1b[?1049h", + ExitCA: "\x1b[?1049l", + ShowCursor: "\x1b[?12l\x1b[?25h", + HideCursor: "\x1b[?25l", + AttrOff: "\x1b[0m", + Underline: "\x1b[4m", + Bold: "\x1b[1m", + Dim: "\x1b[2m", + Italic: "\x1b[3m", + Blink: "\x1b[5m", + Reverse: "\x1b[7m", + EnterKeypad: "\x1b[?1h\x1b=", + ExitKeypad: "\x1b[?1l\x1b>", + SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", + SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", + SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", + ResetFgBg: "\x1b[39;49m", + AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x1b(0", + ExitAcs: "\x1b(B", + EnableAcs: "\x1b)0", + StrikeThrough: "\x1b[9m", + Mouse: "\x1b[M", + SetCursor: "\x1b[%i%p1%d;%p2%dH", + CursorBack1: "\b", + CursorUp1: "\x1b[A", + KeyUp: "\x1bOA", + KeyDown: "\x1bOB", + KeyRight: "\x1bOC", + KeyLeft: "\x1bOD", + KeyInsert: "\x1b[2~", + KeyDelete: "\x1b[3~", + KeyBackspace: "\u007f", + KeyHome: "\x1b[1~", + KeyEnd: "\x1b[4~", + KeyPgUp: "\x1b[5~", + KeyPgDn: "\x1b[6~", + KeyF1: "\x1bOP", + KeyF2: "\x1bOQ", + KeyF3: "\x1bOR", + KeyF4: "\x1bOS", + KeyF5: "\x1b[15~", + KeyF6: "\x1b[17~", + KeyF7: "\x1b[18~", + KeyF8: "\x1b[19~", + KeyF9: "\x1b[20~", + KeyF10: "\x1b[21~", + KeyF11: "\x1b[23~", + KeyF12: "\x1b[24~", + KeyClear: "\x1b[3;5~", + KeyBacktab: "\x1b[Z", + Modifiers: 1, + TrueColor: true, + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/s/sun/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/s/sun/term.go index 6fc3c71cb..16cb96c20 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/s/sun/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/s/sun/term.go @@ -1,4 +1,22 @@ -// Generated automatically. DO NOT HAND-EDIT. +// Copyright 2021 The TCell Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use file except in compliance with the License. +// You may obtain a copy of the license at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This terminal definition is hand-coded, as the default terminfo for +// this terminal is busted with respect to color. Unlike pretty much every +// other ANSI compliant terminal, this terminal cannot combine foreground and +// background escapes. The default terminfo also only provides escapes for +// 16-bit color. package sun @@ -43,6 +61,8 @@ func init() { KeyF10: "\x1b[233z", KeyF11: "\x1b[234z", KeyF12: "\x1b[235z", + AutoMargin: true, + InsertChar: "\x1b[@", }) // Sun Microsystems Workstation console with color support (IA systems) @@ -50,15 +70,14 @@ func init() { Name: "sun-color", Columns: 80, Lines: 34, - Colors: 8, + Colors: 256, Bell: "\a", Clear: "\f", AttrOff: "\x1b[m", Bold: "\x1b[1m", Reverse: "\x1b[7m", - SetFg: "\x1b[3%p1%dm", - SetBg: "\x1b[4%p1%dm", - SetFgBg: "\x1b[3%p1%d;4%p2%dm", + SetFg: "\x1b[38;5;%p1%dm", + SetBg: "\x1b[48;5;%p1%dm", ResetFgBg: "\x1b[0m", PadChar: "\x00", SetCursor: "\x1b[%i%p1%d;%p2%dH", @@ -87,5 +106,7 @@ func init() { KeyF10: "\x1b[233z", KeyF11: "\x1b[234z", KeyF12: "\x1b[235z", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/t/termite/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/t/termite/term.go index 0dfdf8fc6..593d38556 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/t/termite/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/t/termite/term.go @@ -61,5 +61,7 @@ func init() { KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", Modifiers: 1, + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/t/tmux/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/t/tmux/term.go index e893aa67f..44975d69a 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/t/tmux/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/t/tmux/term.go @@ -66,67 +66,6 @@ func init() { KeyF12: "\x1b[24~", KeyBacktab: "\x1b[Z", Modifiers: 1, - }) - - // tmux with 256 colors - terminfo.AddTerminfo(&terminfo.Terminfo{ - Name: "tmux-256color", - Columns: 80, - Lines: 24, - Colors: 256, - Bell: "\a", - Clear: "\x1b[H\x1b[J", - EnterCA: "\x1b[?1049h", - ExitCA: "\x1b[?1049l", - ShowCursor: "\x1b[34h\x1b[?25h", - HideCursor: "\x1b[?25l", - AttrOff: "\x1b[m\x0f", - Underline: "\x1b[4m", - Bold: "\x1b[1m", - Dim: "\x1b[2m", - Italic: "\x1b[3m", - Blink: "\x1b[5m", - Reverse: "\x1b[7m", - EnterKeypad: "\x1b[?1h\x1b=", - ExitKeypad: "\x1b[?1l\x1b>", - SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", - SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", - SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m", - ResetFgBg: "\x1b[39;49m", - PadChar: "\x00", - AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", - EnterAcs: "\x0e", - ExitAcs: "\x0f", - EnableAcs: "\x1b(B\x1b)0", - StrikeThrough: "\x1b[9m", - Mouse: "\x1b[M", - SetCursor: "\x1b[%i%p1%d;%p2%dH", - CursorBack1: "\b", - CursorUp1: "\x1bM", - KeyUp: "\x1bOA", - KeyDown: "\x1bOB", - KeyRight: "\x1bOC", - KeyLeft: "\x1bOD", - KeyInsert: "\x1b[2~", - KeyDelete: "\x1b[3~", - KeyBackspace: "\u007f", - KeyHome: "\x1b[1~", - KeyEnd: "\x1b[4~", - KeyPgUp: "\x1b[5~", - KeyPgDn: "\x1b[6~", - KeyF1: "\x1bOP", - KeyF2: "\x1bOQ", - KeyF3: "\x1bOR", - KeyF4: "\x1bOS", - KeyF5: "\x1b[15~", - KeyF6: "\x1b[17~", - KeyF7: "\x1b[18~", - KeyF8: "\x1b[19~", - KeyF9: "\x1b[20~", - KeyF10: "\x1b[21~", - KeyF11: "\x1b[23~", - KeyF12: "\x1b[24~", - KeyBacktab: "\x1b[Z", - Modifiers: 1, + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/terminfo.go b/vendor/github.com/gdamore/tcell/v2/terminfo/terminfo.go index fbc9efafe..7e17352cc 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/terminfo.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/terminfo.go @@ -1,4 +1,4 @@ -// Copyright 2020 The TCell Authors +// Copyright 2021 The TCell Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use file except in compliance with the License. @@ -217,7 +217,9 @@ type Terminfo struct { PasteStart string PasteEnd string Modifiers int - TrueColor bool // true if the terminal supports direct color + InsertChar string // string to insert a character (ich1) + AutoMargin bool // true if writing to last cell in line advances + TrueColor bool // true if the terminal supports direct color } const ( @@ -742,6 +744,7 @@ func LookupTerminfo(name string) (*Terminfo, error) { } addtruecolor := false + add256color := false switch os.Getenv("COLORTERM") { case "truecolor", "24bit", "24-bit": addtruecolor = true @@ -771,6 +774,21 @@ func LookupTerminfo(name string) (*Terminfo, error) { } } + // If the name ends in -256color, maybe fabricate using the xterm 256 color sequences + if t == nil && strings.HasSuffix(name, "-256color") { + suffixes := []string{ + "-88color", + "-color", + } + base := name[:len(name)-len("-256color")] + for _, s := range suffixes { + if t, _ = LookupTerminfo(base + s); t != nil { + add256color = true + break + } + } + } + if t == nil { return nil, ErrTermNotFound } @@ -798,5 +816,12 @@ func LookupTerminfo(name string) (*Terminfo, error) { "48;2;%p4%d;%p5%d;%p6%dm" } + if add256color { + t.Colors = 256 + t.SetFg = "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m" + t.SetBg = "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m" + t.SetFgBg = "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m" + t.ResetFgBg = "\x1b[39;49m" + } return t, nil } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt100/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt100/term.go index d43a8a24e..0ae3918ac 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt100/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt100/term.go @@ -44,5 +44,6 @@ func init() { KeyF8: "\x1bOl", KeyF9: "\x1bOw", KeyF10: "\x1bOx", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt102/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt102/term.go index 93b8e4c90..ec8dae246 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt102/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt102/term.go @@ -43,5 +43,6 @@ func init() { KeyF8: "\x1bOl", KeyF9: "\x1bOw", KeyF10: "\x1bOx", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt220/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt220/term.go index 11efadcfa..75ab9a8ca 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt220/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt220/term.go @@ -54,5 +54,6 @@ func init() { KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", KeyHelp: "\x1b[28~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt320/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt320/term.go index 428e4501e..3fd3d39f0 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt320/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt320/term.go @@ -59,5 +59,6 @@ func init() { KeyF18: "\x1b[32~", KeyF19: "\x1b[33~", KeyF20: "\x1b[34~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt400/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt400/term.go index aea0efb16..0c07e9d2c 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt400/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt400/term.go @@ -42,5 +42,7 @@ func init() { KeyF7: "\x1b[18~", KeyF8: "\x1b[19~", KeyF9: "\x1b[20~", + AutoMargin: true, + InsertChar: "\x1b[@", }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt420/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt420/term.go index dbfb9f996..094886e27 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt420/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/v/vt420/term.go @@ -49,5 +49,6 @@ func init() { KeyF8: "\x1b[20~", KeyF9: "\x1b[21~", KeyF10: "\x1b[29~", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy50/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy50/term.go index 542a4da27..beced62d5 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy50/term.go +++ b/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy50/term.go @@ -55,5 +55,6 @@ func init() { KeyPrint: "\x1bP", KeyBacktab: "\x1bI", KeyShfHome: "\x1b{", + AutoMargin: true, }) } diff --git a/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy60/term.go b/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy60/term.go index fdf7f53da..5b79310a7 100644 --- a/vendor/github.com/gdamore/tcell/v2/terminfo/w/wy60/term.go +++ b/vendor/github.com/