UNPKG

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

124 lines (123 loc) 2.7 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/process-title.ts var detectFromProcessTitleResult = /* @__PURE__ */ __name((options = {}) => { const processTitle = (options.processTitle ?? process.title)?.toLowerCase() ?? ""; if (/^alacritty/.test(processTitle)) { return { terminal: "alacritty", source: "process_title" }; } if (/^kitty/.test(processTitle)) { return { terminal: "kitty", source: "process_title" }; } if (/^wezterm/.test(processTitle)) { return { terminal: "wezterm", source: "process_title" }; } if (/^hyper/.test(processTitle)) { return { terminal: "hyper", source: "process_title" }; } if (/^foot/.test(processTitle)) { return { terminal: "foot", source: "process_title" }; } if (/^rio/.test(processTitle)) { return { terminal: "rio", source: "process_title" }; } if (/^ghostty/.test(processTitle)) { return { terminal: "ghostty", source: "process_title" }; } if (/bash/.test(processTitle)) { return { terminal: "bash", source: "process_title" }; } if (/zsh/.test(processTitle)) { return { terminal: "zsh", source: "process_title" }; } if (/ksh/.test(processTitle)) { return { terminal: "ksh", source: "process_title" }; } if (/fish/.test(processTitle)) { return { terminal: "fish", source: "process_title" }; } if (/csh/.test(processTitle)) { return { terminal: "csh", source: "process_title" }; } if (/tcsh/.test(processTitle)) { return { terminal: "tcsh", source: "process_title" }; } if (/pwsh/.test(processTitle)) { return { terminal: "powershell", source: "process_title" }; } if (/powershell/.test(processTitle)) { return { terminal: "powershell", source: "process_title" }; } if (/cmd/.test(processTitle)) { return { terminal: "cmd", source: "process_title" }; } if (/sh$/.test(processTitle)) { return { terminal: "sh", source: "process_title" }; } if (/^node/.test(processTitle)) { return { terminal: "node", source: "process_title" }; } return null; }, "detectFromProcessTitleResult"); var detectFromProcessTitle = /* @__PURE__ */ __name(() => { return detectFromProcessTitleResult()?.terminal ?? null; }, "detectFromProcessTitle"); export { detectFromProcessTitle, detectFromProcessTitleResult }; //# sourceMappingURL=process-title.mjs.map