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,399 +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 wordRegexp(words) {
15
- return new RegExp("^((" + words.join(")|(") + "))\\b");
16
- }
17
-
18
- var wordOperators = wordRegexp(["and", "or", "not", "is"]);
19
- var commonKeywords = ["as", "assert", "break", "class", "continue",
20
- "def", "del", "elif", "else", "except", "finally",
21
- "for", "from", "global", "if", "import",
22
- "lambda", "pass", "raise", "return",
23
- "try", "while", "with", "yield", "in"];
24
- var commonBuiltins = ["abs", "all", "any", "bin", "bool", "bytearray", "callable", "chr",
25
- "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod",
26
- "enumerate", "eval", "filter", "float", "format", "frozenset",
27
- "getattr", "globals", "hasattr", "hash", "help", "hex", "id",
28
- "input", "int", "isinstance", "issubclass", "iter", "len",
29
- "list", "locals", "map", "max", "memoryview", "min", "next",
30
- "object", "oct", "open", "ord", "pow", "property", "range",
31
- "repr", "reversed", "round", "set", "setattr", "slice",
32
- "sorted", "staticmethod", "str", "sum", "super", "tuple",
33
- "type", "vars", "zip", "__import__", "NotImplemented",
34
- "Ellipsis", "__debug__"];
35
- CodeMirror.registerHelper("hintWords", "python", commonKeywords.concat(commonBuiltins));
36
-
37
- function top(state) {
38
- return state.scopes[state.scopes.length - 1];
39
- }
40
-
41
- CodeMirror.defineMode("python", function(conf, parserConf) {
42
- var ERRORCLASS = "error";
43
-
44
- var delimiters = parserConf.delimiters || parserConf.singleDelimiters || /^[\(\)\[\]\{\}@,:`=;\.\\]/;
45
- // (Backwards-compatiblity with old, cumbersome config system)
46
- var operators = [parserConf.singleOperators, parserConf.doubleOperators, parserConf.doubleDelimiters, parserConf.tripleDelimiters,
47
- parserConf.operators || /^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/]
48
- for (var i = 0; i < operators.length; i++) if (!operators[i]) operators.splice(i--, 1)
49
-
50
- var hangingIndent = parserConf.hangingIndent || conf.indentUnit;
51
-
52
- var myKeywords = commonKeywords, myBuiltins = commonBuiltins;
53
- if (parserConf.extra_keywords != undefined)
54
- myKeywords = myKeywords.concat(parserConf.extra_keywords);
55
-
56
- if (parserConf.extra_builtins != undefined)
57
- myBuiltins = myBuiltins.concat(parserConf.extra_builtins);
58
-
59
- var py3 = !(parserConf.version && Number(parserConf.version) < 3)
60
- if (py3) {
61
- // since http://legacy.python.org/dev/peps/pep-0465/ @ is also an operator
62
- var identifiers = parserConf.identifiers|| /^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*/;
63
- myKeywords = myKeywords.concat(["nonlocal", "False", "True", "None", "async", "await"]);
64
- myBuiltins = myBuiltins.concat(["ascii", "bytes", "exec", "print"]);
65
- var stringPrefixes = new RegExp("^(([rbuf]|(br)|(fr))?('{3}|\"{3}|['\"]))", "i");
66
- } else {
67
- var identifiers = parserConf.identifiers|| /^[_A-Za-z][_A-Za-z0-9]*/;
68
- myKeywords = myKeywords.concat(["exec", "print"]);
69
- myBuiltins = myBuiltins.concat(["apply", "basestring", "buffer", "cmp", "coerce", "execfile",
70
- "file", "intern", "long", "raw_input", "reduce", "reload",
71
- "unichr", "unicode", "xrange", "False", "True", "None"]);
72
- var stringPrefixes = new RegExp("^(([rubf]|(ur)|(br))?('{3}|\"{3}|['\"]))", "i");
73
- }
74
- var keywords = wordRegexp(myKeywords);
75
- var builtins = wordRegexp(myBuiltins);
76
-
77
- // tokenizers
78
- function tokenBase(stream, state) {
79
- var sol = stream.sol() && state.lastToken != "\\"
80
- if (sol) state.indent = stream.indentation()
81
- // Handle scope changes
82
- if (sol && top(state).type == "py") {
83
- var scopeOffset = top(state).offset;
84
- if (stream.eatSpace()) {
85
- var lineOffset = stream.indentation();
86
- if (lineOffset > scopeOffset)
87
- pushPyScope(state);
88
- else if (lineOffset < scopeOffset && dedent(stream, state) && stream.peek() != "#")
89
- state.errorToken = true;
90
- return null;
91
- } else {
92
- var style = tokenBaseInner(stream, state);
93
- if (scopeOffset > 0 && dedent(stream, state))
94
- style += " " + ERRORCLASS;
95
- return style;
96
- }
97
- }
98
- return tokenBaseInner(stream, state);
99
- }
100
-
101
- function tokenBaseInner(stream, state) {
102
- if (stream.eatSpace()) return null;
103
-
104
- // Handle Comments
105
- if (stream.match(/^#.*/)) return "comment";
106
-
107
- // Handle Number Literals
108
- if (stream.match(/^[0-9\.]/, false)) {
109
- var floatLiteral = false;
110
- // Floats
111
- if (stream.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)) { floatLiteral = true; }
112
- if (stream.match(/^[\d_]+\.\d*/)) { floatLiteral = true; }
113
- if (stream.match(/^\.\d+/)) { floatLiteral = true; }
114
- if (floatLiteral) {
115
- // Float literals may be "imaginary"
116
- stream.eat(/J/i);
117
- return "number";
118
- }
119
- // Integers
120
- var intLiteral = false;
121
- // Hex
122
- if (stream.match(/^0x[0-9a-f_]+/i)) intLiteral = true;
123
- // Binary
124
- if (stream.match(/^0b[01_]+/i)) intLiteral = true;
125
- // Octal
126
- if (stream.match(/^0o[0-7_]+/i)) intLiteral = true;
127
- // Decimal
128
- if (stream.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)) {
129
- // Decimal literals may be "imaginary"
130
- stream.eat(/J/i);
131
- // TODO - Can you have imaginary longs?
132
- intLiteral = true;
133
- }
134
- // Zero by itself with no other piece of number.
135
- if (stream.match(/^0(?![\dx])/i)) intLiteral = true;
136
- if (intLiteral) {
137
- // Integer literals may be "long"
138
- stream.eat(/L/i);
139
- return "number";
140
- }
141
- }
142
-
143
- // Handle Strings
144
- if (stream.match(stringPrefixes)) {
145
- var isFmtString = stream.current().toLowerCase().indexOf('f') !== -1;
146
- if (!isFmtString) {
147
- state.tokenize = tokenStringFactory(stream.current(), state.tokenize);
148
- return state.tokenize(stream, state);
149
- } else {
150
- state.tokenize = formatStringFactory(stream.current(), state.tokenize);
151
- return state.tokenize(stream, state);
152
- }
153
- }
154
-
155
- for (var i = 0; i < operators.length; i++)
156
- if (stream.match(operators[i])) return "operator"
157
-
158
- if (stream.match(delimiters)) return "punctuation";
159
-
160
- if (state.lastToken == "." && stream.match(identifiers))
161
- return "property";
162
-
163
- if (stream.match(keywords) || stream.match(wordOperators))
164
- return "keyword";
165
-
166
- if (stream.match(builtins))
167
- return "builtin";
168
-
169
- if (stream.match(/^(self|cls)\b/))
170
- return "variable-2";
171
-
172
- if (stream.match(identifiers)) {
173
- if (state.lastToken == "def" || state.lastToken == "class")
174
- return "def";
175
- return "variable";
176
- }
177
-
178
- // Handle non-detected items
179
- stream.next();
180
- return ERRORCLASS;
181
- }
182
-
183
- function formatStringFactory(delimiter, tokenOuter) {
184
- while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)
185
- delimiter = delimiter.substr(1);
186
-
187
- var singleline = delimiter.length == 1;
188
- var OUTCLASS = "string";
189
-
190
- function tokenNestedExpr(depth) {
191
- return function(stream, state) {
192
- var inner = tokenBaseInner(stream, state)
193
- if (inner == "punctuation") {
194
- if (stream.current() == "{") {
195
- state.tokenize = tokenNestedExpr(depth + 1)
196
- } else if (stream.current() == "}") {
197
- if (depth > 1) state.tokenize = tokenNestedExpr(depth - 1)
198
- else state.tokenize = tokenString
199
- }
200
- }
201
- return inner
202
- }
203
- }
204
-
205
- function tokenString(stream, state) {
206
- while (!stream.eol()) {
207
- stream.eatWhile(/[^'"\{\}\\]/);
208
- if (stream.eat("\\")) {
209
- stream.next();
210
- if (singleline && stream.eol())
211
- return OUTCLASS;
212
- } else if (stream.match(delimiter)) {
213
- state.tokenize = tokenOuter;
214
- return OUTCLASS;
215
- } else if (stream.match('{{')) {
216
- // ignore {{ in f-str
217
- return OUTCLASS;
218
- } else if (stream.match('{', false)) {
219
- // switch to nested mode
220
- state.tokenize = tokenNestedExpr(0)
221
- if (stream.current()) return OUTCLASS;
222
- else return state.tokenize(stream, state)
223
- } else if (stream.match('}}')) {
224
- return OUTCLASS;
225
- } else if (stream.match('}')) {
226
- // single } in f-string is an error
227
- return ERRORCLASS;
228
- } else {
229
- stream.eat(/['"]/);
230
- }
231
- }
232
- if (singleline) {
233
- if (parserConf.singleLineStringErrors)
234
- return ERRORCLASS;
235
- else
236
- state.tokenize = tokenOuter;
237
- }
238
- return OUTCLASS;
239
- }
240
- tokenString.isString = true;
241
- return tokenString;
242
- }
243
-
244
- function tokenStringFactory(delimiter, tokenOuter) {
245
- while ("rubf".indexOf(delimiter.charAt(0).toLowerCase()) >= 0)
246
- delimiter = delimiter.substr(1);
247
-
248
- var singleline = delimiter.length == 1;
249
- var OUTCLASS = "string";
250
-
251
- function tokenString(stream, state) {
252
- while (!stream.eol()) {
253
- stream.eatWhile(/[^'"\\]/);
254
- if (stream.eat("\\")) {
255
- stream.next();
256
- if (singleline && stream.eol())
257
- return OUTCLASS;
258
- } else if (stream.match(delimiter)) {
259
- state.tokenize = tokenOuter;
260
- return OUTCLASS;
261
- } else {
262
- stream.eat(/['"]/);
263
- }
264
- }
265
- if (singleline) {
266
- if (parserConf.singleLineStringErrors)
267
- return ERRORCLASS;
268
- else
269
- state.tokenize = tokenOuter;
270
- }
271
- return OUTCLASS;
272
- }
273
- tokenString.isString = true;
274
- return tokenString;
275
- }
276
-
277
- function pushPyScope(state) {
278
- while (top(state).type != "py") state.scopes.pop()
279
- state.scopes.push({offset: top(state).offset + conf.indentUnit,
280
- type: "py",
281
- align: null})
282
- }
283
-
284
- function pushBracketScope(stream, state, type) {
285
- var align = stream.match(/^([\s\[\{\(]|#.*)*$/, false) ? null : stream.column() + 1
286
- state.scopes.push({offset: state.indent + hangingIndent,
287
- type: type,
288
- align: align})
289
- }
290
-
291
- function dedent(stream, state) {
292
- var indented = stream.indentation();
293
- while (state.scopes.length > 1 && top(state).offset > indented) {
294
- if (top(state).type != "py") return true;
295
- state.scopes.pop();
296
- }
297
- return top(state).offset != indented;
298
- }
299
-
300
- function tokenLexer(stream, state) {
301
- if (stream.sol()) state.beginningOfLine = true;
302
-
303
- var style = state.tokenize(stream, state);
304
- var current = stream.current();
305
-
306
- // Handle decorators
307
- if (state.beginningOfLine && current == "@")
308
- return stream.match(identifiers, false) ? "meta" : py3 ? "operator" : ERRORCLASS;
309
-
310
- if (/\S/.test(current)) state.beginningOfLine = false;
311
-
312
- if ((style == "variable" || style == "builtin")
313
- && state.lastToken == "meta")
314
- style = "meta";
315
-
316
- // Handle scope changes.
317
- if (current == "pass" || current == "return")
318
- state.dedent += 1;
319
-
320
- if (current == "lambda") state.lambda = true;
321
- if (current == ":" && !state.lambda && top(state).type == "py")
322
- pushPyScope(state);
323
-
324
- if (current.length == 1 && !/string|comment/.test(style)) {
325
- var delimiter_index = "[({".indexOf(current);
326
- if (delimiter_index != -1)
327
- pushBracketScope(stream, state, "])}".slice(delimiter_index, delimiter_index+1));
328
-
329
- delimiter_index = "])}".indexOf(current);
330
- if (delimiter_index != -1) {
331
- if (top(state).type == current) state.indent = state.scopes.pop().offset - hangingIndent
332
- else return ERRORCLASS;
333
- }
334
- }
335
- if (state.dedent > 0 && stream.eol() && top(state).type == "py") {
336
- if (state.scopes.length > 1) state.scopes.pop();
337
- state.dedent -= 1;
338
- }
339
-
340
- return style;
341
- }
342
-
343
- var external = {
344
- startState: function(basecolumn) {
345
- return {
346
- tokenize: tokenBase,
347
- scopes: [{offset: basecolumn || 0, type: "py", align: null}],
348
- indent: basecolumn || 0,
349
- lastToken: null,
350
- lambda: false,
351
- dedent: 0
352
- };
353
- },
354
-
355
- token: function(stream, state) {
356
- var addErr = state.errorToken;
357
- if (addErr) state.errorToken = false;
358
- var style = tokenLexer(stream, state);
359
-
360
- if (style && style != "comment")
361
- state.lastToken = (style == "keyword" || style == "punctuation") ? stream.current() : style;
362
- if (style == "punctuation") style = null;
363
-
364
- if (stream.eol() && state.lambda)
365
- state.lambda = false;
366
- return addErr ? style + " " + ERRORCLASS : style;
367
- },
368
-
369
- indent: function(state, textAfter) {
370
- if (state.tokenize != tokenBase)
371
- return state.tokenize.isString ? CodeMirror.Pass : 0;
372
-
373
- var scope = top(state), closing = scope.type == textAfter.charAt(0)
374
- if (scope.align != null)
375
- return scope.align - (closing ? 1 : 0)
376
- else
377
- return scope.offset - (closing ? hangingIndent : 0)
378
- },
379
-
380
- electricInput: /^\s*[\}\]\)]$/,
381
- closeBrackets: {triples: "'\""},
382
- lineComment: "#",
383
- fold: "indent"
384
- };
385
- return external;
386
- });
387
-
388
- CodeMirror.defineMIME("text/x-python", "python");
389
-
390
- var words = function(str) { return str.split(" "); };
391
-
392
- CodeMirror.defineMIME("text/x-cython", {
393
- name: "python",
394
- extra_keywords: words("by cdef cimport cpdef ctypedef enum except "+
395
- "extern gil include nogil property public "+
396
- "readonly struct union DEF IF ELIF ELSE")
397
- });
398
-
399
- });
@@ -1,44 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/LICENSE
3
-
4
- (function() {
5
- var mode = CodeMirror.getMode({indentUnit: 4},
6
- {name: "python",
7
- version: 3,
8
- singleLineStringErrors: false});
9
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
10
-
11
- // Error, because "foobarhello" is neither a known type or property, but
12
- // property was expected (after "and"), and it should be in parentheses.
13
- MT("decoratorStartOfLine",
14
- "[meta @dec]",
15
- "[keyword def] [def function]():",
16
- " [keyword pass]");
17
-
18
- MT("decoratorIndented",
19
- "[keyword class] [def Foo]:",
20
- " [meta @dec]",
21
- " [keyword def] [def function]():",
22
- " [keyword pass]");
23
-
24
- MT("matmulWithSpace:", "[variable a] [operator @] [variable b]");
25
- MT("matmulWithoutSpace:", "[variable a][operator @][variable b]");
26
- MT("matmulSpaceBefore:", "[variable a] [operator @][variable b]");
27
- var before_equal_sign = ["+", "-", "*", "/", "=", "!", ">", "<"];
28
- for (var i = 0; i < before_equal_sign.length; ++i) {
29
- var c = before_equal_sign[i]
30
- MT("before_equal_sign_" + c, "[variable a] [operator " + c + "=] [variable b]");
31
- }
32
-
33
- MT("fValidStringPrefix", "[string f'this is a]{[variable formatted]}[string string']");
34
- MT("fValidExpressioninFString", "[string f'expression ]{[number 100][operator *][number 5]}[string string']");
35
- MT("fInvalidFString", "[error f'this is wrong}]");
36
- MT("fNestedFString", "[string f'expression ]{[number 100] [operator +] [string f'inner]{[number 5]}[string ']}[string string']");
37
- MT("uValidStringPrefix", "[string u'this is an unicode string']");
38
-
39
- MT("nestedString", "[string f']{[variable b][[ [string \"c\"] ]]}[string f'] [comment # oops]")
40
-
41
- MT("bracesInFString", "[string f']{[variable x] [operator +] {}}[string !']")
42
-
43
- MT("nestedFString", "[string f']{[variable b][[ [string f\"c\"] ]]}[string f'] [comment # oops]")
44
- })();
@@ -1,144 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: Q 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="../../addon/edit/matchbrackets.js"></script>
10
- <script src="q.js"></script>
11
- <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
12
- <div id=nav>
13
- <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
14
-
15
- <ul>
16
- <li><a href="../../index.html">Home</a>
17
- <li><a href="../../doc/manual.html">Manual</a>
18
- <li><a href="https://github.com/codemirror/codemirror">Code</a>
19
- </ul>
20
- <ul>
21
- <li><a href="../index.html">Language modes</a>
22
- <li><a class=active href="#">Q</a>
23
- </ul>
24
- </div>
25
-
26
- <article>
27
- <h2>Q mode</h2>
28
-
29
-
30
- <div><textarea id="code" name="code">
31
- / utilities to quickly load a csv file - for more exhaustive analysis of the csv contents see csvguess.q
32
- / 2009.09.20 - updated to match latest csvguess.q
33
-
34
- / .csv.colhdrs[file] - return a list of colhdrs from file
35
- / info:.csv.info[file] - return a table of information about the file
36
- / columns are:
37
- / c - column name; ci - column index; t - load type; mw - max width;
38
- / dchar - distinct characters in values; rule - rule that caught the type
39
- / maybe - needs checking, _could_ be say a date, but perhaps just a float?
40
- / .csv.info0[file;onlycols] - like .csv.info except that it only analyses <onlycols>
41
- / example:
42
- / info:.csv.info0[file;(.csv.colhdrs file)like"*price"]
43
- / info:.csv.infolike[file;"*price"]
44
- / show delete from info where t=" "
45
- / .csv.data[file;info] - use the info from .csv.info to read the data
46
- / .csv.data10[file;info] - like .csv.data but only returns the first 10 rows
47
- / bulkload[file;info] - bulk loads file into table DATA (which must be already defined :: DATA:() )
48
- / .csv.read[file]/read10[file] - for when you don't care about checking/tweaking the <info> before reading
49
-
50
- \d .csv
51
- DELIM:","
52
- ZAPHDRS:0b / lowercase and remove _ from colhdrs (junk characters are always removed)
53
- WIDTHHDR:25000 / number of characters read to get the header
54
- READLINES:222 / number of lines read and used to guess the types
55
- SYMMAXWIDTH:11 / character columns narrower than this are stored as symbols
56
- SYMMAXGR:10 / max symbol granularity% before we give up and keep as a * string
57
- FORCECHARWIDTH:30 / every field (of any type) with values this wide or more is forced to character "*"
58
- DISCARDEMPTY:0b / completely ignore empty columns if true else set them to "C"
59
- CHUNKSIZE:50000000 / used in fs2 (modified .Q.fs)
60
-
61
- k)nameltrim:{$[~@x;.z.s'x;~(*x)in aA:.Q.a,.Q.A;(+/&\~x in aA)_x;x]}
62
- k)fs2:{[f;s]((-7!s)>){[f;s;x]i:1+last@&0xa=r:1:(s;x;CHUNKSIZE);f@`\:i#r;x+i}[f;s]/0j}
63
- cleanhdrs:{{$[ZAPHDRS;lower x except"_";x]}x where x in DELIM,.Q.an}
64
- cancast:{nw:x$"";if[not x in"BXCS";nw:(min 0#;max 0#;::)@\:nw];$[not any nw in x$(11&count y)#y;$[11<count y;not any nw in x$y;1b];0b]}
65
-
66
- read:{[file]data[file;info[file]]}
67
- read10:{[file]data10[file;info[file]]}
68
-
69
- colhdrs:{[file]
70
- `$nameltrim DELIM vs cleanhdrs first read0(file;0;1+first where 0xa=read1(file;0;WIDTHHDR))}
71
- data:{[file;info]
72
- (exec c from info where not t=" ")xcol(exec t from info;enlist DELIM)0:file}
73
- data10:{[file;info]
74
- data[;info](file;0;1+last 11#where 0xa=read1(file;0;15*WIDTHHDR))}
75
- info0:{[file;onlycols]
76
- colhdrs:`$nameltrim DELIM vs cleanhdrs first head:read0(file;0;1+last where 0xa=read1(file;0;WIDTHHDR));
77
- loadfmts:(count colhdrs)#"S";if[count onlycols;loadfmts[where not colhdrs in onlycols]:"C"];
78
- breaks:where 0xa=read1(file;0;floor(10+READLINES)*WIDTHHDR%count head);
79
- nas:count as:colhdrs xcol(loadfmts;enlist DELIM)0:(file;0;1+last((1+READLINES)&count breaks)#breaks);
80
- info:([]c:key flip as;v:value flip as);as:();
81
- reserved:key`.q;reserved,:.Q.res;reserved,:`i;
82
- info:update res:c in reserved from info;
83
- info:update ci:i,t:"?",ipa:0b,mdot:0,mw:0,rule:0,gr:0,ndv:0,maybe:0b,empty:0b,j10:0b,j12:0b from info;
84
- info:update ci:`s#ci from info;
85
- if[count onlycols;info:update t:" ",rule:10 from info where not c in onlycols];
86
- info:update sdv:{string(distinct x)except`}peach v from info;
87
- info:update ndv:count each sdv from info;
88
- info:update gr:floor 0.5+100*ndv%nas,mw:{max count each x}peach sdv from info where 0<ndv;
89
- info:update t:"*",rule:20 from info where mw>.csv.FORCECHARWIDTH; / long values
90
- info:update t:"C "[.csv.DISCARDEMPTY],rule:30,empty:1b from info where t="?",mw=0; / empty columns
91
- info:update dchar:{asc distinct raze x}peach sdv from info where t="?";
92
- info:update mdot:{max sum each"."=x}peach sdv from info where t="?",{"."in x}each dchar;
93
- info:update t:"n",rule:40 from info where t="?",{any x in"0123456789"}each dchar; / vaguely numeric..
94
- info:update t:"I",rule:50,ipa:1b from info where t="n",mw within 7 15,mdot=3,{all x in".0123456789"}each dchar,.csv.cancast["I"]peach sdv; / ip-address
95
- info:update t:"J",rule:60 from info where t="n",mdot=0,{all x in"+-0123456789"}each dchar,.csv.cancast["J"]peach sdv;
96
- info:update t:"I",rule:70 from info where t="J",mw<12,.csv.cancast["I"]peach sdv;
97
- info:update t:"H",rule:80 from info where t="I",mw<7,.csv.cancast["H"]peach sdv;
98
- info:update t:"F",rule:90 from info where t="n",mdot<2,mw>1,.csv.cancast["F"]peach sdv;
99
- info:update t:"E",rule:100,maybe:1b from info where t="F",mw<9;
100
- info:update t:"M",rule:110,maybe:1b from info where t in"nIHEF",mdot<2,mw within 4 7,.csv.cancast["M"]peach sdv;
101
- info:update t:"D",rule:120,maybe:1b from info where t in"nI",mdot in 0 2,mw within 6 11,.csv.cancast["D"]peach sdv;
102
- info:update t:"V",rule:130,maybe:1b from info where t="I",mw in 5 6,7<count each dchar,{all x like"*[0-9][0-5][0-9][0-5][0-9]"}peach sdv,.csv.cancast["V"]peach sdv; / 235959 12345
103
- info:update t:"U",rule:140,maybe:1b from info where t="H",mw in 3 4,7<count each dchar,{all x like"*[0-9][0-5][0-9]"}peach sdv,.csv.cancast["U"]peach sdv; /2359
104
- info:update t:"U",rule:150,maybe:0b from info where t="n",mw in 4 5,mdot=0,{all x like"*[0-9]:[0-5][0-9]"}peach sdv,.csv.cancast["U"]peach sdv;
105
- info:update t:"T",rule:160,maybe:0b from info where t="n",mw within 7 12,mdot<2,{all x like"*[0-9]:[0-5][0-9]:[0-5][0-9]*"}peach sdv,.csv.cancast["T"]peach sdv;
106
- info:update t:"V",rule:170,maybe:0b from info where t="T",mw in 7 8,mdot=0,.csv.cancast["V"]peach sdv;
107
- info:update t:"T",rule:180,maybe:1b from info where t in"EF",mw within 7 10,mdot=1,{all x like"*[0-9][0-5][0-9][0-5][0-9].*"}peach sdv,.csv.cancast["T"]peach sdv;
108
- info:update t:"Z",rule:190,maybe:0b from info where t="n",mw within 11 24,mdot<4,.csv.cancast["Z"]peach sdv;
109
- info:update t:"P",rule:200,maybe:1b from info where t="n",mw within 12 29,mdot<4,{all x like"[12]*"}peach sdv,.csv.cancast["P"]peach sdv;
110
- info:update t:"N",rule:210,maybe:1b from info where t="n",mw within 3 28,mdot=1,.csv.cancast["N"]peach sdv;
111
- info:update t:"?",rule:220,maybe:0b from info where t="n"; / reset remaining maybe numeric
112
- info:update t:"C",rule:230,maybe:0b from info where t="?",mw=1; / char
113
- info:update t:"B",rule:240,maybe:0b from info where t in"HC",mw=1,mdot=0,{$[all x in"01tTfFyYnN";(any"0fFnN"in x)and any"1tTyY"in x;0b]}each dchar; / boolean
114
- info:update t:"B",rule:250,maybe:1b from info where t in"HC",mw=1,mdot=0,{all x in"01tTfFyYnN"}each dchar; / boolean
115
- info:update t:"X",rule:260,maybe:0b from info where t="?",mw=2,{$[all x in"0123456789abcdefABCDEF";(any .Q.n in x)and any"abcdefABCDEF"in x;0b]}each dchar; /hex
116
- info:update t:"S",rule:270,maybe:1b from info where t="?",mw<.csv.SYMMAXWIDTH,mw>1,gr<.csv.SYMMAXGR; / symbols (max width permitting)
117
- info:update t:"*",rule:280,maybe:0b from info where t="?"; / the rest as strings
118
- / flag those S/* columns which could be encoded to integers (.Q.j10/x10/j12/x12) to avoid symbols
119
- info:update j12:1b from info where t in"S*",mw<13,{all x in .Q.nA}each dchar;
120
- info:update j10:1b from info where t in"S*",mw<11,{all x in .Q.b6}each dchar;
121
- select c,ci,t,maybe,empty,res,j10,j12,ipa,mw,mdot,rule,gr,ndv,dchar from info}
122
- info:info0[;()] / by default don't restrict columns
123
- infolike:{[file;pattern] info0[file;{x where x like y}[lower colhdrs[file];pattern]]} / .csv.infolike[file;"*time"]
124
-
125
- \d .
126
- / DATA:()
127
- bulkload:{[file;info]
128
- if[not`DATA in system"v";'`DATA.not.defined];
129
- if[count DATA;'`DATA.not.empty];
130
- loadhdrs:exec c from info where not t=" ";loadfmts:exec t from info;
131
- .csv.fs2[{[file;loadhdrs;loadfmts] `DATA insert $[count DATA;flip loadhdrs!(loadfmts;.csv.DELIM)0:file;loadhdrs xcol(loadfmts;enlist .csv.DELIM)0:file]}[file;loadhdrs;loadfmts]];
132
- count DATA}
133
- @[.:;"\\l csvutil.custom.q";::]; / save your custom settings in csvutil.custom.q to override those set at the beginning of the file
134
- </textarea></div>
135
-
136
- <script>
137
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
138
- lineNumbers: true,
139
- matchBrackets: true
140
- });
141
- </script>
142
-
143
- <p><strong>MIME type defined:</strong> <code>text/x-q</code>.</p>
144
- </article>