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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…