Merge pull request #554 from mitchellh/terminfo

terminfo: advertise OSC 52 support
This commit is contained in:
Mitchell Hashimoto
2023-09-26 22:09:26 -07:00
committed by GitHub

View File

@ -57,6 +57,9 @@ pub const ghostty: Source = .{
// newline ignored after 80 cols (???)
.{ .name = "xenl", .value = .{ .boolean = {} } },
// Terminal supports default colors
.{ .name = "AX", .value = .{ .boolean = {} } },
// Tmux "truecolor" mode. Other programs also use this to detect
// if the terminal supports "truecolor". This means that the terminal
// can display 24-bit RGB colors.
@ -65,6 +68,9 @@ pub const ghostty: Source = .{
// Colored underlines. https://sw.kovidgoyal.net/kitty/underlines/
.{ .name = "Su", .value = .{ .boolean = {} } },
// Terminal supports a number of xterm extensions
.{ .name = "XT", .value = .{ .boolean = {} } },
// Full keyboard support using Kitty's keyboard protocol:
// https://sw.kovidgoyal.net/kitty/keyboard-protocol/
.{ .name = "fullkbd", .value = .{ .boolean = {} } },
@ -104,6 +110,12 @@ pub const ghostty: Source = .{
// Cursor style reset
.{ .name = "Se", .value = .{ .string = "\\E[2 q" } },
// OSC 52 Clipboard
.{ .name = "Ms", .value = .{ .string = "\\E]52;%p1%s;%p2%s\\007" } },
// Synchronized output
.{ .name = "Sync", .value = .{ .string = "\\E[?2026%?%p1%{1}%-%tl%eh" } },
// These are all capabilities that should be pretty straightforward
// and map to input sequences.
.{ .name = "bel", .value = .{ .string = "^G" } },