trackler 2.1.0.33 → 2.1.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +39 -20
  4. data/tracks/bash/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  5. data/tracks/bash/exercises/difference-of-squares/difference_of_squares_test.sh +71 -0
  6. data/tracks/bash/exercises/difference-of-squares/example.sh +25 -0
  7. data/tracks/clojurescript/config.json +0 -5
  8. data/tracks/clojurescript/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  9. data/tracks/coffeescript/config.json +63 -26
  10. data/tracks/coffeescript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +4 -2
  11. data/tracks/coffeescript/exercises/luhn/luhn_test.spec.coffee +2 -2
  12. data/tracks/coffeescript/exercises/palindrome-products/palindrome_products_test.spec.coffee +1 -1
  13. data/tracks/crystal/config.json +27 -10
  14. data/tracks/dlang/config.json +2 -3
  15. data/tracks/dlang/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  16. data/tracks/haxe/config.json +7 -2
  17. data/tracks/haxe/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  18. data/tracks/java/{exercises/_template → _template}/build.gradle +0 -0
  19. data/tracks/java/{exercises/_template → _template}/src/example/java/.keep +0 -0
  20. data/tracks/java/{exercises/_template → _template}/src/main/java/.keep +0 -0
  21. data/tracks/java/{exercises/_template → _template}/src/test/java/.keep +0 -0
  22. data/tracks/java/config.json +201 -77
  23. data/tracks/julia/config.json +1 -7
  24. data/tracks/kotlin/{exercises/_template → _template}/build.gradle +0 -0
  25. data/tracks/kotlin/{exercises/_template → _template}/src/example/kotlin/.keep +0 -0
  26. data/tracks/kotlin/{exercises/_template → _template}/src/main/kotlin/.keep +0 -0
  27. data/tracks/kotlin/{exercises/_template → _template}/src/test/kotlin/.keep +0 -0
  28. data/tracks/mips/config.json +42 -14
  29. data/tracks/mips/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  30. data/tracks/nasm/config.json +1 -0
  31. data/tracks/nasm/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  32. data/tracks/nasm/exercises/.keep +0 -2
  33. data/tracks/nim/config.json +6 -0
  34. data/tracks/nim/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  35. data/tracks/nim/exercises/raindrops/example.nim +18 -0
  36. data/tracks/nim/exercises/raindrops/raindrops_test.nim +51 -0
  37. data/tracks/ocaml/config.json +97 -30
  38. data/tracks/perl5/config.json +186 -66
  39. data/tracks/perl5/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  40. data/tracks/perl6/bin/README.md +16 -6
  41. data/tracks/perl6/bin/exercise-gen.pl6 +21 -6
  42. data/tracks/perl6/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  43. data/tracks/perl6/exercises/accumulate/example.yaml +10 -0
  44. data/tracks/perl6/exercises/all-your-base/all-your-base.t +1 -0
  45. data/tracks/perl6/exercises/all-your-base/example.yaml +49 -0
  46. data/tracks/perl6/exercises/allergies/Allergies.pm6 +1 -1
  47. data/tracks/perl6/exercises/allergies/example.yaml +21 -0
  48. data/tracks/perl6/exercises/anagram/example.yaml +19 -0
  49. data/tracks/perl6/exercises/atbash-cipher/AtbashCipher.pm6 +1 -1
  50. data/tracks/perl6/exercises/atbash-cipher/example.yaml +15 -0
  51. data/tracks/perl6/exercises/bob/Example.pm6 +4 -0
  52. data/tracks/perl6/exercises/bob/example.yaml +24 -0
  53. data/tracks/perl6/exercises/clock/clock.t +1 -0
  54. data/tracks/perl6/exercises/clock/example.yaml +17 -0
  55. data/tracks/perl6/exercises/flatten-array/example.yaml +17 -0
  56. data/tracks/perl6/exercises/grade-school/example.yaml +22 -0
  57. data/tracks/perl6/exercises/grains/example.yaml +13 -0
  58. data/tracks/perl6/exercises/hello-world/Example.pm6 +9 -0
  59. data/tracks/perl6/exercises/hello-world/example.yaml +21 -0
  60. data/tracks/perl6/exercises/leap/Example.pm6 +1 -1
  61. data/tracks/perl6/exercises/leap/Leap.pm6 +1 -1
  62. data/tracks/perl6/exercises/leap/example.yaml +15 -0
  63. data/tracks/perl6/exercises/linked-list/LinkedList.pm6 +1 -1
  64. data/tracks/perl6/exercises/linked-list/example.yaml +51 -0
  65. data/tracks/perl6/exercises/linked-list/linked-list.t +0 -1
  66. data/tracks/perl6/exercises/luhn/example.yaml +19 -0
  67. data/tracks/perl6/exercises/phone-number/{PhoneNumber.pm6 → Phone.pm6} +0 -0
  68. data/tracks/perl6/exercises/phone-number/example.yaml +10 -0
  69. data/tracks/perl6/exercises/raindrops/example.yaml +15 -0
  70. data/tracks/perl6/exercises/rna-transcription/example.yaml +10 -0
  71. data/tracks/perl6/exercises/robot-name/example.yaml +24 -0
  72. data/tracks/perl6/exercises/robot-name/robot-name.t +4 -0
  73. data/tracks/perl6/exercises/scrabble-score/example.yaml +21 -0
  74. data/tracks/perl6/exercises/space-age/example.yaml +52 -0
  75. data/tracks/perl6/exercises/word-count/example.yaml +9 -0
  76. data/tracks/perl6/exercises/wordy/example.yaml +20 -0
  77. data/tracks/perl6/templates/module.mustache +4 -0
  78. data/tracks/perl6/templates/test.mustache +2 -1
  79. data/tracks/plsql/config.json +30 -10
  80. data/tracks/plsql/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  81. data/tracks/pony/config.json +0 -6
  82. data/tracks/pony/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  83. data/tracks/powershell/config.json +6 -2
  84. data/tracks/powershell/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  85. data/tracks/python/config.json +101 -39
  86. data/tracks/r/config.json +0 -4
  87. data/tracks/ruby/config.json +84 -6
  88. data/tracks/ruby/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  89. data/tracks/tcl/config.json +1 -0
  90. data/tracks/tcl/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  91. data/tracks/tcl/exercises/.keep +0 -2
  92. data/tracks/teco/config.json +0 -4
  93. data/tracks/teco/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  94. data/tracks/vbnet/config.json +1 -0
  95. data/tracks/vbnet/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  96. data/tracks/vimscript/config.json +64 -19
  97. data/tracks/vimscript/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  98. data/tracks/vimscript/exercises/beer-song/beer_song.vader +50 -0
  99. data/tracks/vimscript/exercises/beer-song/beer_song.vim +24 -0
  100. data/tracks/vimscript/exercises/beer-song/example.vim +21 -0
  101. metadata +37 -29
@@ -9,6 +9,7 @@
9
9
  ],
10
10
  "ignored": [
11
11
  "bin",
12
+ "docs",
12
13
  "img"
13
14
  ],
14
15
  "foregone": [
@@ -1,2 +0,0 @@
1
- As of [issue 3336](https://github.com/exercism/exercism.io/issues/3336),
2
- all exercises should go into the exercises directory.
@@ -6,10 +6,6 @@
6
6
  "test_pattern": "TODO",
7
7
  "deprecated": [
8
8
 
9
- ],
10
- "ignored": [
11
- "bin",
12
- "docs"
13
9
  ],
14
10
  "foregone": [
15
11
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  ],
10
10
  "ignored": [
11
+ "docs",
11
12
  "img"
12
13
  ],
13
14
  "foregone": [
@@ -8,95 +8,140 @@
8
8
  {
9
9
  "slug": "hello-world",
10
10
  "difficulty": 1,
11
- "topics": []
11
+ "topics": [
12
+
13
+ ]
12
14
  },
13
15
  {
14
16
  "slug": "leap",
15
17
  "difficulty": 1,
16
- "topics": []
18
+ "topics": [
19
+
20
+ ]
17
21
  },
18
22
  {
19
23
  "slug": "hamming",
20
24
  "difficulty": 1,
21
- "topics": []
25
+ "topics": [
26
+
27
+ ]
22
28
  },
23
29
  {
24
30
  "slug": "bob",
25
31
  "difficulty": 1,
26
- "topics": []
32
+ "topics": [
33
+
34
+ ]
27
35
  },
28
36
  {
29
37
  "slug": "rna-transcription",
30
38
  "difficulty": 1,
31
- "topics": []
39
+ "topics": [
40
+
41
+ ]
32
42
  },
33
43
  {
34
44
  "slug": "anagram",
35
45
  "difficulty": 1,
36
- "topics": []
46
+ "topics": [
47
+
48
+ ]
37
49
  },
38
50
  {
39
51
  "slug": "difference-of-squares",
40
52
  "difficulty": 1,
41
- "topics": []
53
+ "topics": [
54
+
55
+ ]
42
56
  },
43
57
  {
44
58
  "slug": "raindrops",
45
59
  "difficulty": 1,
46
- "topics": []
60
+ "topics": [
61
+
62
+ ]
47
63
  },
48
64
  {
49
65
  "slug": "word-count",
50
66
  "difficulty": 1,
51
- "topics": []
67
+ "topics": [
68
+
69
+ ]
52
70
  },
53
71
  {
54
72
  "slug": "atbash-cipher",
55
73
  "difficulty": 1,
56
- "topics": []
74
+ "topics": [
75
+
76
+ ]
57
77
  },
58
78
  {
59
79
  "slug": "roman-numerals",
60
80
  "difficulty": 1,
61
- "topics": []
81
+ "topics": [
82
+
83
+ ]
62
84
  },
63
85
  {
64
86
  "slug": "phone-number",
65
87
  "difficulty": 1,
66
- "topics": []
88
+ "topics": [
89
+
90
+ ]
67
91
  },
68
92
  {
69
93
  "slug": "nucleotide-count",
70
94
  "difficulty": 1,
71
- "topics": []
95
+ "topics": [
96
+
97
+ ]
72
98
  },
73
99
  {
74
100
  "slug": "allergies",
75
101
  "difficulty": 1,
76
- "topics": []
102
+ "topics": [
103
+
104
+ ]
77
105
  },
78
106
  {
79
107
  "slug": "scrabble-score",
80
108
  "difficulty": 1,
81
- "topics": []
109
+ "topics": [
110
+
111
+ ]
82
112
  },
83
113
  {
84
114
  "slug": "triangle",
85
115
  "difficulty": 1,
86
- "topics": []
116
+ "topics": [
117
+
118
+ ]
87
119
  },
88
120
  {
89
121
  "slug": "etl",
90
122
  "difficulty": 1,
91
- "topics": []
123
+ "topics": [
124
+
125
+ ]
126
+ },
127
+ {
128
+ "slug": "beer-song",
129
+ "difficulty": 1,
130
+ "topics": [
131
+
132
+ ]
92
133
  }
93
134
  ],
94
- "deprecated": [],
135
+ "deprecated": [
136
+
137
+ ],
95
138
  "ignored": [
96
139
  "bin",
97
140
  "docs",
98
141
  "img",
99
142
  "lib"
100
143
  ],
101
- "foregone": []
144
+ "foregone": [
145
+
146
+ ]
102
147
  }
@@ -0,0 +1,50 @@
1
+ "
2
+ " Version: 1.0.0
3
+ "
4
+
5
+ Before:
6
+ unlet! input expected start end
7
+
8
+ Execute (first generic verse):
9
+ let input = 99
10
+ let expected = "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n"
11
+ AssertEqual expected, Verse(input)
12
+
13
+ Execute (last generic verse):
14
+ let input = 3
15
+ let expected = "3 bottles of beer on the wall, 3 bottles of beer.\nTake one down and pass it around, 2 bottles of beer on the wall.\n"
16
+ AssertEqual expected, Verse(input)
17
+
18
+ Execute (verse 2):
19
+ let input = 2
20
+ let expected = "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n"
21
+ AssertEqual expected, Verse(input)
22
+
23
+ Execute (verse 1):
24
+ let input = 1
25
+ let expected = "1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n"
26
+ AssertEqual expected, Verse(input)
27
+
28
+ Execute (verse 0):
29
+ let input = 0
30
+ let expected = "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
31
+ AssertEqual expected, Verse(input)
32
+
33
+ Execute (first two verses):
34
+ let start = 99
35
+ let end = 98
36
+ let expected = "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n\n98 bottles of beer on the wall, 98 bottles of beer.\nTake one down and pass it around, 97 bottles of beer on the wall.\n"
37
+ AssertEqual expected, Verses(start, end)
38
+
39
+ Execute (last three verses):
40
+ let start = 2
41
+ let end = 0
42
+ let expected = "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\nNo more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
43
+ AssertEqual expected, Verses(start, end)
44
+
45
+ Execute (all verses):
46
+ let start = 99
47
+ let end = 0
48
+ let expected = "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n\n98 bottles of beer on the wall, 98 bottles of beer.\nTake one down and pass it around, 97 bottles of beer on the wall.\n\n97 bottles of beer on the wall, 97 bottles of beer.\nTake one down and pass it around, 96 bottles of beer on the wall.\n\n96 bottles of beer on the wall, 96 bottles of beer.\nTake one down and pass it around, 95 bottles of beer on the wall.\n\n95 bottles of beer on the wall, 95 bottles of beer.\nTake one down and pass it around, 94 bottles of beer on the wall.\n\n94 bottles of beer on the wall, 94 bottles of beer.\nTake one down and pass it around, 93 bottles of beer on the wall.\n\n93 bottles of beer on the wall, 93 bottles of beer.\nTake one down and pass it around, 92 bottles of beer on the wall.\n\n92 bottles of beer on the wall, 92 bottles of beer.\nTake one down and pass it around, 91 bottles of beer on the wall.\n\n91 bottles of beer on the wall, 91 bottles of beer.\nTake one down and pass it around, 90 bottles of beer on the wall.\n\n90 bottles of beer on the wall, 90 bottles of beer.\nTake one down and pass it around, 89 bottles of beer on the wall.\n\n89 bottles of beer on the wall, 89 bottles of beer.\nTake one down and pass it around, 88 bottles of beer on the wall.\n\n88 bottles of beer on the wall, 88 bottles of beer.\nTake one down and pass it around, 87 bottles of beer on the wall.\n\n87 bottles of beer on the wall, 87 bottles of beer.\nTake one down and pass it around, 86 bottles of beer on the wall.\n\n86 bottles of beer on the wall, 86 bottles of beer.\nTake one down and pass it around, 85 bottles of beer on the wall.\n\n85 bottles of beer on the wall, 85 bottles of beer.\nTake one down and pass it around, 84 bottles of beer on the wall.\n\n84 bottles of beer on the wall, 84 bottles of beer.\nTake one down and pass it around, 83 bottles of beer on the wall.\n\n83 bottles of beer on the wall, 83 bottles of beer.\nTake one down and pass it around, 82 bottles of beer on the wall.\n\n82 bottles of beer on the wall, 82 bottles of beer.\nTake one down and pass it around, 81 bottles of beer on the wall.\n\n81 bottles of beer on the wall, 81 bottles of beer.\nTake one down and pass it around, 80 bottles of beer on the wall.\n\n80 bottles of beer on the wall, 80 bottles of beer.\nTake one down and pass it around, 79 bottles of beer on the wall.\n\n79 bottles of beer on the wall, 79 bottles of beer.\nTake one down and pass it around, 78 bottles of beer on the wall.\n\n78 bottles of beer on the wall, 78 bottles of beer.\nTake one down and pass it around, 77 bottles of beer on the wall.\n\n77 bottles of beer on the wall, 77 bottles of beer.\nTake one down and pass it around, 76 bottles of beer on the wall.\n\n76 bottles of beer on the wall, 76 bottles of beer.\nTake one down and pass it around, 75 bottles of beer on the wall.\n\n75 bottles of beer on the wall, 75 bottles of beer.\nTake one down and pass it around, 74 bottles of beer on the wall.\n\n74 bottles of beer on the wall, 74 bottles of beer.\nTake one down and pass it around, 73 bottles of beer on the wall.\n\n73 bottles of beer on the wall, 73 bottles of beer.\nTake one down and pass it around, 72 bottles of beer on the wall.\n\n72 bottles of beer on the wall, 72 bottles of beer.\nTake one down and pass it around, 71 bottles of beer on the wall.\n\n71 bottles of beer on the wall, 71 bottles of beer.\nTake one down and pass it around, 70 bottles of beer on the wall.\n\n70 bottles of beer on the wall, 70 bottles of beer.\nTake one down and pass it around, 69 bottles of beer on the wall.\n\n69 bottles of beer on the wall, 69 bottles of beer.\nTake one down and pass it around, 68 bottles of beer on the wall.\n\n68 bottles of beer on the wall, 68 bottles of beer.\nTake one down and pass it around, 67 bottles of beer on the wall.\n\n67 bottles of beer on the wall, 67 bottles of beer.\nTake one down and pass it around, 66 bottles of beer on the wall.\n\n66 bottles of beer on the wall, 66 bottles of beer.\nTake one down and pass it around, 65 bottles of beer on the wall.\n\n65 bottles of beer on the wall, 65 bottles of beer.\nTake one down and pass it around, 64 bottles of beer on the wall.\n\n64 bottles of beer on the wall, 64 bottles of beer.\nTake one down and pass it around, 63 bottles of beer on the wall.\n\n63 bottles of beer on the wall, 63 bottles of beer.\nTake one down and pass it around, 62 bottles of beer on the wall.\n\n62 bottles of beer on the wall, 62 bottles of beer.\nTake one down and pass it around, 61 bottles of beer on the wall.\n\n61 bottles of beer on the wall, 61 bottles of beer.\nTake one down and pass it around, 60 bottles of beer on the wall.\n\n60 bottles of beer on the wall, 60 bottles of beer.\nTake one down and pass it around, 59 bottles of beer on the wall.\n\n59 bottles of beer on the wall, 59 bottles of beer.\nTake one down and pass it around, 58 bottles of beer on the wall.\n\n58 bottles of beer on the wall, 58 bottles of beer.\nTake one down and pass it around, 57 bottles of beer on the wall.\n\n57 bottles of beer on the wall, 57 bottles of beer.\nTake one down and pass it around, 56 bottles of beer on the wall.\n\n56 bottles of beer on the wall, 56 bottles of beer.\nTake one down and pass it around, 55 bottles of beer on the wall.\n\n55 bottles of beer on the wall, 55 bottles of beer.\nTake one down and pass it around, 54 bottles of beer on the wall.\n\n54 bottles of beer on the wall, 54 bottles of beer.\nTake one down and pass it around, 53 bottles of beer on the wall.\n\n53 bottles of beer on the wall, 53 bottles of beer.\nTake one down and pass it around, 52 bottles of beer on the wall.\n\n52 bottles of beer on the wall, 52 bottles of beer.\nTake one down and pass it around, 51 bottles of beer on the wall.\n\n51 bottles of beer on the wall, 51 bottles of beer.\nTake one down and pass it around, 50 bottles of beer on the wall.\n\n50 bottles of beer on the wall, 50 bottles of beer.\nTake one down and pass it around, 49 bottles of beer on the wall.\n\n49 bottles of beer on the wall, 49 bottles of beer.\nTake one down and pass it around, 48 bottles of beer on the wall.\n\n48 bottles of beer on the wall, 48 bottles of beer.\nTake one down and pass it around, 47 bottles of beer on the wall.\n\n47 bottles of beer on the wall, 47 bottles of beer.\nTake one down and pass it around, 46 bottles of beer on the wall.\n\n46 bottles of beer on the wall, 46 bottles of beer.\nTake one down and pass it around, 45 bottles of beer on the wall.\n\n45 bottles of beer on the wall, 45 bottles of beer.\nTake one down and pass it around, 44 bottles of beer on the wall.\n\n44 bottles of beer on the wall, 44 bottles of beer.\nTake one down and pass it around, 43 bottles of beer on the wall.\n\n43 bottles of beer on the wall, 43 bottles of beer.\nTake one down and pass it around, 42 bottles of beer on the wall.\n\n42 bottles of beer on the wall, 42 bottles of beer.\nTake one down and pass it around, 41 bottles of beer on the wall.\n\n41 bottles of beer on the wall, 41 bottles of beer.\nTake one down and pass it around, 40 bottles of beer on the wall.\n\n40 bottles of beer on the wall, 40 bottles of beer.\nTake one down and pass it around, 39 bottles of beer on the wall.\n\n39 bottles of beer on the wall, 39 bottles of beer.\nTake one down and pass it around, 38 bottles of beer on the wall.\n\n38 bottles of beer on the wall, 38 bottles of beer.\nTake one down and pass it around, 37 bottles of beer on the wall.\n\n37 bottles of beer on the wall, 37 bottles of beer.\nTake one down and pass it around, 36 bottles of beer on the wall.\n\n36 bottles of beer on the wall, 36 bottles of beer.\nTake one down and pass it around, 35 bottles of beer on the wall.\n\n35 bottles of beer on the wall, 35 bottles of beer.\nTake one down and pass it around, 34 bottles of beer on the wall.\n\n34 bottles of beer on the wall, 34 bottles of beer.\nTake one down and pass it around, 33 bottles of beer on the wall.\n\n33 bottles of beer on the wall, 33 bottles of beer.\nTake one down and pass it around, 32 bottles of beer on the wall.\n\n32 bottles of beer on the wall, 32 bottles of beer.\nTake one down and pass it around, 31 bottles of beer on the wall.\n\n31 bottles of beer on the wall, 31 bottles of beer.\nTake one down and pass it around, 30 bottles of beer on the wall.\n\n30 bottles of beer on the wall, 30 bottles of beer.\nTake one down and pass it around, 29 bottles of beer on the wall.\n\n29 bottles of beer on the wall, 29 bottles of beer.\nTake one down and pass it around, 28 bottles of beer on the wall.\n\n28 bottles of beer on the wall, 28 bottles of beer.\nTake one down and pass it around, 27 bottles of beer on the wall.\n\n27 bottles of beer on the wall, 27 bottles of beer.\nTake one down and pass it around, 26 bottles of beer on the wall.\n\n26 bottles of beer on the wall, 26 bottles of beer.\nTake one down and pass it around, 25 bottles of beer on the wall.\n\n25 bottles of beer on the wall, 25 bottles of beer.\nTake one down and pass it around, 24 bottles of beer on the wall.\n\n24 bottles of beer on the wall, 24 bottles of beer.\nTake one down and pass it around, 23 bottles of beer on the wall.\n\n23 bottles of beer on the wall, 23 bottles of beer.\nTake one down and pass it around, 22 bottles of beer on the wall.\n\n22 bottles of beer on the wall, 22 bottles of beer.\nTake one down and pass it around, 21 bottles of beer on the wall.\n\n21 bottles of beer on the wall, 21 bottles of beer.\nTake one down and pass it around, 20 bottles of beer on the wall.\n\n20 bottles of beer on the wall, 20 bottles of beer.\nTake one down and pass it around, 19 bottles of beer on the wall.\n\n19 bottles of beer on the wall, 19 bottles of beer.\nTake one down and pass it around, 18 bottles of beer on the wall.\n\n18 bottles of beer on the wall, 18 bottles of beer.\nTake one down and pass it around, 17 bottles of beer on the wall.\n\n17 bottles of beer on the wall, 17 bottles of beer.\nTake one down and pass it around, 16 bottles of beer on the wall.\n\n16 bottles of beer on the wall, 16 bottles of beer.\nTake one down and pass it around, 15 bottles of beer on the wall.\n\n15 bottles of beer on the wall, 15 bottles of beer.\nTake one down and pass it around, 14 bottles of beer on the wall.\n\n14 bottles of beer on the wall, 14 bottles of beer.\nTake one down and pass it around, 13 bottles of beer on the wall.\n\n13 bottles of beer on the wall, 13 bottles of beer.\nTake one down and pass it around, 12 bottles of beer on the wall.\n\n12 bottles of beer on the wall, 12 bottles of beer.\nTake one down and pass it around, 11 bottles of beer on the wall.\n\n11 bottles of beer on the wall, 11 bottles of beer.\nTake one down and pass it around, 10 bottles of beer on the wall.\n\n10 bottles of beer on the wall, 10 bottles of beer.\nTake one down and pass it around, 9 bottles of beer on the wall.\n\n9 bottles of beer on the wall, 9 bottles of beer.\nTake one down and pass it around, 8 bottles of beer on the wall.\n\n8 bottles of beer on the wall, 8 bottles of beer.\nTake one down and pass it around, 7 bottles of beer on the wall.\n\n7 bottles of beer on the wall, 7 bottles of beer.\nTake one down and pass it around, 6 bottles of beer on the wall.\n\n6 bottles of beer on the wall, 6 bottles of beer.\nTake one down and pass it around, 5 bottles of beer on the wall.\n\n5 bottles of beer on the wall, 5 bottles of beer.\nTake one down and pass it around, 4 bottles of beer on the wall.\n\n4 bottles of beer on the wall, 4 bottles of beer.\nTake one down and pass it around, 3 bottles of beer on the wall.\n\n3 bottles of beer on the wall, 3 bottles of beer.\nTake one down and pass it around, 2 bottles of beer on the wall.\n\n2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\nNo more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
49
+ AssertEqual expected, Verses(start, end)
50
+
@@ -0,0 +1,24 @@
1
+ "
2
+ " Produce the lyrics to that beloved classic, that field-trip favorite: 99
3
+ " Bottles of Beer on the Wall.
4
+ "
5
+ " :echo Verse(99)
6
+ " 99 bottles of beer on the wall, 99 bottles of beer.
7
+ " Take one down and pass it around, 98 bottles of beer on the wall.
8
+ "
9
+ "
10
+ " :echo Verses(99, 98)
11
+ " 99 bottles of beer on the wall, 99 bottles of beer.
12
+ " Take one down and pass it around, 98 bottles of beer on the wall.
13
+ "
14
+ " 98 bottles of beer on the wall, 98 bottles of beer.
15
+ " Take one down and pass it around, 97 bottles of beer on the wall.
16
+ "
17
+
18
+ function! Verse(verse) abort
19
+ " your code goes here
20
+ endfunction
21
+
22
+ function! Verses(start, end) abort
23
+ " your code goes here
24
+ endfunction
@@ -0,0 +1,21 @@
1
+ function! Verse(verse) abort
2
+ if a:verse == 0
3
+ return "No more bottles of beer on the wall, no more bottles of beer.\n".
4
+ \ "Go to the store and buy some more, 99 bottles of beer on the wall.\n"
5
+ elseif a:verse == 1
6
+ return "1 bottle of beer on the wall, 1 bottle of beer.\n".
7
+ \ "Take it down and pass it around, no more bottles of beer on the wall.\n"
8
+ elseif a:verse == 2
9
+ return "2 bottles of beer on the wall, 2 bottles of beer.\n".
10
+ \ "Take one down and pass it around, 1 bottle of beer on the wall.\n"
11
+ else
12
+ return printf(
13
+ \ "%s bottles of beer on the wall, %s bottles of beer.\n".
14
+ \ "Take one down and pass it around, %s bottles of beer on the wall.\n",
15
+ \ a:verse, a:verse, a:verse - 1)
16
+ end
17
+ endfunction
18
+
19
+ function! Verses(start, end) abort
20
+ return join(map(range(a:start, a:end, -1), 'Verse(v:val)'), "\n")
21
+ endfunction
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.33
4
+ version: 2.1.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-10 00:00:00.000000000 Z
11
+ date: 2017-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -551,9 +551,9 @@ files:
551
551
  - tracks/bash/.travis.yml
552
552
  - tracks/bash/LICENSE
553
553
  - tracks/bash/README.md
554
- - tracks/bash/SETUP.md
555
554
  - tracks/bash/bin/fetch-configlet
556
555
  - tracks/bash/config.json
556
+ - tracks/bash/docs/EXERCISE_README_INSERT.md
557
557
  - tracks/bash/docs/INSTALLATION.md
558
558
  - tracks/bash/docs/LEARNING.md
559
559
  - tracks/bash/docs/RESOURCES.md
@@ -562,6 +562,8 @@ files:
562
562
  - tracks/bash/exercises/anagram/example.sh
563
563
  - tracks/bash/exercises/bob/bob_test.sh
564
564
  - tracks/bash/exercises/bob/example.sh
565
+ - tracks/bash/exercises/difference-of-squares/difference_of_squares_test.sh
566
+ - tracks/bash/exercises/difference-of-squares/example.sh
565
567
  - tracks/bash/exercises/gigasecond/example.sh
566
568
  - tracks/bash/exercises/gigasecond/gigasecond_test.sh
567
569
  - tracks/bash/exercises/hamming/example.sh
@@ -1105,23 +1107,23 @@ files:
1105
1107
  - tracks/clojurescript/bin/fetch-configlet
1106
1108
  - tracks/clojurescript/config.json
1107
1109
  - tracks/clojurescript/docs/ABOUT.md
1110
+ - tracks/clojurescript/docs/EXERCISE_README_INSERT.md
1108
1111
  - tracks/clojurescript/docs/INSTALLATION.md
1109
1112
  - tracks/clojurescript/docs/LEARNING.md
1110
1113
  - tracks/clojurescript/docs/RESOURCES.md
1111
1114
  - tracks/clojurescript/docs/TESTS.md
1112
- - tracks/clojurescript/exercises/TRACK_HINTS.md
1113
1115
  - tracks/clojurescript/img/.keep
1114
1116
  - tracks/coffeescript/.git
1115
1117
  - tracks/coffeescript/.gitignore
1116
1118
  - tracks/coffeescript/.travis.yml
1117
1119
  - tracks/coffeescript/LICENSE
1118
1120
  - tracks/coffeescript/README.md
1119
- - tracks/coffeescript/SETUP.md
1120
1121
  - tracks/coffeescript/bin/fetch-configlet
1121
1122
  - tracks/coffeescript/bin/run_all_tests
1122
1123
  - tracks/coffeescript/bin/test_exercise
1123
1124
  - tracks/coffeescript/config.json
1124
1125
  - tracks/coffeescript/docs/ABOUT.md
1126
+ - tracks/coffeescript/docs/EXERCISE_README_INSERT.md
1125
1127
  - tracks/coffeescript/docs/INSTALLATION.md
1126
1128
  - tracks/coffeescript/docs/RESOURCES.md
1127
1129
  - tracks/coffeescript/docs/TESTS.md
@@ -2093,12 +2095,12 @@ files:
2093
2095
  - tracks/dlang/.travis.yml
2094
2096
  - tracks/dlang/LICENSE
2095
2097
  - tracks/dlang/README.md
2096
- - tracks/dlang/SETUP.md
2097
2098
  - tracks/dlang/bin/fetch-configlet
2098
2099
  - tracks/dlang/bin/test-all-exercises
2099
2100
  - tracks/dlang/bin/test-exercise
2100
2101
  - tracks/dlang/config.json
2101
2102
  - tracks/dlang/docs/ABOUT.md
2103
+ - tracks/dlang/docs/EXERCISE_README_INSERT.md
2102
2104
  - tracks/dlang/docs/INSTALLATION.md
2103
2105
  - tracks/dlang/docs/LEARNING.md
2104
2106
  - tracks/dlang/docs/RESOURCES.md
@@ -4351,9 +4353,9 @@ files:
4351
4353
  - tracks/haxe/LICENSE
4352
4354
  - tracks/haxe/Makefile
4353
4355
  - tracks/haxe/README.md
4354
- - tracks/haxe/SETUP.md
4355
4356
  - tracks/haxe/bin/fetch-configlet
4356
4357
  - tracks/haxe/config.json
4358
+ - tracks/haxe/docs/EXERCISE_README_INSERT.md
4357
4359
  - tracks/haxe/exercises/bob/.munit
4358
4360
  - tracks/haxe/exercises/bob/Makefile
4359
4361
  - tracks/haxe/exercises/bob/src/example.hx
@@ -4410,6 +4412,10 @@ files:
4410
4412
  - tracks/java/LICENSE
4411
4413
  - tracks/java/POLICIES.md
4412
4414
  - tracks/java/README.md
4415
+ - tracks/java/_template/build.gradle
4416
+ - tracks/java/_template/src/example/java/.keep
4417
+ - tracks/java/_template/src/main/java/.keep
4418
+ - tracks/java/_template/src/test/java/.keep
4413
4419
  - tracks/java/bin/build-jq.sh
4414
4420
  - tracks/java/bin/fetch-configlet
4415
4421
  - tracks/java/bin/journey-test.sh
@@ -4425,10 +4431,6 @@ files:
4425
4431
  - tracks/java/docs/img/eclipse-mp-search-buildship-gradle.png
4426
4432
  - tracks/java/docs/img/mac-osx--idea-ce-run-unit-tests.png
4427
4433
  - tracks/java/docs/img/mac-osx--install-java-dialog.png
4428
- - tracks/java/exercises/_template/build.gradle
4429
- - tracks/java/exercises/_template/src/example/java/.keep
4430
- - tracks/java/exercises/_template/src/main/java/.keep
4431
- - tracks/java/exercises/_template/src/test/java/.keep
4432
4434
  - tracks/java/exercises/accumulate/build.gradle
4433
4435
  - tracks/java/exercises/accumulate/src/example/java/Accumulate.java
4434
4436
  - tracks/java/exercises/accumulate/src/main/java/.keep
@@ -5045,6 +5047,10 @@ files:
5045
5047
  - tracks/kotlin/.travis.yml
5046
5048
  - tracks/kotlin/LICENSE
5047
5049
  - tracks/kotlin/README.md
5050
+ - tracks/kotlin/_template/build.gradle
5051
+ - tracks/kotlin/_template/src/example/kotlin/.keep
5052
+ - tracks/kotlin/_template/src/main/kotlin/.keep
5053
+ - tracks/kotlin/_template/src/test/kotlin/.keep
5048
5054
  - tracks/kotlin/bin/fetch-configlet
5049
5055
  - tracks/kotlin/bin/journey-test.sh
5050
5056
  - tracks/kotlin/bin/unit-tests.sh
@@ -5058,10 +5064,6 @@ files:
5058
5064
  - tracks/kotlin/docs/img/mac-osx--idea-ce-gradle-import-dialog.png
5059
5065
  - tracks/kotlin/docs/img/mac-osx--idea-ce-run-unit-tests.png
5060
5066
  - tracks/kotlin/docs/img/mac-osx--install-java-dialog.png
5061
- - tracks/kotlin/exercises/_template/build.gradle
5062
- - tracks/kotlin/exercises/_template/src/example/kotlin/.keep
5063
- - tracks/kotlin/exercises/_template/src/main/kotlin/.keep
5064
- - tracks/kotlin/exercises/_template/src/test/kotlin/.keep
5065
5067
  - tracks/kotlin/exercises/accumulate/build.gradle
5066
5068
  - tracks/kotlin/exercises/accumulate/src/example/kotlin/Accumulate.kt
5067
5069
  - tracks/kotlin/exercises/accumulate/src/main/kotlin/.keep
@@ -5786,12 +5788,12 @@ files:
5786
5788
  - tracks/mips/.travis.yml
5787
5789
  - tracks/mips/LICENSE
5788
5790
  - tracks/mips/README.md
5789
- - tracks/mips/SETUP.md
5790
5791
  - tracks/mips/bin/fetch-configlet
5791
5792
  - tracks/mips/bin/mars-4-5.jar
5792
5793
  - tracks/mips/bin/test
5793
5794
  - tracks/mips/config.json
5794
5795
  - tracks/mips/docs/ABOUT.md
5796
+ - tracks/mips/docs/EXERCISE_README_INSERT.md
5795
5797
  - tracks/mips/docs/INSTALLATION.md
5796
5798
  - tracks/mips/docs/LEARNING.md
5797
5799
  - tracks/mips/docs/RESOURCES.md
@@ -5830,9 +5832,9 @@ files:
5830
5832
  - tracks/nasm/.travis.yml
5831
5833
  - tracks/nasm/LICENSE
5832
5834
  - tracks/nasm/README.md
5833
- - tracks/nasm/SETUP.md
5834
5835
  - tracks/nasm/bin/fetch-configlet
5835
5836
  - tracks/nasm/config.json
5837
+ - tracks/nasm/docs/EXERCISE_README_INSERT.md
5836
5838
  - tracks/nasm/exercises/.keep
5837
5839
  - tracks/nasm/img/icon.png
5838
5840
  - tracks/nim/.git
@@ -5840,10 +5842,10 @@ files:
5840
5842
  - tracks/nim/.travis.yml
5841
5843
  - tracks/nim/LICENSE
5842
5844
  - tracks/nim/README.md
5843
- - tracks/nim/SETUP.md
5844
5845
  - tracks/nim/_test/check_exercises.nim
5845
5846
  - tracks/nim/bin/fetch-configlet
5846
5847
  - tracks/nim/config.json
5848
+ - tracks/nim/docs/EXERCISE_README_INSERT.md
5847
5849
  - tracks/nim/exercises/anagram/anagram_test.nim
5848
5850
  - tracks/nim/exercises/anagram/example.nim
5849
5851
  - tracks/nim/exercises/binary/binary_test.nim
@@ -5862,6 +5864,8 @@ files:
5862
5864
  - tracks/nim/exercises/nucleotide-count/nucleotide_count_test.nim
5863
5865
  - tracks/nim/exercises/queen-attack/example.nim
5864
5866
  - tracks/nim/exercises/queen-attack/queen_attack_test.nim
5867
+ - tracks/nim/exercises/raindrops/example.nim
5868
+ - tracks/nim/exercises/raindrops/raindrops_test.nim
5865
5869
  - tracks/nim/exercises/react/example.nim
5866
5870
  - tracks/nim/exercises/react/react_test.nim
5867
5871
  - tracks/nim/exercises/rna-transcription/example.nim
@@ -6314,11 +6318,11 @@ files:
6314
6318
  - tracks/perl5/.travis.yml
6315
6319
  - tracks/perl5/LICENSE
6316
6320
  - tracks/perl5/README.md
6317
- - tracks/perl5/SETUP.md
6318
6321
  - tracks/perl5/bin/fetch-configlet
6319
6322
  - tracks/perl5/config.json
6320
6323
  - tracks/perl5/cpanfile
6321
6324
  - tracks/perl5/docs/ABOUT.md
6325
+ - tracks/perl5/docs/EXERCISE_README_INSERT.md
6322
6326
  - tracks/perl5/docs/INSTALLATION.md
6323
6327
  - tracks/perl5/docs/LEARNING.md
6324
6328
  - tracks/perl5/docs/RESOURCES.md
@@ -6474,12 +6478,12 @@ files:
6474
6478
  - tracks/perl6/.travis.yml
6475
6479
  - tracks/perl6/LICENSE
6476
6480
  - tracks/perl6/README.md
6477
- - tracks/perl6/SETUP.md
6478
6481
  - tracks/perl6/bin/README.md
6479
6482
  - tracks/perl6/bin/exercise-gen.pl6
6480
6483
  - tracks/perl6/bin/fetch-configlet
6481
6484
  - tracks/perl6/config.json
6482
6485
  - tracks/perl6/docs/ABOUT.md
6486
+ - tracks/perl6/docs/EXERCISE_README_INSERT.md
6483
6487
  - tracks/perl6/docs/INSTALLATION.md
6484
6488
  - tracks/perl6/docs/LEARNING.md
6485
6489
  - tracks/perl6/docs/RESOURCES.md
@@ -6543,7 +6547,7 @@ files:
6543
6547
  - tracks/perl6/exercises/luhn/example.yaml
6544
6548
  - tracks/perl6/exercises/luhn/luhn.t
6545
6549
  - tracks/perl6/exercises/phone-number/Example.pm6
6546
- - tracks/perl6/exercises/phone-number/PhoneNumber.pm6
6550
+ - tracks/perl6/exercises/phone-number/Phone.pm6
6547
6551
  - tracks/perl6/exercises/phone-number/example.yaml
6548
6552
  - tracks/perl6/exercises/phone-number/phone-number.t
6549
6553
  - tracks/perl6/exercises/raindrops/Example.pm6
@@ -6577,6 +6581,7 @@ files:
6577
6581
  - tracks/perl6/exercises/wordy/example.yaml
6578
6582
  - tracks/perl6/exercises/wordy/wordy.t
6579
6583
  - tracks/perl6/img/icon.png
6584
+ - tracks/perl6/templates/module.mustache
6580
6585
  - tracks/perl6/templates/test.mustache
6581
6586
  - tracks/php/.editorconfig
6582
6587
  - tracks/php/.git
@@ -6711,9 +6716,9 @@ files:
6711
6716
  - tracks/plsql/.travis.yml
6712
6717
  - tracks/plsql/LICENSE
6713
6718
  - tracks/plsql/README.md
6714
- - tracks/plsql/SETUP.md
6715
6719
  - tracks/plsql/bin/fetch-configlet
6716
6720
  - tracks/plsql/config.json
6721
+ - tracks/plsql/docs/EXERCISE_README_INSERT.md
6717
6722
  - tracks/plsql/docs/INSTALLATION.md
6718
6723
  - tracks/plsql/docs/LEARNING.md
6719
6724
  - tracks/plsql/docs/RESOURCES.md
@@ -6747,12 +6752,12 @@ files:
6747
6752
  - tracks/pony/.travis.yml
6748
6753
  - tracks/pony/LICENSE
6749
6754
  - tracks/pony/README.md
6750
- - tracks/pony/SETUP.md
6751
6755
  - tracks/pony/bin/fetch-configlet
6752
6756
  - tracks/pony/bin/install-deps
6753
6757
  - tracks/pony/bin/test-exercises
6754
6758
  - tracks/pony/config.json
6755
6759
  - tracks/pony/docs/ABOUT.md
6760
+ - tracks/pony/docs/EXERCISE_README_INSERT.md
6756
6761
  - tracks/pony/docs/INSTALLATION.md
6757
6762
  - tracks/pony/docs/LEARNING.md
6758
6763
  - tracks/pony/docs/RESOURCES.md
@@ -6785,9 +6790,9 @@ files:
6785
6790
  - tracks/powershell/.travis.yml
6786
6791
  - tracks/powershell/LICENSE
6787
6792
  - tracks/powershell/README.md
6788
- - tracks/powershell/SETUP.md
6789
6793
  - tracks/powershell/bin/fetch-configlet
6790
6794
  - tracks/powershell/config.json
6795
+ - tracks/powershell/docs/EXERCISE_README_INSERT.md
6791
6796
  - tracks/powershell/exercises/hamming/.version
6792
6797
  - tracks/powershell/exercises/hamming/hamming-example.ps1
6793
6798
  - tracks/powershell/exercises/hamming/hamming.tests.ps1
@@ -7430,11 +7435,11 @@ files:
7430
7435
  - tracks/ruby/config.json
7431
7436
  - tracks/ruby/docs/24pullrequests.md
7432
7437
  - tracks/ruby/docs/ABOUT.md
7438
+ - tracks/ruby/docs/EXERCISE_README_INSERT.md
7433
7439
  - tracks/ruby/docs/INSTALLATION.md
7434
7440
  - tracks/ruby/docs/LEARNING.md
7435
7441
  - tracks/ruby/docs/RESOURCES.md
7436
7442
  - tracks/ruby/docs/TESTS.md
7437
- - tracks/ruby/exercises/TRACK_HINTS.md
7438
7443
  - tracks/ruby/exercises/accumulate/.meta/solutions/accumulate.rb
7439
7444
  - tracks/ruby/exercises/accumulate/HINTS.md
7440
7445
  - tracks/ruby/exercises/accumulate/accumulate_test.rb
@@ -9081,9 +9086,9 @@ files:
9081
9086
  - tracks/tcl/.travis.yml
9082
9087
  - tracks/tcl/LICENSE
9083
9088
  - tracks/tcl/README.md
9084
- - tracks/tcl/SETUP.md
9085
9089
  - tracks/tcl/bin/fetch-configlet
9086
9090
  - tracks/tcl/config.json
9091
+ - tracks/tcl/docs/EXERCISE_README_INSERT.md
9087
9092
  - tracks/tcl/exercises/.keep
9088
9093
  - tracks/tcl/img/icon.png
9089
9094
  - tracks/teco/.git
@@ -9091,10 +9096,10 @@ files:
9091
9096
  - tracks/teco/.travis.yml
9092
9097
  - tracks/teco/LICENSE
9093
9098
  - tracks/teco/README.md
9094
- - tracks/teco/SETUP.md
9095
9099
  - tracks/teco/bin/fetch-configlet
9096
9100
  - tracks/teco/config.json
9097
9101
  - tracks/teco/docs/ABOUT.md
9102
+ - tracks/teco/docs/EXERCISE_README_INSERT.md
9098
9103
  - tracks/teco/docs/INSTALLATION.md
9099
9104
  - tracks/teco/docs/LEARNING.md
9100
9105
  - tracks/teco/docs/RESOURCES.md
@@ -9253,9 +9258,9 @@ files:
9253
9258
  - tracks/vbnet/.travis.yml
9254
9259
  - tracks/vbnet/LICENSE
9255
9260
  - tracks/vbnet/README.md
9256
- - tracks/vbnet/SETUP.md
9257
9261
  - tracks/vbnet/bin/fetch-configlet
9258
9262
  - tracks/vbnet/config.json
9263
+ - tracks/vbnet/docs/EXERCISE_README_INSERT.md
9259
9264
  - tracks/vbnet/exercises/accumulate/AccumulateTest.vb
9260
9265
  - tracks/vbnet/exercises/accumulate/Example.vb
9261
9266
  - tracks/vbnet/exercises/allergies/AllergiesTest.vb
@@ -9277,12 +9282,12 @@ files:
9277
9282
  - tracks/vimscript/.vintrc.yaml
9278
9283
  - tracks/vimscript/LICENSE
9279
9284
  - tracks/vimscript/README.md
9280
- - tracks/vimscript/TRACK_HINTS.md
9281
9285
  - tracks/vimscript/bin/ci
9282
9286
  - tracks/vimscript/bin/fetch-configlet
9283
9287
  - tracks/vimscript/bin/pre-push
9284
9288
  - tracks/vimscript/config.json
9285
9289
  - tracks/vimscript/docs/ABOUT.md
9290
+ - tracks/vimscript/docs/EXERCISE_README_INSERT.md
9286
9291
  - tracks/vimscript/docs/INSTALLATION.md
9287
9292
  - tracks/vimscript/docs/LEARNING.md
9288
9293
  - tracks/vimscript/docs/RESOURCES.md
@@ -9297,6 +9302,9 @@ files:
9297
9302
  - tracks/vimscript/exercises/atbash-cipher/atbash_cipher.vader
9298
9303
  - tracks/vimscript/exercises/atbash-cipher/atbash_cipher.vim
9299
9304
  - tracks/vimscript/exercises/atbash-cipher/example.vim
9305
+ - tracks/vimscript/exercises/beer-song/beer_song.vader
9306
+ - tracks/vimscript/exercises/beer-song/beer_song.vim
9307
+ - tracks/vimscript/exercises/beer-song/example.vim
9300
9308
  - tracks/vimscript/exercises/bob/bob.vader
9301
9309
  - tracks/vimscript/exercises/bob/bob.vim
9302
9310
  - tracks/vimscript/exercises/bob/example.vim