index.js 657 B

123456789101112131415161718192021
  1. import process from 'node:process';
  2. export default function isUnicodeSupported() {
  3. const {env} = process;
  4. const {TERM, TERM_PROGRAM} = env;
  5. if (process.platform !== 'win32') {
  6. return TERM !== 'linux'; // Linux console (kernel)
  7. }
  8. return Boolean(env.WT_SESSION) // Windows Terminal
  9. || Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)
  10. || env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder
  11. || TERM_PROGRAM === 'Terminus-Sublime'
  12. || TERM_PROGRAM === 'vscode'
  13. || TERM === 'xterm-256color'
  14. || TERM === 'alacritty'
  15. || TERM === 'rxvt-unicode'
  16. || TERM === 'rxvt-unicode-256color'
  17. || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';
  18. }