# Configuration details ## Configuration file You can specify AtCoderFriends settings in the configuration file ```.at_coder_friends.yml```. Place it in your working directory (or higher). AtCoderFriends の動作に関する設定は 設定ファイル ```.at_coder_friends.yml``` に記述します。 このファイルは作業ディレクトリ(またはその上位ディレクトリ)に配置します。 ## Default settings The default settings are as follows. If you add new settings or change existing settings in ```.at_coder_friends.yml```, Its contents are merged with the default settings. デフォルトの設定は以下のようになっています。 ```.at_coder_friends.yml```で新しい設定項目の追加や、既存の設定項目の変更をすると、 その内容がデフォルト設定にマージされます。 [/config/default.yml](/config/default.yml) ```YAML user: ~ password: ~ generators: - RubyBuiltin - CxxBuiltin ext_settings: 'awk': # Awk (mawk) submit_lang: - '4009' - '3506' 'bf': # Brainfuck submit_lang: - '4062' - '3507' 'c': # C (GCC) submit_lang: - '4001' - '3002' test_cmd: default: '"{dir}/{base}"' windows: '"{dir}/{base}.exe"' 'cbl': # COBOL - Free submit_lang: - '4061' - '3526' 'clj': # Clojure submit_lang: - '4013' - '3007' 'cr': # Crystal submit_lang: - '4014' - '3511' 'cs': # C# (Mono-mcs) submit_lang: - '4011' - '3006' test_cmd: default: 'mono "{dir}/{base}.exe"' windows: '"{dir}/{base}.exe"' 'cxx': # C++ (GCC) submit_lang: - '4003' - '3003' test_cmd: default: '"{dir}/{base}"' windows: '"{dir}/{base}.exe"' 'd': # D (DMD64) submit_lang: - '4015' - '3009' 'dart': # Dart submit_lang: '4018' 'f90': # Fortran (gfortran) submit_lang: - '4025' - '3012' 'fs': # F# (Mono) submit_lang: - '4023' - '3512' 'go': # Go submit_lang: - '4026' - '3013' 'hs': # Haskell (GHC) submit_lang: - '4027' - '3014' 'java': # Java (OpenJDK) submit_lang: - '4005' - '3016' test_cmd: default: 'java -cp "{dir}" Main' 'jl': # Julia submit_lang: - '4031' - '3518' 'js': # JavaScript (node.js) submit_lang: - '4030' - '3017' 'kt': # Kotlin submit_lang: - '4032' - '3523' 'lisp': # Common Lisp submit_lang: - '4038' - '3008' 'lua': # LuaJIT submit_lang: - '4034' - '3515' 'm': # Octave submit_lang: - '4040' - '3519' 'ml': # OCaml submit_lang: - '4039' - '3018' 'nim': # Nim submit_lang: - '4036' - '3520' 'pas': # Pascal (FPC) submit_lang: - '4041' - '3019' 'php': # PHP7 submit_lang: - '4044' - '3524' 'pl': # Perl submit_lang: - '4042' - '3020' 'py': # Python3 submit_lang: - '4006' - '3023' 'rb': # Ruby submit_lang: - '4049' - '3024' test_cmd: default: 'ruby "{dir}/{base}.rb"' 'rs': # Rust submit_lang: - '4050' - '3504' 'scala': # Scala submit_lang: - '4051' - '3025' 'scm': # Scheme (Gauche) submit_lang: - '4053' - '3026' 'sed': # Sed (GNU sed) submit_lang: - '4066' - '3505' 'sh': # Bash (GNU bash) submit_lang: - '4007' - '3001' 'swift': # Swift submit_lang: - '4055' - '3503' 'ts': # TypeScript submit_lang: - '4057' - '3521' 'txt': # Text (cat) submit_lang: - '4056' - '3027' 'vb': # Visual Basic (Mono) submit_lang: - '4058' - '3028' ``` ## Configuration options - user AtCoder username If omitted, you are prompted to enter it on the first login. AtCoderのユーザ名 省略した場合、初回のログイン時に入力を求められます - password AtCoder password If omitted, you are prompted to enter it on the first login. AtCoderのパスワード 省略した場合、初回のログイン時に入力を求められます - generators List of source generator class names In default, ```RubyBuiltin``` and ```CxxBuiltin``` are available. For other generators, corresponding plugin will be used if it has been installed. ソースジェネレータのクラス名(リスト形式) 既定の状態では「RubyBuiltin」と「CxxBuiltin」が利用でき、 その他のジェネレータは、対応するプラグインがインストールされていれば 利用できます For example, if ```RubyAlt``` is specified as generator name, following plugin will be used: | | | |-----------------|---------------------------------------------------| |Gem Name |```at_coder_friends-generator-ruby_alt``` | |Require Statement|```require 'at_coder_friends/generator/ruby_alt'```| |Main Class Name |```AtCoderFriends::Generator::RubyAlt``` | [search generator in GitHub](https://github.com/search?q=at_coder_friends-generator) - generator_settings - _(generator name)_ Settings for each generator For details, see the manual of each generator. [Settings for built-in generators](#builtin-generator-settings) ジェネレータ毎の設定 詳細は各ジェネレータのマニュアルを参照してください [組込ジェネレータの設定](#builtin-generator-settings) - ext_settings Extension specific settings 拡張子ごとの設定 - _'ext'_ Target extension name 対象となる拡張子 - submit_lang Language ID of submission language 提出言語の言語ID - test_cmd Execution command for test If not set, the test will run using AtCoder "Custom Test" page. テストで使用する実行コマンドの設定 未設定の場合、テストはAtCoderの「コードテスト」ページを使用して行われます - default Default execution command デフォルトの実行コマンド - wndows Execution command for Windows(optional) Windows専用実行コマンド(あれば設定) - macosx Execution command for MacOS(optional) MacOS専用実行コマンド(あれば設定) - linux Execution command for Linux(optional) Linux専用実行コマンド(あれば設定) ### Settings for RubyBuiltin generator | Setting | Description | Default | |---------|-------------|---------| |default_template|Source template file path|[/templates/ruby_builtin.rb.erb](/templates/ruby_builtin.rb.erb)| ### Settings for CxxBuiltin generator | Setting | Description | Default | |---------|-------------|---------| |default_template|Source template file path|[/templates/cxx_builtin.cxx.erb](/templates/cxx_builtin.cxx.erb)| ### Language ID list (2020/06/21) | Language ID | Description | |-------------|-------------| |4001|C (GCC 9.2.1)| |4002|C (Clang 10.0.0)| |4003|C++ (GCC 9.2.1)| |4004|C++ (Clang 10.0.0)| |4005|Java (OpenJDK 11.0.6)| |4006|Python (3.8.2)| |4007|Bash (5.0.11)| |4008|bc (1.07.1)| |4009|Awk (GNU Awk 4.1.4)| |4010|C# (.NET Core 3.1.201)| |4011|C# (Mono-mcs 6.8.0.105)| |4012|C# (Mono-csc 3.5.0)| |4013|Clojure (1.10.1.536)| |4014|Crystal (0.33.0)| |4015|D (DMD 2.091.0)| |4016|D (GDC 9.2.1)| |4017|D (LDC 1.20.1)| |4018|Dart (2.7.2)| |4019|dc (1.4.1)| |4020|Erlang (22.3)| |4021|Elixir (1.10.2)| |4022|F# (.NET Core 3.1.201)| |4023|F# (Mono 10.2.3)| |4024|Forth (gforth 0.7.3)| |4025|Fortran(GNU Fortran 9.2.1)| |4026|Go (1.14.1)| |4027|Haskell (GHC 8.8.3)| |4028|Haxe (4.0.3); js| |4029|Haxe (4.0.3); Java| |4030|JavaScript (Node.js 12.16.1)| |4031|Julia (1.4.0)| |4032|Kotlin (1.3.71)| |4033|Lua (Lua 5.3.5)| |4034|Lua (LuaJIT 2.1.0)| |4035|Dash (0.5.8)| |4036|Nim (1.0.6)| |4037|Objective-C (Clang 10.0.0)| |4038|Common Lisp (SBCL 2.0.3)| |4039|OCaml (4.10.0)| |4040|Octave (5.2.0)| |4041|Pascal (FPC 3.0.4)| |4042|Perl (5.26.1)| |4043|Raku (Rakudo 2020.02.1)| |4044|PHP (7.4.4)| |4045|Prolog (SWI-Prolog 8.0.3)| |4046|PyPy2 (7.3.0)| |4047|PyPy3 (7.3.0)| |4048|Racket (7.6)| |4049|Ruby (2.7.1)| |4050|Rust (1.42.0)| |4051|Scala (2.13.1)| |4052|Java (OpenJDK 1.8.0)| |4053|Scheme (Gauche 0.9.9)| |4054|Standard ML (MLton 20130715)| |4055|Swift (5.2.1)| |4056|Text (cat 8.28)| |4057|TypeScript (3.8)| |4058|Visual Basic (.NET Core 3.1.101)| |4059|Zsh (5.4.2)| |4060|COBOL - Fixed (OpenCOBOL 1.1.0)| |4061|COBOL - Free (OpenCOBOL 1.1.0)| |4062|Brainfuck (bf 20041219)| |4063|Ada2012 (GNAT 9.2.1)| |4064|Unlambda (2.0.0)| |4065|Cython (0.29.16)| |4066|Sed (4.4)| |4067|Vim (8.2.0460)| ### Variables in test_cmd string The following variables in test_cmd string is substituted with the path information of the target file during execution. test_cmd 文字列中の以下の変数には、 実行時に対象ファイルのパス情報が展開されます。 | Variable | Descripton | |----------|----------------------------------------------------------------| |{dir} |the directory name of the file
ファイルの置かれているディレクトリ名| |{base} |the file name excluding the extension
拡張子を除いたファイル名 | ## Examples of overwriting settings - Use only Ruby source generator Rubyのソースジェネレータのみ使用 ```YAML generators: - RubyBuiltin ``` - Do not use source generator ソースジェネレータを使用しない ```YAML generators: ~ ``` - change C++ source template C++のソース雛型を変更 ```YAML generator_settings: CxxBuiltin: default_template: /path/to/template ``` - Test .py with local Python .pyをローカル環境のPythonでテスト ```YAML ext_settings: 'py': test_cmd: default: 'python "{dir}/{base}.py"' ``` - Test .rb with "Custom Test" page .rb を「コードテスト」ページでテスト ```YAML ext_settings: 'rb': test_cmd: ~ ``` - Add .raku(Raku) settings .raku(Raku)の設定を追加 ```YAML ext_settings: 'raku': submit_lang: '4043' # Raku ``` - Change submission language of .cxx to C++(Clang) .cxxの提出言語をC++(Clang)に変更 ```YAML ext_settings: 'cxx': submit_lang: '4004' # C++(Clang) ```