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
JavaScript
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