fix(tui): provide the JetBrains terminal capabilities (#5037)

This commit is contained in:
Sviatoslav Abakumov
2026-05-27 14:20:44 +04:00
committed by GitHub
parent b62776e4a2
commit 4bbe2959bd
2 changed files with 15 additions and 0 deletions

View File

@@ -41,6 +41,7 @@ export function setCellDimensions(dims: CellDimensions): void {
export function detectCapabilities(): TerminalCapabilities {
const termProgram = process.env.TERM_PROGRAM?.toLowerCase() || "";
const terminalEmulator = process.env.TERMINAL_EMULATOR?.toLowerCase() || "";
const term = process.env.TERM?.toLowerCase() || "";
const colorTerm = process.env.COLORTERM?.toLowerCase() || "";
const hasTrueColorHint = colorTerm === "truecolor" || colorTerm === "24bit";
@@ -82,6 +83,10 @@ export function detectCapabilities(): TerminalCapabilities {
return { images: null, trueColor: true, hyperlinks: true };
}
if (terminalEmulator === "jetbrains-jediterm") {
return { images: null, trueColor: true, hyperlinks: false };
}
// Unknown terminal: be conservative. OSC 8 is rendered invisibly as "just
// text" on terminals that swallow it, which means the URL disappears from
// the rendered output. Default to the legacy `text (url)` behavior unless we