wallaby 7.0.0.beta2 → 7.0.0

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.
Files changed (423) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/wallaby/base/_override_vars.scss +3 -0
  3. data/app/assets/stylesheets/wallaby/base.scss +2 -1
  4. data/lib/wallaby/version.rb +1 -1
  5. metadata +21 -434
  6. data/config/brakeman.ignore +0 -26
  7. data/config/massa.yml +0 -45
  8. data/config/rails_best_practices.yml +0 -42
  9. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/comment.js +0 -209
  10. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/continuecomment.js +0 -113
  11. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.css +0 -32
  12. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.js +0 -161
  13. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/autorefresh.js +0 -47
  14. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.css +0 -6
  15. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.js +0 -41
  16. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/panel.js +0 -127
  17. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/placeholder.js +0 -63
  18. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/rulers.js +0 -51
  19. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closebrackets.js +0 -191
  20. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closetag.js +0 -184
  21. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/continuelist.js +0 -99
  22. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchbrackets.js +0 -150
  23. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchtags.js +0 -66
  24. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/trailingspace.js +0 -27
  25. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/brace-fold.js +0 -105
  26. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/comment-fold.js +0 -59
  27. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldcode.js +0 -152
  28. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.css +0 -20
  29. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.js +0 -163
  30. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/indent-fold.js +0 -48
  31. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/markdown-fold.js +0 -49
  32. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/xml-fold.js +0 -184
  33. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/anyword-hint.js +0 -41
  34. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/css-hint.js +0 -60
  35. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/html-hint.js +0 -350
  36. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/javascript-hint.js +0 -157
  37. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.css +0 -36
  38. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.js +0 -460
  39. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/sql-hint.js +0 -304
  40. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/xml-hint.js +0 -123
  41. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/coffeescript-lint.js +0 -47
  42. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/css-lint.js +0 -40
  43. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/html-lint.js +0 -59
  44. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/javascript-lint.js +0 -63
  45. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/json-lint.js +0 -40
  46. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.css +0 -73
  47. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.js +0 -252
  48. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/yaml-lint.js +0 -41
  49. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.css +0 -119
  50. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.js +0 -1002
  51. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/loadmode.js +0 -64
  52. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex.js +0 -131
  53. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex_test.js +0 -33
  54. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/overlay.js +0 -90
  55. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/simple.js +0 -216
  56. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/colorize.js +0 -40
  57. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode-standalone.js +0 -158
  58. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.js +0 -72
  59. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.node.js +0 -197
  60. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/annotatescrollbar.js +0 -122
  61. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/scrollpastend.js +0 -48
  62. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.css +0 -66
  63. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.js +0 -152
  64. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/jump-to-line.js +0 -50
  65. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/match-highlighter.js +0 -165
  66. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.css +0 -8
  67. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.js +0 -97
  68. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/search.js +0 -260
  69. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/searchcursor.js +0 -293
  70. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/active-line.js +0 -72
  71. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/mark-selection.js +0 -119
  72. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/selection-pointer.js +0 -98
  73. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.css +0 -87
  74. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.js +0 -718
  75. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/worker.js +0 -44
  76. data/vendor/assets/javascripts/codemirror/5.49.2/addon/wrap/hardwrap.js +0 -145
  77. data/vendor/assets/javascripts/codemirror/5.49.2/lib/codemirror.js +0 -9783
  78. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/apl.js +0 -174
  79. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/index.html +0 -72
  80. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/asciiarmor.js +0 -74
  81. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/index.html +0 -46
  82. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/asn.1.js +0 -204
  83. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/index.html +0 -78
  84. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/asterisk.js +0 -220
  85. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/index.html +0 -155
  86. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/brainfuck.js +0 -85
  87. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/index.html +0 -85
  88. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/clike.js +0 -935
  89. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/index.html +0 -380
  90. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/scala.html +0 -767
  91. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/test.js +0 -165
  92. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/clojure.js +0 -292
  93. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/index.html +0 -95
  94. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/test.js +0 -384
  95. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/cmake.js +0 -97
  96. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/index.html +0 -129
  97. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/cobol.js +0 -255
  98. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/index.html +0 -210
  99. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/coffeescript.js +0 -359
  100. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/index.html +0 -740
  101. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/commonlisp.js +0 -124
  102. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/index.html +0 -177
  103. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/crystal.js +0 -433
  104. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/index.html +0 -116
  105. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/css.js +0 -831
  106. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss.html +0 -104
  107. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss_test.js +0 -17
  108. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/index.html +0 -75
  109. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less.html +0 -152
  110. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less_test.js +0 -54
  111. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss.html +0 -158
  112. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss_test.js +0 -110
  113. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/test.js +0 -217
  114. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/cypher.js +0 -150
  115. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/index.html +0 -64
  116. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/test.js +0 -37
  117. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/d.js +0 -223
  118. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/index.html +0 -273
  119. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/test.js +0 -11
  120. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/dart.js +0 -166
  121. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/index.html +0 -71
  122. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/diff.js +0 -47
  123. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/index.html +0 -117
  124. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/django.js +0 -356
  125. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/index.html +0 -73
  126. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/dockerfile.js +0 -211
  127. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/index.html +0 -73
  128. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/test.js +0 -128
  129. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/dtd.js +0 -142
  130. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/index.html +0 -89
  131. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/dylan.js +0 -352
  132. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/index.html +0 -407
  133. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/test.js +0 -88
  134. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/ebnf.js +0 -195
  135. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/index.html +0 -102
  136. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/ecl.js +0 -206
  137. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/index.html +0 -52
  138. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/eiffel.js +0 -160
  139. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/index.html +0 -429
  140. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/elm.js +0 -205
  141. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/index.html +0 -61
  142. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/erlang.js +0 -619
  143. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/index.html +0 -76
  144. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/factor.js +0 -85
  145. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/index.html +0 -77
  146. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/fcl.js +0 -173
  147. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/index.html +0 -108
  148. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/forth.js +0 -180
  149. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/index.html +0 -75
  150. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/fortran.js +0 -188
  151. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/index.html +0 -81
  152. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/gas.js +0 -345
  153. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/index.html +0 -68
  154. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/gfm.js +0 -129
  155. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/index.html +0 -136
  156. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/test.js +0 -198
  157. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/gherkin.js +0 -178
  158. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/index.html +0 -48
  159. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/go.js +0 -187
  160. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/index.html +0 -85
  161. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/groovy.js +0 -233
  162. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/index.html +0 -84
  163. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/haml.js +0 -161
  164. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/index.html +0 -79
  165. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/test.js +0 -97
  166. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/handlebars.js +0 -70
  167. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/index.html +0 -82
  168. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/haskell.js +0 -268
  169. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/index.html +0 -73
  170. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/haskell-literate.js +0 -43
  171. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/index.html +0 -282
  172. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/haxe.js +0 -515
  173. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/index.html +0 -124
  174. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/htmlembedded.js +0 -37
  175. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/index.html +0 -60
  176. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/htmlmixed.js +0 -152
  177. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/index.html +0 -100
  178. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/http.js +0 -113
  179. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/index.html +0 -45
  180. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/idl.js +0 -290
  181. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/index.html +0 -65
  182. data/vendor/assets/javascripts/codemirror/5.49.2/mode/index.html +0 -165
  183. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/index.html +0 -114
  184. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/javascript.js +0 -930
  185. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/json-ld.html +0 -72
  186. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/test.js +0 -513
  187. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/typescript.html +0 -62
  188. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/index.html +0 -54
  189. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/jinja2.js +0 -146
  190. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/index.html +0 -89
  191. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/jsx.js +0 -148
  192. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/test.js +0 -91
  193. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/index.html +0 -196
  194. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/julia.js +0 -429
  195. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/index.html +0 -459
  196. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/livescript.js +0 -280
  197. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/index.html +0 -85
  198. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/lua.js +0 -159
  199. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/index.html +0 -412
  200. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/markdown.js +0 -883
  201. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/test.js +0 -1317
  202. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/index.html +0 -72
  203. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/mathematica.js +0 -176
  204. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/index.html +0 -44
  205. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/mbox.js +0 -129
  206. data/vendor/assets/javascripts/codemirror/5.49.2/mode/meta.js +0 -219
  207. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/index.html +0 -161
  208. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/mirc.js +0 -193
  209. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/index.html +0 -198
  210. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/mllike.js +0 -359
  211. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/index.html +0 -67
  212. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/modelica.js +0 -245
  213. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/index.html +0 -151
  214. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen.js +0 -175
  215. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen_test.js +0 -84
  216. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/msgenny_test.js +0 -77
  217. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/xu_test.js +0 -87
  218. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/index.html +0 -85
  219. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/mumps.js +0 -148
  220. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/index.html +0 -181
  221. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/nginx.js +0 -178
  222. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/index.html +0 -80
  223. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/nsis.js +0 -95
  224. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/index.html +0 -70
  225. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/ntriples.js +0 -195
  226. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/index.html +0 -84
  227. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/octave.js +0 -139
  228. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/index.html +0 -59
  229. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/oz.js +0 -252
  230. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/index.html +0 -61
  231. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/pascal.js +0 -121
  232. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/index.html +0 -66
  233. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/pegjs.js +0 -114
  234. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/index.html +0 -75
  235. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/perl.js +0 -837
  236. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/index.html +0 -64
  237. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/php.js +0 -234
  238. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/test.js +0 -154
  239. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/index.html +0 -53
  240. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/pig.js +0 -178
  241. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/index.html +0 -205
  242. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/powershell.js +0 -398
  243. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/test.js +0 -74
  244. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/index.html +0 -53
  245. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/properties.js +0 -78
  246. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/index.html +0 -104
  247. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/protobuf.js +0 -69
  248. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/index.html +0 -70
  249. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/pug.js +0 -591
  250. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/index.html +0 -121
  251. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/puppet.js +0 -220
  252. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/index.html +0 -207
  253. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/python.js +0 -399
  254. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/test.js +0 -44
  255. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/index.html +0 -144
  256. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/q.js +0 -139
  257. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/index.html +0 -88
  258. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/r.js +0 -190
  259. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/changes/index.html +0 -66
  260. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/index.html +0 -149
  261. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/rpm.js +0 -109
  262. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/index.html +0 -535
  263. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/rst.js +0 -557
  264. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/index.html +0 -183
  265. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/ruby.js +0 -298
  266. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/test.js +0 -23
  267. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/index.html +0 -64
  268. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/rust.js +0 -72
  269. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/test.js +0 -39
  270. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/index.html +0 -81
  271. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/sas.js +0 -303
  272. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/index.html +0 -68
  273. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/sass.js +0 -454
  274. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/test.js +0 -122
  275. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/index.html +0 -77
  276. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/scheme.js +0 -265
  277. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/index.html +0 -66
  278. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/shell.js +0 -152
  279. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/test.js +0 -73
  280. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/index.html +0 -93
  281. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/sieve.js +0 -193
  282. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/index.html +0 -96
  283. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/slim.js +0 -575
  284. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/test.js +0 -96
  285. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/index.html +0 -68
  286. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/smalltalk.js +0 -168
  287. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/index.html +0 -138
  288. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/smarty.js +0 -225
  289. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/index.html +0 -57
  290. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/solr.js +0 -104
  291. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/index.html +0 -68
  292. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/soy.js +0 -437
  293. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/test.js +0 -204
  294. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/index.html +0 -61
  295. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/sparql.js +0 -180
  296. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/index.html +0 -42
  297. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/spreadsheet.js +0 -112
  298. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/index.html +0 -89
  299. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/sql.js +0 -494
  300. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/index.html +0 -116
  301. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/stex.js +0 -264
  302. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/test.js +0 -132
  303. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/index.html +0 -106
  304. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/stylus.js +0 -771
  305. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/index.html +0 -70
  306. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/swift.js +0 -223
  307. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/test.js +0 -162
  308. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/index.html +0 -142
  309. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/tcl.js +0 -139
  310. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/index.html +0 -191
  311. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/test.js +0 -417
  312. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/textile.js +0 -469
  313. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/index.html +0 -154
  314. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.css +0 -14
  315. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.js +0 -308
  316. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/index.html +0 -95
  317. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.css +0 -26
  318. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.js +0 -312
  319. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/index.html +0 -73
  320. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/toml.js +0 -88
  321. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/index.html +0 -63
  322. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/tornado.js +0 -68
  323. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/index.html +0 -146
  324. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/troff.js +0 -84
  325. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/index.html +0 -119
  326. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/ttcn.js +0 -283
  327. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/index.html +0 -116
  328. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  329. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/index.html +0 -51
  330. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/turtle.js +0 -162
  331. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/index.html +0 -45
  332. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/twig.js +0 -141
  333. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/index.html +0 -49
  334. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/vb.js +0 -275
  335. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/index.html +0 -55
  336. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/vbscript.js +0 -350
  337. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/index.html +0 -120
  338. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/velocity.js +0 -201
  339. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/index.html +0 -120
  340. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/test.js +0 -273
  341. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/verilog.js +0 -675
  342. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/index.html +0 -95
  343. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/vhdl.js +0 -189
  344. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/index.html +0 -69
  345. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/vue.js +0 -77
  346. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/index.html +0 -71
  347. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/webidl.js +0 -195
  348. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/index.html +0 -61
  349. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/test.js +0 -51
  350. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/xml.js +0 -413
  351. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/index.html +0 -211
  352. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/test.js +0 -67
  353. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/xquery.js +0 -448
  354. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/index.html +0 -87
  355. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/yacas.js +0 -204
  356. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/index.html +0 -80
  357. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/yaml.js +0 -120
  358. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/index.html +0 -121
  359. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/yaml-frontmatter.js +0 -68
  360. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/index.html +0 -53
  361. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/z80.js +0 -116
  362. data/vendor/assets/stylesheets/codemirror/5.49.2/lib/codemirror.css +0 -349
  363. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-day.css +0 -41
  364. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-night.css +0 -39
  365. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/abcdef.css +0 -32
  366. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance-mobile.css +0 -5
  367. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance.css +0 -74
  368. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-dark.css +0 -38
  369. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-light.css +0 -38
  370. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/bespin.css +0 -34
  371. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/blackboard.css +0 -32
  372. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/cobalt.css +0 -25
  373. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/colorforth.css +0 -33
  374. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/darcula.css +0 -53
  375. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/dracula.css +0 -40
  376. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-dark.css +0 -35
  377. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-light.css +0 -36
  378. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/eclipse.css +0 -23
  379. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/elegant.css +0 -13
  380. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/erlang-dark.css +0 -34
  381. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/gruvbox-dark.css +0 -37
  382. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/hopscotch.css +0 -34
  383. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/icecoder.css +0 -43
  384. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/idea.css +0 -42
  385. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/isotope.css +0 -34
  386. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lesser-dark.css +0 -47
  387. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/liquibyte.css +0 -95
  388. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lucario.css +0 -37
  389. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-darker.css +0 -135
  390. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-ocean.css +0 -135
  391. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-palenight.css +0 -135
  392. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material.css +0 -135
  393. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mbo.css +0 -37
  394. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mdn-like.css +0 -46
  395. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/midnight.css +0 -39
  396. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/monokai.css +0 -41
  397. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/moxer.css +0 -143
  398. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neat.css +0 -12
  399. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neo.css +0 -43
  400. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/night.css +0 -27
  401. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/nord.css +0 -42
  402. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/oceanic-next.css +0 -44
  403. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/panda-syntax.css +0 -85
  404. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-dark.css +0 -38
  405. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-light.css +0 -38
  406. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/pastel-on-dark.css +0 -52
  407. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/railscasts.css +0 -34
  408. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/rubyblue.css +0 -25
  409. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/seti.css +0 -44
  410. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/shadowfox.css +0 -52
  411. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/solarized.css +0 -168
  412. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ssms.css +0 -16
  413. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/the-matrix.css +0 -30
  414. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-bright.css +0 -35
  415. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-eighties.css +0 -38
  416. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ttcn.css +0 -64
  417. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/twilight.css +0 -32
  418. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/vibrant-ink.css +0 -34
  419. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-dark.css +0 -53
  420. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-light.css +0 -43
  421. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yeti.css +0 -44
  422. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yonce.css +0 -59
  423. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/zenburn.css +0 -37
@@ -1,268 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineMode("haskell", function(_config, modeConfig) {
15
-
16
- function switchState(source, setState, f) {
17
- setState(f);
18
- return f(source, setState);
19
- }
20
-
21
- // These should all be Unicode extended, as per the Haskell 2010 report
22
- var smallRE = /[a-z_]/;
23
- var largeRE = /[A-Z]/;
24
- var digitRE = /\d/;
25
- var hexitRE = /[0-9A-Fa-f]/;
26
- var octitRE = /[0-7]/;
27
- var idRE = /[a-z_A-Z0-9'\xa1-\uffff]/;
28
- var symbolRE = /[-!#$%&*+.\/<=>?@\\^|~:]/;
29
- var specialRE = /[(),;[\]`{}]/;
30
- var whiteCharRE = /[ \t\v\f]/; // newlines are handled in tokenizer
31
-
32
- function normal(source, setState) {
33
- if (source.eatWhile(whiteCharRE)) {
34
- return null;
35
- }
36
-
37
- var ch = source.next();
38
- if (specialRE.test(ch)) {
39
- if (ch == '{' && source.eat('-')) {
40
- var t = "comment";
41
- if (source.eat('#')) {
42
- t = "meta";
43
- }
44
- return switchState(source, setState, ncomment(t, 1));
45
- }
46
- return null;
47
- }
48
-
49
- if (ch == '\'') {
50
- if (source.eat('\\')) {
51
- source.next(); // should handle other escapes here
52
- }
53
- else {
54
- source.next();
55
- }
56
- if (source.eat('\'')) {
57
- return "string";
58
- }
59
- return "string error";
60
- }
61
-
62
- if (ch == '"') {
63
- return switchState(source, setState, stringLiteral);
64
- }
65
-
66
- if (largeRE.test(ch)) {
67
- source.eatWhile(idRE);
68
- if (source.eat('.')) {
69
- return "qualifier";
70
- }
71
- return "variable-2";
72
- }
73
-
74
- if (smallRE.test(ch)) {
75
- source.eatWhile(idRE);
76
- return "variable";
77
- }
78
-
79
- if (digitRE.test(ch)) {
80
- if (ch == '0') {
81
- if (source.eat(/[xX]/)) {
82
- source.eatWhile(hexitRE); // should require at least 1
83
- return "integer";
84
- }
85
- if (source.eat(/[oO]/)) {
86
- source.eatWhile(octitRE); // should require at least 1
87
- return "number";
88
- }
89
- }
90
- source.eatWhile(digitRE);
91
- var t = "number";
92
- if (source.match(/^\.\d+/)) {
93
- t = "number";
94
- }
95
- if (source.eat(/[eE]/)) {
96
- t = "number";
97
- source.eat(/[-+]/);
98
- source.eatWhile(digitRE); // should require at least 1
99
- }
100
- return t;
101
- }
102
-
103
- if (ch == "." && source.eat("."))
104
- return "keyword";
105
-
106
- if (symbolRE.test(ch)) {
107
- if (ch == '-' && source.eat(/-/)) {
108
- source.eatWhile(/-/);
109
- if (!source.eat(symbolRE)) {
110
- source.skipToEnd();
111
- return "comment";
112
- }
113
- }
114
- var t = "variable";
115
- if (ch == ':') {
116
- t = "variable-2";
117
- }
118
- source.eatWhile(symbolRE);
119
- return t;
120
- }
121
-
122
- return "error";
123
- }
124
-
125
- function ncomment(type, nest) {
126
- if (nest == 0) {
127
- return normal;
128
- }
129
- return function(source, setState) {
130
- var currNest = nest;
131
- while (!source.eol()) {
132
- var ch = source.next();
133
- if (ch == '{' && source.eat('-')) {
134
- ++currNest;
135
- }
136
- else if (ch == '-' && source.eat('}')) {
137
- --currNest;
138
- if (currNest == 0) {
139
- setState(normal);
140
- return type;
141
- }
142
- }
143
- }
144
- setState(ncomment(type, currNest));
145
- return type;
146
- };
147
- }
148
-
149
- function stringLiteral(source, setState) {
150
- while (!source.eol()) {
151
- var ch = source.next();
152
- if (ch == '"') {
153
- setState(normal);
154
- return "string";
155
- }
156
- if (ch == '\\') {
157
- if (source.eol() || source.eat(whiteCharRE)) {
158
- setState(stringGap);
159
- return "string";
160
- }
161
- if (source.eat('&')) {
162
- }
163
- else {
164
- source.next(); // should handle other escapes here
165
- }
166
- }
167
- }
168
- setState(normal);
169
- return "string error";
170
- }
171
-
172
- function stringGap(source, setState) {
173
- if (source.eat('\\')) {
174
- return switchState(source, setState, stringLiteral);
175
- }
176
- source.next();
177
- setState(normal);
178
- return "error";
179
- }
180
-
181
-
182
- var wellKnownWords = (function() {
183
- var wkw = {};
184
- function setType(t) {
185
- return function () {
186
- for (var i = 0; i < arguments.length; i++)
187
- wkw[arguments[i]] = t;
188
- };
189
- }
190
-
191
- setType("keyword")(
192
- "case", "class", "data", "default", "deriving", "do", "else", "foreign",
193
- "if", "import", "in", "infix", "infixl", "infixr", "instance", "let",
194
- "module", "newtype", "of", "then", "type", "where", "_");
195
-
196
- setType("keyword")(
197
- "\.\.", ":", "::", "=", "\\", "<-", "->", "@", "~", "=>");
198
-
199
- setType("builtin")(
200
- "!!", "$!", "$", "&&", "+", "++", "-", ".", "/", "/=", "<", "<*", "<=",
201
- "<$>", "<*>", "=<<", "==", ">", ">=", ">>", ">>=", "^", "^^", "||", "*",
202
- "*>", "**");
203
-
204
- setType("builtin")(
205
- "Applicative", "Bool", "Bounded", "Char", "Double", "EQ", "Either", "Enum",
206
- "Eq", "False", "FilePath", "Float", "Floating", "Fractional", "Functor",
207
- "GT", "IO", "IOError", "Int", "Integer", "Integral", "Just", "LT", "Left",
208
- "Maybe", "Monad", "Nothing", "Num", "Ord", "Ordering", "Rational", "Read",
209
- "ReadS", "Real", "RealFloat", "RealFrac", "Right", "Show", "ShowS",
210
- "String", "True");
211
-
212
- setType("builtin")(
213
- "abs", "acos", "acosh", "all", "and", "any", "appendFile", "asTypeOf",
214
- "asin", "asinh", "atan", "atan2", "atanh", "break", "catch", "ceiling",
215
- "compare", "concat", "concatMap", "const", "cos", "cosh", "curry",
216
- "cycle", "decodeFloat", "div", "divMod", "drop", "dropWhile", "either",
217
- "elem", "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo",
218
- "enumFromTo", "error", "even", "exp", "exponent", "fail", "filter",
219
- "flip", "floatDigits", "floatRadix", "floatRange", "floor", "fmap",
220
- "foldl", "foldl1", "foldr", "foldr1", "fromEnum", "fromInteger",
221
- "fromIntegral", "fromRational", "fst", "gcd", "getChar", "getContents",
222
- "getLine", "head", "id", "init", "interact", "ioError", "isDenormalized",
223
- "isIEEE", "isInfinite", "isNaN", "isNegativeZero", "iterate", "last",
224
- "lcm", "length", "lex", "lines", "log", "logBase", "lookup", "map",
225
- "mapM", "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound",
226
- "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or",
227
- "otherwise", "pi", "pred", "print", "product", "properFraction", "pure",
228
- "putChar", "putStr", "putStrLn", "quot", "quotRem", "read", "readFile",
229
- "readIO", "readList", "readLn", "readParen", "reads", "readsPrec",
230
- "realToFrac", "recip", "rem", "repeat", "replicate", "return", "reverse",
231
- "round", "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "seq",
232
- "sequence", "sequence_", "show", "showChar", "showList", "showParen",
233
- "showString", "shows", "showsPrec", "significand", "signum", "sin",
234
- "sinh", "snd", "span", "splitAt", "sqrt", "subtract", "succ", "sum",
235
- "tail", "take", "takeWhile", "tan", "tanh", "toEnum", "toInteger",
236
- "toRational", "truncate", "uncurry", "undefined", "unlines", "until",
237
- "unwords", "unzip", "unzip3", "userError", "words", "writeFile", "zip",
238
- "zip3", "zipWith", "zipWith3");
239
-
240
- var override = modeConfig.overrideKeywords;
241
- if (override) for (var word in override) if (override.hasOwnProperty(word))
242
- wkw[word] = override[word];
243
-
244
- return wkw;
245
- })();
246
-
247
-
248
-
249
- return {
250
- startState: function () { return { f: normal }; },
251
- copyState: function (s) { return { f: s.f }; },
252
-
253
- token: function(stream, state) {
254
- var t = state.f(stream, function(s) { state.f = s; });
255
- var w = stream.current();
256
- return wellKnownWords.hasOwnProperty(w) ? wellKnownWords[w] : t;
257
- },
258
-
259
- blockCommentStart: "{-",
260
- blockCommentEnd: "-}",
261
- lineComment: "--"
262
- };
263
-
264
- });
265
-
266
- CodeMirror.defineMIME("text/x-haskell", "haskell");
267
-
268
- });
@@ -1,73 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: Haskell mode</title>
4
- <meta charset="utf-8"/>
5
- <link rel=stylesheet href="../../doc/docs.css">
6
-
7
- <link rel="stylesheet" href="../../lib/codemirror.css">
8
- <link rel="stylesheet" href="../../theme/elegant.css">
9
- <script src="../../lib/codemirror.js"></script>
10
- <script src="../../addon/edit/matchbrackets.js"></script>
11
- <script src="haskell.js"></script>
12
- <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
13
- <div id=nav>
14
- <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
15
-
16
- <ul>
17
- <li><a href="../../index.html">Home</a>
18
- <li><a href="../../doc/manual.html">Manual</a>
19
- <li><a href="https://github.com/codemirror/codemirror">Code</a>
20
- </ul>
21
- <ul>
22
- <li><a href="../index.html">Language modes</a>
23
- <li><a class=active href="#">Haskell</a>
24
- </ul>
25
- </div>
26
-
27
- <article>
28
- <h2>Haskell mode</h2>
29
- <form><textarea id="code" name="code">
30
- module UniquePerms (
31
- uniquePerms
32
- )
33
- where
34
-
35
- -- | Find all unique permutations of a list where there might be duplicates.
36
- uniquePerms :: (Eq a) => [a] -> [[a]]
37
- uniquePerms = permBag . makeBag
38
-
39
- -- | An unordered collection where duplicate values are allowed,
40
- -- but represented with a single value and a count.
41
- type Bag a = [(a, Int)]
42
-
43
- makeBag :: (Eq a) => [a] -> Bag a
44
- makeBag [] = []
45
- makeBag (a:as) = mix a $ makeBag as
46
- where
47
- mix a [] = [(a,1)]
48
- mix a (bn@(b,n):bs) | a == b = (b,n+1):bs
49
- | otherwise = bn : mix a bs
50
-
51
- permBag :: Bag a -> [[a]]
52
- permBag [] = [[]]
53
- permBag bs = concatMap (\(f,cs) -> map (f:) $ permBag cs) . oneOfEach $ bs
54
- where
55
- oneOfEach [] = []
56
- oneOfEach (an@(a,n):bs) =
57
- let bs' = if n == 1 then bs else (a,n-1):bs
58
- in (a,bs') : mapSnd (an:) (oneOfEach bs)
59
-
60
- apSnd f (a,b) = (a, f b)
61
- mapSnd = map . apSnd
62
- </textarea></form>
63
-
64
- <script>
65
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
66
- lineNumbers: true,
67
- matchBrackets: true,
68
- theme: "elegant"
69
- });
70
- </script>
71
-
72
- <p><strong>MIME types defined:</strong> <code>text/x-haskell</code>.</p>
73
- </article>
@@ -1,43 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/LICENSE
3
-
4
- (function (mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"), require("../haskell/haskell"))
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror", "../haskell/haskell"], mod)
9
- else // Plain browser env
10
- mod(CodeMirror)
11
- })(function (CodeMirror) {
12
- "use strict"
13
-
14
- CodeMirror.defineMode("haskell-literate", function (config, parserConfig) {
15
- var baseMode = CodeMirror.getMode(config, (parserConfig && parserConfig.base) || "haskell")
16
-
17
- return {
18
- startState: function () {
19
- return {
20
- inCode: false,
21
- baseState: CodeMirror.startState(baseMode)
22
- }
23
- },
24
- token: function (stream, state) {
25
- if (stream.sol()) {
26
- if (state.inCode = stream.eat(">"))
27
- return "meta"
28
- }
29
- if (state.inCode) {
30
- return baseMode.token(stream, state.baseState)
31
- } else {
32
- stream.skipToEnd()
33
- return "comment"
34
- }
35
- },
36
- innerMode: function (state) {
37
- return state.inCode ? {state: state.baseState, mode: baseMode} : null
38
- }
39
- }
40
- }, "haskell")
41
-
42
- CodeMirror.defineMIME("text/x-literate-haskell", "haskell-literate")
43
- });
@@ -1,282 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: Haskell-literate mode</title>
4
- <meta charset="utf-8"/>
5
- <link rel=stylesheet href="../../doc/docs.css">
6
-
7
- <link rel="stylesheet" href="../../lib/codemirror.css">
8
- <script src="../../lib/codemirror.js"></script>
9
- <script src="haskell-literate.js"></script>
10
- <script src="../haskell/haskell.js"></script>
11
- <style>.CodeMirror {
12
- border-top : 1px solid #DDDDDD;
13
- border-bottom : 1px solid #DDDDDD;
14
- }</style>
15
- <div id=nav>
16
- <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo
17
- src="../../doc/logo.png"></a>
18
-
19
- <ul>
20
- <li><a href="../../index.html">Home</a>
21
- <li><a href="../../doc/manual.html">Manual</a>
22
- <li><a href="https://github.com/codemirror/codemirror">Code</a>
23
- </ul>
24
- <ul>
25
- <li><a href="../index.html">Language modes</a>
26
- <li><a class=active href="#">Haskell-literate</a>
27
- </ul>
28
- </div>
29
-
30
- <article>
31
- <h2>Haskell literate mode</h2>
32
- <form>
33
- <textarea id="code" name="code">
34
- > {-# LANGUAGE OverloadedStrings #-}
35
- > {-# OPTIONS_GHC -fno-warn-unused-do-bind #-}
36
- > import Control.Applicative ((<$>), (<*>))
37
- > import Data.Maybe (isJust)
38
-
39
- > import Data.Text (Text)
40
- > import Text.Blaze ((!))
41
- > import qualified Data.Text as T
42
- > import qualified Happstack.Server as Happstack
43
- > import qualified Text.Blaze.Html5 as H
44
- > import qualified Text.Blaze.Html5.Attributes as A
45
-
46
- > import Text.Digestive
47
- > import Text.Digestive.Blaze.Html5
48
- > import Text.Digestive.Happstack
49
- > import Text.Digestive.Util
50
-
51
- Simple forms and validation
52
- ---------------------------
53
-
54
- Let's start by creating a very simple datatype to represent a user:
55
-
56
- > data User = User
57
- > { userName :: Text
58
- > , userMail :: Text
59
- > } deriving (Show)
60
-
61
- And dive in immediately to create a `Form` for a user. The `Form v m a` type
62
- has three parameters:
63
-
64
- - `v`: the type for messages and errors (usually a `String`-like type, `Text` in
65
- this case);
66
- - `m`: the monad we are operating in, not specified here;
67
- - `a`: the return type of the `Form`, in this case, this is obviously `User`.
68
-
69
- > userForm :: Monad m => Form Text m User
70
-
71
- We create forms by using the `Applicative` interface. A few form types are
72
- provided in the `Text.Digestive.Form` module, such as `text`, `string`,
73
- `bool`...
74
-
75
- In the `digestive-functors` library, the developer is required to label each
76
- field using the `.:` operator. This might look like a bit of a burden, but it
77
- allows you to do some really useful stuff, like separating the `Form` from the
78
- actual HTML layout.
79
-
80
- > userForm = User
81
- > <$> "name" .: text Nothing
82
- > <*> "mail" .: check "Not a valid email address" checkEmail (text Nothing)
83
-
84
- The `check` function enables you to validate the result of a form. For example,
85
- we can validate the email address with a really naive `checkEmail` function.
86
-
87
- > checkEmail :: Text -> Bool
88
- > checkEmail = isJust . T.find (== '@')
89
-
90
- More validation
91
- ---------------
92
-
93
- For our example, we also want descriptions of Haskell libraries, and in order to
94
- do that, we need package versions...
95
-
96
- > type Version = [Int]
97
-
98
- We want to let the user input a version number such as `0.1.0.0`. This means we
99
- need to validate if the input `Text` is of this form, and then we need to parse
100
- it to a `Version` type. Fortunately, we can do this in a single function:
101
- `validate` allows conversion between values, which can optionally fail.
102
-
103
- `readMaybe :: Read a => String -> Maybe a` is a utility function imported from
104
- `Text.Digestive.Util`.
105
-
106
- > validateVersion :: Text -> Result Text Version
107
- > validateVersion = maybe (Error "Cannot parse version") Success .
108
- > mapM (readMaybe . T.unpack) . T.split (== '.')
109
-
110
- A quick test in GHCi:
111
-
112
- ghci> validateVersion (T.pack "0.3.2.1")
113
- Success [0,3,2,1]
114
- ghci> validateVersion (T.pack "0.oops")
115
- Error "Cannot parse version"
116
-
117
- It works! This means we can now easily add a `Package` type and a `Form` for it:
118
-
119
- > data Category = Web | Text | Math
120
- > deriving (Bounded, Enum, Eq, Show)
121
-
122
- > data Package = Package Text Version Category
123
- > deriving (Show)
124
-
125
- > packageForm :: Monad m => Form Text m Package
126
- > packageForm = Package
127
- > <$> "name" .: text Nothing
128
- > <*> "version" .: validate validateVersion (text (Just "0.0.0.1"))
129
- > <*> "category" .: choice categories Nothing
130
- > where
131
- > categories = [(x, T.pack (show x)) | x <- [minBound .. maxBound]]
132
-
133
- Composing forms
134
- ---------------
135
-
136
- A release has an author and a package. Let's use this to illustrate the
137
- composability of the digestive-functors library: we can reuse the forms we have
138
- written earlier on.
139
-
140
- > data Release = Release User Package
141
- > deriving (Show)
142
-
143
- > releaseForm :: Monad m => Form Text m Release
144
- > releaseForm = Release
145
- > <$> "author" .: userForm
146
- > <*> "package" .: packageForm
147
-
148
- Views
149
- -----
150
-
151
- As mentioned before, one of the advantages of using digestive-functors is
152
- separation of forms and their actual HTML layout. In order to do this, we have
153
- another type, `View`.
154
-
155
- We can get a `View` from a `Form` by supplying input. A `View` contains more
156
- information than a `Form`, it has:
157
-
158
- - the original form;
159
- - the input given by the user;
160
- - any errors that have occurred.
161
-
162
- It is this view that we convert to HTML. For this tutorial, we use the
163
- [blaze-html] library, and some helpers from the `digestive-functors-blaze`
164
- library.
165
-
166
- [blaze-html]: http://jaspervdj.be/blaze/
167
-
168
- Let's write a view for the `User` form. As you can see, we here refer to the
169
- different fields in the `userForm`. The `errorList` will generate a list of
170
- errors for the `"mail"` field.
171
-
172
- > userView :: View H.Html -> H.Html
173
- > userView view = do
174
- > label "name" view "Name: "
175
- > inputText "name" view
176
- > H.br
177
- >
178
- > errorList "mail" view
179
- > label "mail" view "Email address: "
180
- > inputText "mail" view
181
- > H.br
182
-
183
- Like forms, views are also composable: let's illustrate that by adding a view
184
- for the `releaseForm`, in which we reuse `userView`. In order to do this, we
185
- take only the parts relevant to the author from the view by using `subView`. We
186
- can then pass the resulting view to our own `userView`.
187
- We have no special view code for `Package`, so we can just add that to
188
- `releaseView` as well. `childErrorList` will generate a list of errors for each
189
- child of the specified form. In this case, this means a list of errors from
190
- `"package.name"` and `"package.version"`. Note how we use `foo.bar` to refer to
191
- nested forms.
192
-
193
- > releaseView :: View H.Html -> H.Html
194
- > releaseView view = do
195
- > H.h2 "Author"
196
- > userView $ subView "author" view
197
- >
198
- > H.h2 "Package"
199
- > childErrorList "package" view
200
- >
201
- > label "package.name" view "Name: "
202
- > inputText "package.name" view
203
- > H.br
204
- >
205
- > label "package.version" view "Version: "
206
- > inputText "package.version" view
207
- > H.br
208
- >
209
- > label "package.category" view "Category: "
210
- > inputSelect "package.category" view
211
- > H.br
212
-
213
- The attentive reader might have wondered what the type parameter for `View` is:
214
- it is the `String`-like type used for e.g. error messages.
215
- But wait! We have
216
- releaseForm :: Monad m => Form Text m Release
217
- releaseView :: View H.Html -> H.Html
218
- ... doesn't this mean that we need a `View Text` rather than a `View Html`? The
219
- answer is yes -- but having `View Html` allows us to write these views more
220
- easily with the `digestive-functors-blaze` library. Fortunately, we will be able
221
- to fix this using the `Functor` instance of `View`.
222
- fmap :: Monad m => (v -> w) -> View v -> View w
223
- A backend
224
- ---------
225
- To finish this tutorial, we need to be able to actually run this code. We need
226
- an HTTP server for that, and we use [Happstack] for this tutorial. The
227
- `digestive-functors-happstack` library gives about everything we need for this.
228
- [Happstack]: http://happstack.com/
229
-
230
- > site :: Happstack.ServerPart Happstack.Response
231
- > site = do
232
- > Happstack.decodeBody $ Happstack.defaultBodyPolicy "/tmp" 4096 4096 4096
233
- > r <- runForm "test" releaseForm
234
- > case r of
235
- > (view, Nothing) -> do
236
- > let view' = fmap H.toHtml view
237
- > Happstack.ok $ Happstack.toResponse $
238
- > template $
239
- > form view' "/" $ do
240
- > releaseView view'
241
- > H.br
242
- > inputSubmit "Submit"
243
- > (_, Just release) -> Happstack.ok $ Happstack.toResponse $
244
- > template $ do
245
- > css
246
- > H.h1 "Release received"
247
- > H.p $ H.toHtml $ show release
248
- >
249
- > main :: IO ()
250
- > main = Happstack.simpleHTTP Happstack.nullConf site
251
-
252
- Utilities
253
- ---------
254
-
255
- > template :: H.Html -> H.Html
256
- > template body = H.docTypeHtml $ do
257
- > H.head $ do
258
- > H.title "digestive-functors tutorial"
259
- > css
260
- > H.body body
261
- > css :: H.Html
262
- > css = H.style ! A.type_ "text/css" $ do
263
- > "label {width: 130px; float: left; clear: both}"
264
- > "ul.digestive-functors-error-list {"
265
- > " color: red;"
266
- > " list-style-type: none;"
267
- > " padding-left: 0px;"
268
- > "}"
269
- </textarea>
270
- </form>
271
-
272
- <p><strong>MIME types
273
- defined:</strong> <code>text/x-literate-haskell</code>.</p>
274
-
275
- <p>Parser configuration parameters recognized: <code>base</code> to
276
- set the base mode (defaults to <code>"haskell"</code>).</p>
277
-
278
- <script>
279
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {mode: "haskell-literate"});
280
- </script>
281
-
282
- </article>