Closed Hiroshiba closed 1 year ago
メモです。
{owner}/{repository}
の指定方法ですが、clapでCLI引数をパースする段階で(String, String)
まで分解するのがよいかと思います。そうすれば不正な引数に対してclapの文脈でエラーを表示できます。
実際は(String, String)
相当のstructを定義してFromStr
をimplすることになると思います。FromStr
は手で書いてもいいのですが、ついさっきparse-displayというちょうど良いライブラリを発見しました。これがちょうどはまるかと思います。(なんか(?<owner>[…]+)/(?<repository>[…]+)
みたいな正規表現一つからFromStr
の実装生やせるやつないかな?と思ったら発見できた上に結構ポピュラーでした)
内容
コアの同梱物などをダウンロードするダウンローダーがあります。 現状はVOICEVOX/voicevox_coreのリポジトリからダウンロードするので固定になっていますが、これを指定可能にしておくとテストなどに便利です。
同梱物をダウンロードする対象リポジトリを規制で指定できるようになればこのタスクは完了だと思います。
Pros 良くなる点
テストに便利
Cons 悪くなる点
指定方法が自明ではない
実現方法
同梱物のダウンロードは2つあるので、それぞれを指定可能にすればOKなはず。 Rustの勉強にちょうどよいかも。
その他