ハイフンの表記揺れでコマンド失敗が発生

あまりにも酷い。
ベズ‐覚えて:「内容」で「内容」の部分をSQLiteに流す設定なのに、OpenAIのAPIを呼び出してるから普通に会話をしようとしている。
‐と-が違うという話。
オンラインの文字コード変換ツールで見るとこんな感じ

リアルタイム文字コード変換/解析ツール
手軽に文字の調査及び変換を行える専用サイトです。リアルタイムにコードが表示されます。

この2Dのハイフンのみがコマンドとして判定されるから、「ベズ‐覚えて」だと上手く行かない
ハイフンの表記揺れに対応
Codexにハイフンの表記揺れの修正をお願いし、以下のような実装に変更
定型コマンドの`ベズ`と機能名の間に限り、半角ハイフンに加えて、ハイフン、ノンブレーキングハイフン、フィギュアダッシュ、エンダッシュ、エムダッシュ、マイナス記号、小さいハイフンマイナス、全角ハイフンマイナスを許可する判定を実装した。
Codex生成の作業ログより
main.rs内に以下の関数を追加
fn is_supported_command_dash(character: char) -> bool {
matches!(
character,
'-' | '‐' | '‑' | '‒' | '–' | '—' | '−' | '﹣' | '-'
)
}
これでコマンドを手打ちしても通るようになった。

コメント