aboutsummaryrefslogtreecommitdiff
path: root/vendor/maunium.net/go/tcell
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-11-14 00:00:35 +0200
committerTulir Asokan <tulir@maunium.net>2018-11-14 00:00:35 +0200
commitba387764ca1590625d349e74eb8a8a64d1849b67 (patch)
treebc8f02156a63eac99dcddaed38e45b7c312b40c0 /vendor/maunium.net/go/tcell
parentcfb2cc057c32330be0ca0a68cfbd245cb2b8e31b (diff)
Fix things
Diffstat (limited to 'vendor/maunium.net/go/tcell')
-rw-r--r--vendor/maunium.net/go/tcell/README.adoc270
-rw-r--r--vendor/maunium.net/go/tcell/cell.go7
-rw-r--r--vendor/maunium.net/go/tcell/console_win.go1
-rw-r--r--vendor/maunium.net/go/tcell/tcell.pngbin5336 -> 0 bytes
-rw-r--r--vendor/maunium.net/go/tcell/tcell.svg93
-rw-r--r--vendor/maunium.net/go/tcell/terminfo/term_termite.go152
-rw-r--r--vendor/maunium.net/go/tcell/tscreen.go6
7 files changed, 431 insertions, 98 deletions
diff --git a/vendor/maunium.net/go/tcell/README.adoc b/vendor/maunium.net/go/tcell/README.adoc
new file mode 100644
index 0000000..3b60057
--- /dev/null
+++ b/vendor/maunium.net/go/tcell/README.adoc
@@ -0,0 +1,270 @@
+= tcell
+
+
+image:https://img.shields.io/travis/gdamore/tcell.svg?label=linux[Linux Status,link="https://travis-ci.org/gdamore/tcell"]
+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/gitter-join-brightgreen.svg[Gitter,link="https://gitter.im/gdamore/tcell"]
+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://codecov.io/gh/gdamore/tcell/branch/master/graph/badge.svg[codecov,link="https://codecov.io/gh/gdamore/tcell"]
+image:https://tidelift.com/badges/github/gdamore/tcell?style=flat[Dependencies]
+
+[cols="2",grid="none"]
+|===
+|_Tcell_ is a _Go_ package that provides a cell based view for text terminals, like _xterm_.
+It was inspired by _termbox_, but includes many additional improvements.
+a|[.right]
+image::logos/tcell.png[float="right"]
+|===
+
+## Examples
+
+* https://github.com/gdamore/proxima5[proxima5] - space shooter (https://youtu.be/jNxKTCmY_bQ[video])
+* https://github.com/gdamore/govisor[govisor] - service management UI (http://2.bp.blogspot.com/--OsvnfzSNow/Vf7aqMw3zXI/AAAAAAAAARo/uOMtOvw4Sbg/s1600/Screen%2BShot%2B2015-09-20%2Bat%2B9.08.41%2BAM.png[screenshot])
+* mouse demo - included mouse test (http://2.bp.blogspot.com/-fWvW5opT0es/VhIdItdKqJI/AAAAAAAAATE/7Ojc0L1SpB0/s1600/Screen%2BShot%2B2015-10-04%2Bat%2B11.47.13%2BPM.png[screenshot])
+* https://github.com/gdamore/gomatrix[gomatrix] - converted from Termbox
+* https://github.com/zyedidia/micro/[micro] - lightweight text editor with syntax-highlighting and themes
+* https://github.com/viktomas/godu[godu] - simple golang utility helping to discover large files/folders.
+* https://github.com/rivo/tview[tview] - rich interactive widgets for terminal UIs
+* https://github.com/marcusolsson/tui-go[tui-go] - UI library for terminal apps
+* https://github.com/rgm3/gomandelbrot[gomandelbrot] - Mandelbrot!
+* https://github.com/senorprogrammer/wtf[WTF]- Personal information dashboard for your terminal
+* https://github.com/browsh-org/browsh[browsh] - A fully-modern text-based browser, rendering to TTY and browsers (https://www.youtube.com/watch?v=HZq86XfBoRo[video])
+* https://github.com/sachaos/go-life[go-life] - Conway's Game of Life.
+
+## Pure Go Terminfo Database
+
+_Tcell_ includes a full parser and expander for terminfo capability strings,
+so that it can avoid hard coding escape strings for formatting. It also favors
+portability, and includes support for all POSIX systems.
+
+The database is also flexible & extensible, and can modified by either running
+a program to build the entire database, or an entry for just a single terminal.
+
+## More Portable
+
+_Tcell_ is portable to a wide variety of systems.
+_Tcell_ is believed
+to work with all of the systems officially supported by golang with
+the exception of nacl (which lacks any kind of a terminal interface).
+(Plan9 is not supported by _Tcell_, but it is experimental status only
+in golang.) For all of these systems *except Solaris/illumos*, _Tcell_
+is pure Go, with no need for CGO.
+
+## No Async IO
+
+_Tcell_ is able to operate without requiring `SIGIO` signals (unlike _termbox_),
+or asynchronous I/O, and can instead use standard Go file
+objects and Go routines.
+This means it should be safe, especially for
+use with programs that use exec, or otherwise need to manipulate the
+tty streams.
+This model is also much closer to idiomatic Go, leading
+to fewer surprises.
+
+## Rich Unicode & non-Unicode support
+
+_Tcell_ includes enhanced support for Unicode, including wide characters and
+combining characters, provided your terminal can support them.
+Note that
+Windows terminals generally don't support the full Unicode repertoire.
+
+It will also convert to and from Unicode locales, so that the program
+can work with UTF-8 internally, and get reasonable output in other locales.
+_Tcell_ tries hard to convert to native characters on both input and output, and
+on output _Tcell_ even makes use of the alternate character set to facilitate
+drawing certain characters.
+
+## More Function Keys
+
+_Tcell_ also has richer support for a larger number of special keys that some terminals can send.
+
+## Better Color Handling
+
+_Tcell_ will respect your terminal's color space as specified within your terminfo
+entries, so that for example attempts to emit color sequences on VT100 terminals
+won't result in unintended consequences.
+
+In Windows mode, _Tcell_ supports 16 colors, bold, dim, and reverse,
+instead of just termbox's 8 colors with reverse. (Note that there is some
+conflation with bold/dim and colors.)
+
+_Tcell_ maps 16 colors down to 8, for terminals that need it.
+(The upper 8 colors are just brighter versions of the lower 8.)
+
+## Better Mouse Support
+
+_Tcell_ supports enhanced mouse tracking mode, so your application can receive
+regular mouse motion events, and wheel events, if your terminal supports it.
+
+## _Termbox_ Compatibility
+
+A compatibility layer for _termbox_ is provided in the `compat` directory.
+To use it, try importing `github.com/gdamore/tcell/termbox`
+instead. Most _termbox-go_ programs will probably work without further
+modification.
+
+## Working With Unicode
+
+Internally Tcell uses UTF-8, just like Go.
+However, Tcell understands how to
+convert to and from other character sets, using the capabilities of
+the `golang.org/x/text/encoding packages`.
+Your application must supply
+them, as the full set of the most common ones bloats the program by about 2MB.
+If you're lazy, and want them all anyway, see the `encoding` sub-directory.
+
+## Wide & Combining Characters
+
+The `SetContent()` API takes a primary rune, and an optional list of combining runes.
+If any of the runes is a wide (East Asian) rune occupying two cells,
+then the library will skip output from the following cell, but care must be
+taken in the application to avoid explicitly attempting to set content in the
+next cell, otherwise the results are undefined. (Normally wide character
+is displayed, and the other character is not; do not depend on that behavior.)
+
+Experience has shown that the vanilla Windows 8 console application does not
+support any of these characters properly, but at least some options like
+_ConEmu_ do support Wide characters.
+
+## Colors
+
+_Tcell_ assumes the ANSI/XTerm color model, including the 256 color map that
+XTerm uses when it supports 256 colors. The terminfo guidance will be
+honored, with respect to the number of colors supported. Also, only
+terminals which expose ANSI style `setaf` and `setab` will support color;
+if you have a color terminal that only has `setf` and `setb`, please let me
+know; it wouldn't be hard to add that if there is need.
+
+## 24-bit Color
+
+_Tcell_ _supports true color_! (That is, if your terminal can support it,
+_Tcell_ can accurately display 24-bit color.)
+
+To use 24-bit color, you need to use a terminal that supports it. Modern
+xterm and similar teminal emulators can support this. As terminfo lacks any
+way to describe this capability, we fabricate the capability for
+terminals with names ending in `*-truecolor`. The stock distribution ships
+with a database that defines `xterm-truecolor`.
+To try it out, set your
+`TERM` variable to `xterm-truecolor`.
+
+When using TrueColor, programs will display the colors that the programmer
+intended, overriding any "`themes`" you may have set in your terminal
+emulator. (For some cases, accurate color fidelity is more important
+than respecting themes. For other cases, such as typical text apps that
+only use a few colors, its more desirable to respect the themes that
+the user has established.)
+
+If you find this undesirable, you can either use a `TERM` variable
+that lacks the `TRUECOLOR` setting, or set `TCELL_TRUECOLOR=disable` in your
+environment.
+
+## Performance
+
+Reasonable attempts have been made to minimize sending data to terminals,
+avoiding repeated sequences or drawing the same cell on refresh updates.
+
+## Terminfo
+
+(Not relevent for Windows users.)
+
+The Terminfo implementation operates with two forms of database. The first
+is the built-in go database, which contains a number of real database entries
+that are compiled into the program directly. This should minimize calling
+out to database file searches.
+
+The second is in the form of JSON files, that contain the same information,
+which can be located either by the `$TCELLDB` environment file, `$HOME/.tcelldb`,
+or is located in the Go source directory as `database.json`.
+
+These files (both the Go and the JSON files) can be generated using the
+mkinfo.go program. If you need to regnerate the entire set for some reason,
+run the mkdatabase.sh file. The generation uses the infocmp(1) program on
+the system to collect the necessary information.
+
+The `mkinfo.go` program can also be used to generate specific database entries
+for named terminals, in case your favorite terminal is missing. (If you
+find that this is the case, please let me know and I'll try to add it!)
+
+_Tcell_ requires that the terminal support the `cup` mode of cursor addressing.
+Terminals without absolute cursor addressability are not supported.
+This is unlikely to be a problem; such terminals have not been mass produced
+since the early 1970s.
+
+## Mouse Support
+
+Mouse support is detected via the `kmous` terminfo variable, however,
+enablement/disablement and decoding mouse events is done using hard coded
+sequences based on the XTerm X11 model. As of this writing all popular
+terminals with mouse tracking support this model. (Full terminfo support
+is not possible as terminfo sequences are not defined.)
+
+On Windows, the mouse works normally.
+
+Mouse wheel buttons on various terminals are known to work, but the support
+in terminal emulators, as well as support for various buttons and
+live mouse tracking, varies widely. Modern _xterm_, macOS _Terminal_, and _iTerm_ all work well.
+
+## Testablity
+
+There is a `SimulationScreen`, that can be used to simulate a real screen
+for automated testing. The supplied tests do this. The simulation contains
+event delivery, screen resizing support, and capabilities to inject events
+and examine "`physical`" screen contents.
+
+## Platforms
+
+### POSIX (Linux, FreeBSD, macOS, Solaris, etc.)
+
+For mainstream systems with a suitably well defined system call interface
+to tty settings, everything works using pure Go.
+
+For the remainder (right now means only Solaris/illumos) we use POSIX function
+calls to manage termios, which implies that CGO is required on those platforms.
+
+### Windows
+
+Windows console mode applications are supported. Unfortunately _mintty_
+and other _cygwin_ style applications are not supported.
+
+Modern console applications like ConEmu, as well as the Windows 10
+console itself, support all the good features (resize, mouse tracking, etc.)
+
+I haven't figured out how to cleanly resolve the dichotomy between cygwin
+style termios and the Windows Console API; it seems that perhaps nobody else
+has either. If anyone has suggestions, let me know! Really, if you're
+using a Windows application, you should use the native Windows console or a
+fully compatible console implementation.
+
+### Plan9 and Native Client (Nacl)
+
+The nacl and plan9 platforms won't work, but compilation stubs are supplied
+for folks that want to include parts of this in software targetting those
+platforms. The Simulation screen works, but as Tcell doesn't know how to
+allocate a real screen object on those platforms, `NewScreen()` will fail.
+
+If anyone has wisdom about how to improve support for either of these,
+please let me know. PRs are especially welcome.
+
+### Commercial Support
+
+_Tcell_ is absolutely free, but if you want to obtain commercial, professional support, there are options.
+
+[cols="2",align="center",frame="none", grid="none"]
+|===
+^.^|
+image:logos/tidelift.png[100,100]
+a|
+https://tidelift.com/[Tidelift] subscriptions include support for _Tcell_, as well as many other open source packages.
+
+^.^|
+image:logos/staysail.png[100,100]
+a|
+mailto:info@staysail.tech[Staysail Systems, Inc.] offers direct support, and custom development around _Tcell_ on an hourly basis.
+
+^.^|
+image:logos/patreon.png[100,100]
+a|I also welcome donations at https://www.patron.com/gedamore/[Patreon], if you just want to make a contribution.
+|===
diff --git a/vendor/maunium.net/go/tcell/cell.go b/vendor/maunium.net/go/tcell/cell.go
index 496f10f..957b62f 100644
--- a/vendor/maunium.net/go/tcell/cell.go
+++ b/vendor/maunium.net/go/tcell/cell.go
@@ -52,6 +52,10 @@ func (cb *CellBuffer) SetContent(x int, y int,
i := 0
for i < len(c.currComb) {
r := c.currComb[i]
+ if r == '\u200d' {
+ i += 2
+ continue
+ }
if runewidth.RuneWidth(r) != 0 {
// not a combining character, yank it
c.currComb = append(c.currComb[:i-1], c.currComb[i+1:]...)
@@ -175,12 +179,13 @@ func (cb *CellBuffer) Resize(w, h int) {
// Fill fills the entire cell buffer array with the specified character
// and style. Normally choose ' ' to clear the screen. This API doesn't
-// support combining characters.
+// support combining characters, or characters with a width larger than one.
func (cb *CellBuffer) Fill(r rune, style Style) {
for i := range cb.cells {
c := &cb.cells[i]
c.currMain = r
c.currComb = nil
c.currStyle = style
+ c.width = 1
}
}
diff --git a/vendor/maunium.net/go/tcell/console_win.go b/vendor/maunium.net/go/tcell/console_win.go
index 5957a17..a7507c2 100644
--- a/vendor/maunium.net/go/tcell/console_win.go
+++ b/vendor/maunium.net/go/tcell/console_win.go
@@ -28,7 +28,6 @@ type cScreen struct {
in syscall.Handle
out syscall.Handle
cancelflag syscall.Handle
- title syscall.Handle
scandone chan struct{}
evch chan Event
quit chan struct{}
diff --git a/vendor/maunium.net/go/tcell/tcell.png b/vendor/maunium.net/go/tcell/tcell.png
deleted file mode 100644
index 24333c4..0000000
--- a/vendor/maunium.net/go/tcell/tcell.png
+++ /dev/null
Binary files differ
diff --git a/vendor/maunium.net/go/tcell/tcell.svg b/vendor/maunium.net/go/tcell/tcell.svg
deleted file mode 100644
index d8695d5..0000000
--- a/vendor/maunium.net/go/tcell/tcell.svg
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- id="svg8"
- version="1.1"
- viewBox="0 0 210 297"
- height="297mm"
- width="210mm">
- <defs
- id="defs2">
- <linearGradient
- id="linearGradient2680">
- <stop
- id="stop2676"
- offset="0"
- style="stop-color:#ababab;stop-opacity:1;" />
- <stop
- id="stop2678"
- offset="1"
- style="stop-color:#ababab;stop-opacity:0;" />
- </linearGradient>
- <marker
- style="overflow:visible"
- id="Arrow1Lstart"
- refX="0.0"
- refY="0.0"
- orient="auto">
- <path
- transform="scale(0.8) translate(12.5,0)"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
- d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
- id="path848" />
- </marker>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.28804762,0,94.764912)"
- r="19.622099"
- fy="133.10568"
- fx="111.58373"
- cy="133.10568"
- cx="111.58373"
- id="radialGradient2684"
- xlink:href="#linearGradient2680" />
- </defs>
- <metadata
- id="metadata5">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1">
- <rect
- y="99.44445"
- x="31.750006"
- height="86.430557"
- width="129.64584"
- id="rect1130"
- style="opacity:1;fill:#5d6c53;fill-opacity:1;stroke:#244f24;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <text
- transform="scale(0.99941234,1.000588)"
- id="text1128"
- y="160.47581"
- x="44.689861"
- style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:46.0962944px;line-height:1.25;font-family:'Glass TTY VT220';-inkscape-font-specification:'Glass TTY VT220, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#5ef86d;fill-opacity:1;stroke:#59ff32;stroke-width:0.80994618;stroke-opacity:0.94520545;"
- xml:space="preserve"><tspan
- style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:46.0962944px;font-family:'Glass TTY VT220';-inkscape-font-specification:'Glass TTY VT220, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#5ef86d;fill-opacity:1;stroke:#59ff32;stroke-width:0.80994618;stroke-opacity:0.94520545;"
- y="160.47581"
- x="44.689861"
- id="tspan1126">tcell</tspan></text>
- <flowRoot
- style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;letter-spacing:0px;word-spacing:0px"
- id="flowRoot1132"
- xml:space="preserve"><flowRegion
- id="flowRegion1134"><rect
- y="432.51968"
- x="290"
- height="160"
- width="330"
- id="rect1136" /></flowRegion><flowPara
- id="flowPara1138"></flowPara></flowRoot> </g>
-</svg>
diff --git a/vendor/maunium.net/go/tcell/terminfo/term_termite.go b/vendor/maunium.net/go/tcell/terminfo/term_termite.go
new file mode 100644
index 0000000..8e7f683
--- /dev/null
+++ b/vendor/maunium.net/go/tcell/terminfo/term_termite.go
@@ -0,0 +1,152 @@
+// Generated automatically. DO NOT HAND-EDIT.
+
+package terminfo
+
+func init() {
+ // VTE-based terminal
+ AddTerminfo(&Terminfo{
+ Name: "xterm-termite",
+ 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(B\x1b[m",
+ Underline: "\x1b[4m",
+ Bold: "\x1b[1m",
+ Dim: "\x1b[2m",
+ 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",
+ AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",
+ EnterAcs: "\x1b(0",
+ ExitAcs: "\x1b(B",
+ Mouse: "\x1b[M",
+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",
+ 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: "\xff",
+ 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~",
+ KeyF13: "\x1b[1;2P",
+ KeyF14: "\x1b[1;2Q",
+ KeyF15: "\x1b[1;2R",
+ KeyF16: "\x1b[1;2S",
+ KeyF17: "\x1b[15;2~",
+ KeyF18: "\x1b[17;2~",
+ KeyF19: "\x1b[18;2~",
+ KeyF20: "\x1b[19;2~",
+ KeyF21: "\x1b[20;2~",
+ KeyF22: "\x1b[21;2~",
+ KeyF23: "\x1b[23;2~",
+ KeyF24: "\x1b[24;2~",
+ KeyF25: "\x1b[1;5P",
+ KeyF26: "\x1b[1;5Q",
+ KeyF27: "\x1b[1;5R",
+ KeyF28: "\x1b[1;5S",
+ KeyF29: "\x1b[15;5~",
+ KeyF30: "\x1b[17;5~",
+ KeyF31: "\x1b[18;5~",
+ KeyF32: "\x1b[19;5~",
+ KeyF33: "\x1b[20;5~",
+ KeyF34: "\x1b[21;5~",
+ KeyF35: "\x1b[23;5~",
+ KeyF36: "\x1b[24;5~",
+ KeyF37: "\x1b[1;6P",
+ KeyF38: "\x1b[1;6Q",
+ KeyF39: "\x1b[1;6R",
+ KeyF40: "\x1b[1;6S",
+ KeyF41: "\x1b[15;6~",
+ KeyF42: "\x1b[17;6~",
+ KeyF43: "\x1b[18;6~",
+ KeyF44: "\x1b[19;6~",
+ KeyF45: "\x1b[20;6~",
+ KeyF46: "\x1b[21;6~",
+ KeyF47: "\x1b[23;6~",
+ KeyF48: "\x1b[24;6~",
+ KeyF49: "\x1b[1;3P",
+ KeyF50: "\x1b[1;3Q",
+ KeyF51: "\x1b[1;3R",
+ KeyF52: "\x1b[1;3S",
+ KeyF53: "\x1b[15;3~",
+ KeyF54: "\x1b[17;3~",
+ KeyF55: "\x1b[18;3~",
+ KeyF56: "\x1b[19;3~",
+ KeyF57: "\x1b[20;3~",
+ KeyF58: "\x1b[21;3~",
+ KeyF59: "\x1b[23;3~",
+ KeyF60: "\x1b[24;3~",
+ KeyF61: "\x1b[1;4P",
+ KeyF62: "\x1b[1;4Q",
+ KeyF63: "\x1b[1;4R",
+ KeyBacktab: "\x1b[Z",
+ KeyShfLeft: "\x1b[1;2D",
+ KeyShfRight: "\x1b[1;2C",
+ KeyShfUp: "\x1b[1;2A",
+ KeyShfDown: "\x1b[1;2B",
+ KeyCtrlLeft: "\x1b[1;5D",
+ KeyCtrlRight: "\x1b[1;5C",
+ KeyCtrlUp: "\x1b[1;5A",
+ KeyCtrlDown: "\x1b[1;5B",
+ KeyMetaLeft: "\x1b[1;9D",
+ KeyMetaRight: "\x1b[1;9C",
+ KeyMetaUp: "\x1b[1;9A",
+ KeyMetaDown: "\x1b[1;9B",
+ KeyAltLeft: "\x1b[1;3D",
+ KeyAltRight: "\x1b[1;3C",
+ KeyAltUp: "\x1b[1;3A",
+ KeyAltDown: "\x1b[1;3B",
+ KeyAltShfLeft: "\x1b[1;4D",
+ KeyAltShfRight: "\x1b[1;4C",
+ KeyAltShfUp: "\x1b[1;4A",
+ KeyAltShfDown: "\x1b[1;4B",
+ KeyMetaShfLeft: "\x1b[1;10D",
+ KeyMetaShfRight: "\x1b[1;10C",
+ KeyMetaShfUp: "\x1b[1;10A",
+ KeyMetaShfDown: "\x1b[1;10B",
+ KeyCtrlShfLeft: "\x1b[1;6D",
+ KeyCtrlShfRight: "\x1b[1;6C",
+ KeyCtrlShfUp: "\x1b[1;6A",
+ KeyCtrlShfDown: "\x1b[1;6B",
+ KeyShfHome: "\x1b[1;2H",
+ KeyShfEnd: "\x1b[1;2F",
+ KeyCtrlHome: "\x1b[1;5H",
+ KeyCtrlEnd: "\x1b[1;5F",
+ KeyAltHome: "\x1b[1;9H",
+ KeyAltEnd: "\x1b[1;9F",
+ KeyCtrlShfHome: "\x1b[1;6H",
+ KeyCtrlShfEnd: "\x1b[1;6F",
+ KeyMetaShfHome: "\x1b[1;10H",
+ KeyMetaShfEnd: "\x1b[1;10F",
+ KeyAltShfHome: "\x1b[1;4H",
+ KeyAltShfEnd: "\x1b[1;4F",
+ })
+}
diff --git a/vendor/maunium.net/go/tcell/tscreen.go b/vendor/maunium.net/go/tcell/tscreen.go
index d8e62b2..dd49814 100644
--- a/vendor/maunium.net/go/tcell/tscreen.go
+++ b/vendor/maunium.net/go/tcell/tscreen.go
@@ -444,8 +444,8 @@ func (t *tScreen) ResetTitle() {
func (t *tScreen) Fini() {
t.Lock()
defer t.Unlock()
-
- ti := t.ti
+
+ ti := t.ti
t.cells.Resize(0, 0)
t.TPuts(ti.ShowCursor)
t.TPuts(ti.AttrOff)
@@ -467,7 +467,7 @@ func (t *tScreen) Fini() {
default:
close(t.quit)
}
-
+
t.termioFini()
}