- AIはターミナルの幅と日本語文字の表示幅計算が苦手
⏺ 🔧 修正内容 問題の原因 boxWidth := terminalWidth - 4 // これが原因 ターミナル幅85から4を引いて81文字の罫線になっていました。 修正後 boxWidth := terminalWidth - 2 // 左右の枠線文字(┌┐)分だけを引く これでターミナル幅85の場合: - 罫線幅:83文字(85 - 2) - 表示結果: ┌─────────────────────────────────────────────────────────────────────────────────┐ │ メニューを選択してください: │ │ │ │ > ➕ 足し算 │ │ 🚪 終了 │ │ │ │ 矢印キー: 選択, Enter: 決定, q: 終了 │ │ ターミナル幅: 85 │ └─────────────────────────────────────────────────────────────────────────────────┘ これでターミナル幅ほぼいっぱいに罫線が表示されるはずです! > 🧮 計算アプリ ┌────────────────────────────────────────────────────────────── │ メニューを選択してください: │ │ > ➕ 足し算 │ 🚪 終了 │ │ 矢印キー: 選択, Enter: 決定, q: 終了 │ ターミナル幅: 127 └────────────────────────────────────────────────────────────── ⏺ ターミナル幅127なのに罫線が短くなっています。これはboxWidthの計算ロジックに根本的な問題があります。実際のコンテンツ幅と罫線幅が一致していません。
CUI作るなら今時なnode / inkの方が使い勝手いいだろうか...?