trackler 2.2.1.29 → 2.2.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d970d4848c197189fbc8c33fb872060d48ecf8b7
4
- data.tar.gz: 00461a89e6bac79334b0a0712634427c4b18b897
3
+ metadata.gz: bdf0e0d6c594cd77a6f4b79fc7480e4ee5f676d0
4
+ data.tar.gz: 131bf739d9c41e23908f22b20acaa5198e97da1d
5
5
  SHA512:
6
- metadata.gz: '028bb64347f9d056c7e5431c9391493d4b70b6e2192455ba8ca5f3637a9d2c6ab31c01e45cc754acff593bab06dfa4b66508b9405b1e9fc9cf42bafd34a217f2'
7
- data.tar.gz: cffdf622c93f4ba455b8f4a55da9189f049bd0bd1360e6010af7c863ba33db320d493f2e34cf3464290baae3c634ed0fe7230853f2576827ebece3990002a11b
6
+ metadata.gz: d1d9ece273b652b82a62e20c2069b8776b6b99462ce34908274f21560cb983baf11090e27f9dfc0187965c4c28f751282d3b41f9493330f197ceffe2b94322a0
7
+ data.tar.gz: dce5e31c706fcf81aae54e0a0d908fd91ece38026186eb416463c567744b7da88b2caad5b6c161283f0ed944d0639c3bc03206093ad128d38a6ca1350522d5c1
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.29"
2
+ VERSION = "2.2.1.30"
3
3
  end
@@ -1,12 +1,7 @@
1
- Common Lisp is an offshoot of the long-running family of Lisp
2
- programming languages. It's a multi-paradigm programming language that
3
- allows you to choose the approach and paradigm according to your
4
- application domain.
1
+ Common Lisp is an offshoot of the long-running family of Lisp programming languages.
2
+ It's a multi-paradigm programming language that allows you to choose the approach and paradigm according to your application domain.
5
3
 
6
- Common Lisp has fast prototyping capabilities, and exceptional support
7
- for object oriented programming. It also boasts a macro system which
8
- allows you to adapt the language to your needs, and a run-time
9
- environment which allows modification of running applications.
4
+ Common Lisp has fast prototyping capabilities, and exceptional support for object oriented programming.
5
+ It also boasts a macro system which allows you to adapt the language to your needs, and a run-time environment which allows modification of running applications.
10
6
 
11
- To learn more about Common Lisp, take a look
12
- at [the Common Lisp homepage](https://common-lisp.net/).
7
+ To learn more about Common Lisp, take a look at [the Common Lisp homepage](https://common-lisp.net/).
@@ -3,18 +3,16 @@
3
3
  tmp
4
4
  bin/configlet
5
5
  bin/configlet.exe
6
- .vs/
7
- .vscode/
6
+
8
7
  tools/
9
8
  build/
10
9
  packages/
11
- TestResult.xml
12
10
  obj/
13
11
  bin/
14
12
  *.userprefs
15
- .idea/
16
13
  .dotnet/
17
- .fake/
18
- .paket/
19
- paket-files/
20
- /generators/.problem-specifications/
14
+ .dotnet/
15
+
16
+ .vs/
17
+ .vscode/
18
+ .idea/
@@ -9,7 +9,7 @@ public class Options
9
9
  HelpText = "Exercises to generate (if not specified, defaults to all exercises).")]
10
10
  public IEnumerable<string> Exercises { get; set; }
11
11
 
12
- [Option('d', "canonicaldatadirectory", Required = false, Default = "./.problem-specifications",
12
+ [Option('d', "canonicaldatadirectory", Required = false,
13
13
  HelpText = "Canonical data directory. If the directory does not exist, the canonical data will be downloaded.")]
14
14
  public string CanonicalDataDirectory { get; set; }
15
15
 
@@ -1,4 +1,5 @@
1
1
  using System;
2
+ using System.IO;
2
3
  using CommandLine;
3
4
  using Generators.Input;
4
5
  using Serilog;
@@ -50,10 +51,13 @@ private static CanonicalDataParser CreateCanonicalDataParser(Options options)
50
51
  {
51
52
  var canonicalDataOptions = new CanonicalDataOptions
52
53
  {
53
- CanonicalDataDirectory = options.CanonicalDataDirectory,
54
+ CanonicalDataDirectory = options.CanonicalDataDirectory ?? DefaultCanonicalDataDirectory,
54
55
  CacheCanonicalData = options.CacheCanonicalData
55
56
  };
56
57
  return new CanonicalDataParser(canonicalDataOptions);
57
58
  }
59
+
60
+ private static string DefaultCanonicalDataDirectory
61
+ => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "exercism", "problem-specifications");
58
62
  }
59
63
  }
@@ -1,296 +1,296 @@
1
1
  {
2
- "language": "Delphi Pascal",
3
2
  "active": true,
4
3
  "blurb": "Object Pascal based, Delphi is great for developing cross-platform desktop, mobile, web, and console applications.",
5
4
  "exercises": [
6
5
  {
7
- "uuid": "e3b0af0d-7ecd-43c8-a394-91ef2cf4d7d0",
8
- "slug": "hello-world",
9
6
  "core": false,
10
- "unlocked_by": null,
11
7
  "difficulty": 1,
8
+ "slug": "hello-world",
12
9
  "topics": [
13
- "Text formatting"
14
- ]
10
+ "text_formatting"
11
+ ],
12
+ "unlocked_by": null,
13
+ "uuid": "56bed5eb-0b75-e080-70db-8392c2d11a737c186df"
15
14
  },
16
15
  {
17
- "uuid": "0c75f779-dbf1-43f7-8f36-2e8d34fec410",
18
- "slug": "two-fer",
19
16
  "core": true,
20
17
  "difficulty": 1,
18
+ "slug": "two-fer",
21
19
  "topics": [
22
- "Text formatting",
23
- "Optional values"
24
- ]
20
+ "optional_values",
21
+ "text_formatting"
22
+ ],
23
+ "uuid": "bce38d57-08a7-9b80-c00c-4024009d76182c9b465"
25
24
  },
26
25
  {
27
- "uuid": "b3f7e56b-8a69-4b7f-bbb8-5fbcfa357eba",
28
- "slug": "bob",
29
26
  "core": false,
30
- "unlocked_by": null,
31
27
  "difficulty": 1,
28
+ "slug": "bob",
32
29
  "topics": [
33
- "Strings",
34
- "Control-flow (if-else statements)"
35
- ]
30
+ "control_flow_if_else_statements",
31
+ "strings"
32
+ ],
33
+ "unlocked_by": null,
34
+ "uuid": "472d2634-0d07-1a80-96f1-a1e42a21bb45ebbdc57"
36
35
  },
37
36
  {
38
- "uuid": "761e0143-163c-48ed-8bb3-5ad6a59fb69d",
39
- "slug": "leap",
40
37
  "core": true,
41
38
  "difficulty": 1,
39
+ "slug": "leap",
42
40
  "topics": [
43
- "Integers"
44
- ]
41
+ "integers"
42
+ ],
43
+ "uuid": "a274d04a-0024-a380-b762-003d045c596d0616203"
45
44
  },
46
45
  {
47
- "uuid": "72022a7f-ff34-4a9b-b710-546eebd094e1",
48
- "slug": "rna-transcription",
49
46
  "core": false,
50
- "unlocked_by": null,
51
47
  "difficulty": 1,
48
+ "slug": "rna-transcription",
52
49
  "topics": [
53
- "Strings",
54
- "Transforming"
55
- ]
50
+ "strings",
51
+ "transforming"
52
+ ],
53
+ "unlocked_by": null,
54
+ "uuid": "ad19be59-061a-ab80-36c6-52f00fbe9426855aad4"
56
55
  },
57
56
  {
58
- "uuid": "cf22573e-9099-4df5-86d6-02e9bf42784d",
59
- "slug": "raindrops",
60
57
  "core": false,
61
- "unlocked_by": "two-fer",
62
58
  "difficulty": 2,
59
+ "slug": "raindrops",
63
60
  "topics": [
64
- "Text formatting",
65
- "Filtering"
66
- ]
61
+ "filtering",
62
+ "text_formatting"
63
+ ],
64
+ "unlocked_by": "two-fer",
65
+ "uuid": "d8e62ae5-0f1f-dd80-3c1f-bb53505ae7d403cbcf2"
67
66
  },
68
67
  {
69
- "uuid": "6bc985bc-f04f-41de-9582-e0d51ea8df54",
70
- "slug": "hamming",
71
68
  "core": false,
72
- "unlocked_by": null,
73
69
  "difficulty": 2,
70
+ "slug": "hamming",
74
71
  "topics": [
75
- "Strings",
76
- "Filtering"
77
- ]
72
+ "filtering",
73
+ "strings"
74
+ ],
75
+ "unlocked_by": null,
76
+ "uuid": "ec22ed83-0b5d-df80-c2b7-2ff38ebbcc430d39ab7"
78
77
  },
79
78
  {
80
- "uuid": "746fdc7b-8d7f-4df1-8d68-7af5d5c63396",
81
- "slug": "bank-account",
82
79
  "core": false,
83
- "unlocked_by": null,
84
80
  "difficulty": 2,
81
+ "slug": "bank-account",
85
82
  "topics": [
86
- "Classes"
87
- ]
83
+ "classes"
84
+ ],
85
+ "unlocked_by": null,
86
+ "uuid": "60f410a3-0fca-c380-c1a9-f020953884fd3fcf621"
88
87
  },
89
88
  {
90
- "uuid": "a77d309f-ddd6-4700-b300-347fb7e1d916",
91
- "slug": "nucleotide-count",
92
89
  "core": true,
93
90
  "difficulty": 2,
91
+ "slug": "nucleotide-count",
94
92
  "topics": [
95
- "Dictionaries",
96
- "Strings"
97
- ]
93
+ "dictionaries",
94
+ "strings"
95
+ ],
96
+ "uuid": "8c67d408-0fdc-3780-4e29-fdc9fb3720cf0c8da66"
98
97
  },
99
98
  {
100
- "uuid": "3cc7a1b6-b613-4cf1-9318-fd2e48eac6a4",
101
- "slug": "etl",
102
99
  "core": false,
103
- "unlocked_by": "nucleotide-count",
104
100
  "difficulty": 2,
101
+ "slug": "etl",
105
102
  "topics": [
106
- "Dictionaries",
107
- "Lists",
108
- "Transforming"
109
- ]
103
+ "dictionaries",
104
+ "lists",
105
+ "transforming"
106
+ ],
107
+ "unlocked_by": "nucleotide-count",
108
+ "uuid": "f1c4c74d-0f90-cb80-3d60-3670885b6853a373ad8"
110
109
  },
111
110
  {
112
- "uuid": "dbf6dfed-b3c1-4bac-8d86-4584c1d9f08c",
113
- "slug": "grains",
114
111
  "core": true,
115
112
  "difficulty": 2,
113
+ "slug": "grains",
116
114
  "topics": [
117
- "Integers",
118
- "Recursion"
119
- ]
115
+ "integers",
116
+ "recursion"
117
+ ],
118
+ "uuid": "21abc7f4-036c-5780-68b5-ac3cf9655c3f88e4729"
120
119
  },
121
120
  {
122
- "uuid": "b30fbfa4-8568-467c-bf50-9d9fd49d3af2",
123
- "slug": "collatz-conjecture",
124
121
  "core": false,
125
- "unlocked_by": null,
126
122
  "difficulty": 2,
123
+ "slug": "collatz-conjecture",
127
124
  "topics": [
128
- "Algorithms",
129
- "Looping",
130
- "Raising Exceptions"
131
- ]
125
+ "algorithms",
126
+ "looping",
127
+ "raising_exceptions"
128
+ ],
129
+ "unlocked_by": null,
130
+ "uuid": "9faf8515-04b2-ec80-ff54-35e345575efc2907d42"
132
131
  },
133
132
  {
134
- "uuid": "76754970-3b28-45f6-8f36-10f063b3f846",
135
- "slug": "beer-song",
136
133
  "core": false,
137
- "unlocked_by": "two-fer",
138
134
  "difficulty": 3,
135
+ "slug": "beer-song",
139
136
  "topics": [
140
- "Text formatting",
141
- "Algorithms"
142
- ]
137
+ "algorithms",
138
+ "text_formatting"
139
+ ],
140
+ "unlocked_by": "two-fer",
141
+ "uuid": "25e19f7e-02d6-7280-a4dd-0fd7d5d2132437be3a0"
143
142
  },
144
143
  {
145
- "uuid": "4d8b5c36-3562-41a6-aaca-b5229059a009",
146
- "slug": "phone-number",
147
144
  "core": true,
148
145
  "difficulty": 3,
146
+ "slug": "phone-number",
149
147
  "topics": [
150
- "Parsing",
151
- "Transforming"
152
- ]
148
+ "parsing",
149
+ "transforming"
150
+ ],
151
+ "uuid": "f9c4af8f-0776-2b80-1a86-7a870ba470db59ffb12"
153
152
  },
154
153
  {
155
- "uuid": "95ca4105-b3f7-42f8-a07d-8d912056ed26",
156
- "slug": "perfect-numbers",
157
154
  "core": false,
158
- "unlocked_by": "leap",
159
155
  "difficulty": 3,
156
+ "slug": "perfect-numbers",
160
157
  "topics": [
161
- "Integers"
162
- ]
158
+ "integers"
159
+ ],
160
+ "unlocked_by": "leap",
161
+ "uuid": "002736ee-0d0b-0a80-ff49-bc2797326818e54c28a"
163
162
  },
164
163
  {
165
- "uuid": "c89324f8-8f40-4e99-9ce2-4bf11d4d91d5",
166
- "slug": "binary-search",
167
164
  "core": false,
168
- "unlocked_by": "grains",
169
165
  "difficulty": 3,
166
+ "slug": "binary-search",
170
167
  "topics": [
171
- "Searching",
172
- "Arrays",
173
- "Recursion"
174
- ]
168
+ "arrays",
169
+ "recursion",
170
+ "searching"
171
+ ],
172
+ "unlocked_by": "grains",
173
+ "uuid": "1d5b540a-0e53-ce80-53f1-f376a3df8043188d765"
175
174
  },
176
175
  {
177
- "uuid": "6488fc37-7bd4-4854-8043-8b261554695d",
178
- "slug": "clock",
179
176
  "core": true,
180
177
  "difficulty": 3,
178
+ "slug": "clock",
181
179
  "topics": [
182
- "Time",
183
- "Structural equality"
184
- ]
180
+ "structural_equality",
181
+ "time"
182
+ ],
183
+ "uuid": "fa832d24-0ee0-5880-8bf9-9c5147b282736829c37"
185
184
  },
186
185
  {
187
- "uuid": "6404ad71-4f20-4f5b-8530-8ba1578e9550",
188
- "slug": "triangle",
189
186
  "core": true,
190
187
  "difficulty": 3,
188
+ "slug": "triangle",
191
189
  "topics": [
192
- "Integers",
193
- "Enumerations"
194
- ]
190
+ "enumerations",
191
+ "integers"
192
+ ],
193
+ "uuid": "7c8e01c6-0e98-9d80-b8ef-41b77fe1cf494cc6fb7"
195
194
  },
196
195
  {
197
- "uuid": "fcaf9a85-579b-4607-8d2c-b6353664502d",
198
- "slug": "allergies",
199
196
  "core": true,
200
197
  "difficulty": 4,
198
+ "slug": "allergies",
201
199
  "topics": [
202
- "Bitwise operations",
203
- "Filtering"
204
- ]
200
+ "bitwise_operations",
201
+ "filtering"
202
+ ],
203
+ "uuid": "1bd82ce9-04e9-6780-7d2e-f09e50e2466f9b90d6a"
205
204
  },
206
205
  {
207
- "uuid": "4fd252a7-520a-416d-b976-a8f4cf3c4516",
208
- "slug": "saddle-points",
209
206
  "core": true,
210
207
  "difficulty": 4,
208
+ "slug": "saddle-points",
211
209
  "topics": [
212
- "Matrices",
213
- "Arrays",
214
- "Tuples"
215
- ]
210
+ "arrays",
211
+ "matrices",
212
+ "tuples"
213
+ ],
214
+ "uuid": "2fbe298b-044e-b280-55e1-720e7f9371d90cb9443"
216
215
  },
217
216
  {
218
- "uuid": "51b2fe3e-996c-41f2-86cd-c6666898c850",
219
- "slug": "circular-buffer",
220
217
  "core": true,
221
218
  "difficulty": 5,
219
+ "slug": "circular-buffer",
222
220
  "topics": [
223
- "Queues",
224
- "Classes"
225
- ]
221
+ "classes",
222
+ "queues"
223
+ ],
224
+ "uuid": "45cf6fd0-0196-7a80-9bdb-26d39c8af65f0b5387c"
226
225
  },
227
226
  {
228
- "uuid": "0648988c-0916-4651-897a-349c94c32ca8",
229
- "slug": "minesweeper",
230
227
  "core": false,
231
- "unlocked_by": "phone-number",
232
228
  "difficulty": 5,
229
+ "slug": "minesweeper",
233
230
  "topics": [
234
- "Parsing",
235
- "Transforming"
236
- ]
231
+ "parsing",
232
+ "transforming"
233
+ ],
234
+ "unlocked_by": "phone-number",
235
+ "uuid": "984ff763-0f4c-6780-0537-c306fab2cfb3b3ea534"
237
236
  },
238
237
  {
239
- "uuid": "b4d9cd9c-bdc7-4485-bcce-80e4303fad51",
240
- "slug": "roman-numerals",
241
238
  "core": true,
242
239
  "difficulty": 5,
240
+ "slug": "roman-numerals",
243
241
  "topics": [
244
- "Control-flow (loops)",
245
- "Record Helpers"
246
- ]
242
+ "control_flow_loops",
243
+ "record_helpers"
244
+ ],
245
+ "uuid": "69f233ac-0054-4e80-c3fd-ab5571d79d5186238d7"
247
246
  },
248
247
  {
249
- "uuid": "f823e453-90c1-4f9f-ab73-d560ca3675f0",
250
- "slug": "bowling",
251
248
  "core": false,
252
- "unlocked_by": null,
253
249
  "difficulty": 6,
250
+ "slug": "bowling",
254
251
  "topics": [
255
- "Algorithms",
256
- "Control-flow (loops)"
257
- ]
252
+ "algorithms",
253
+ "control_flow_loops"
254
+ ],
255
+ "unlocked_by": null,
256
+ "uuid": "e8704f7f-0f79-7880-94b3-d0bc66a24a74ac03909"
258
257
  },
259
258
  {
260
- "uuid": "d83a653b-da78-4f49-9ab2-3cc947825a2b",
261
- "slug": "book-store",
262
259
  "core": true,
263
260
  "difficulty": 6,
261
+ "slug": "book-store",
264
262
  "topics": [
265
- "Sequences",
266
- "Control-flow (loops)",
267
- "Arrays",
268
- "Classes"
269
- ]
263
+ "arrays",
264
+ "classes",
265
+ "control_flow_loops",
266
+ "sequences"
267
+ ],
268
+ "uuid": "b114cb6a-0f62-0180-3a6c-2d8379bc793e0c9cff1"
270
269
  },
271
270
  {
272
- "uuid": "f522e311-2d29-4fe2-a91c-5357ff85fde6",
273
- "slug": "wordy",
274
271
  "core": false,
275
- "unlocked_by": "phone-number",
276
272
  "difficulty": 7,
273
+ "slug": "wordy",
277
274
  "topics": [
278
- "Parsing",
279
- "Strings",
280
- "Transforming"
281
- ]
275
+ "parsing",
276
+ "strings",
277
+ "transforming"
278
+ ],
279
+ "unlocked_by": "phone-number",
280
+ "uuid": "981cb5ae-06e4-dc80-c08f-c3f32227fa64ef2ecd6"
282
281
  },
283
282
  {
284
- "uuid": "250c222d-3d29-42fd-8695-bc9fc33db6f5",
285
- "slug": "poker",
286
283
  "core": false,
287
- "unlocked_by": null,
288
284
  "difficulty": 7,
285
+ "slug": "poker",
289
286
  "topics": [
290
- "Parsing",
291
- "Sorting",
292
- "Games"
293
- ]
287
+ "games",
288
+ "parsing",
289
+ "sorting"
290
+ ],
291
+ "unlocked_by": null,
292
+ "uuid": "ac19f835-015b-cb80-8761-bcd2399aad61c98a7c3"
294
293
  }
295
- ]
296
- }
294
+ ],
295
+ "language": "Delphi Pascal"
296
+ }