feat(cli): make JetBrains warning more specific (#19687)

This commit is contained in:
Jacob Richman
2026-02-20 13:06:35 -08:00
committed by GitHub
parent b7555ab1e1
commit 089aec8b8d
4 changed files with 194 additions and 87 deletions
+16 -7
View File
@@ -75,9 +75,6 @@ export function supportsTrueColor(): boolean {
return false;
}
/**
* Returns a list of compatibility warnings based on the current environment.
*/
export enum WarningPriority {
Low = 'low',
High = 'high',
@@ -89,7 +86,12 @@ export interface StartupWarning {
priority: WarningPriority;
}
export function getCompatibilityWarnings(): StartupWarning[] {
/**
* Returns a list of compatibility warnings based on the current environment.
*/
export function getCompatibilityWarnings(options?: {
isAlternateBuffer?: boolean;
}): StartupWarning[] {
const warnings: StartupWarning[] = [];
if (isWindows10()) {
@@ -101,11 +103,18 @@ export function getCompatibilityWarnings(): StartupWarning[] {
});
}
if (isJetBrainsTerminal()) {
if (isJetBrainsTerminal() && options?.isAlternateBuffer) {
const platformTerminals: Partial<Record<NodeJS.Platform, string>> = {
win32: 'Windows Terminal',
darwin: 'iTerm2 or Ghostty',
linux: 'Ghostty',
};
const suggestion = platformTerminals[os.platform()];
const suggestedTerminals = suggestion ? ` (e.g., ${suggestion})` : '';
warnings.push({
id: 'jetbrains-terminal',
message:
'Warning: JetBrains terminal detected. You may experience rendering or scrolling issues. Using an external terminal (e.g., Windows Terminal, iTerm2) is recommended.',
message: `Warning: JetBrains mouse scrolling is unreliable. Disabling alternate buffer mode in settings or using an external terminal${suggestedTerminals} is recommended.`,
priority: WarningPriority.High,
});
}