/**
 * Task display utilities
 *
 * UI/表示に関する関数を分離
 */
import chalk from 'chalk';
import { header, info, divider } from '../../shared/ui/index.js';
/**
 * タスク一覧を表示
 */
export function showTaskList(runner) {
    const tasks = runner.listTasks();
    console.log();
    divider('=', 60);
    header('TAKT タスク一覧');
    divider('=', 60);
    console.log(chalk.gray(`タスクファイル: ${runner.getTasksFilePath()}`));
    divider('-', 60);
    if (tasks.length === 0) {
        console.log();
        info('実行待ちのタスクはありません。');
        console.log(chalk.gray(`\nタスクファイル: ${runner.getTasksFilePath()} を確認してください。`));
        console.log(chalk.gray('takt add でタスクを追加できます。'));
        return;
    }
    console.log(chalk.green(`\n${tasks.length} 個のタスクがあります:\n`));
    for (let i = 0; i < tasks.length; i++) {
        const task = tasks[i];
        if (task) {
            const firstLine = task.content.trim().split('\n')[0]?.slice(0, 60) ?? '';
            console.log(chalk.cyan.bold(`  [${i + 1}] ${task.name}`));
            console.log(chalk.gray(`      ${firstLine}...`));
            if (task.data) {
                const extras = [];
                if (task.data.worktree) {
                    extras.push(`worktree: ${typeof task.data.worktree === 'string' ? task.data.worktree : 'auto'}`);
                }
                if (task.data.branch) {
                    extras.push(`branch: ${task.data.branch}`);
                }
                if (typeof task.data.workflow === 'string') {
                    extras.push(`workflow: ${task.data.workflow}`);
                }
                if (extras.length > 0) {
                    console.log(chalk.dim(`      [${extras.join(', ')}]`));
                }
            }
        }
    }
    console.log();
    divider('=', 60);
    console.log(chalk.yellow.bold('使用方法:'));
    console.log(chalk.gray('  /add-task           タスクを追加'));
    console.log(chalk.gray('  /task run           次のタスクを実行'));
    console.log(chalk.gray('  /task run <name>    指定したタスクを実行'));
}
//# sourceMappingURL=display.js.map