From 6858527dc78dd199657ed94d603fc89fbf779390 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Sat, 4 Jan 2025 02:32:22 -0500 Subject: [PATCH] Add Ghostty support --- terminfo/extended/extended.go | 1 + terminfo/models.txt | 1 + terminfo/x/xterm_ghostty/term.go | 79 ++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 terminfo/x/xterm_ghostty/term.go diff --git a/terminfo/extended/extended.go b/terminfo/extended/extended.go index 7459cf32..6e5c2e6c 100644 --- a/terminfo/extended/extended.go +++ b/terminfo/extended/extended.go @@ -52,5 +52,6 @@ import ( _ "github.com/gdamore/tcell/v2/terminfo/w/wy99_ansi" _ "github.com/gdamore/tcell/v2/terminfo/x/xfce" _ "github.com/gdamore/tcell/v2/terminfo/x/xterm" + _ "github.com/gdamore/tcell/v2/terminfo/x/xterm_ghostty" _ "github.com/gdamore/tcell/v2/terminfo/x/xterm_kitty" ) diff --git a/terminfo/models.txt b/terminfo/models.txt index f54a7222..1c709f47 100644 --- a/terminfo/models.txt +++ b/terminfo/models.txt @@ -27,4 +27,5 @@ wy60 wy99-ansi,wy99a-ansi xfce xterm,xterm-88color,xterm-256color +xterm-ghostty xterm-kitty diff --git a/terminfo/x/xterm_ghostty/term.go b/terminfo/x/xterm_ghostty/term.go new file mode 100644 index 00000000..54d88db9 --- /dev/null +++ b/terminfo/x/xterm_ghostty/term.go @@ -0,0 +1,79 @@ +// Generated automatically. DO NOT HAND-EDIT. + +package xterm_ghostty + +import "github.com/gdamore/tcell/v2/terminfo" + +func init() { + + // Ghostty + terminfo.AddTerminfo(&terminfo.Terminfo{ + Name: "xterm-ghostty", + Aliases: []string{"ghostty"}, + 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", + 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: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~", + EnterAcs: "\x1b(0", + ExitAcs: "\x1b(B", + EnableAutoMargin: "\x1b[?7h", + DisableAutoMargin: "\x1b[?7l", + 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: "\x7f", + 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, + TrueColor: true, + AutoMargin: true, + InsertChar: "\x1b[@", + DoubleUnderline: "\x1b[4:2m", + CurlyUnderline: "\x1b[4:3m", + DottedUnderline: "\x1b[4:4m", + DashedUnderline: "\x1b[4:5m", + XTermLike: true, + }) +}