INNER CODE UNIT · TypeScript
supportsCursorControl
xlnfinance/xln · brainvault/src/cli/index.ts:168
function supportsCursorControl(): boolean {
const term = process.env.TERM?.trim().toLowerCase();
return stdout.isTTY === true
&& term !== undefined
&& term !== ''
&& term !== 'dumb'
&& term !== 'unknown';
}
function supportsAlternateScreen(): boolean {
const term = process.env.TERM?.trim().toLowerCase();
return term !== undefined
&& /^(?:xterm(?:[-.].*)?|screen(?:[-.].*)?|tmux(?:[-.].*)?|alacritty|foot(?:[-.].*)?|st(?:[-.].*)?)$/.test(term);
}
function hasReliableSensitiveGeometry(): boolean {
return Number.isSafeInteger(stdout.columns) && (stdout.columns ?? 0) >= 40
&& Number.isSafeInteger(stdout.rows) && (stdout.rows ?? 0) >= 14