```rust
fn main (){
let args:string = "";
let argument: Args = Args::new(args);
}
impl Args{
fn new (args:string) -> Resut<int,Err>{
// 実際の処理
}
}
```
このコードの argument を main を Resut 型を返すようにしないで、
argument で Error が帰ってきた場合にはエラーをプリントしてプログラムを終了するようにしたい
# 仕様書
## 概要
git diff の内容を ChatGPT に API で送信して、コミットメッセージの候補を 3 件もらう
3 件の内 1 つを選択して、それをタイトルにしてコミットを実行する。
## 必要機能
- コンフィグファイルの読み込み
- yaml
- git diff を取得
- git diff -cached を取得(default)
- GPT に API を送信
- レスポンス結果からユーザーに選択を促す
- 選択したものからコミットメッセージを作成
- config 機能
- token の設定
- パラメータ最大トークン数
- コミットメッセージの数
- 言語
- git diff --cached かどうか?
## API
- URL
- Token
- message
## 実行コマンド
```bash
gptcommit run
```
```bash
gptcommit run --no-cached
```
```bash
gptcommit config --token
```
```bash
gptcommit config --langage
```
```bash
gptcommit config --use-no-cached
```
```bash
gptcommit config --draft
```