detect-terminal
Version:
Detect the terminal program currently being used, with support for iTerm, Terminal.app, Hyper, iTerm2, ConEmu, Cmde,r Alacritty, Xterm, Terminator, Termux, Kitty, and others. Detection is based on environment variables and process-level indicators to iden
1 lines • 4.57 kB
Source Map (JSON)
{"version":3,"sources":["../../src/process-title.ts"],"sourcesContent":["import type { DetectOptions, DetectionResult } from './types';\n\nexport const detectFromProcessTitleResult = (\n options: Pick<DetectOptions, 'processTitle'> = {}\n): DetectionResult | null => {\n const processTitle = (options.processTitle ?? process.title)?.toLowerCase() ?? '';\n\n if (/^alacritty/.test(processTitle)) {\n return {\n terminal: 'alacritty',\n source: 'process_title'\n };\n }\n\n if (/^kitty/.test(processTitle)) {\n return {\n terminal: 'kitty',\n source: 'process_title'\n };\n }\n\n if (/^wezterm/.test(processTitle)) {\n return {\n terminal: 'wezterm',\n source: 'process_title'\n };\n }\n\n if (/^hyper/.test(processTitle)) {\n return {\n terminal: 'hyper',\n source: 'process_title'\n };\n }\n\n if (/^foot/.test(processTitle)) {\n return {\n terminal: 'foot',\n source: 'process_title'\n };\n }\n\n if (/^rio/.test(processTitle)) {\n return {\n terminal: 'rio',\n source: 'process_title'\n };\n }\n\n if (/^ghostty/.test(processTitle)) {\n return {\n terminal: 'ghostty',\n source: 'process_title'\n };\n }\n\n if (/bash/.test(processTitle)) {\n return {\n terminal: 'bash',\n source: 'process_title'\n };\n }\n\n if (/zsh/.test(processTitle)) {\n return {\n terminal: 'zsh',\n source: 'process_title'\n };\n }\n\n if (/ksh/.test(processTitle)) {\n return {\n terminal: 'ksh',\n source: 'process_title'\n };\n }\n\n if (/fish/.test(processTitle)) {\n return {\n terminal: 'fish',\n source: 'process_title'\n };\n }\n\n if (/csh/.test(processTitle)) {\n return {\n terminal: 'csh',\n source: 'process_title'\n };\n }\n\n if (/tcsh/.test(processTitle)) {\n return {\n terminal: 'tcsh',\n source: 'process_title'\n };\n }\n\n if (/pwsh/.test(processTitle)) {\n return {\n terminal: 'powershell',\n source: 'process_title'\n };\n }\n\n if (/powershell/.test(processTitle)) {\n return {\n terminal: 'powershell',\n source: 'process_title'\n };\n }\n\n if (/cmd/.test(processTitle)) {\n return {\n terminal: 'cmd',\n source: 'process_title'\n };\n }\n\n if (/sh$/.test(processTitle)) {\n return {\n terminal: 'sh',\n source: 'process_title'\n };\n }\n\n if (/^node/.test(processTitle)) {\n return {\n terminal: 'node',\n source: 'process_title'\n };\n }\n\n return null;\n};\n\nexport const detectFromProcessTitle = (): string | null => {\n return detectFromProcessTitleResult()?.terminal ?? null;\n};\n"],"mappings":";;;;AAEO,IAAM,+BAA+B,wBAC1C,UAA+C,CAAC,MACrB;AAC3B,QAAM,gBAAgB,QAAQ,gBAAgB,QAAQ,QAAQ,YAAY,KAAK;AAE/E,MAAI,aAAa,KAAK,YAAY,GAAG;AACnC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,SAAS,KAAK,YAAY,GAAG;AAC/B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,WAAW,KAAK,YAAY,GAAG;AACjC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,SAAS,KAAK,YAAY,GAAG;AAC/B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,QAAQ,KAAK,YAAY,GAAG;AAC9B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,YAAY,GAAG;AAC7B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,WAAW,KAAK,YAAY,GAAG;AACjC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,YAAY,GAAG;AAC7B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,MAAM,KAAK,YAAY,GAAG;AAC5B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,MAAM,KAAK,YAAY,GAAG;AAC5B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,YAAY,GAAG;AAC7B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,MAAM,KAAK,YAAY,GAAG;AAC5B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,YAAY,GAAG;AAC7B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,YAAY,GAAG;AAC7B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,aAAa,KAAK,YAAY,GAAG;AACnC,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,MAAM,KAAK,YAAY,GAAG;AAC5B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,MAAM,KAAK,YAAY,GAAG;AAC5B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,MAAI,QAAQ,KAAK,YAAY,GAAG;AAC9B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT,GApI4C;AAsIrC,IAAM,yBAAyB,6BAAqB;AACzD,SAAO,6BAA6B,GAAG,YAAY;AACrD,GAFsC;","names":[]}