at_coder_friends 0.6.1 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -2
  3. data/.rubocop_todo.yml +16 -0
  4. data/.travis.yml +1 -1
  5. data/CHANGELOG.md +99 -0
  6. data/Gemfile.lock +18 -18
  7. data/README.md +28 -9
  8. data/at_coder_friends.gemspec +12 -6
  9. data/config/default.yml +146 -72
  10. data/docs/CONFIGURATION.md +224 -82
  11. data/lib/at_coder_friends.rb +3 -0
  12. data/lib/at_coder_friends/cli.rb +23 -0
  13. data/lib/at_coder_friends/config_loader.rb +11 -3
  14. data/lib/at_coder_friends/context.rb +10 -6
  15. data/lib/at_coder_friends/emitter.rb +2 -2
  16. data/lib/at_coder_friends/generator/base.rb +42 -0
  17. data/lib/at_coder_friends/generator/cxx_builtin.rb +197 -144
  18. data/lib/at_coder_friends/generator/main.rb +8 -2
  19. data/lib/at_coder_friends/generator/ruby_builtin.rb +98 -52
  20. data/lib/at_coder_friends/parser/constraints.rb +7 -3
  21. data/lib/at_coder_friends/parser/input_format.rb +455 -137
  22. data/lib/at_coder_friends/parser/input_type.rb +92 -0
  23. data/lib/at_coder_friends/parser/main.rb +1 -0
  24. data/lib/at_coder_friends/parser/modulo.rb +1 -1
  25. data/lib/at_coder_friends/parser/sample_data.rb +3 -1
  26. data/lib/at_coder_friends/parser/section_wrapper.rb +13 -7
  27. data/lib/at_coder_friends/path_info.rb +51 -0
  28. data/lib/at_coder_friends/path_util.rb +0 -31
  29. data/lib/at_coder_friends/problem.rb +84 -5
  30. data/lib/at_coder_friends/scraping/agent.rb +11 -2
  31. data/lib/at_coder_friends/scraping/authentication.rb +3 -4
  32. data/lib/at_coder_friends/scraping/custom_test.rb +5 -6
  33. data/lib/at_coder_friends/scraping/submission.rb +6 -7
  34. data/lib/at_coder_friends/scraping/tasks.rb +8 -3
  35. data/lib/at_coder_friends/test_runner/base.rb +17 -4
  36. data/lib/at_coder_friends/test_runner/judge.rb +7 -9
  37. data/lib/at_coder_friends/test_runner/sample.rb +2 -4
  38. data/lib/at_coder_friends/verifier.rb +2 -3
  39. data/lib/at_coder_friends/version.rb +1 -1
  40. data/templates/{cxx_builtin_interactive.cxx → cxx_builtin.cxx.erb} +26 -4
  41. data/templates/{ruby_builtin_interactive.rb → ruby_builtin.rb.erb} +17 -3
  42. metadata +20 -15
  43. data/tasks/regression/check_const.rake +0 -136
  44. data/tasks/regression/check_diff.rake +0 -30
  45. data/tasks/regression/check_parse.rake +0 -56
  46. data/tasks/regression/regression.rb +0 -72
  47. data/tasks/regression/section_list.rake +0 -53
  48. data/tasks/regression/setup.rake +0 -48
  49. data/templates/cxx_builtin_default.cxx +0 -26
  50. data/templates/ruby_builtin_default.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 54e37c0175b9736f4e99b6243af3b8970f34bef3
4
- data.tar.gz: 588075eda25ca77b7f5fcef1f7b6158e97274af5
3
+ metadata.gz: 529abf515e1ac88d91324d75878b5230a06f0950
4
+ data.tar.gz: e8cac75318fac06d78e33a2541250fc2f3d511d9
5
5
  SHA512:
6
- metadata.gz: e2f1ef0a2dc869c89ff693c884fa23a61675d472cc3d3ef55f0d4f3d7faf880114584e0b9fde3207493502963a8d8b2cab4ef64aaca830dd1b580514c4bf1e6c
7
- data.tar.gz: 2e707b0b63b1dedbd9df0f93bd7cd9cfaf4614cf7c731c63d2f4cd5382ad1944baed2bbac6bf829d1362c61b8761a37e6299c35e42e80b0d903edc3ce2c582c6
6
+ metadata.gz: 0c0c9ccf130759df1c6fb7eca64abf5dcfd0a404bbbda4d4b307d95a9e00a5c6695b048f87fb3b08f9d347be404ae058927c81ed56440961cabeb988216cf9e1
7
+ data.tar.gz: a2804299f1870c9a5a4e7975bec387cc0c52cba798b6fffb546162f47aaf996adb866c71dd6aee146276ec59b15815a2e6eae652600206073f24d5abcefc82f4
@@ -1,11 +1,11 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
+ TargetRubyVersion: 2.3
4
5
  Exclude:
5
6
  - 'templates/**/*'
6
7
  - 'spec/fixtures/**/*'
7
8
  - 'regression/**/*'
8
- TargetRubyVersion: 2.3
9
9
 
10
10
  Lint/AmbiguousBlockAssociation:
11
11
  Exclude:
@@ -26,5 +26,5 @@ Metrics/ModuleLength:
26
26
  Exclude:
27
27
  - 'spec/**/*.rb'
28
28
 
29
- Naming/UncommunicativeMethodParamName:
29
+ Naming/MethodParameterName:
30
30
  MinNameLength: 1
@@ -6,3 +6,19 @@ Metrics/ClassLength:
6
6
 
7
7
  Metrics/MethodLength:
8
8
  Max: 15
9
+
10
+ # enable new cops to avoid warnings
11
+ Lint/RaiseException:
12
+ Enabled: true
13
+
14
+ Lint/StructNewOverride:
15
+ Enabled: true
16
+
17
+ Style/HashEachMethods:
18
+ Enabled: true
19
+
20
+ Style/HashTransformKeys:
21
+ Enabled: true
22
+
23
+ Style/HashTransformValues:
24
+ Enabled: true
@@ -7,7 +7,7 @@ env:
7
7
  - CC_TEST_REPORTER_ID=cb942bcc168feb78c43c506364d5344c5ec9a46a0b68dc66acb581e77c981ff1
8
8
  - COVERAGE=true
9
9
  before_install:
10
- - gem install bundler -v '2.0.2'
10
+ - gem install bundler -v '2.1.4'
11
11
  before_script:
12
12
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
13
13
  - chmod +x ./cc-test-reporter
@@ -0,0 +1,99 @@
1
+ # Change log
2
+
3
+ ## master (unreleased)
4
+
5
+ ## 0.6.6 (2020-05-29)
6
+ ### Added
7
+ - open submission list after submit.
8
+ - enable -%> in ERBs.
9
+ - error handling in fetch_problem.
10
+ - remove \mathrm{...} from expressions.
11
+
12
+ ### Changed
13
+ - change task id match pattern on submission.
14
+ - treat input more than 19 digits as string.
15
+
16
+ ## 0.6.5 (2020-04-15)
17
+ ### Added
18
+ - multiple language version support.
19
+
20
+ ## 0.6.4 (2020-03-08)
21
+ ### Added
22
+ - Modulo RegExp pattern.
23
+
24
+ ### Changed
25
+ - minor changes in ERBs.
26
+ - allow underscores in problem ID.
27
+ - allow whitespaces in data file path.
28
+
29
+ ### Deleted
30
+ - remove tasks folder from installation
31
+
32
+ ## 0.6.3 (2020-01-05)
33
+ ### Added
34
+ - 'vertical array + matrix' input format support.
35
+ - 'matrix + vertical array' input format support.
36
+ - 'vertically expanded matrices' input format support.
37
+ - 'horizontally expanded matrices' input format support.
38
+ - decimal type support.
39
+ - input data with delimiter(- : /) support.
40
+ - input data of mixed type support.
41
+ - input of N-1 lines support.
42
+
43
+ ### Changed
44
+ - Change template file format to ERB.
45
+ - Template file integration
46
+
47
+ ### Deleted
48
+ - Template file for interactive problems.
49
+ - '### OUTPUT ###' embedding pattern.
50
+ - '### URL ###' embedding pattern.
51
+
52
+ ## 0.6.2 (2019-11-18)
53
+ ### Added
54
+ - add ```check-and-go``` command.
55
+
56
+ ### Changed
57
+ - Enhancement in input format parser.
58
+
59
+ ## 0.6.1 (2019-10-28)
60
+ ### Added
61
+ - Extract MOD values from problem description.
62
+
63
+ ### Changed
64
+ - Enhancement in MAX value parser.
65
+
66
+ ## 0.6.0 (2019-10-21)
67
+ ### Added
68
+ - Output problem url to generated sources.
69
+ - Interactive problem support.
70
+ - Binary problem support.
71
+ - Add settings about source generation.
72
+
73
+ ### Changed
74
+ - Treat all ```A_*.in``` format files as sample input data
75
+
76
+ ## 0.5.2 (2019-10-14)
77
+ ### Fixed
78
+ - Fix input format parser.
79
+
80
+ ## 0.5.1 (2019-10-14)
81
+ ### Added
82
+ - Colored test results.
83
+
84
+ ### Changed
85
+ - Enhancement in sample data parser.
86
+ - Enhancement in input format parser.
87
+
88
+ ## 0.5.0 (2019-10-04)
89
+ ### Added
90
+ - User/password setting in ```.at_coder_friends.yml``` is no longer required.
91
+ - Saving and restoring session feature.
92
+
93
+ ## 0.4.0 (2019-09-16)
94
+ ### Added
95
+ - Test and submission are now available in 36 languages.
96
+
97
+ ## 0.3.3 (2019-09-01)
98
+ ### Added
99
+ - Add ```open-contest-page``` command.
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- at_coder_friends (0.6.1)
4
+ at_coder_friends (0.6.6)
5
5
  colorize (~> 0.8.1)
6
- launchy (~> 2.4.3)
6
+ launchy (>= 2.4.3, < 2.6.0)
7
7
  mechanize (~> 2.0)
8
8
 
9
9
  GEM
@@ -19,10 +19,10 @@ GEM
19
19
  docile (1.3.2)
20
20
  domain_name (0.5.20190701)
21
21
  unf (>= 0.0.5, < 1.0.0)
22
- hashdiff (1.0.0)
22
+ hashdiff (1.0.1)
23
23
  http-cookie (1.0.3)
24
24
  domain_name (~> 0.5)
25
- json (2.2.0)
25
+ json (2.3.0)
26
26
  launchy (2.4.3)
27
27
  addressable (~> 2.3)
28
28
  mechanize (2.7.6)
@@ -34,31 +34,31 @@ GEM
34
34
  nokogiri (~> 1.6)
35
35
  ntlm-http (~> 0.1, >= 0.1.1)
36
36
  webrobots (>= 0.0.9, < 0.2)
37
- mime-types (3.3)
37
+ mime-types (3.3.1)
38
38
  mime-types-data (~> 3.2015)
39
- mime-types-data (3.2019.0904)
39
+ mime-types-data (3.2020.0512)
40
40
  mini_portile2 (2.4.0)
41
41
  net-http-digest_auth (1.4.1)
42
- net-http-persistent (3.1.0)
42
+ net-http-persistent (4.0.0)
43
43
  connection_pool (~> 2.2)
44
- nokogiri (1.10.4)
44
+ nokogiri (1.10.9)
45
45
  mini_portile2 (~> 2.4.0)
46
46
  ntlm-http (0.1.1)
47
- public_suffix (4.0.1)
48
- rake (13.0.0)
47
+ public_suffix (4.0.5)
48
+ rake (13.0.1)
49
49
  rspec (3.9.0)
50
50
  rspec-core (~> 3.9.0)
51
51
  rspec-expectations (~> 3.9.0)
52
52
  rspec-mocks (~> 3.9.0)
53
- rspec-core (3.9.0)
54
- rspec-support (~> 3.9.0)
55
- rspec-expectations (3.9.0)
53
+ rspec-core (3.9.2)
54
+ rspec-support (~> 3.9.3)
55
+ rspec-expectations (3.9.2)
56
56
  diff-lcs (>= 1.2.0, < 2.0)
57
57
  rspec-support (~> 3.9.0)
58
- rspec-mocks (3.9.0)
58
+ rspec-mocks (3.9.1)
59
59
  diff-lcs (>= 1.2.0, < 2.0)
60
60
  rspec-support (~> 3.9.0)
61
- rspec-support (3.9.0)
61
+ rspec-support (3.9.3)
62
62
  safe_yaml (1.0.5)
63
63
  simplecov (0.17.1)
64
64
  docile (~> 1.1)
@@ -67,8 +67,8 @@ GEM
67
67
  simplecov-html (0.10.2)
68
68
  unf (0.1.4)
69
69
  unf_ext
70
- unf_ext (0.0.7.6)
71
- webmock (3.7.6)
70
+ unf_ext (0.0.7.7)
71
+ webmock (3.8.3)
72
72
  addressable (>= 2.3.6)
73
73
  crack (>= 0.3.2)
74
74
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -87,4 +87,4 @@ DEPENDENCIES
87
87
  webmock (~> 3.0)
88
88
 
89
89
  BUNDLED WITH
90
- 2.0.2
90
+ 2.1.4
data/README.md CHANGED
@@ -40,7 +40,7 @@ Or install it yourself as:
40
40
  ### Setup
41
41
 
42
42
  ```
43
- at_coder_friends setup /path/to/contest
43
+ at_coder_friends setup /path/to/contest
44
44
  ```
45
45
 
46
46
  Creates contest folder, and generates example data and source skeletons into the folder.
@@ -56,19 +56,25 @@ Opens the contet page which the contest folder linked to.
56
56
  ### Run first test case
57
57
 
58
58
  ```
59
- at_coder_friends test-one /path/to/contest/source_file
59
+ at_coder_friends test-one /path/to/contest/source_file
60
60
  ```
61
61
 
62
62
  ### Run all test cases
63
63
 
64
64
  ```
65
- at_coder_friends test-all /path/to/contest/source_file
65
+ at_coder_friends test-all /path/to/contest/source_file
66
66
  ```
67
67
 
68
68
  ### Submit code
69
69
 
70
70
  ```
71
- at_coder_friends submit /path/to/contest/source_file
71
+ at_coder_friends submit /path/to/contest/source_file
72
+ ```
73
+
74
+ ### Submit code automatically if all tests passed
75
+
76
+ ```
77
+ at_coder_friends check-and-go /path/to/contest/source_file
72
78
  ```
73
79
 
74
80
  ### Naming convention
@@ -80,14 +86,16 @@ at_coder_friends submit /path/to/contest/source_file
80
86
  - Suffixes (start with underscore) may be added to the file name (e.g. ```A_v2.rb```),
81
87
  so that you can try multiple codes for one problem.
82
88
 
83
- ## Configuration
84
-
85
- See [CONFIGURATION.md](docs/CONFIGURATION.md) for details.
86
-
87
89
  ## Notes
88
90
 
89
91
  - Compilation is not supported.
90
- - Source generator supports only Ruby and C++ in default.
92
+ - Source generator supports Ruby and C++ in default, and can be added by plugin.
93
+ - Test runner and code submission are supported in 36 languages.
94
+
95
+
96
+ ## Configuration
97
+
98
+ See [CONFIGURATION.md](docs/CONFIGURATION.md) for details.
91
99
 
92
100
  ## For Sublime Text user
93
101
 
@@ -150,6 +158,17 @@ It is convenient to use AtCoderFriends from Sublime Text plugin.
150
158
  "problemMatcher": [],
151
159
  "group": "none",
152
160
  },
161
+ {
162
+ "label": "AtCoderFriends:Check & Go",
163
+ "type": "shell",
164
+ "command": "at_coder_friends",
165
+ "args": [
166
+ "check-and-go",
167
+ "${file}"
168
+ ],
169
+ "problemMatcher": [],
170
+ "group": "none",
171
+ },
153
172
  ...
154
173
  ],
155
174
  "inputs": [
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'at_coder_friends/version'
3
+ require_relative 'lib/at_coder_friends/version'
6
4
 
7
5
  Gem::Specification.new do |spec|
8
6
  spec.name = 'at_coder_friends'
@@ -21,8 +19,10 @@ Gem::Specification.new do |spec|
21
19
  spec.homepage = 'https://github.com/nejiko96/at_coder_friends'
22
20
  spec.license = 'MIT'
23
21
 
24
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
25
- f.match(%r{^(test|spec|features)/})
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
+ `git ls-files -z`.split("\x0").reject do |f|
24
+ f.match(%r{^(test|spec|features|tasks)/})
25
+ end
26
26
  end
27
27
  spec.bindir = 'exe'
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -30,8 +30,14 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.required_ruby_version = '>= 2.3.0'
32
32
 
33
+ spec.metadata = {
34
+ 'homepage_uri' => spec.homepage,
35
+ 'source_code_uri' => spec.homepage,
36
+ 'changelog_uri' => spec.homepage + '/blob/master/CHANGELOG.md'
37
+ }
38
+
33
39
  spec.add_dependency 'colorize', '~> 0.8.1'
34
- spec.add_dependency 'launchy', '~> 2.4.3'
40
+ spec.add_dependency 'launchy', '>= 2.4.3', '< 2.6.0'
35
41
  spec.add_dependency 'mechanize', '~> 2.0'
36
42
 
37
43
  spec.add_development_dependency 'bundler', '~> 2.0'
@@ -4,88 +4,162 @@ generators:
4
4
  - RubyBuiltin
5
5
  - CxxBuiltin
6
6
  ext_settings:
7
- 'awk':
8
- submit_lang: '3506' # Awk (mawk)
9
- 'bf':
10
- submit_lang: '3507' # Brainfuck
11
- 'c':
12
- submit_lang: '3002' # C (GCC)
7
+ 'awk': # Awk (mawk)
8
+ submit_lang:
9
+ - '4009'
10
+ - '3506'
11
+ 'bf': # Brainfuck
12
+ submit_lang:
13
+ - '4062'
14
+ - '3507'
15
+ 'c': # C (GCC)
16
+ submit_lang:
17
+ - '4001'
18
+ - '3002'
13
19
  test_cmd:
14
20
  default: '"{dir}/{base}"'
15
21
  windows: '"{dir}/{base}.exe"'
16
- 'cbl':
17
- submit_lang: '3526' # COBOL - Free
18
- 'clj':
19
- submit_lang: '3007' # Clojure
20
- 'cr':
21
- submit_lang: '3511' # Crystal
22
- 'cs':
23
- submit_lang: '3006' # C# (Mono)
22
+ 'cbl': # COBOL - Free
23
+ submit_lang:
24
+ - '4061'
25
+ - '3526'
26
+ 'clj': # Clojure
27
+ submit_lang:
28
+ - '4013'
29
+ - '3007'
30
+ 'cr': # Crystal
31
+ submit_lang:
32
+ - '4014'
33
+ - '3511'
34
+ 'cs': # C# (Mono-mcs)
35
+ submit_lang:
36
+ - '4011'
37
+ - '3006'
24
38
  test_cmd:
25
39
  default: 'mono "{dir}/{base}.exe"'
26
40
  windows: '"{dir}/{base}.exe"'
27
- 'cxx':
28
- submit_lang: '3003' # C++14 (GCC)
41
+ 'cxx': # C++ (GCC)
42
+ submit_lang:
43
+ - '4003'
44
+ - '3003'
29
45
  test_cmd:
30
46
  default: '"{dir}/{base}"'
31
47
  windows: '"{dir}/{base}.exe"'
32
- 'd':
33
- submit_lang: '3009' # D (DMD64)
34
- 'f90':
35
- submit_lang: '3012' # Fortran (gfortran)
36
- 'fs':
37
- submit_lang: '3512' # F# (Mono)
38
- 'go':
39
- submit_lang: '3013' # Go
40
- 'hs':
41
- submit_lang: '3014' # Haskell (GHC)
42
- 'java':
43
- submit_lang: '3016' # Java8 (OpenJDK)
48
+ 'd': # D (DMD64)
49
+ submit_lang:
50
+ - '4015'
51
+ - '3009'
52
+ 'dart': # Dart
53
+ submit_lang: '4018'
54
+ 'f90': # Fortran (gfortran)
55
+ submit_lang:
56
+ - '4025'
57
+ - '3012'
58
+ 'fs': # F# (Mono)
59
+ submit_lang:
60
+ - '4023'
61
+ - '3512'
62
+ 'go': # Go
63
+ submit_lang:
64
+ - '4026'
65
+ - '3013'
66
+ 'hs': # Haskell (GHC)
67
+ submit_lang:
68
+ - '4027'
69
+ - '3014'
70
+ 'java': # Java (OpenJDK)
71
+ submit_lang:
72
+ - '4005'
73
+ - '3016'
44
74
  test_cmd:
45
75
  default: 'java -cp "{dir}" Main'
46
- 'jl':
47
- submit_lang: '3518' # Julia
48
- 'js':
49
- submit_lang: '3017' # JavaScript (node.js)
50
- 'kt':
51
- submit_lang: '3523' # Kotlin
52
- 'lisp':
53
- submit_lang: '3008' # Common Lisp
54
- 'lua':
55
- submit_lang: '3515' # LuaJIT
56
- 'm':
57
- submit_lang: '3519' # Octave
58
- 'ml':
59
- submit_lang: '3018' # OCaml
60
- 'nim':
61
- submit_lang: '3520' # Nim
62
- 'pas':
63
- submit_lang: '3019' # Pascal (FPC)
64
- 'php':
65
- submit_lang: '3524' # PHP7
66
- 'pl':
67
- submit_lang: '3020' # Perl
68
- 'py':
69
- submit_lang: '3023' # Python3
70
- 'rb':
71
- submit_lang: '3024' # Ruby
76
+ 'jl': # Julia
77
+ submit_lang:
78
+ - '4031'
79
+ - '3518'
80
+ 'js': # JavaScript (node.js)
81
+ submit_lang:
82
+ - '4030'
83
+ - '3017'
84
+ 'kt': # Kotlin
85
+ submit_lang:
86
+ - '4032'
87
+ - '3523'
88
+ 'lisp': # Common Lisp
89
+ submit_lang:
90
+ - '4038'
91
+ - '3008'
92
+ 'lua': # LuaJIT
93
+ submit_lang:
94
+ - '4034'
95
+ - '3515'
96
+ 'm': # Octave
97
+ submit_lang:
98
+ - '4040'
99
+ - '3519'
100
+ 'ml': # OCaml
101
+ submit_lang:
102
+ - '4039'
103
+ - '3018'
104
+ 'nim': # Nim
105
+ submit_lang:
106
+ - '4036'
107
+ - '3520'
108
+ 'pas': # Pascal (FPC)
109
+ submit_lang:
110
+ - '4041'
111
+ - '3019'
112
+ 'php': # PHP7
113
+ submit_lang:
114
+ - '4044'
115
+ - '3524'
116
+ 'pl': # Perl
117
+ submit_lang:
118
+ - '4042'
119
+ - '3020'
120
+ 'py': # Python3
121
+ submit_lang:
122
+ - '4006'
123
+ - '3023'
124
+ 'rb': # Ruby
125
+ submit_lang:
126
+ - '4049'
127
+ - '3024'
72
128
  test_cmd:
73
129
  default: 'ruby "{dir}/{base}.rb"'
74
- 'rs':
75
- submit_lang: '3504' # Rust
76
- 'scala':
77
- submit_lang: '3025' # Scala
78
- 'scm':
79
- submit_lang: '3026' # Scheme (Gauche)
80
- 'sed':
81
- submit_lang: '3505' # Sed (GNU sed)
82
- 'sh':
83
- submit_lang: '3001' # Bash (GNU bash)
84
- 'swift':
85
- submit_lang: '3503' # Swift
86
- 'ts':
87
- submit_lang: '3521' # TypeScript
88
- 'txt':
89
- submit_lang: '3027' # Text (cat)
90
- 'vb':
91
- submit_lang: '3028' # Visual Basic (Mono)
130
+ 'rs': # Rust
131
+ submit_lang:
132
+ - '4050'
133
+ - '3504'
134
+ 'scala': # Scala
135
+ submit_lang:
136
+ - '4051'
137
+ - '3025'
138
+ 'scm': # Scheme (Gauche)
139
+ submit_lang:
140
+ - '4053'
141
+ - '3026'
142
+ 'sed': # Sed (GNU sed)
143
+ submit_lang:
144
+ - '4066'
145
+ - '3505'
146
+ 'sh': # Bash (GNU bash)
147
+ submit_lang:
148
+ - '4007'
149
+ - '3001'
150
+ 'swift': # Swift
151
+ submit_lang:
152
+ - '4055'
153
+ - '3503'
154
+ 'ts': # TypeScript
155
+ submit_lang:
156
+ - '4057'
157
+ - '3521'
158
+ 'txt': # Text (cat)
159
+ submit_lang:
160
+ - '4056'
161
+ - '3027'
162
+ 'vb': # Visual Basic (Mono)
163
+ submit_lang:
164
+ - '4058'
165
+ - '3028'