wallaby 7.0.0.beta1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (424) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/wallaby/core.js.map +3 -3
  3. data/app/assets/stylesheets/wallaby/base/_override_vars.scss +3 -0
  4. data/app/assets/stylesheets/wallaby/base.scss +2 -1
  5. data/lib/wallaby/version.rb +1 -1
  6. metadata +21 -434
  7. data/config/brakeman.ignore +0 -26
  8. data/config/massa.yml +0 -45
  9. data/config/rails_best_practices.yml +0 -42
  10. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/comment.js +0 -209
  11. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/continuecomment.js +0 -113
  12. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.css +0 -32
  13. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.js +0 -161
  14. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/autorefresh.js +0 -47
  15. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.css +0 -6
  16. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.js +0 -41
  17. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/panel.js +0 -127
  18. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/placeholder.js +0 -63
  19. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/rulers.js +0 -51
  20. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closebrackets.js +0 -191
  21. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closetag.js +0 -184
  22. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/continuelist.js +0 -99
  23. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchbrackets.js +0 -150
  24. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchtags.js +0 -66
  25. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/trailingspace.js +0 -27
  26. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/brace-fold.js +0 -105
  27. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/comment-fold.js +0 -59
  28. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldcode.js +0 -152
  29. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.css +0 -20
  30. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.js +0 -163
  31. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/indent-fold.js +0 -48
  32. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/markdown-fold.js +0 -49
  33. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/xml-fold.js +0 -184
  34. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/anyword-hint.js +0 -41
  35. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/css-hint.js +0 -60
  36. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/html-hint.js +0 -350
  37. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/javascript-hint.js +0 -157
  38. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.css +0 -36
  39. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.js +0 -460
  40. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/sql-hint.js +0 -304
  41. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/xml-hint.js +0 -123
  42. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/coffeescript-lint.js +0 -47
  43. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/css-lint.js +0 -40
  44. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/html-lint.js +0 -59
  45. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/javascript-lint.js +0 -63
  46. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/json-lint.js +0 -40
  47. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.css +0 -73
  48. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.js +0 -252
  49. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/yaml-lint.js +0 -41
  50. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.css +0 -119
  51. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.js +0 -1002
  52. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/loadmode.js +0 -64
  53. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex.js +0 -131
  54. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex_test.js +0 -33
  55. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/overlay.js +0 -90
  56. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/simple.js +0 -216
  57. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/colorize.js +0 -40
  58. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode-standalone.js +0 -158
  59. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.js +0 -72
  60. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.node.js +0 -197
  61. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/annotatescrollbar.js +0 -122
  62. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/scrollpastend.js +0 -48
  63. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.css +0 -66
  64. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.js +0 -152
  65. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/jump-to-line.js +0 -50
  66. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/match-highlighter.js +0 -165
  67. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.css +0 -8
  68. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.js +0 -97
  69. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/search.js +0 -260
  70. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/searchcursor.js +0 -293
  71. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/active-line.js +0 -72
  72. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/mark-selection.js +0 -119
  73. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/selection-pointer.js +0 -98
  74. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.css +0 -87
  75. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.js +0 -718
  76. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/worker.js +0 -44
  77. data/vendor/assets/javascripts/codemirror/5.49.2/addon/wrap/hardwrap.js +0 -145
  78. data/vendor/assets/javascripts/codemirror/5.49.2/lib/codemirror.js +0 -9783
  79. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/apl.js +0 -174
  80. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/index.html +0 -72
  81. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/asciiarmor.js +0 -74
  82. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/index.html +0 -46
  83. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/asn.1.js +0 -204
  84. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/index.html +0 -78
  85. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/asterisk.js +0 -220
  86. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/index.html +0 -155
  87. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/brainfuck.js +0 -85
  88. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/index.html +0 -85
  89. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/clike.js +0 -935
  90. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/index.html +0 -380
  91. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/scala.html +0 -767
  92. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/test.js +0 -165
  93. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/clojure.js +0 -292
  94. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/index.html +0 -95
  95. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/test.js +0 -384
  96. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/cmake.js +0 -97
  97. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/index.html +0 -129
  98. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/cobol.js +0 -255
  99. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/index.html +0 -210
  100. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/coffeescript.js +0 -359
  101. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/index.html +0 -740
  102. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/commonlisp.js +0 -124
  103. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/index.html +0 -177
  104. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/crystal.js +0 -433
  105. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/index.html +0 -116
  106. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/css.js +0 -831
  107. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss.html +0 -104
  108. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss_test.js +0 -17
  109. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/index.html +0 -75
  110. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less.html +0 -152
  111. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less_test.js +0 -54
  112. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss.html +0 -158
  113. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss_test.js +0 -110
  114. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/test.js +0 -217
  115. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/cypher.js +0 -150
  116. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/index.html +0 -64
  117. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/test.js +0 -37
  118. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/d.js +0 -223
  119. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/index.html +0 -273
  120. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/test.js +0 -11
  121. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/dart.js +0 -166
  122. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/index.html +0 -71
  123. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/diff.js +0 -47
  124. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/index.html +0 -117
  125. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/django.js +0 -356
  126. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/index.html +0 -73
  127. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/dockerfile.js +0 -211
  128. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/index.html +0 -73
  129. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/test.js +0 -128
  130. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/dtd.js +0 -142
  131. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/index.html +0 -89
  132. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/dylan.js +0 -352
  133. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/index.html +0 -407
  134. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/test.js +0 -88
  135. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/ebnf.js +0 -195
  136. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/index.html +0 -102
  137. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/ecl.js +0 -206
  138. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/index.html +0 -52
  139. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/eiffel.js +0 -160
  140. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/index.html +0 -429
  141. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/elm.js +0 -205
  142. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/index.html +0 -61
  143. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/erlang.js +0 -619
  144. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/index.html +0 -76
  145. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/factor.js +0 -85
  146. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/index.html +0 -77
  147. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/fcl.js +0 -173
  148. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/index.html +0 -108
  149. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/forth.js +0 -180
  150. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/index.html +0 -75
  151. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/fortran.js +0 -188
  152. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/index.html +0 -81
  153. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/gas.js +0 -345
  154. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/index.html +0 -68
  155. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/gfm.js +0 -129
  156. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/index.html +0 -136
  157. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/test.js +0 -198
  158. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/gherkin.js +0 -178
  159. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/index.html +0 -48
  160. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/go.js +0 -187
  161. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/index.html +0 -85
  162. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/groovy.js +0 -233
  163. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/index.html +0 -84
  164. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/haml.js +0 -161
  165. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/index.html +0 -79
  166. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/test.js +0 -97
  167. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/handlebars.js +0 -70
  168. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/index.html +0 -82
  169. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/haskell.js +0 -268
  170. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/index.html +0 -73
  171. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/haskell-literate.js +0 -43
  172. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/index.html +0 -282
  173. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/haxe.js +0 -515
  174. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/index.html +0 -124
  175. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/htmlembedded.js +0 -37
  176. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/index.html +0 -60
  177. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/htmlmixed.js +0 -152
  178. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/index.html +0 -100
  179. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/http.js +0 -113
  180. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/index.html +0 -45
  181. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/idl.js +0 -290
  182. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/index.html +0 -65
  183. data/vendor/assets/javascripts/codemirror/5.49.2/mode/index.html +0 -165
  184. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/index.html +0 -114
  185. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/javascript.js +0 -930
  186. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/json-ld.html +0 -72
  187. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/test.js +0 -513
  188. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/typescript.html +0 -62
  189. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/index.html +0 -54
  190. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/jinja2.js +0 -146
  191. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/index.html +0 -89
  192. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/jsx.js +0 -148
  193. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/test.js +0 -91
  194. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/index.html +0 -196
  195. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/julia.js +0 -429
  196. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/index.html +0 -459
  197. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/livescript.js +0 -280
  198. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/index.html +0 -85
  199. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/lua.js +0 -159
  200. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/index.html +0 -412
  201. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/markdown.js +0 -883
  202. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/test.js +0 -1317
  203. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/index.html +0 -72
  204. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/mathematica.js +0 -176
  205. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/index.html +0 -44
  206. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/mbox.js +0 -129
  207. data/vendor/assets/javascripts/codemirror/5.49.2/mode/meta.js +0 -219
  208. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/index.html +0 -161
  209. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/mirc.js +0 -193
  210. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/index.html +0 -198
  211. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/mllike.js +0 -359
  212. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/index.html +0 -67
  213. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/modelica.js +0 -245
  214. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/index.html +0 -151
  215. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen.js +0 -175
  216. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen_test.js +0 -84
  217. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/msgenny_test.js +0 -77
  218. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/xu_test.js +0 -87
  219. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/index.html +0 -85
  220. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/mumps.js +0 -148
  221. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/index.html +0 -181
  222. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/nginx.js +0 -178
  223. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/index.html +0 -80
  224. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/nsis.js +0 -95
  225. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/index.html +0 -70
  226. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/ntriples.js +0 -195
  227. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/index.html +0 -84
  228. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/octave.js +0 -139
  229. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/index.html +0 -59
  230. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/oz.js +0 -252
  231. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/index.html +0 -61
  232. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/pascal.js +0 -121
  233. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/index.html +0 -66
  234. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/pegjs.js +0 -114
  235. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/index.html +0 -75
  236. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/perl.js +0 -837
  237. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/index.html +0 -64
  238. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/php.js +0 -234
  239. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/test.js +0 -154
  240. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/index.html +0 -53
  241. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/pig.js +0 -178
  242. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/index.html +0 -205
  243. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/powershell.js +0 -398
  244. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/test.js +0 -74
  245. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/index.html +0 -53
  246. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/properties.js +0 -78
  247. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/index.html +0 -104
  248. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/protobuf.js +0 -69
  249. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/index.html +0 -70
  250. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/pug.js +0 -591
  251. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/index.html +0 -121
  252. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/puppet.js +0 -220
  253. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/index.html +0 -207
  254. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/python.js +0 -399
  255. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/test.js +0 -44
  256. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/index.html +0 -144
  257. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/q.js +0 -139
  258. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/index.html +0 -88
  259. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/r.js +0 -190
  260. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/changes/index.html +0 -66
  261. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/index.html +0 -149
  262. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/rpm.js +0 -109
  263. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/index.html +0 -535
  264. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/rst.js +0 -557
  265. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/index.html +0 -183
  266. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/ruby.js +0 -298
  267. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/test.js +0 -23
  268. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/index.html +0 -64
  269. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/rust.js +0 -72
  270. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/test.js +0 -39
  271. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/index.html +0 -81
  272. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/sas.js +0 -303
  273. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/index.html +0 -68
  274. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/sass.js +0 -454
  275. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/test.js +0 -122
  276. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/index.html +0 -77
  277. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/scheme.js +0 -265
  278. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/index.html +0 -66
  279. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/shell.js +0 -152
  280. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/test.js +0 -73
  281. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/index.html +0 -93
  282. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/sieve.js +0 -193
  283. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/index.html +0 -96
  284. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/slim.js +0 -575
  285. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/test.js +0 -96
  286. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/index.html +0 -68
  287. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/smalltalk.js +0 -168
  288. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/index.html +0 -138
  289. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/smarty.js +0 -225
  290. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/index.html +0 -57
  291. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/solr.js +0 -104
  292. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/index.html +0 -68
  293. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/soy.js +0 -437
  294. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/test.js +0 -204
  295. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/index.html +0 -61
  296. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/sparql.js +0 -180
  297. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/index.html +0 -42
  298. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/spreadsheet.js +0 -112
  299. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/index.html +0 -89
  300. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/sql.js +0 -494
  301. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/index.html +0 -116
  302. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/stex.js +0 -264
  303. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/test.js +0 -132
  304. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/index.html +0 -106
  305. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/stylus.js +0 -771
  306. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/index.html +0 -70
  307. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/swift.js +0 -223
  308. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/test.js +0 -162
  309. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/index.html +0 -142
  310. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/tcl.js +0 -139
  311. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/index.html +0 -191
  312. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/test.js +0 -417
  313. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/textile.js +0 -469
  314. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/index.html +0 -154
  315. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.css +0 -14
  316. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.js +0 -308
  317. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/index.html +0 -95
  318. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.css +0 -26
  319. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.js +0 -312
  320. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/index.html +0 -73
  321. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/toml.js +0 -88
  322. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/index.html +0 -63
  323. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/tornado.js +0 -68
  324. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/index.html +0 -146
  325. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/troff.js +0 -84
  326. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/index.html +0 -119
  327. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/ttcn.js +0 -283
  328. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/index.html +0 -116
  329. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  330. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/index.html +0 -51
  331. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/turtle.js +0 -162
  332. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/index.html +0 -45
  333. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/twig.js +0 -141
  334. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/index.html +0 -49
  335. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/vb.js +0 -275
  336. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/index.html +0 -55
  337. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/vbscript.js +0 -350
  338. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/index.html +0 -120
  339. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/velocity.js +0 -201
  340. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/index.html +0 -120
  341. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/test.js +0 -273
  342. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/verilog.js +0 -675
  343. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/index.html +0 -95
  344. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/vhdl.js +0 -189
  345. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/index.html +0 -69
  346. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/vue.js +0 -77
  347. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/index.html +0 -71
  348. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/webidl.js +0 -195
  349. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/index.html +0 -61
  350. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/test.js +0 -51
  351. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/xml.js +0 -413
  352. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/index.html +0 -211
  353. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/test.js +0 -67
  354. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/xquery.js +0 -448
  355. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/index.html +0 -87
  356. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/yacas.js +0 -204
  357. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/index.html +0 -80
  358. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/yaml.js +0 -120
  359. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/index.html +0 -121
  360. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/yaml-frontmatter.js +0 -68
  361. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/index.html +0 -53
  362. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/z80.js +0 -116
  363. data/vendor/assets/stylesheets/codemirror/5.49.2/lib/codemirror.css +0 -349
  364. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-day.css +0 -41
  365. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-night.css +0 -39
  366. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/abcdef.css +0 -32
  367. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance-mobile.css +0 -5
  368. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance.css +0 -74
  369. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-dark.css +0 -38
  370. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-light.css +0 -38
  371. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/bespin.css +0 -34
  372. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/blackboard.css +0 -32
  373. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/cobalt.css +0 -25
  374. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/colorforth.css +0 -33
  375. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/darcula.css +0 -53
  376. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/dracula.css +0 -40
  377. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-dark.css +0 -35
  378. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-light.css +0 -36
  379. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/eclipse.css +0 -23
  380. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/elegant.css +0 -13
  381. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/erlang-dark.css +0 -34
  382. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/gruvbox-dark.css +0 -37
  383. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/hopscotch.css +0 -34
  384. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/icecoder.css +0 -43
  385. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/idea.css +0 -42
  386. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/isotope.css +0 -34
  387. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lesser-dark.css +0 -47
  388. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/liquibyte.css +0 -95
  389. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lucario.css +0 -37
  390. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-darker.css +0 -135
  391. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-ocean.css +0 -135
  392. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-palenight.css +0 -135
  393. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material.css +0 -135
  394. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mbo.css +0 -37
  395. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mdn-like.css +0 -46
  396. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/midnight.css +0 -39
  397. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/monokai.css +0 -41
  398. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/moxer.css +0 -143
  399. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neat.css +0 -12
  400. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neo.css +0 -43
  401. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/night.css +0 -27
  402. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/nord.css +0 -42
  403. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/oceanic-next.css +0 -44
  404. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/panda-syntax.css +0 -85
  405. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-dark.css +0 -38
  406. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-light.css +0 -38
  407. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/pastel-on-dark.css +0 -52
  408. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/railscasts.css +0 -34
  409. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/rubyblue.css +0 -25
  410. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/seti.css +0 -44
  411. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/shadowfox.css +0 -52
  412. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/solarized.css +0 -168
  413. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ssms.css +0 -16
  414. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/the-matrix.css +0 -30
  415. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-bright.css +0 -35
  416. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-eighties.css +0 -38
  417. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ttcn.css +0 -64
  418. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/twilight.css +0 -32
  419. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/vibrant-ink.css +0 -34
  420. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-dark.css +0 -53
  421. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-light.css +0 -43
  422. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yeti.css +0 -44
  423. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yonce.css +0 -59
  424. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/zenburn.css +0 -37
@@ -1,183 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: Ruby 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="ruby.js"></script>
11
- <style>
12
- .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
13
- .cm-s-default span.cm-arrow { color: red; }
14
- </style>
15
- <div id=nav>
16
- <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
17
-
18
- <ul>
19
- <li><a href="../../index.html">Home</a>
20
- <li><a href="../../doc/manual.html">Manual</a>
21
- <li><a href="https://github.com/codemirror/codemirror">Code</a>
22
- </ul>
23
- <ul>
24
- <li><a href="../index.html">Language modes</a>
25
- <li><a class=active href="#">Ruby</a>
26
- </ul>
27
- </div>
28
-
29
- <article>
30
- <h2>Ruby mode</h2>
31
- <form><textarea id="code" name="code">
32
- # Code from http://sandbox.mc.edu/~bennet/ruby/code/poly_rb.html
33
- #
34
- # This program evaluates polynomials. It first asks for the coefficients
35
- # of a polynomial, which must be entered on one line, highest-order first.
36
- # It then requests values of x and will compute the value of the poly for
37
- # each x. It will repeatly ask for x values, unless you the user enters
38
- # a blank line. It that case, it will ask for another polynomial. If the
39
- # user types quit for either input, the program immediately exits.
40
- #
41
-
42
- #
43
- # Function to evaluate a polynomial at x. The polynomial is given
44
- # as a list of coefficients, from the greatest to the least.
45
- def polyval(x, coef)
46
- sum = 0
47
- coef = coef.clone # Don't want to destroy the original
48
- while true
49
- sum += coef.shift # Add and remove the next coef
50
- break if coef.empty? # If no more, done entirely.
51
- sum *= x # This happens the right number of times.
52
- end
53
- return sum
54
- end
55
-
56
- #
57
- # Function to read a line containing a list of integers and return
58
- # them as an array of integers. If the string conversion fails, it
59
- # throws TypeError. If the input line is the word 'quit', then it
60
- # converts it to an end-of-file exception
61
- def readints(prompt)
62
- # Read a line
63
- print prompt
64
- line = readline.chomp
65
- raise EOFError.new if line == 'quit' # You can also use a real EOF.
66
-
67
- # Go through each item on the line, converting each one and adding it
68
- # to retval.
69
- retval = [ ]
70
- for str in line.split(/\s+/)
71
- if str =~ /^\-?\d+$/
72
- retval.push(str.to_i)
73
- else
74
- raise TypeError.new
75
- end
76
- end
77
-
78
- return retval
79
- end
80
-
81
- #
82
- # Take a coeff and an exponent and return the string representation, ignoring
83
- # the sign of the coefficient.
84
- def term_to_str(coef, exp)
85
- ret = ""
86
-
87
- # Show coeff, unless it's 1 or at the right
88
- coef = coef.abs
89
- ret = coef.to_s unless coef == 1 && exp > 0
90
- ret += "x" if exp > 0 # x if exponent not 0
91
- ret += "^" + exp.to_s if exp > 1 # ^exponent, if > 1.
92
-
93
- return ret
94
- end
95
-
96
- #
97
- # Create a string of the polynomial in sort-of-readable form.
98
- def polystr(p)
99
- # Get the exponent of first coefficient, plus 1.
100
- exp = p.length
101
-
102
- # Assign exponents to each term, making pairs of coeff and exponent,
103
- # Then get rid of the zero terms.
104
- p = (p.map { |c| exp -= 1; [ c, exp ] }).select { |p| p[0] != 0 }
105
-
106
- # If there's nothing left, it's a zero
107
- return "0" if p.empty?
108
-
109
- # *** Now p is a non-empty list of [ coef, exponent ] pairs. ***
110
-
111
- # Convert the first term, preceded by a "-" if it's negative.
112
- result = (if p[0][0] < 0 then "-" else "" end) + term_to_str(*p[0])
113
-
114
- # Convert the rest of the terms, in each case adding the appropriate
115
- # + or - separating them.
116
- for term in p[1...p.length]
117
- # Add the separator then the rep. of the term.
118
- result += (if term[0] < 0 then " - " else " + " end) +
119
- term_to_str(*term)
120
- end
121
-
122
- return result
123
- end
124
-
125
- #
126
- # Run until some kind of endfile.
127
- begin
128
- # Repeat until an exception or quit gets us out.
129
- while true
130
- # Read a poly until it works. An EOF will except out of the
131
- # program.
132
- print "\n"
133
- begin
134
- poly = readints("Enter a polynomial coefficients: ")
135
- rescue TypeError
136
- print "Try again.\n"
137
- retry
138
- end
139
- break if poly.empty?
140
-
141
- # Read and evaluate x values until the user types a blank line.
142
- # Again, an EOF will except out of the pgm.
143
- while true
144
- # Request an integer.
145
- print "Enter x value or blank line: "
146
- x = readline.chomp
147
- break if x == ''
148
- raise EOFError.new if x == 'quit'
149
-
150
- # If it looks bad, let's try again.
151
- if x !~ /^\-?\d+$/
152
- print "That doesn't look like an integer. Please try again.\n"
153
- next
154
- end
155
-
156
- # Convert to an integer and print the result.
157
- x = x.to_i
158
- print "p(x) = ", polystr(poly), "\n"
159
- print "p(", x, ") = ", polyval(x, poly), "\n"
160
- end
161
- end
162
- rescue EOFError
163
- print "\n=== EOF ===\n"
164
- rescue Interrupt, SignalException
165
- print "\n=== Interrupted ===\n"
166
- else
167
- print "--- Bye ---\n"
168
- end
169
- </textarea></form>
170
- <script>
171
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
172
- mode: "text/x-ruby",
173
- matchBrackets: true,
174
- indentUnit: 4
175
- });
176
- </script>
177
-
178
- <p><strong>MIME types defined:</strong> <code>text/x-ruby</code>.</p>
179
-
180
- <p>Development of the CodeMirror Ruby mode was kindly sponsored
181
- by <a href="http://ubalo.com/">Ubalo</a>.</p>
182
-
183
- </article>
@@ -1,298 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineMode("ruby", function(config) {
15
- function wordObj(words) {
16
- var o = {};
17
- for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true;
18
- return o;
19
- }
20
- var keywords = wordObj([
21
- "alias", "and", "BEGIN", "begin", "break", "case", "class", "def", "defined?", "do", "else",
22
- "elsif", "END", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or",
23
- "redo", "rescue", "retry", "return", "self", "super", "then", "true", "undef", "unless",
24
- "until", "when", "while", "yield", "nil", "raise", "throw", "catch", "fail", "loop", "callcc",
25
- "caller", "lambda", "proc", "public", "protected", "private", "require", "load",
26
- "require_relative", "extend", "autoload", "__END__", "__FILE__", "__LINE__", "__dir__"
27
- ]);
28
- var indentWords = wordObj(["def", "class", "case", "for", "while", "until", "module", "then",
29
- "catch", "loop", "proc", "begin"]);
30
- var dedentWords = wordObj(["end", "until"]);
31
- var opening = {"[": "]", "{": "}", "(": ")"};
32
- var closing = {"]": "[", "}": "{", ")": "("};
33
- var curPunc;
34
-
35
- function chain(newtok, stream, state) {
36
- state.tokenize.push(newtok);
37
- return newtok(stream, state);
38
- }
39
-
40
- function tokenBase(stream, state) {
41
- if (stream.sol() && stream.match("=begin") && stream.eol()) {
42
- state.tokenize.push(readBlockComment);
43
- return "comment";
44
- }
45
- if (stream.eatSpace()) return null;
46
- var ch = stream.next(), m;
47
- if (ch == "`" || ch == "'" || ch == '"') {
48
- return chain(readQuoted(ch, "string", ch == '"' || ch == "`"), stream, state);
49
- } else if (ch == "/") {
50
- if (regexpAhead(stream))
51
- return chain(readQuoted(ch, "string-2", true), stream, state);
52
- else
53
- return "operator";
54
- } else if (ch == "%") {
55
- var style = "string", embed = true;
56
- if (stream.eat("s")) style = "atom";
57
- else if (stream.eat(/[WQ]/)) style = "string";
58
- else if (stream.eat(/[r]/)) style = "string-2";
59
- else if (stream.eat(/[wxq]/)) { style = "string"; embed = false; }
60
- var delim = stream.eat(/[^\w\s=]/);
61
- if (!delim) return "operator";
62
- if (opening.propertyIsEnumerable(delim)) delim = opening[delim];
63
- return chain(readQuoted(delim, style, embed, true), stream, state);
64
- } else if (ch == "#") {
65
- stream.skipToEnd();
66
- return "comment";
67
- } else if (ch == "<" && (m = stream.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/))) {
68
- return chain(readHereDoc(m[2], m[1]), stream, state);
69
- } else if (ch == "0") {
70
- if (stream.eat("x")) stream.eatWhile(/[\da-fA-F]/);
71
- else if (stream.eat("b")) stream.eatWhile(/[01]/);
72
- else stream.eatWhile(/[0-7]/);
73
- return "number";
74
- } else if (/\d/.test(ch)) {
75
- stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/);
76
- return "number";
77
- } else if (ch == "?") {
78
- while (stream.match(/^\\[CM]-/)) {}
79
- if (stream.eat("\\")) stream.eatWhile(/\w/);
80
- else stream.next();
81
- return "string";
82
- } else if (ch == ":") {
83
- if (stream.eat("'")) return chain(readQuoted("'", "atom", false), stream, state);
84
- if (stream.eat('"')) return chain(readQuoted('"', "atom", true), stream, state);
85
-
86
- // :> :>> :< :<< are valid symbols
87
- if (stream.eat(/[\<\>]/)) {
88
- stream.eat(/[\<\>]/);
89
- return "atom";
90
- }
91
-
92
- // :+ :- :/ :* :| :& :! are valid symbols
93
- if (stream.eat(/[\+\-\*\/\&\|\:\!]/)) {
94
- return "atom";
95
- }
96
-
97
- // Symbols can't start by a digit
98
- if (stream.eat(/[a-zA-Z$@_\xa1-\uffff]/)) {
99
- stream.eatWhile(/[\w$\xa1-\uffff]/);
100
- // Only one ? ! = is allowed and only as the last character
101
- stream.eat(/[\?\!\=]/);
102
- return "atom";
103
- }
104
- return "operator";
105
- } else if (ch == "@" && stream.match(/^@?[a-zA-Z_\xa1-\uffff]/)) {
106
- stream.eat("@");
107
- stream.eatWhile(/[\w\xa1-\uffff]/);
108
- return "variable-2";
109
- } else if (ch == "$") {
110
- if (stream.eat(/[a-zA-Z_]/)) {
111
- stream.eatWhile(/[\w]/);
112
- } else if (stream.eat(/\d/)) {
113
- stream.eat(/\d/);
114
- } else {
115
- stream.next(); // Must be a special global like $: or $!
116
- }
117
- return "variable-3";
118
- } else if (/[a-zA-Z_\xa1-\uffff]/.test(ch)) {
119
- stream.eatWhile(/[\w\xa1-\uffff]/);
120
- stream.eat(/[\?\!]/);
121
- if (stream.eat(":")) return "atom";
122
- return "ident";
123
- } else if (ch == "|" && (state.varList || state.lastTok == "{" || state.lastTok == "do")) {
124
- curPunc = "|";
125
- return null;
126
- } else if (/[\(\)\[\]{}\\;]/.test(ch)) {
127
- curPunc = ch;
128
- return null;
129
- } else if (ch == "-" && stream.eat(">")) {
130
- return "arrow";
131
- } else if (/[=+\-\/*:\.^%<>~|]/.test(ch)) {
132
- var more = stream.eatWhile(/[=+\-\/*:\.^%<>~|]/);
133
- if (ch == "." && !more) curPunc = ".";
134
- return "operator";
135
- } else {
136
- return null;
137
- }
138
- }
139
-
140
- function regexpAhead(stream) {
141
- var start = stream.pos, depth = 0, next, found = false, escaped = false
142
- while ((next = stream.next()) != null) {
143
- if (!escaped) {
144
- if ("[{(".indexOf(next) > -1) {
145
- depth++
146
- } else if ("]})".indexOf(next) > -1) {
147
- depth--
148
- if (depth < 0) break
149
- } else if (next == "/" && depth == 0) {
150
- found = true
151
- break
152
- }
153
- escaped = next == "\\"
154
- } else {
155
- escaped = false
156
- }
157
- }
158
- stream.backUp(stream.pos - start)
159
- return found
160
- }
161
-
162
- function tokenBaseUntilBrace(depth) {
163
- if (!depth) depth = 1;
164
- return function(stream, state) {
165
- if (stream.peek() == "}") {
166
- if (depth == 1) {
167
- state.tokenize.pop();
168
- return state.tokenize[state.tokenize.length-1](stream, state);
169
- } else {
170
- state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth - 1);
171
- }
172
- } else if (stream.peek() == "{") {
173
- state.tokenize[state.tokenize.length - 1] = tokenBaseUntilBrace(depth + 1);
174
- }
175
- return tokenBase(stream, state);
176
- };
177
- }
178
- function tokenBaseOnce() {
179
- var alreadyCalled = false;
180
- return function(stream, state) {
181
- if (alreadyCalled) {
182
- state.tokenize.pop();
183
- return state.tokenize[state.tokenize.length-1](stream, state);
184
- }
185
- alreadyCalled = true;
186
- return tokenBase(stream, state);
187
- };
188
- }
189
- function readQuoted(quote, style, embed, unescaped) {
190
- return function(stream, state) {
191
- var escaped = false, ch;
192
-
193
- if (state.context.type === 'read-quoted-paused') {
194
- state.context = state.context.prev;
195
- stream.eat("}");
196
- }
197
-
198
- while ((ch = stream.next()) != null) {
199
- if (ch == quote && (unescaped || !escaped)) {
200
- state.tokenize.pop();
201
- break;
202
- }
203
- if (embed && ch == "#" && !escaped) {
204
- if (stream.eat("{")) {
205
- if (quote == "}") {
206
- state.context = {prev: state.context, type: 'read-quoted-paused'};
207
- }
208
- state.tokenize.push(tokenBaseUntilBrace());
209
- break;
210
- } else if (/[@\$]/.test(stream.peek())) {
211
- state.tokenize.push(tokenBaseOnce());
212
- break;
213
- }
214
- }
215
- escaped = !escaped && ch == "\\";
216
- }
217
- return style;
218
- };
219
- }
220
- function readHereDoc(phrase, mayIndent) {
221
- return function(stream, state) {
222
- if (mayIndent) stream.eatSpace()
223
- if (stream.match(phrase)) state.tokenize.pop();
224
- else stream.skipToEnd();
225
- return "string";
226
- };
227
- }
228
- function readBlockComment(stream, state) {
229
- if (stream.sol() && stream.match("=end") && stream.eol())
230
- state.tokenize.pop();
231
- stream.skipToEnd();
232
- return "comment";
233
- }
234
-
235
- return {
236
- startState: function() {
237
- return {tokenize: [tokenBase],
238
- indented: 0,
239
- context: {type: "top", indented: -config.indentUnit},
240
- continuedLine: false,
241
- lastTok: null,
242
- varList: false};
243
- },
244
-
245
- token: function(stream, state) {
246
- curPunc = null;
247
- if (stream.sol()) state.indented = stream.indentation();
248
- var style = state.tokenize[state.tokenize.length-1](stream, state), kwtype;
249
- var thisTok = curPunc;
250
- if (style == "ident") {
251
- var word = stream.current();
252
- style = state.lastTok == "." ? "property"
253
- : keywords.propertyIsEnumerable(stream.current()) ? "keyword"
254
- : /^[A-Z]/.test(word) ? "tag"
255
- : (state.lastTok == "def" || state.lastTok == "class" || state.varList) ? "def"
256
- : "variable";
257
- if (style == "keyword") {
258
- thisTok = word;
259
- if (indentWords.propertyIsEnumerable(word)) kwtype = "indent";
260
- else if (dedentWords.propertyIsEnumerable(word)) kwtype = "dedent";
261
- else if ((word == "if" || word == "unless") && stream.column() == stream.indentation())
262
- kwtype = "indent";
263
- else if (word == "do" && state.context.indented < state.indented)
264
- kwtype = "indent";
265
- }
266
- }
267
- if (curPunc || (style && style != "comment")) state.lastTok = thisTok;
268
- if (curPunc == "|") state.varList = !state.varList;
269
-
270
- if (kwtype == "indent" || /[\(\[\{]/.test(curPunc))
271
- state.context = {prev: state.context, type: curPunc || style, indented: state.indented};
272
- else if ((kwtype == "dedent" || /[\)\]\}]/.test(curPunc)) && state.context.prev)
273
- state.context = state.context.prev;
274
-
275
- if (stream.eol())
276
- state.continuedLine = (curPunc == "\\" || style == "operator");
277
- return style;
278
- },
279
-
280
- indent: function(state, textAfter) {
281
- if (state.tokenize[state.tokenize.length-1] != tokenBase) return CodeMirror.Pass;
282
- var firstChar = textAfter && textAfter.charAt(0);
283
- var ct = state.context;
284
- var closed = ct.type == closing[firstChar] ||
285
- ct.type == "keyword" && /^(?:end|until|else|elsif|when|rescue)\b/.test(textAfter);
286
- return ct.indented + (closed ? 0 : config.indentUnit) +
287
- (state.continuedLine ? config.indentUnit : 0);
288
- },
289
-
290
- electricInput: /^\s*(?:end|rescue|elsif|else|\})$/,
291
- lineComment: "#",
292
- fold: "indent"
293
- };
294
- });
295
-
296
- CodeMirror.defineMIME("text/x-ruby", "ruby");
297
-
298
- });
@@ -1,23 +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: 2}, "ruby");
6
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
7
-
8
- MT("divide_equal_operator",
9
- "[variable bar] [operator /=] [variable foo]");
10
-
11
- MT("divide_equal_operator_no_spacing",
12
- "[variable foo][operator /=][number 42]");
13
-
14
- MT("complex_regexp",
15
- "[keyword if] [variable cr] [operator =~] [string-2 /(?: \\( #{][tag RE_NOT][string-2 }\\( | #{][tag RE_NOT_PAR_OR][string-2 }* #{][tag RE_OPA_OR][string-2 } )/][variable x]")
16
-
17
- MT("indented_heredoc",
18
- "[keyword def] [def x]",
19
- " [variable y] [operator =] [string <<-FOO]",
20
- "[string bar]",
21
- "[string FOO]",
22
- "[keyword end]")
23
- })();
@@ -1,64 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: Rust 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/mode/simple.js"></script>
10
- <script src="rust.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="#">Rust</a>
23
- </ul>
24
- </div>
25
-
26
- <article>
27
- <h2>Rust mode</h2>
28
-
29
-
30
- <div><textarea id="code" name="code">
31
- // Demo code.
32
-
33
- type foo<T> = int;
34
- enum bar {
35
- some(int, foo<float>),
36
- none
37
- }
38
-
39
- fn check_crate(x: int) {
40
- let v = 10;
41
- match foo {
42
- 1 ... 3 {
43
- print_foo();
44
- if x {
45
- blah().to_string();
46
- }
47
- }
48
- (x, y) { "bye" }
49
- _ { "hi" }
50
- }
51
- }
52
- </textarea></div>
53
-
54
- <script>
55
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
56
- lineNumbers: true,
57
- lineWrapping: true,
58
- indentUnit: 4,
59
- mode: "rust"
60
- });
61
- </script>
62
-
63
- <p><strong>MIME types defined:</strong> <code>text/x-rustsrc</code>.</p>
64
- </article>
@@ -1,72 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"), require("../../addon/mode/simple"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror", "../../addon/mode/simple"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineSimpleMode("rust",{
15
- start: [
16
- // string and byte string
17
- {regex: /b?"/, token: "string", next: "string"},
18
- // raw string and raw byte string
19
- {regex: /b?r"/, token: "string", next: "string_raw"},
20
- {regex: /b?r#+"/, token: "string", next: "string_raw_hash"},
21
- // character
22
- {regex: /'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/, token: "string-2"},
23
- // byte
24
- {regex: /b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/, token: "string-2"},
25
-
26
- {regex: /(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,
27
- token: "number"},
28
- {regex: /(let(?:\s+mut)?|fn|enum|mod|struct|type)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/, token: ["keyword", null, "def"]},
29
- {regex: /(?:abstract|alignof|as|box|break|continue|const|crate|do|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, token: "keyword"},
30
- {regex: /\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/, token: "atom"},
31
- {regex: /\b(?:true|false|Some|None|Ok|Err)\b/, token: "builtin"},
32
- {regex: /\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,
33
- token: ["keyword", null ,"def"]},
34
- {regex: /#!?\[.*\]/, token: "meta"},
35
- {regex: /\/\/.*/, token: "comment"},
36
- {regex: /\/\*/, token: "comment", next: "comment"},
37
- {regex: /[-+\/*=<>!]+/, token: "operator"},
38
- {regex: /[a-zA-Z_]\w*!/,token: "variable-3"},
39
- {regex: /[a-zA-Z_]\w*/, token: "variable"},
40
- {regex: /[\{\[\(]/, indent: true},
41
- {regex: /[\}\]\)]/, dedent: true}
42
- ],
43
- string: [
44
- {regex: /"/, token: "string", next: "start"},
45
- {regex: /(?:[^\\"]|\\(?:.|$))*/, token: "string"}
46
- ],
47
- string_raw: [
48
- {regex: /"/, token: "string", next: "start"},
49
- {regex: /[^"]*/, token: "string"}
50
- ],
51
- string_raw_hash: [
52
- {regex: /"#+/, token: "string", next: "start"},
53
- {regex: /(?:[^"]|"(?!#))*/, token: "string"}
54
- ],
55
- comment: [
56
- {regex: /.*?\*\//, token: "comment", next: "start"},
57
- {regex: /.*/, token: "comment"}
58
- ],
59
- meta: {
60
- dontIndentStates: ["comment"],
61
- electricInput: /^\s*\}$/,
62
- blockCommentStart: "/*",
63
- blockCommentEnd: "*/",
64
- lineComment: "//",
65
- fold: "brace"
66
- }
67
- });
68
-
69
-
70
- CodeMirror.defineMIME("text/x-rustsrc", "rust");
71
- CodeMirror.defineMIME("text/rust", "rust");
72
- });
@@ -1,39 +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}, "rust");
6
- function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));}
7
-
8
- MT('integer_test',
9
- '[number 123i32]',
10
- '[number 123u32]',
11
- '[number 123_u32]',
12
- '[number 0xff_u8]',
13
- '[number 0o70_i16]',
14
- '[number 0b1111_1111_1001_0000_i32]',
15
- '[number 0usize]');
16
-
17
- MT('float_test',
18
- '[number 123.0f64]',
19
- '[number 0.1f64]',
20
- '[number 0.1f32]',
21
- '[number 12E+99_f64]');
22
-
23
- MT('string-literals-test',
24
- '[string "foo"]',
25
- '[string r"foo"]',
26
- '[string "\\"foo\\""]',
27
- '[string r#""foo""#]',
28
- '[string "foo #\\"# bar"]',
29
-
30
- '[string b"foo"]',
31
- '[string br"foo"]',
32
- '[string b"\\"foo\\""]',
33
- '[string br#""foo""#]',
34
- '[string br##"foo #" bar"##]',
35
-
36
- "[string-2 'h']",
37
- "[string-2 b'h']");
38
-
39
- })();