/cli-client-atcoder

atcoder cli client

Primary LanguageShellMIT LicenseMIT

cli-client-atcoder

AtCoderのコマンドライン提出クライアントです。

要求

  • bash
  • curl
  • GNU sed

インストール

  • PATH の通ったところに bin/cca を好きな名前で置いてください。
  • 回答を git 管理し、直下に templates ディレクトリをコピーしてください。
    • または ~/.cli-client-atcoder に以下を記述してください。
      atcoder_assert_tmplroot() {
          TMPLROOT=templatesディレクトリ場所
      }
      
    • この場合、実行ビットを立てておいてください。
      % chmod u+x ~/.cli-client-atcoder
      

使い方

% cca help
/usr/local/bin/cca <サブコマンド> [引数...] - AtCoder 提出クライアント
以下のサブコマンドが利用可能です。

login
	 AtCoderへログインします。IDとパスワードの入力を要求します。
	 ログイン状態は /home/pla/.cli-client-atcoder-cookie ファイルにセッションとして保持されます。

logout
	 AtCoderをセッションログアウトします。

md (または new)
	 引数: [contest]
	 コンテストの全タスクのディレクトリを掘ります。
	 引数にコンテスト名(URLに表示されているもの)を指定した場合、コンテスト名のディレクトリを作成し
	 各タスクのディレクトリはその中に作成されます。
	 引数を指定しなかった場合、カレントディレクトリをコンテスト名と見なし
	 各タスクのディレクトリはカレントディレクトリに作成されます。
	 作成されるディレクトリは a b c ... のようになります。
	 例) ~/work/abc188$ cca md

mkdir
	 引数: [contest]
	 md サブコマンドと同様ですが
	 各タスクのディレクトリ名は abc188_a abc188_b ... のようにURLのものになります。
	 タスク名の末尾がアルファベット一文字で定まらないようなコンテスト(abs等)で使います。

init (または i, gen)
	 引数: [lang]
	 タスクディレクトリ下に回答テンプレートを生成します。タスクディレクトリ下で実行してください。
	 例) ~/work/abc188/a$ cca init
	 例) ~/work/abc188/b$ cca init bash

switch
	 引数: <lang>
	 タスクディレクトリ下の回答テンプレートを別言語に切り替えます。タスクディレクトリ下で実行してください。
	 例) ~/work/abc188/a$ cca switch bash
	 引数: <ファイル名>
	 タスクディレクトリ下の回答ファイルを切り替えます。
	 例) ~/work/abc188/a$ cca switch Main2.cc

edit (または e)
	 エディタを起動して回答を編集します。タスクディレクトリ下で実行してください。
	 デフォルトでは EDITOR 環境変数が使われます。
	 設定ファイルで atcoder_edit() シェル関数を定義してカスタマイズできます。

fetch
	 タスクディレクトリ下にサンプル入出力をダウンロードして保存します。

test (または t)
	 引数: [テストケース名]
	 サンプル入力で回答を実行し、サンプル出力との結果の一致をチェックします。
	 テストケース名を省略すると全ケースでチェックします。

submit (または sub, s)
	 回答を提出します。提出前にサンプル入出力と比較し、一致しない場合は中止します。

force-submit (または fsub)
	 回答を提出します。サンプル入出力との比較は行いません。

run
	 回答コードを起動します。入力を標準入力から与えてください。

repl
	 回答コードをロードした状態で処理系と対話します。

help
	 このヘルプを表示します。

version
	 バージョンを表示します。

このツールは開発中です。詳細は以下URLにてご確認ください:
https://github.com/plaster/cli-client-atcoder

注意事項

  • AtCoder が仕様を変更した場合、動作しなくなる可能性があります。
  • templates/config ディレクトリ 下には、このリポジトリの管理者が AtCoderのルール記述から非公式に引き写し、改変した内容(具体的には処理系名称および実行コマンド)が含まれています。
    • 一部の言語・処理系のみです。このリポジトリの管理者が独断と偏見により選択しました。
    • また、各コマンドは未検証です。
    • あなたの環境に合わせて修正・追加してご利用ください。