@shutootaki/gwm
Version:
git worktree manager CLI
60 lines • 1.62 kB
JavaScript
/**
* gwm completion status コマンド
* 補完のインストール状況を表示
*/
import { existsSync } from 'fs';
import { getDefaultInstallPath, getKiroInstallPath } from './paths.js';
/**
* インストール先パスを取得
*/
function getInstallPaths() {
return [
{
shell: 'bash',
path: getDefaultInstallPath('bash'),
installed: false,
},
{
shell: 'zsh',
path: getDefaultInstallPath('zsh'),
installed: false,
},
{
shell: 'fish',
path: getDefaultInstallPath('fish'),
installed: false,
},
{
shell: 'kiro',
path: getKiroInstallPath(),
installed: false,
},
];
}
/**
* ステータスを取得
*/
export function getStatus() {
const paths = getInstallPaths();
for (const info of paths) {
info.installed = existsSync(info.path);
}
return paths;
}
/**
* ステータスをフォーマット
*/
export function formatStatus(statuses) {
const lines = ['Completion Status:', ''];
for (const status of statuses) {
const label = status.shell === 'kiro' ? 'Kiro/Fig' : status.shell.toUpperCase();
const icon = status.installed ? '✓' : '✗';
const state = status.installed ? 'installed' : 'not installed';
lines.push(` ${icon} ${label.padEnd(10)} ${state}`);
if (status.installed) {
lines.push(` └─ ${status.path}`);
}
}
return lines.join('\n');
}
//# sourceMappingURL=status.js.map