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,935 +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
- function Context(indented, column, type, info, align, prev) {
15
- this.indented = indented;
16
- this.column = column;
17
- this.type = type;
18
- this.info = info;
19
- this.align = align;
20
- this.prev = prev;
21
- }
22
- function pushContext(state, col, type, info) {
23
- var indent = state.indented;
24
- if (state.context && state.context.type == "statement" && type != "statement")
25
- indent = state.context.indented;
26
- return state.context = new Context(indent, col, type, info, null, state.context);
27
- }
28
- function popContext(state) {
29
- var t = state.context.type;
30
- if (t == ")" || t == "]" || t == "}")
31
- state.indented = state.context.indented;
32
- return state.context = state.context.prev;
33
- }
34
-
35
- function typeBefore(stream, state, pos) {
36
- if (state.prevToken == "variable" || state.prevToken == "type") return true;
37
- if (/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0, pos))) return true;
38
- if (state.typeAtEndOfLine && stream.column() == stream.indentation()) return true;
39
- }
40
-
41
- function isTopScope(context) {
42
- for (;;) {
43
- if (!context || context.type == "top") return true;
44
- if (context.type == "}" && context.prev.info != "namespace") return false;
45
- context = context.prev;
46
- }
47
- }
48
-
49
- CodeMirror.defineMode("clike", function(config, parserConfig) {
50
- var indentUnit = config.indentUnit,
51
- statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
52
- dontAlignCalls = parserConfig.dontAlignCalls,
53
- keywords = parserConfig.keywords || {},
54
- types = parserConfig.types || {},
55
- builtin = parserConfig.builtin || {},
56
- blockKeywords = parserConfig.blockKeywords || {},
57
- defKeywords = parserConfig.defKeywords || {},
58
- atoms = parserConfig.atoms || {},
59
- hooks = parserConfig.hooks || {},
60
- multiLineStrings = parserConfig.multiLineStrings,
61
- indentStatements = parserConfig.indentStatements !== false,
62
- indentSwitch = parserConfig.indentSwitch !== false,
63
- namespaceSeparator = parserConfig.namespaceSeparator,
64
- isPunctuationChar = parserConfig.isPunctuationChar || /[\[\]{}\(\),;\:\.]/,
65
- numberStart = parserConfig.numberStart || /[\d\.]/,
66
- number = parserConfig.number || /^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,
67
- isOperatorChar = parserConfig.isOperatorChar || /[+\-*&%=<>!?|\/]/,
68
- isIdentifierChar = parserConfig.isIdentifierChar || /[\w\$_\xa1-\uffff]/,
69
- // An optional function that takes a {string} token and returns true if it
70
- // should be treated as a builtin.
71
- isReservedIdentifier = parserConfig.isReservedIdentifier || false;
72
-
73
- var curPunc, isDefKeyword;
74
-
75
- function tokenBase(stream, state) {
76
- var ch = stream.next();
77
- if (hooks[ch]) {
78
- var result = hooks[ch](stream, state);
79
- if (result !== false) return result;
80
- }
81
- if (ch == '"' || ch == "'") {
82
- state.tokenize = tokenString(ch);
83
- return state.tokenize(stream, state);
84
- }
85
- if (isPunctuationChar.test(ch)) {
86
- curPunc = ch;
87
- return null;
88
- }
89
- if (numberStart.test(ch)) {
90
- stream.backUp(1)
91
- if (stream.match(number)) return "number"
92
- stream.next()
93
- }
94
- if (ch == "/") {
95
- if (stream.eat("*")) {
96
- state.tokenize = tokenComment;
97
- return tokenComment(stream, state);
98
- }
99
- if (stream.eat("/")) {
100
- stream.skipToEnd();
101
- return "comment";
102
- }
103
- }
104
- if (isOperatorChar.test(ch)) {
105
- while (!stream.match(/^\/[\/*]/, false) && stream.eat(isOperatorChar)) {}
106
- return "operator";
107
- }
108
- stream.eatWhile(isIdentifierChar);
109
- if (namespaceSeparator) while (stream.match(namespaceSeparator))
110
- stream.eatWhile(isIdentifierChar);
111
-
112
- var cur = stream.current();
113
- if (contains(keywords, cur)) {
114
- if (contains(blockKeywords, cur)) curPunc = "newstatement";
115
- if (contains(defKeywords, cur)) isDefKeyword = true;
116
- return "keyword";
117
- }
118
- if (contains(types, cur)) return "type";
119
- if (contains(builtin, cur)
120
- || (isReservedIdentifier && isReservedIdentifier(cur))) {
121
- if (contains(blockKeywords, cur)) curPunc = "newstatement";
122
- return "builtin";
123
- }
124
- if (contains(atoms, cur)) return "atom";
125
- return "variable";
126
- }
127
-
128
- function tokenString(quote) {
129
- return function(stream, state) {
130
- var escaped = false, next, end = false;
131
- while ((next = stream.next()) != null) {
132
- if (next == quote && !escaped) {end = true; break;}
133
- escaped = !escaped && next == "\\";
134
- }
135
- if (end || !(escaped || multiLineStrings))
136
- state.tokenize = null;
137
- return "string";
138
- };
139
- }
140
-
141
- function tokenComment(stream, state) {
142
- var maybeEnd = false, ch;
143
- while (ch = stream.next()) {
144
- if (ch == "/" && maybeEnd) {
145
- state.tokenize = null;
146
- break;
147
- }
148
- maybeEnd = (ch == "*");
149
- }
150
- return "comment";
151
- }
152
-
153
- function maybeEOL(stream, state) {
154
- if (parserConfig.typeFirstDefinitions && stream.eol() && isTopScope(state.context))
155
- state.typeAtEndOfLine = typeBefore(stream, state, stream.pos)
156
- }
157
-
158
- // Interface
159
-
160
- return {
161
- startState: function(basecolumn) {
162
- return {
163
- tokenize: null,
164
- context: new Context((basecolumn || 0) - indentUnit, 0, "top", null, false),
165
- indented: 0,
166
- startOfLine: true,
167
- prevToken: null
168
- };
169
- },
170
-
171
- token: function(stream, state) {
172
- var ctx = state.context;
173
- if (stream.sol()) {
174
- if (ctx.align == null) ctx.align = false;
175
- state.indented = stream.indentation();
176
- state.startOfLine = true;
177
- }
178
- if (stream.eatSpace()) { maybeEOL(stream, state); return null; }
179
- curPunc = isDefKeyword = null;
180
- var style = (state.tokenize || tokenBase)(stream, state);
181
- if (style == "comment" || style == "meta") return style;
182
- if (ctx.align == null) ctx.align = true;
183
-
184
- if (curPunc == ";" || curPunc == ":" || (curPunc == "," && stream.match(/^\s*(?:\/\/.*)?$/, false)))
185
- while (state.context.type == "statement") popContext(state);
186
- else if (curPunc == "{") pushContext(state, stream.column(), "}");
187
- else if (curPunc == "[") pushContext(state, stream.column(), "]");
188
- else if (curPunc == "(") pushContext(state, stream.column(), ")");
189
- else if (curPunc == "}") {
190
- while (ctx.type == "statement") ctx = popContext(state);
191
- if (ctx.type == "}") ctx = popContext(state);
192
- while (ctx.type == "statement") ctx = popContext(state);
193
- }
194
- else if (curPunc == ctx.type) popContext(state);
195
- else if (indentStatements &&
196
- (((ctx.type == "}" || ctx.type == "top") && curPunc != ";") ||
197
- (ctx.type == "statement" && curPunc == "newstatement"))) {
198
- pushContext(state, stream.column(), "statement", stream.current());
199
- }
200
-
201
- if (style == "variable" &&
202
- ((state.prevToken == "def" ||
203
- (parserConfig.typeFirstDefinitions && typeBefore(stream, state, stream.start) &&
204
- isTopScope(state.context) && stream.match(/^\s*\(/, false)))))
205
- style = "def";
206
-
207
- if (hooks.token) {
208
- var result = hooks.token(stream, state, style);
209
- if (result !== undefined) style = result;
210
- }
211
-
212
- if (style == "def" && parserConfig.styleDefs === false) style = "variable";
213
-
214
- state.startOfLine = false;
215
- state.prevToken = isDefKeyword ? "def" : style || curPunc;
216
- maybeEOL(stream, state);
217
- return style;
218
- },
219
-
220
- indent: function(state, textAfter) {
221
- if (state.tokenize != tokenBase && state.tokenize != null || state.typeAtEndOfLine) return CodeMirror.Pass;
222
- var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
223
- var closing = firstChar == ctx.type;
224
- if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
225
- if (parserConfig.dontIndentStatements)
226
- while (ctx.type == "statement" && parserConfig.dontIndentStatements.test(ctx.info))
227
- ctx = ctx.prev
228
- if (hooks.indent) {
229
- var hook = hooks.indent(state, ctx, textAfter, indentUnit);
230
- if (typeof hook == "number") return hook
231
- }
232
- var switchBlock = ctx.prev && ctx.prev.info == "switch";
233
- if (parserConfig.allmanIndentation && /[{(]/.test(firstChar)) {
234
- while (ctx.type != "top" && ctx.type != "}") ctx = ctx.prev
235
- return ctx.indented
236
- }
237
- if (ctx.type == "statement")
238
- return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
239
- if (ctx.align && (!dontAlignCalls || ctx.type != ")"))
240
- return ctx.column + (closing ? 0 : 1);
241
- if (ctx.type == ")" && !closing)
242
- return ctx.indented + statementIndentUnit;
243
-
244
- return ctx.indented + (closing ? 0 : indentUnit) +
245
- (!closing && switchBlock && !/^(?:case|default)\b/.test(textAfter) ? indentUnit : 0);
246
- },
247
-
248
- electricInput: indentSwitch ? /^\s*(?:case .*?:|default:|\{\}?|\})$/ : /^\s*[{}]$/,
249
- blockCommentStart: "/*",
250
- blockCommentEnd: "*/",
251
- blockCommentContinue: " * ",
252
- lineComment: "//",
253
- fold: "brace"
254
- };
255
- });
256
-
257
- function words(str) {
258
- var obj = {}, words = str.split(" ");
259
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
260
- return obj;
261
- }
262
- function contains(words, word) {
263
- if (typeof words === "function") {
264
- return words(word);
265
- } else {
266
- return words.propertyIsEnumerable(word);
267
- }
268
- }
269
- var cKeywords = "auto if break case register continue return default do sizeof " +
270
- "static else struct switch extern typedef union for goto while enum const " +
271
- "volatile inline restrict asm fortran";
272
-
273
- // Keywords from https://en.cppreference.com/w/cpp/keyword includes C++20.
274
- var cppKeywords = "alignas alignof and and_eq audit axiom bitand bitor catch " +
275
- "class compl concept constexpr const_cast decltype delete dynamic_cast " +
276
- "explicit export final friend import module mutable namespace new noexcept " +
277
- "not not_eq operator or or_eq override private protected public " +
278
- "reinterpret_cast requires static_assert static_cast template this " +
279
- "thread_local throw try typeid typename using virtual xor xor_eq";
280
-
281
- var objCKeywords = "bycopy byref in inout oneway out self super atomic nonatomic retain copy " +
282
- "readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd " +
283
- "@interface @implementation @end @protocol @encode @property @synthesize @dynamic @class " +
284
- "@public @package @private @protected @required @optional @try @catch @finally @import " +
285
- "@selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available";
286
-
287
- var objCBuiltins = "FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION " +
288
- " NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER " +
289
- "NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION " +
290
- "NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT"
291
-
292
- // Do not use this. Use the cTypes function below. This is global just to avoid
293
- // excessive calls when cTypes is being called multiple times during a parse.
294
- var basicCTypes = words("int long char short double float unsigned signed " +
295
- "void bool");
296
-
297
- // Do not use this. Use the objCTypes function below. This is global just to avoid
298
- // excessive calls when objCTypes is being called multiple times during a parse.
299
- var basicObjCTypes = words("SEL instancetype id Class Protocol BOOL");
300
-
301
- // Returns true if identifier is a "C" type.
302
- // C type is defined as those that are reserved by the compiler (basicTypes),
303
- // and those that end in _t (Reserved by POSIX for types)
304
- // http://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html
305
- function cTypes(identifier) {
306
- return contains(basicCTypes, identifier) || /.+_t$/.test(identifier);
307
- }
308
-
309
- // Returns true if identifier is a "Objective C" type.
310
- function objCTypes(identifier) {
311
- return cTypes(identifier) || contains(basicObjCTypes, identifier);
312
- }
313
-
314
- var cBlockKeywords = "case do else for if switch while struct enum union";
315
- var cDefKeywords = "struct enum union";
316
-
317
- function cppHook(stream, state) {
318
- if (!state.startOfLine) return false
319
- for (var ch, next = null; ch = stream.peek();) {
320
- if (ch == "\\" && stream.match(/^.$/)) {
321
- next = cppHook
322
- break
323
- } else if (ch == "/" && stream.match(/^\/[\/\*]/, false)) {
324
- break
325
- }
326
- stream.next()
327
- }
328
- state.tokenize = next
329
- return "meta"
330
- }
331
-
332
- function pointerHook(_stream, state) {
333
- if (state.prevToken == "type") return "type";
334
- return false;
335
- }
336
-
337
- // For C and C++ (and ObjC): identifiers starting with __
338
- // or _ followed by a capital letter are reserved for the compiler.
339
- function cIsReservedIdentifier(token) {
340
- if (!token || token.length < 2) return false;
341
- if (token[0] != '_') return false;
342
- return (token[1] == '_') || (token[1] !== token[1].toLowerCase());
343
- }
344
-
345
- function cpp14Literal(stream) {
346
- stream.eatWhile(/[\w\.']/);
347
- return "number";
348
- }
349
-
350
- function cpp11StringHook(stream, state) {
351
- stream.backUp(1);
352
- // Raw strings.
353
- if (stream.match(/(R|u8R|uR|UR|LR)/)) {
354
- var match = stream.match(/"([^\s\\()]{0,16})\(/);
355
- if (!match) {
356
- return false;
357
- }
358
- state.cpp11RawStringDelim = match[1];
359
- state.tokenize = tokenRawString;
360
- return tokenRawString(stream, state);
361
- }
362
- // Unicode strings/chars.
363
- if (stream.match(/(u8|u|U|L)/)) {
364
- if (stream.match(/["']/, /* eat */ false)) {
365
- return "string";
366
- }
367
- return false;
368
- }
369
- // Ignore this hook.
370
- stream.next();
371
- return false;
372
- }
373
-
374
- function cppLooksLikeConstructor(word) {
375
- var lastTwo = /(\w+)::~?(\w+)$/.exec(word);
376
- return lastTwo && lastTwo[1] == lastTwo[2];
377
- }
378
-
379
- // C#-style strings where "" escapes a quote.
380
- function tokenAtString(stream, state) {
381
- var next;
382
- while ((next = stream.next()) != null) {
383
- if (next == '"' && !stream.eat('"')) {
384
- state.tokenize = null;
385
- break;
386
- }
387
- }
388
- return "string";
389
- }
390
-
391
- // C++11 raw string literal is <prefix>"<delim>( anything )<delim>", where
392
- // <delim> can be a string up to 16 characters long.
393
- function tokenRawString(stream, state) {
394
- // Escape characters that have special regex meanings.
395
- var delim = state.cpp11RawStringDelim.replace(/[^\w\s]/g, '\\$&');
396
- var match = stream.match(new RegExp(".*?\\)" + delim + '"'));
397
- if (match)
398
- state.tokenize = null;
399
- else
400
- stream.skipToEnd();
401
- return "string";
402
- }
403
-
404
- function def(mimes, mode) {
405
- if (typeof mimes == "string") mimes = [mimes];
406
- var words = [];
407
- function add(obj) {
408
- if (obj) for (var prop in obj) if (obj.hasOwnProperty(prop))
409
- words.push(prop);
410
- }
411
- add(mode.keywords);
412
- add(mode.types);
413
- add(mode.builtin);
414
- add(mode.atoms);
415
- if (words.length) {
416
- mode.helperType = mimes[0];
417
- CodeMirror.registerHelper("hintWords", mimes[0], words);
418
- }
419
-
420
- for (var i = 0; i < mimes.length; ++i)
421
- CodeMirror.defineMIME(mimes[i], mode);
422
- }
423
-
424
- def(["text/x-csrc", "text/x-c", "text/x-chdr"], {
425
- name: "clike",
426
- keywords: words(cKeywords),
427
- types: cTypes,
428
- blockKeywords: words(cBlockKeywords),
429
- defKeywords: words(cDefKeywords),
430
- typeFirstDefinitions: true,
431
- atoms: words("NULL true false"),
432
- isReservedIdentifier: cIsReservedIdentifier,
433
- hooks: {
434
- "#": cppHook,
435
- "*": pointerHook,
436
- },
437
- modeProps: {fold: ["brace", "include"]}
438
- });
439
-
440
- def(["text/x-c++src", "text/x-c++hdr"], {
441
- name: "clike",
442
- keywords: words(cKeywords + " " + cppKeywords),
443
- types: cTypes,
444
- blockKeywords: words(cBlockKeywords + " class try catch"),
445
- defKeywords: words(cDefKeywords + " class namespace"),
446
- typeFirstDefinitions: true,
447
- atoms: words("true false NULL nullptr"),
448
- dontIndentStatements: /^template$/,
449
- isIdentifierChar: /[\w\$_~\xa1-\uffff]/,
450
- isReservedIdentifier: cIsReservedIdentifier,
451
- hooks: {
452
- "#": cppHook,
453
- "*": pointerHook,
454
- "u": cpp11StringHook,
455
- "U": cpp11StringHook,
456
- "L": cpp11StringHook,
457
- "R": cpp11StringHook,
458
- "0": cpp14Literal,
459
- "1": cpp14Literal,
460
- "2": cpp14Literal,
461
- "3": cpp14Literal,
462
- "4": cpp14Literal,
463
- "5": cpp14Literal,
464
- "6": cpp14Literal,
465
- "7": cpp14Literal,
466
- "8": cpp14Literal,
467
- "9": cpp14Literal,
468
- token: function(stream, state, style) {
469
- if (style == "variable" && stream.peek() == "(" &&
470
- (state.prevToken == ";" || state.prevToken == null ||
471
- state.prevToken == "}") &&
472
- cppLooksLikeConstructor(stream.current()))
473
- return "def";
474
- }
475
- },
476
- namespaceSeparator: "::",
477
- modeProps: {fold: ["brace", "include"]}
478
- });
479
-
480
- def("text/x-java", {
481
- name: "clike",
482
- keywords: words("abstract assert break case catch class const continue default " +
483
- "do else enum extends final finally for goto if implements import " +
484
- "instanceof interface native new package private protected public " +
485
- "return static strictfp super switch synchronized this throw throws transient " +
486
- "try volatile while @interface"),
487
- types: words("byte short int long float double boolean char void Boolean Byte Character Double Float " +
488
- "Integer Long Number Object Short String StringBuffer StringBuilder Void"),
489
- blockKeywords: words("catch class do else finally for if switch try while"),
490
- defKeywords: words("class interface enum @interface"),
491
- typeFirstDefinitions: true,
492
- atoms: words("true false null"),
493
- number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,
494
- hooks: {
495
- "@": function(stream) {
496
- // Don't match the @interface keyword.
497
- if (stream.match('interface', false)) return false;
498
-
499
- stream.eatWhile(/[\w\$_]/);
500
- return "meta";
501
- }
502
- },
503
- modeProps: {fold: ["brace", "import"]}
504
- });
505
-
506
- def("text/x-csharp", {
507
- name: "clike",
508
- keywords: words("abstract as async await base break case catch checked class const continue" +
509
- " default delegate do else enum event explicit extern finally fixed for" +
510
- " foreach goto if implicit in interface internal is lock namespace new" +
511
- " operator out override params private protected public readonly ref return sealed" +
512
- " sizeof stackalloc static struct switch this throw try typeof unchecked" +
513
- " unsafe using virtual void volatile while add alias ascending descending dynamic from get" +
514
- " global group into join let orderby partial remove select set value var yield"),
515
- types: words("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func" +
516
- " Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32" +
517
- " UInt64 bool byte char decimal double short int long object" +
518
- " sbyte float string ushort uint ulong"),
519
- blockKeywords: words("catch class do else finally for foreach if struct switch try while"),
520
- defKeywords: words("class interface namespace struct var"),
521
- typeFirstDefinitions: true,
522
- atoms: words("true false null"),
523
- hooks: {
524
- "@": function(stream, state) {
525
- if (stream.eat('"')) {
526
- state.tokenize = tokenAtString;
527
- return tokenAtString(stream, state);
528
- }
529
- stream.eatWhile(/[\w\$_]/);
530
- return "meta";
531
- }
532
- }
533
- });
534
-
535
- function tokenTripleString(stream, state) {
536
- var escaped = false;
537
- while (!stream.eol()) {
538
- if (!escaped && stream.match('"""')) {
539
- state.tokenize = null;
540
- break;
541
- }
542
- escaped = stream.next() == "\\" && !escaped;
543
- }
544
- return "string";
545
- }
546
-
547
- function tokenNestedComment(depth) {
548
- return function (stream, state) {
549
- var ch
550
- while (ch = stream.next()) {
551
- if (ch == "*" && stream.eat("/")) {
552
- if (depth == 1) {
553
- state.tokenize = null
554
- break
555
- } else {
556
- state.tokenize = tokenNestedComment(depth - 1)
557
- return state.tokenize(stream, state)
558
- }
559
- } else if (ch == "/" && stream.eat("*")) {
560
- state.tokenize = tokenNestedComment(depth + 1)
561
- return state.tokenize(stream, state)
562
- }
563
- }
564
- return "comment"
565
- }
566
- }
567
-
568
- def("text/x-scala", {
569
- name: "clike",
570
- keywords: words(
571
- /* scala */
572
- "abstract case catch class def do else extends final finally for forSome if " +
573
- "implicit import lazy match new null object override package private protected return " +
574
- "sealed super this throw trait try type val var while with yield _ " +
575
-
576
- /* package scala */
577
- "assert assume require print println printf readLine readBoolean readByte readShort " +
578
- "readChar readInt readLong readFloat readDouble"
579
- ),
580
- types: words(
581
- "AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either " +
582
- "Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable " +
583
- "Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering " +
584
- "Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder " +
585
- "StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector " +
586
-
587
- /* package java.lang */
588
- "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " +
589
- "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " +
590
- "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " +
591
- "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"
592
- ),
593
- multiLineStrings: true,
594
- blockKeywords: words("catch class enum do else finally for forSome if match switch try while"),
595
- defKeywords: words("class enum def object package trait type val var"),
596
- atoms: words("true false null"),
597
- indentStatements: false,
598
- indentSwitch: false,
599
- isOperatorChar: /[+\-*&%=<>!?|\/#:@]/,
600
- hooks: {
601
- "@": function(stream) {
602
- stream.eatWhile(/[\w\$_]/);
603
- return "meta";
604
- },
605
- '"': function(stream, state) {
606
- if (!stream.match('""')) return false;
607
- state.tokenize = tokenTripleString;
608
- return state.tokenize(stream, state);
609
- },
610
- "'": function(stream) {
611
- stream.eatWhile(/[\w\$_\xa1-\uffff]/);
612
- return "atom";
613
- },
614
- "=": function(stream, state) {
615
- var cx = state.context
616
- if (cx.type == "}" && cx.align && stream.eat(">")) {
617
- state.context = new Context(cx.indented, cx.column, cx.type, cx.info, null, cx.prev)
618
- return "operator"
619
- } else {
620
- return false
621
- }
622
- },
623
-
624
- "/": function(stream, state) {
625
- if (!stream.eat("*")) return false
626
- state.tokenize = tokenNestedComment(1)
627
- return state.tokenize(stream, state)
628
- }
629
- },
630
- modeProps: {closeBrackets: {pairs: '()[]{}""', triples: '"'}}
631
- });
632
-
633
- function tokenKotlinString(tripleString){
634
- return function (stream, state) {
635
- var escaped = false, next, end = false;
636
- while (!stream.eol()) {
637
- if (!tripleString && !escaped && stream.match('"') ) {end = true; break;}
638
- if (tripleString && stream.match('"""')) {end = true; break;}
639
- next = stream.next();
640
- if(!escaped && next == "$" && stream.match('{'))
641
- stream.skipTo("}");
642
- escaped = !escaped && next == "\\" && !tripleString;
643
- }
644
- if (end || !tripleString)
645
- state.tokenize = null;
646
- return "string";
647
- }
648
- }
649
-
650
- def("text/x-kotlin", {
651
- name: "clike",
652
- keywords: words(
653
- /*keywords*/
654
- "package as typealias class interface this super val operator " +
655
- "var fun for is in This throw return annotation " +
656
- "break continue object if else while do try when !in !is as? " +
657
-
658
- /*soft keywords*/
659
- "file import where by get set abstract enum open inner override private public internal " +
660
- "protected catch finally out final vararg reified dynamic companion constructor init " +
661
- "sealed field property receiver param sparam lateinit data inline noinline tailrec " +
662
- "external annotation crossinline const operator infix suspend actual expect setparam"
663
- ),
664
- types: words(
665
- /* package java.lang */
666
- "Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable " +
667
- "Compiler Double Exception Float Integer Long Math Number Object Package Pair Process " +
668
- "Runtime Runnable SecurityManager Short StackTraceElement StrictMath String " +
669
- "StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray " +
670
- "ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy " +
671
- "LazyThreadSafetyMode LongArray Nothing ShortArray Unit"
672
- ),
673
- intendSwitch: false,
674
- indentStatements: false,
675
- multiLineStrings: true,
676
- number: /^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,
677
- blockKeywords: words("catch class do else finally for if where try while enum"),
678
- defKeywords: words("class val var object interface fun"),
679
- atoms: words("true false null this"),
680
- hooks: {
681
- "@": function(stream) {
682
- stream.eatWhile(/[\w\$_]/);
683
- return "meta";
684
- },
685
- '*': function(_stream, state) {
686
- return state.prevToken == '.' ? 'variable' : 'operator';
687
- },
688
- '"': function(stream, state) {
689
- state.tokenize = tokenKotlinString(stream.match('""'));
690
- return state.tokenize(stream, state);
691
- },
692
- "/": function(stream, state) {
693
- if (!stream.eat("*")) return false;
694
- state.tokenize = tokenNestedComment(1);
695
- return state.tokenize(stream, state)
696
- },
697
- indent: function(state, ctx, textAfter, indentUnit) {
698
- var firstChar = textAfter && textAfter.charAt(0);
699
- if ((state.prevToken == "}" || state.prevToken == ")") && textAfter == "")
700
- return state.indented;
701
- if ((state.prevToken == "operator" && textAfter != "}" && state.context.type != "}") ||
702
- state.prevToken == "variable" && firstChar == "." ||
703
- (state.prevToken == "}" || state.prevToken == ")") && firstChar == ".")
704
- return indentUnit * 2 + ctx.indented;
705
- if (ctx.align && ctx.type == "}")
706
- return ctx.indented + (state.context.type == (textAfter || "").charAt(0) ? 0 : indentUnit);
707
- }
708
- },
709
- modeProps: {closeBrackets: {triples: '"'}}
710
- });
711
-
712
- def(["x-shader/x-vertex", "x-shader/x-fragment"], {
713
- name: "clike",
714
- keywords: words("sampler1D sampler2D sampler3D samplerCube " +
715
- "sampler1DShadow sampler2DShadow " +
716
- "const attribute uniform varying " +
717
- "break continue discard return " +
718
- "for while do if else struct " +
719
- "in out inout"),
720
- types: words("float int bool void " +
721
- "vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 " +
722
- "mat2 mat3 mat4"),
723
- blockKeywords: words("for while do if else struct"),
724
- builtin: words("radians degrees sin cos tan asin acos atan " +
725
- "pow exp log exp2 sqrt inversesqrt " +
726
- "abs sign floor ceil fract mod min max clamp mix step smoothstep " +
727
- "length distance dot cross normalize ftransform faceforward " +
728
- "reflect refract matrixCompMult " +
729
- "lessThan lessThanEqual greaterThan greaterThanEqual " +
730
- "equal notEqual any all not " +
731
- "texture1D texture1DProj texture1DLod texture1DProjLod " +
732
- "texture2D texture2DProj texture2DLod texture2DProjLod " +
733
- "texture3D texture3DProj texture3DLod texture3DProjLod " +
734
- "textureCube textureCubeLod " +
735
- "shadow1D shadow2D shadow1DProj shadow2DProj " +
736
- "shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod " +
737
- "dFdx dFdy fwidth " +
738
- "noise1 noise2 noise3 noise4"),
739
- atoms: words("true false " +
740
- "gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex " +
741
- "gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 " +
742
- "gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 " +
743
- "gl_FogCoord gl_PointCoord " +
744
- "gl_Position gl_PointSize gl_ClipVertex " +
745
- "gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor " +
746
- "gl_TexCoord gl_FogFragCoord " +
747
- "gl_FragCoord gl_FrontFacing " +
748
- "gl_FragData gl_FragDepth " +
749
- "gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix " +
750
- "gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse " +
751
- "gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse " +
752
- "gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose " +
753
- "gl_ProjectionMatrixInverseTranspose " +
754
- "gl_ModelViewProjectionMatrixInverseTranspose " +
755
- "gl_TextureMatrixInverseTranspose " +
756
- "gl_NormalScale gl_DepthRange gl_ClipPlane " +
757
- "gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel " +
758
- "gl_FrontLightModelProduct gl_BackLightModelProduct " +
759
- "gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ " +
760
- "gl_FogParameters " +
761
- "gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords " +
762
- "gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats " +
763
- "gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits " +
764
- "gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits " +
765
- "gl_MaxDrawBuffers"),
766
- indentSwitch: false,
767
- hooks: {"#": cppHook},
768
- modeProps: {fold: ["brace", "include"]}
769
- });
770
-
771
- def("text/x-nesc", {
772
- name: "clike",
773
- keywords: words(cKeywords + " as atomic async call command component components configuration event generic " +
774
- "implementation includes interface module new norace nx_struct nx_union post provides " +
775
- "signal task uses abstract extends"),
776
- types: cTypes,
777
- blockKeywords: words(cBlockKeywords),
778
- atoms: words("null true false"),
779
- hooks: {"#": cppHook},
780
- modeProps: {fold: ["brace", "include"]}
781
- });
782
-
783
- def("text/x-objectivec", {
784
- name: "clike",
785
- keywords: words(cKeywords + " " + objCKeywords),
786
- types: objCTypes,
787
- builtin: words(objCBuiltins),
788
- blockKeywords: words(cBlockKeywords + " @synthesize @try @catch @finally @autoreleasepool @synchronized"),
789
- defKeywords: words(cDefKeywords + " @interface @implementation @protocol @class"),
790
- dontIndentStatements: /^@.*$/,
791
- typeFirstDefinitions: true,
792
- atoms: words("YES NO NULL Nil nil true false nullptr"),
793
- isReservedIdentifier: cIsReservedIdentifier,
794
- hooks: {
795
- "#": cppHook,
796
- "*": pointerHook,
797
- },
798
- modeProps: {fold: ["brace", "include"]}
799
- });
800
-
801
- def("text/x-objectivec++", {
802
- name: "clike",
803
- keywords: words(cKeywords + " " + objCKeywords + " " + cppKeywords),
804
- types: objCTypes,
805
- builtin: words(objCBuiltins),
806
- blockKeywords: words(cBlockKeywords + " @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),
807
- defKeywords: words(cDefKeywords + " @interface @implementation @protocol @class class namespace"),
808
- dontIndentStatements: /^@.*$|^template$/,
809
- typeFirstDefinitions: true,
810
- atoms: words("YES NO NULL Nil nil true false nullptr"),
811
- isReservedIdentifier: cIsReservedIdentifier,
812
- hooks: {
813
- "#": cppHook,
814
- "*": pointerHook,
815
- "u": cpp11StringHook,
816
- "U": cpp11StringHook,
817
- "L": cpp11StringHook,
818
- "R": cpp11StringHook,
819
- "0": cpp14Literal,
820
- "1": cpp14Literal,
821
- "2": cpp14Literal,
822
- "3": cpp14Literal,
823
- "4": cpp14Literal,
824
- "5": cpp14Literal,
825
- "6": cpp14Literal,
826
- "7": cpp14Literal,
827
- "8": cpp14Literal,
828
- "9": cpp14Literal,
829
- token: function(stream, state, style) {
830
- if (style == "variable" && stream.peek() == "(" &&
831
- (state.prevToken == ";" || state.prevToken == null ||
832
- state.prevToken == "}") &&
833
- cppLooksLikeConstructor(stream.current()))
834
- return "def";
835
- }
836
- },
837
- namespaceSeparator: "::",
838
- modeProps: {fold: ["brace", "include"]}
839
- });
840
-
841
- def("text/x-squirrel", {
842
- name: "clike",
843
- keywords: words("base break clone continue const default delete enum extends function in class" +
844
- " foreach local resume return this throw typeof yield constructor instanceof static"),
845
- types: cTypes,
846
- blockKeywords: words("case catch class else for foreach if switch try while"),
847
- defKeywords: words("function local class"),
848
- typeFirstDefinitions: true,
849
- atoms: words("true false null"),
850
- hooks: {"#": cppHook},
851
- modeProps: {fold: ["brace", "include"]}
852
- });
853
-
854
- // Ceylon Strings need to deal with interpolation
855
- var stringTokenizer = null;
856
- function tokenCeylonString(type) {
857
- return function(stream, state) {
858
- var escaped = false, next, end = false;
859
- while (!stream.eol()) {
860
- if (!escaped && stream.match('"') &&
861
- (type == "single" || stream.match('""'))) {
862
- end = true;
863
- break;
864
- }
865
- if (!escaped && stream.match('``')) {
866
- stringTokenizer = tokenCeylonString(type);
867
- end = true;
868
- break;
869
- }
870
- next = stream.next();
871
- escaped = type == "single" && !escaped && next == "\\";
872
- }
873
- if (end)
874
- state.tokenize = null;
875
- return "string";
876
- }
877
- }
878
-
879
- def("text/x-ceylon", {
880
- name: "clike",
881
- keywords: words("abstracts alias assembly assert assign break case catch class continue dynamic else" +
882
- " exists extends finally for function given if import in interface is let module new" +
883
- " nonempty object of out outer package return satisfies super switch then this throw" +
884
- " try value void while"),
885
- types: function(word) {
886
- // In Ceylon all identifiers that start with an uppercase are types
887
- var first = word.charAt(0);
888
- return (first === first.toUpperCase() && first !== first.toLowerCase());
889
- },
890
- blockKeywords: words("case catch class dynamic else finally for function if interface module new object switch try while"),
891
- defKeywords: words("class dynamic function interface module object package value"),
892
- builtin: words("abstract actual aliased annotation by default deprecated doc final formal late license" +
893
- " native optional sealed see serializable shared suppressWarnings tagged throws variable"),
894
- isPunctuationChar: /[\[\]{}\(\),;\:\.`]/,
895
- isOperatorChar: /[+\-*&%=<>!?|^~:\/]/,
896
- numberStart: /[\d#$]/,
897
- number: /^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,
898
- multiLineStrings: true,
899
- typeFirstDefinitions: true,
900
- atoms: words("true false null larger smaller equal empty finished"),
901
- indentSwitch: false,
902
- styleDefs: false,
903
- hooks: {
904
- "@": function(stream) {
905
- stream.eatWhile(/[\w\$_]/);
906
- return "meta";
907
- },
908
- '"': function(stream, state) {
909
- state.tokenize = tokenCeylonString(stream.match('""') ? "triple" : "single");
910
- return state.tokenize(stream, state);
911
- },
912
- '`': function(stream, state) {
913
- if (!stringTokenizer || !stream.match('`')) return false;
914
- state.tokenize = stringTokenizer;
915
- stringTokenizer = null;
916
- return state.tokenize(stream, state);
917
- },
918
- "'": function(stream) {
919
- stream.eatWhile(/[\w\$_\xa1-\uffff]/);
920
- return "atom";
921
- },
922
- token: function(_stream, state, style) {
923
- if ((style == "variable" || style == "type") &&
924
- state.prevToken == ".") {
925
- return "variable-2";
926
- }
927
- }
928
- },
929
- modeProps: {
930
- fold: ["brace", "import"],
931
- closeBrackets: {triples: '"'}
932
- }
933
- });
934
-
935
- });