wallaby 7.0.0.beta2 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (425) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/wallaby/core.js +1615 -1622
  3. data/app/assets/javascripts/wallaby/core.js.map +2 -2
  4. data/app/assets/stylesheets/wallaby/base/_override_vars.scss +3 -0
  5. data/app/assets/stylesheets/wallaby/base.scss +2 -1
  6. data/lib/wallaby/version.rb +1 -1
  7. metadata +21 -434
  8. data/config/brakeman.ignore +0 -26
  9. data/config/massa.yml +0 -45
  10. data/config/rails_best_practices.yml +0 -42
  11. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/comment.js +0 -209
  12. data/vendor/assets/javascripts/codemirror/5.49.2/addon/comment/continuecomment.js +0 -113
  13. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.css +0 -32
  14. data/vendor/assets/javascripts/codemirror/5.49.2/addon/dialog/dialog.js +0 -161
  15. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/autorefresh.js +0 -47
  16. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.css +0 -6
  17. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/fullscreen.js +0 -41
  18. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/panel.js +0 -127
  19. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/placeholder.js +0 -63
  20. data/vendor/assets/javascripts/codemirror/5.49.2/addon/display/rulers.js +0 -51
  21. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closebrackets.js +0 -191
  22. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/closetag.js +0 -184
  23. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/continuelist.js +0 -99
  24. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchbrackets.js +0 -150
  25. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/matchtags.js +0 -66
  26. data/vendor/assets/javascripts/codemirror/5.49.2/addon/edit/trailingspace.js +0 -27
  27. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/brace-fold.js +0 -105
  28. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/comment-fold.js +0 -59
  29. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldcode.js +0 -152
  30. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.css +0 -20
  31. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/foldgutter.js +0 -163
  32. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/indent-fold.js +0 -48
  33. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/markdown-fold.js +0 -49
  34. data/vendor/assets/javascripts/codemirror/5.49.2/addon/fold/xml-fold.js +0 -184
  35. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/anyword-hint.js +0 -41
  36. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/css-hint.js +0 -60
  37. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/html-hint.js +0 -350
  38. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/javascript-hint.js +0 -157
  39. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.css +0 -36
  40. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/show-hint.js +0 -460
  41. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/sql-hint.js +0 -304
  42. data/vendor/assets/javascripts/codemirror/5.49.2/addon/hint/xml-hint.js +0 -123
  43. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/coffeescript-lint.js +0 -47
  44. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/css-lint.js +0 -40
  45. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/html-lint.js +0 -59
  46. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/javascript-lint.js +0 -63
  47. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/json-lint.js +0 -40
  48. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.css +0 -73
  49. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/lint.js +0 -252
  50. data/vendor/assets/javascripts/codemirror/5.49.2/addon/lint/yaml-lint.js +0 -41
  51. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.css +0 -119
  52. data/vendor/assets/javascripts/codemirror/5.49.2/addon/merge/merge.js +0 -1002
  53. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/loadmode.js +0 -64
  54. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex.js +0 -131
  55. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/multiplex_test.js +0 -33
  56. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/overlay.js +0 -90
  57. data/vendor/assets/javascripts/codemirror/5.49.2/addon/mode/simple.js +0 -216
  58. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/colorize.js +0 -40
  59. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode-standalone.js +0 -158
  60. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.js +0 -72
  61. data/vendor/assets/javascripts/codemirror/5.49.2/addon/runmode/runmode.node.js +0 -197
  62. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/annotatescrollbar.js +0 -122
  63. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/scrollpastend.js +0 -48
  64. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.css +0 -66
  65. data/vendor/assets/javascripts/codemirror/5.49.2/addon/scroll/simplescrollbars.js +0 -152
  66. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/jump-to-line.js +0 -50
  67. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/match-highlighter.js +0 -165
  68. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.css +0 -8
  69. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/matchesonscrollbar.js +0 -97
  70. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/search.js +0 -260
  71. data/vendor/assets/javascripts/codemirror/5.49.2/addon/search/searchcursor.js +0 -293
  72. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/active-line.js +0 -72
  73. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/mark-selection.js +0 -119
  74. data/vendor/assets/javascripts/codemirror/5.49.2/addon/selection/selection-pointer.js +0 -98
  75. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.css +0 -87
  76. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/tern.js +0 -718
  77. data/vendor/assets/javascripts/codemirror/5.49.2/addon/tern/worker.js +0 -44
  78. data/vendor/assets/javascripts/codemirror/5.49.2/addon/wrap/hardwrap.js +0 -145
  79. data/vendor/assets/javascripts/codemirror/5.49.2/lib/codemirror.js +0 -9783
  80. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/apl.js +0 -174
  81. data/vendor/assets/javascripts/codemirror/5.49.2/mode/apl/index.html +0 -72
  82. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/asciiarmor.js +0 -74
  83. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asciiarmor/index.html +0 -46
  84. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/asn.1.js +0 -204
  85. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asn.1/index.html +0 -78
  86. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/asterisk.js +0 -220
  87. data/vendor/assets/javascripts/codemirror/5.49.2/mode/asterisk/index.html +0 -155
  88. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/brainfuck.js +0 -85
  89. data/vendor/assets/javascripts/codemirror/5.49.2/mode/brainfuck/index.html +0 -85
  90. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/clike.js +0 -935
  91. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/index.html +0 -380
  92. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/scala.html +0 -767
  93. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clike/test.js +0 -165
  94. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/clojure.js +0 -292
  95. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/index.html +0 -95
  96. data/vendor/assets/javascripts/codemirror/5.49.2/mode/clojure/test.js +0 -384
  97. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/cmake.js +0 -97
  98. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cmake/index.html +0 -129
  99. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/cobol.js +0 -255
  100. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cobol/index.html +0 -210
  101. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/coffeescript.js +0 -359
  102. data/vendor/assets/javascripts/codemirror/5.49.2/mode/coffeescript/index.html +0 -740
  103. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/commonlisp.js +0 -124
  104. data/vendor/assets/javascripts/codemirror/5.49.2/mode/commonlisp/index.html +0 -177
  105. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/crystal.js +0 -433
  106. data/vendor/assets/javascripts/codemirror/5.49.2/mode/crystal/index.html +0 -116
  107. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/css.js +0 -831
  108. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss.html +0 -104
  109. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/gss_test.js +0 -17
  110. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/index.html +0 -75
  111. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less.html +0 -152
  112. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/less_test.js +0 -54
  113. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss.html +0 -158
  114. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/scss_test.js +0 -110
  115. data/vendor/assets/javascripts/codemirror/5.49.2/mode/css/test.js +0 -217
  116. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/cypher.js +0 -150
  117. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/index.html +0 -64
  118. data/vendor/assets/javascripts/codemirror/5.49.2/mode/cypher/test.js +0 -37
  119. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/d.js +0 -223
  120. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/index.html +0 -273
  121. data/vendor/assets/javascripts/codemirror/5.49.2/mode/d/test.js +0 -11
  122. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/dart.js +0 -166
  123. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dart/index.html +0 -71
  124. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/diff.js +0 -47
  125. data/vendor/assets/javascripts/codemirror/5.49.2/mode/diff/index.html +0 -117
  126. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/django.js +0 -356
  127. data/vendor/assets/javascripts/codemirror/5.49.2/mode/django/index.html +0 -73
  128. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/dockerfile.js +0 -211
  129. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/index.html +0 -73
  130. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dockerfile/test.js +0 -128
  131. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/dtd.js +0 -142
  132. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dtd/index.html +0 -89
  133. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/dylan.js +0 -352
  134. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/index.html +0 -407
  135. data/vendor/assets/javascripts/codemirror/5.49.2/mode/dylan/test.js +0 -88
  136. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/ebnf.js +0 -195
  137. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ebnf/index.html +0 -102
  138. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/ecl.js +0 -206
  139. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ecl/index.html +0 -52
  140. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/eiffel.js +0 -160
  141. data/vendor/assets/javascripts/codemirror/5.49.2/mode/eiffel/index.html +0 -429
  142. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/elm.js +0 -205
  143. data/vendor/assets/javascripts/codemirror/5.49.2/mode/elm/index.html +0 -61
  144. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/erlang.js +0 -619
  145. data/vendor/assets/javascripts/codemirror/5.49.2/mode/erlang/index.html +0 -76
  146. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/factor.js +0 -85
  147. data/vendor/assets/javascripts/codemirror/5.49.2/mode/factor/index.html +0 -77
  148. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/fcl.js +0 -173
  149. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fcl/index.html +0 -108
  150. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/forth.js +0 -180
  151. data/vendor/assets/javascripts/codemirror/5.49.2/mode/forth/index.html +0 -75
  152. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/fortran.js +0 -188
  153. data/vendor/assets/javascripts/codemirror/5.49.2/mode/fortran/index.html +0 -81
  154. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/gas.js +0 -345
  155. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gas/index.html +0 -68
  156. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/gfm.js +0 -129
  157. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/index.html +0 -136
  158. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gfm/test.js +0 -198
  159. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/gherkin.js +0 -178
  160. data/vendor/assets/javascripts/codemirror/5.49.2/mode/gherkin/index.html +0 -48
  161. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/go.js +0 -187
  162. data/vendor/assets/javascripts/codemirror/5.49.2/mode/go/index.html +0 -85
  163. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/groovy.js +0 -233
  164. data/vendor/assets/javascripts/codemirror/5.49.2/mode/groovy/index.html +0 -84
  165. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/haml.js +0 -161
  166. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/index.html +0 -79
  167. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haml/test.js +0 -97
  168. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/handlebars.js +0 -70
  169. data/vendor/assets/javascripts/codemirror/5.49.2/mode/handlebars/index.html +0 -82
  170. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/haskell.js +0 -268
  171. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell/index.html +0 -73
  172. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/haskell-literate.js +0 -43
  173. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haskell-literate/index.html +0 -282
  174. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/haxe.js +0 -515
  175. data/vendor/assets/javascripts/codemirror/5.49.2/mode/haxe/index.html +0 -124
  176. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/htmlembedded.js +0 -37
  177. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlembedded/index.html +0 -60
  178. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/htmlmixed.js +0 -152
  179. data/vendor/assets/javascripts/codemirror/5.49.2/mode/htmlmixed/index.html +0 -100
  180. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/http.js +0 -113
  181. data/vendor/assets/javascripts/codemirror/5.49.2/mode/http/index.html +0 -45
  182. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/idl.js +0 -290
  183. data/vendor/assets/javascripts/codemirror/5.49.2/mode/idl/index.html +0 -65
  184. data/vendor/assets/javascripts/codemirror/5.49.2/mode/index.html +0 -165
  185. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/index.html +0 -114
  186. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/javascript.js +0 -930
  187. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/json-ld.html +0 -72
  188. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/test.js +0 -513
  189. data/vendor/assets/javascripts/codemirror/5.49.2/mode/javascript/typescript.html +0 -62
  190. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/index.html +0 -54
  191. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jinja2/jinja2.js +0 -146
  192. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/index.html +0 -89
  193. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/jsx.js +0 -148
  194. data/vendor/assets/javascripts/codemirror/5.49.2/mode/jsx/test.js +0 -91
  195. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/index.html +0 -196
  196. data/vendor/assets/javascripts/codemirror/5.49.2/mode/julia/julia.js +0 -429
  197. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/index.html +0 -459
  198. data/vendor/assets/javascripts/codemirror/5.49.2/mode/livescript/livescript.js +0 -280
  199. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/index.html +0 -85
  200. data/vendor/assets/javascripts/codemirror/5.49.2/mode/lua/lua.js +0 -159
  201. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/index.html +0 -412
  202. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/markdown.js +0 -883
  203. data/vendor/assets/javascripts/codemirror/5.49.2/mode/markdown/test.js +0 -1317
  204. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/index.html +0 -72
  205. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mathematica/mathematica.js +0 -176
  206. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/index.html +0 -44
  207. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mbox/mbox.js +0 -129
  208. data/vendor/assets/javascripts/codemirror/5.49.2/mode/meta.js +0 -219
  209. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/index.html +0 -161
  210. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mirc/mirc.js +0 -193
  211. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/index.html +0 -198
  212. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mllike/mllike.js +0 -359
  213. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/index.html +0 -67
  214. data/vendor/assets/javascripts/codemirror/5.49.2/mode/modelica/modelica.js +0 -245
  215. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/index.html +0 -151
  216. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen.js +0 -175
  217. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/mscgen_test.js +0 -84
  218. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/msgenny_test.js +0 -77
  219. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mscgen/xu_test.js +0 -87
  220. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/index.html +0 -85
  221. data/vendor/assets/javascripts/codemirror/5.49.2/mode/mumps/mumps.js +0 -148
  222. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/index.html +0 -181
  223. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nginx/nginx.js +0 -178
  224. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/index.html +0 -80
  225. data/vendor/assets/javascripts/codemirror/5.49.2/mode/nsis/nsis.js +0 -95
  226. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/index.html +0 -70
  227. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ntriples/ntriples.js +0 -195
  228. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/index.html +0 -84
  229. data/vendor/assets/javascripts/codemirror/5.49.2/mode/octave/octave.js +0 -139
  230. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/index.html +0 -59
  231. data/vendor/assets/javascripts/codemirror/5.49.2/mode/oz/oz.js +0 -252
  232. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/index.html +0 -61
  233. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pascal/pascal.js +0 -121
  234. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/index.html +0 -66
  235. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pegjs/pegjs.js +0 -114
  236. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/index.html +0 -75
  237. data/vendor/assets/javascripts/codemirror/5.49.2/mode/perl/perl.js +0 -837
  238. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/index.html +0 -64
  239. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/php.js +0 -234
  240. data/vendor/assets/javascripts/codemirror/5.49.2/mode/php/test.js +0 -154
  241. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/index.html +0 -53
  242. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pig/pig.js +0 -178
  243. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/index.html +0 -205
  244. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/powershell.js +0 -398
  245. data/vendor/assets/javascripts/codemirror/5.49.2/mode/powershell/test.js +0 -74
  246. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/index.html +0 -53
  247. data/vendor/assets/javascripts/codemirror/5.49.2/mode/properties/properties.js +0 -78
  248. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/index.html +0 -104
  249. data/vendor/assets/javascripts/codemirror/5.49.2/mode/protobuf/protobuf.js +0 -69
  250. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/index.html +0 -70
  251. data/vendor/assets/javascripts/codemirror/5.49.2/mode/pug/pug.js +0 -591
  252. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/index.html +0 -121
  253. data/vendor/assets/javascripts/codemirror/5.49.2/mode/puppet/puppet.js +0 -220
  254. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/index.html +0 -207
  255. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/python.js +0 -399
  256. data/vendor/assets/javascripts/codemirror/5.49.2/mode/python/test.js +0 -44
  257. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/index.html +0 -144
  258. data/vendor/assets/javascripts/codemirror/5.49.2/mode/q/q.js +0 -139
  259. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/index.html +0 -88
  260. data/vendor/assets/javascripts/codemirror/5.49.2/mode/r/r.js +0 -190
  261. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/changes/index.html +0 -66
  262. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/index.html +0 -149
  263. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rpm/rpm.js +0 -109
  264. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/index.html +0 -535
  265. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rst/rst.js +0 -557
  266. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/index.html +0 -183
  267. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/ruby.js +0 -298
  268. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ruby/test.js +0 -23
  269. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/index.html +0 -64
  270. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/rust.js +0 -72
  271. data/vendor/assets/javascripts/codemirror/5.49.2/mode/rust/test.js +0 -39
  272. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/index.html +0 -81
  273. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sas/sas.js +0 -303
  274. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/index.html +0 -68
  275. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/sass.js +0 -454
  276. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sass/test.js +0 -122
  277. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/index.html +0 -77
  278. data/vendor/assets/javascripts/codemirror/5.49.2/mode/scheme/scheme.js +0 -265
  279. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/index.html +0 -66
  280. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/shell.js +0 -152
  281. data/vendor/assets/javascripts/codemirror/5.49.2/mode/shell/test.js +0 -73
  282. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/index.html +0 -93
  283. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sieve/sieve.js +0 -193
  284. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/index.html +0 -96
  285. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/slim.js +0 -575
  286. data/vendor/assets/javascripts/codemirror/5.49.2/mode/slim/test.js +0 -96
  287. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/index.html +0 -68
  288. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smalltalk/smalltalk.js +0 -168
  289. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/index.html +0 -138
  290. data/vendor/assets/javascripts/codemirror/5.49.2/mode/smarty/smarty.js +0 -225
  291. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/index.html +0 -57
  292. data/vendor/assets/javascripts/codemirror/5.49.2/mode/solr/solr.js +0 -104
  293. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/index.html +0 -68
  294. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/soy.js +0 -437
  295. data/vendor/assets/javascripts/codemirror/5.49.2/mode/soy/test.js +0 -204
  296. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/index.html +0 -61
  297. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sparql/sparql.js +0 -180
  298. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/index.html +0 -42
  299. data/vendor/assets/javascripts/codemirror/5.49.2/mode/spreadsheet/spreadsheet.js +0 -112
  300. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/index.html +0 -89
  301. data/vendor/assets/javascripts/codemirror/5.49.2/mode/sql/sql.js +0 -494
  302. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/index.html +0 -116
  303. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/stex.js +0 -264
  304. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stex/test.js +0 -132
  305. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/index.html +0 -106
  306. data/vendor/assets/javascripts/codemirror/5.49.2/mode/stylus/stylus.js +0 -771
  307. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/index.html +0 -70
  308. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/swift.js +0 -223
  309. data/vendor/assets/javascripts/codemirror/5.49.2/mode/swift/test.js +0 -162
  310. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/index.html +0 -142
  311. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tcl/tcl.js +0 -139
  312. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/index.html +0 -191
  313. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/test.js +0 -417
  314. data/vendor/assets/javascripts/codemirror/5.49.2/mode/textile/textile.js +0 -469
  315. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/index.html +0 -154
  316. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.css +0 -14
  317. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiddlywiki/tiddlywiki.js +0 -308
  318. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/index.html +0 -95
  319. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.css +0 -26
  320. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tiki/tiki.js +0 -312
  321. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/index.html +0 -73
  322. data/vendor/assets/javascripts/codemirror/5.49.2/mode/toml/toml.js +0 -88
  323. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/index.html +0 -63
  324. data/vendor/assets/javascripts/codemirror/5.49.2/mode/tornado/tornado.js +0 -68
  325. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/index.html +0 -146
  326. data/vendor/assets/javascripts/codemirror/5.49.2/mode/troff/troff.js +0 -84
  327. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/index.html +0 -119
  328. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn/ttcn.js +0 -283
  329. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/index.html +0 -116
  330. data/vendor/assets/javascripts/codemirror/5.49.2/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  331. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/index.html +0 -51
  332. data/vendor/assets/javascripts/codemirror/5.49.2/mode/turtle/turtle.js +0 -162
  333. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/index.html +0 -45
  334. data/vendor/assets/javascripts/codemirror/5.49.2/mode/twig/twig.js +0 -141
  335. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/index.html +0 -49
  336. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vb/vb.js +0 -275
  337. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/index.html +0 -55
  338. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vbscript/vbscript.js +0 -350
  339. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/index.html +0 -120
  340. data/vendor/assets/javascripts/codemirror/5.49.2/mode/velocity/velocity.js +0 -201
  341. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/index.html +0 -120
  342. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/test.js +0 -273
  343. data/vendor/assets/javascripts/codemirror/5.49.2/mode/verilog/verilog.js +0 -675
  344. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/index.html +0 -95
  345. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vhdl/vhdl.js +0 -189
  346. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/index.html +0 -69
  347. data/vendor/assets/javascripts/codemirror/5.49.2/mode/vue/vue.js +0 -77
  348. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/index.html +0 -71
  349. data/vendor/assets/javascripts/codemirror/5.49.2/mode/webidl/webidl.js +0 -195
  350. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/index.html +0 -61
  351. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/test.js +0 -51
  352. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xml/xml.js +0 -413
  353. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/index.html +0 -211
  354. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/test.js +0 -67
  355. data/vendor/assets/javascripts/codemirror/5.49.2/mode/xquery/xquery.js +0 -448
  356. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/index.html +0 -87
  357. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yacas/yacas.js +0 -204
  358. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/index.html +0 -80
  359. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml/yaml.js +0 -120
  360. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/index.html +0 -121
  361. data/vendor/assets/javascripts/codemirror/5.49.2/mode/yaml-frontmatter/yaml-frontmatter.js +0 -68
  362. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/index.html +0 -53
  363. data/vendor/assets/javascripts/codemirror/5.49.2/mode/z80/z80.js +0 -116
  364. data/vendor/assets/stylesheets/codemirror/5.49.2/lib/codemirror.css +0 -349
  365. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-day.css +0 -41
  366. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/3024-night.css +0 -39
  367. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/abcdef.css +0 -32
  368. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance-mobile.css +0 -5
  369. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ambiance.css +0 -74
  370. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-dark.css +0 -38
  371. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/base16-light.css +0 -38
  372. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/bespin.css +0 -34
  373. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/blackboard.css +0 -32
  374. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/cobalt.css +0 -25
  375. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/colorforth.css +0 -33
  376. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/darcula.css +0 -53
  377. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/dracula.css +0 -40
  378. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-dark.css +0 -35
  379. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/duotone-light.css +0 -36
  380. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/eclipse.css +0 -23
  381. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/elegant.css +0 -13
  382. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/erlang-dark.css +0 -34
  383. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/gruvbox-dark.css +0 -37
  384. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/hopscotch.css +0 -34
  385. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/icecoder.css +0 -43
  386. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/idea.css +0 -42
  387. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/isotope.css +0 -34
  388. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lesser-dark.css +0 -47
  389. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/liquibyte.css +0 -95
  390. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/lucario.css +0 -37
  391. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-darker.css +0 -135
  392. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-ocean.css +0 -135
  393. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material-palenight.css +0 -135
  394. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/material.css +0 -135
  395. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mbo.css +0 -37
  396. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/mdn-like.css +0 -46
  397. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/midnight.css +0 -39
  398. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/monokai.css +0 -41
  399. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/moxer.css +0 -143
  400. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neat.css +0 -12
  401. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/neo.css +0 -43
  402. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/night.css +0 -27
  403. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/nord.css +0 -42
  404. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/oceanic-next.css +0 -44
  405. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/panda-syntax.css +0 -85
  406. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-dark.css +0 -38
  407. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/paraiso-light.css +0 -38
  408. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/pastel-on-dark.css +0 -52
  409. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/railscasts.css +0 -34
  410. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/rubyblue.css +0 -25
  411. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/seti.css +0 -44
  412. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/shadowfox.css +0 -52
  413. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/solarized.css +0 -168
  414. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ssms.css +0 -16
  415. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/the-matrix.css +0 -30
  416. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-bright.css +0 -35
  417. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/tomorrow-night-eighties.css +0 -38
  418. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/ttcn.css +0 -64
  419. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/twilight.css +0 -32
  420. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/vibrant-ink.css +0 -34
  421. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-dark.css +0 -53
  422. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/xq-light.css +0 -43
  423. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yeti.css +0 -44
  424. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/yonce.css +0 -59
  425. data/vendor/assets/stylesheets/codemirror/5.49.2/theme/zenburn.css +0 -37
@@ -1,740 +0,0 @@
1
- <!doctype html>
2
-
3
- <title>CodeMirror: CoffeeScript 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="coffeescript.js"></script>
10
- <style>.CodeMirror {border-top: 1px solid silver; border-bottom: 1px solid silver;}</style>
11
- <div id=nav>
12
- <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
13
-
14
- <ul>
15
- <li><a href="../../index.html">Home</a>
16
- <li><a href="../../doc/manual.html">Manual</a>
17
- <li><a href="https://github.com/codemirror/codemirror">Code</a>
18
- </ul>
19
- <ul>
20
- <li><a href="../index.html">Language modes</a>
21
- <li><a class=active href="#">CoffeeScript</a>
22
- </ul>
23
- </div>
24
-
25
- <article>
26
- <h2>CoffeeScript mode</h2>
27
- <form><textarea id="code" name="code">
28
- # CoffeeScript mode for CodeMirror
29
- # Copyright (c) 2011 Jeff Pickhardt, released under
30
- # the MIT License.
31
- #
32
- # Modified from the Python CodeMirror mode, which also is
33
- # under the MIT License Copyright (c) 2010 Timothy Farrell.
34
- #
35
- # The following script, Underscore.coffee, is used to
36
- # demonstrate CoffeeScript mode for CodeMirror.
37
- #
38
- # To download CoffeeScript mode for CodeMirror, go to:
39
- # https://github.com/pickhardt/coffeescript-codemirror-mode
40
-
41
- # **Underscore.coffee
42
- # (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.**
43
- # Underscore is freely distributable under the terms of the
44
- # [MIT license](http://en.wikipedia.org/wiki/MIT_License).
45
- # Portions of Underscore are inspired by or borrowed from
46
- # [Prototype.js](http://prototypejs.org/api), Oliver Steele's
47
- # [Functional](http://osteele.com), and John Resig's
48
- # [Micro-Templating](http://ejohn.org).
49
- # For all details and documentation:
50
- # http://documentcloud.github.com/underscore/
51
-
52
-
53
- # Baseline setup
54
- # --------------
55
-
56
- # Establish the root object, `window` in the browser, or `global` on the server.
57
- root = this
58
-
59
-
60
- # Save the previous value of the `_` variable.
61
- previousUnderscore = root._
62
-
63
- ### Multiline
64
- comment
65
- ###
66
-
67
- # Establish the object that gets thrown to break out of a loop iteration.
68
- # `StopIteration` is SOP on Mozilla.
69
- breaker = if typeof(StopIteration) is 'undefined' then '__break__' else StopIteration
70
-
71
-
72
- #### Docco style single line comment (title)
73
-
74
-
75
- # Helper function to escape **RegExp** contents, because JS doesn't have one.
76
- escapeRegExp = (string) -> string.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1')
77
-
78
-
79
- # Save bytes in the minified (but not gzipped) version:
80
- ArrayProto = Array.prototype
81
- ObjProto = Object.prototype
82
-
83
-
84
- # Create quick reference variables for speed access to core prototypes.
85
- slice = ArrayProto.slice
86
- unshift = ArrayProto.unshift
87
- toString = ObjProto.toString
88
- hasOwnProperty = ObjProto.hasOwnProperty
89
- propertyIsEnumerable = ObjProto.propertyIsEnumerable
90
-
91
-
92
- # All **ECMA5** native implementations we hope to use are declared here.
93
- nativeForEach = ArrayProto.forEach
94
- nativeMap = ArrayProto.map
95
- nativeReduce = ArrayProto.reduce
96
- nativeReduceRight = ArrayProto.reduceRight
97
- nativeFilter = ArrayProto.filter
98
- nativeEvery = ArrayProto.every
99
- nativeSome = ArrayProto.some
100
- nativeIndexOf = ArrayProto.indexOf
101
- nativeLastIndexOf = ArrayProto.lastIndexOf
102
- nativeIsArray = Array.isArray
103
- nativeKeys = Object.keys
104
-
105
-
106
- # Create a safe reference to the Underscore object for use below.
107
- _ = (obj) -> new wrapper(obj)
108
-
109
-
110
- # Export the Underscore object for **CommonJS**.
111
- if typeof(exports) != 'undefined' then exports._ = _
112
-
113
-
114
- # Export Underscore to global scope.
115
- root._ = _
116
-
117
-
118
- # Current version.
119
- _.VERSION = '1.1.0'
120
-
121
-
122
- # Collection Functions
123
- # --------------------
124
-
125
- # The cornerstone, an **each** implementation.
126
- # Handles objects implementing **forEach**, arrays, and raw objects.
127
- _.each = (obj, iterator, context) ->
128
- try
129
- if nativeForEach and obj.forEach is nativeForEach
130
- obj.forEach iterator, context
131
- else if _.isNumber obj.length
132
- iterator.call context, obj[i], i, obj for i in [0...obj.length]
133
- else
134
- iterator.call context, val, key, obj for own key, val of obj
135
- catch e
136
- throw e if e isnt breaker
137
- obj
138
-
139
-
140
- # Return the results of applying the iterator to each element. Use JavaScript
141
- # 1.6's version of **map**, if possible.
142
- _.map = (obj, iterator, context) ->
143
- return obj.map(iterator, context) if nativeMap and obj.map is nativeMap
144
- results = []
145
- _.each obj, (value, index, list) ->
146
- results.push iterator.call context, value, index, list
147
- results
148
-
149
-
150
- # **Reduce** builds up a single result from a list of values. Also known as
151
- # **inject**, or **foldl**. Uses JavaScript 1.8's version of **reduce**, if possible.
152
- _.reduce = (obj, iterator, memo, context) ->
153
- if nativeReduce and obj.reduce is nativeReduce
154
- iterator = _.bind iterator, context if context
155
- return obj.reduce iterator, memo
156
- _.each obj, (value, index, list) ->
157
- memo = iterator.call context, memo, value, index, list
158
- memo
159
-
160
-
161
- # The right-associative version of **reduce**, also known as **foldr**. Uses
162
- # JavaScript 1.8's version of **reduceRight**, if available.
163
- _.reduceRight = (obj, iterator, memo, context) ->
164
- if nativeReduceRight and obj.reduceRight is nativeReduceRight
165
- iterator = _.bind iterator, context if context
166
- return obj.reduceRight iterator, memo
167
- reversed = _.clone(_.toArray(obj)).reverse()
168
- _.reduce reversed, iterator, memo, context
169
-
170
-
171
- # Return the first value which passes a truth test.
172
- _.detect = (obj, iterator, context) ->
173
- result = null
174
- _.each obj, (value, index, list) ->
175
- if iterator.call context, value, index, list
176
- result = value
177
- _.breakLoop()
178
- result
179
-
180
-
181
- # Return all the elements that pass a truth test. Use JavaScript 1.6's
182
- # **filter**, if it exists.
183
- _.filter = (obj, iterator, context) ->
184
- return obj.filter iterator, context if nativeFilter and obj.filter is nativeFilter
185
- results = []
186
- _.each obj, (value, index, list) ->
187
- results.push value if iterator.call context, value, index, list
188
- results
189
-
190
-
191
- # Return all the elements for which a truth test fails.
192
- _.reject = (obj, iterator, context) ->
193
- results = []
194
- _.each obj, (value, index, list) ->
195
- results.push value if not iterator.call context, value, index, list
196
- results
197
-
198
-
199
- # Determine whether all of the elements match a truth test. Delegate to
200
- # JavaScript 1.6's **every**, if it is present.
201
- _.every = (obj, iterator, context) ->
202
- iterator ||= _.identity
203
- return obj.every iterator, context if nativeEvery and obj.every is nativeEvery
204
- result = true
205
- _.each obj, (value, index, list) ->
206
- _.breakLoop() unless (result = result and iterator.call(context, value, index, list))
207
- result
208
-
209
-
210
- # Determine if at least one element in the object matches a truth test. Use
211
- # JavaScript 1.6's **some**, if it exists.
212
- _.some = (obj, iterator, context) ->
213
- iterator ||= _.identity
214
- return obj.some iterator, context if nativeSome and obj.some is nativeSome
215
- result = false
216
- _.each obj, (value, index, list) ->
217
- _.breakLoop() if (result = iterator.call(context, value, index, list))
218
- result
219
-
220
-
221
- # Determine if a given value is included in the array or object,
222
- # based on `===`.
223
- _.include = (obj, target) ->
224
- return _.indexOf(obj, target) isnt -1 if nativeIndexOf and obj.indexOf is nativeIndexOf
225
- return true for own key, val of obj when val is target
226
- false
227
-
228
-
229
- # Invoke a method with arguments on every item in a collection.
230
- _.invoke = (obj, method) ->
231
- args = _.rest arguments, 2
232
- (if method then val[method] else val).apply(val, args) for val in obj
233
-
234
-
235
- # Convenience version of a common use case of **map**: fetching a property.
236
- _.pluck = (obj, key) ->
237
- _.map(obj, (val) -> val[key])
238
-
239
-
240
- # Return the maximum item or (item-based computation).
241
- _.max = (obj, iterator, context) ->
242
- return Math.max.apply(Math, obj) if not iterator and _.isArray(obj)
243
- result = computed: -Infinity
244
- _.each obj, (value, index, list) ->
245
- computed = if iterator then iterator.call(context, value, index, list) else value
246
- computed >= result.computed and (result = {value: value, computed: computed})
247
- result.value
248
-
249
-
250
- # Return the minimum element (or element-based computation).
251
- _.min = (obj, iterator, context) ->
252
- return Math.min.apply(Math, obj) if not iterator and _.isArray(obj)
253
- result = computed: Infinity
254
- _.each obj, (value, index, list) ->
255
- computed = if iterator then iterator.call(context, value, index, list) else value
256
- computed < result.computed and (result = {value: value, computed: computed})
257
- result.value
258
-
259
-
260
- # Sort the object's values by a criterion produced by an iterator.
261
- _.sortBy = (obj, iterator, context) ->
262
- _.pluck(((_.map obj, (value, index, list) ->
263
- {value: value, criteria: iterator.call(context, value, index, list)}
264
- ).sort((left, right) ->
265
- a = left.criteria; b = right.criteria
266
- if a < b then -1 else if a > b then 1 else 0
267
- )), 'value')
268
-
269
-
270
- # Use a comparator function to figure out at what index an object should
271
- # be inserted so as to maintain order. Uses binary search.
272
- _.sortedIndex = (array, obj, iterator) ->
273
- iterator ||= _.identity
274
- low = 0
275
- high = array.length
276
- while low < high
277
- mid = (low + high) >> 1
278
- if iterator(array[mid]) < iterator(obj) then low = mid + 1 else high = mid
279
- low
280
-
281
-
282
- # Convert anything iterable into a real, live array.
283
- _.toArray = (iterable) ->
284
- return [] if (!iterable)
285
- return iterable.toArray() if (iterable.toArray)
286
- return iterable if (_.isArray(iterable))
287
- return slice.call(iterable) if (_.isArguments(iterable))
288
- _.values(iterable)
289
-
290
-
291
- # Return the number of elements in an object.
292
- _.size = (obj) -> _.toArray(obj).length
293
-
294
-
295
- # Array Functions
296
- # ---------------
297
-
298
- # Get the first element of an array. Passing `n` will return the first N
299
- # values in the array. Aliased as **head**. The `guard` check allows it to work
300
- # with **map**.
301
- _.first = (array, n, guard) ->
302
- if n and not guard then slice.call(array, 0, n) else array[0]
303
-
304
-
305
- # Returns everything but the first entry of the array. Aliased as **tail**.
306
- # Especially useful on the arguments object. Passing an `index` will return
307
- # the rest of the values in the array from that index onward. The `guard`
308
- # check allows it to work with **map**.
309
- _.rest = (array, index, guard) ->
310
- slice.call(array, if _.isUndefined(index) or guard then 1 else index)
311
-
312
-
313
- # Get the last element of an array.
314
- _.last = (array) -> array[array.length - 1]
315
-
316
-
317
- # Trim out all falsy values from an array.
318
- _.compact = (array) -> item for item in array when item
319
-
320
-
321
- # Return a completely flattened version of an array.
322
- _.flatten = (array) ->
323
- _.reduce array, (memo, value) ->
324
- return memo.concat(_.flatten(value)) if _.isArray value
325
- memo.push value
326
- memo
327
- , []
328
-
329
-
330
- # Return a version of the array that does not contain the specified value(s).
331
- _.without = (array) ->
332
- values = _.rest arguments
333
- val for val in _.toArray(array) when not _.include values, val
334
-
335
-
336
- # Produce a duplicate-free version of the array. If the array has already
337
- # been sorted, you have the option of using a faster algorithm.
338
- _.uniq = (array, isSorted) ->
339
- memo = []
340
- for el, i in _.toArray array
341
- memo.push el if i is 0 || (if isSorted is true then _.last(memo) isnt el else not _.include(memo, el))
342
- memo
343
-
344
-
345
- # Produce an array that contains every item shared between all the
346
- # passed-in arrays.
347
- _.intersect = (array) ->
348
- rest = _.rest arguments
349
- _.select _.uniq(array), (item) ->
350
- _.all rest, (other) ->
351
- _.indexOf(other, item) >= 0
352
-
353
-
354
- # Zip together multiple lists into a single array -- elements that share
355
- # an index go together.
356
- _.zip = ->
357
- length = _.max _.pluck arguments, 'length'
358
- results = new Array length
359
- for i in [0...length]
360
- results[i] = _.pluck arguments, String i
361
- results
362
-
363
-
364
- # If the browser doesn't supply us with **indexOf** (I'm looking at you, MSIE),
365
- # we need this function. Return the position of the first occurrence of an
366
- # item in an array, or -1 if the item is not included in the array.
367
- _.indexOf = (array, item) ->
368
- return array.indexOf item if nativeIndexOf and array.indexOf is nativeIndexOf
369
- i = 0; l = array.length
370
- while l - i
371
- if array[i] is item then return i else i++
372
- -1
373
-
374
-
375
- # Provide JavaScript 1.6's **lastIndexOf**, delegating to the native function,
376
- # if possible.
377
- _.lastIndexOf = (array, item) ->
378
- return array.lastIndexOf(item) if nativeLastIndexOf and array.lastIndexOf is nativeLastIndexOf
379
- i = array.length
380
- while i
381
- if array[i] is item then return i else i--
382
- -1
383
-
384
-
385
- # Generate an integer Array containing an arithmetic progression. A port of
386
- # [the native Python **range** function](http://docs.python.org/library/functions.html#range).
387
- _.range = (start, stop, step) ->
388
- a = arguments
389
- solo = a.length <= 1
390
- i = start = if solo then 0 else a[0]
391
- stop = if solo then a[0] else a[1]
392
- step = a[2] or 1
393
- len = Math.ceil((stop - start) / step)
394
- return [] if len <= 0
395
- range = new Array len
396
- idx = 0
397
- loop
398
- return range if (if step > 0 then i - stop else stop - i) >= 0
399
- range[idx] = i
400
- idx++
401
- i+= step
402
-
403
-
404
- # Function Functions
405
- # ------------------
406
-
407
- # Create a function bound to a given object (assigning `this`, and arguments,
408
- # optionally). Binding with arguments is also known as **curry**.
409
- _.bind = (func, obj) ->
410
- args = _.rest arguments, 2
411
- -> func.apply obj or root, args.concat arguments
412
-
413
-
414
- # Bind all of an object's methods to that object. Useful for ensuring that
415
- # all callbacks defined on an object belong to it.
416
- _.bindAll = (obj) ->
417
- funcs = if arguments.length > 1 then _.rest(arguments) else _.functions(obj)
418
- _.each funcs, (f) -> obj[f] = _.bind obj[f], obj
419
- obj
420
-
421
-
422
- # Delays a function for the given number of milliseconds, and then calls
423
- # it with the arguments supplied.
424
- _.delay = (func, wait) ->
425
- args = _.rest arguments, 2
426
- setTimeout((-> func.apply(func, args)), wait)
427
-
428
-
429
- # Memoize an expensive function by storing its results.
430
- _.memoize = (func, hasher) ->
431
- memo = {}
432
- hasher or= _.identity
433
- ->
434
- key = hasher.apply this, arguments
435
- return memo[key] if key of memo
436
- memo[key] = func.apply this, arguments
437
-
438
-
439
- # Defers a function, scheduling it to run after the current call stack has
440
- # cleared.
441
- _.defer = (func) ->
442
- _.delay.apply _, [func, 1].concat _.rest arguments
443
-
444
-
445
- # Returns the first function passed as an argument to the second,
446
- # allowing you to adjust arguments, run code before and after, and
447
- # conditionally execute the original function.
448
- _.wrap = (func, wrapper) ->
449
- -> wrapper.apply wrapper, [func].concat arguments
450
-
451
-
452
- # Returns a function that is the composition of a list of functions, each
453
- # consuming the return value of the function that follows.
454
- _.compose = ->
455
- funcs = arguments
456
- ->
457
- args = arguments
458
- for i in [funcs.length - 1..0] by -1
459
- args = [funcs[i].apply(this, args)]
460
- args[0]
461
-
462
-
463
- # Object Functions
464
- # ----------------
465
-
466
- # Retrieve the names of an object's properties.
467
- _.keys = nativeKeys or (obj) ->
468
- return _.range 0, obj.length if _.isArray(obj)
469
- key for key, val of obj
470
-
471
-
472
- # Retrieve the values of an object's properties.
473
- _.values = (obj) ->
474
- _.map obj, _.identity
475
-
476
-
477
- # Return a sorted list of the function names available in Underscore.
478
- _.functions = (obj) ->
479
- _.filter(_.keys(obj), (key) -> _.isFunction(obj[key])).sort()
480
-
481
-
482
- # Extend a given object with all of the properties in a source object.
483
- _.extend = (obj) ->
484
- for source in _.rest(arguments)
485
- obj[key] = val for key, val of source
486
- obj
487
-
488
-
489
- # Create a (shallow-cloned) duplicate of an object.
490
- _.clone = (obj) ->
491
- return obj.slice 0 if _.isArray obj
492
- _.extend {}, obj
493
-
494
-
495
- # Invokes interceptor with the obj, and then returns obj.
496
- # The primary purpose of this method is to "tap into" a method chain,
497
- # in order to perform operations on intermediate results within
498
- the chain.
499
- _.tap = (obj, interceptor) ->
500
- interceptor obj
501
- obj
502
-
503
-
504
- # Perform a deep comparison to check if two objects are equal.
505
- _.isEqual = (a, b) ->
506
- # Check object identity.
507
- return true if a is b
508
- # Different types?
509
- atype = typeof(a); btype = typeof(b)
510
- return false if atype isnt btype
511
- # Basic equality test (watch out for coercions).
512
- return true if `a == b`
513
- # One is falsy and the other truthy.
514
- return false if (!a and b) or (a and !b)
515
- # One of them implements an `isEqual()`?
516
- return a.isEqual(b) if a.isEqual
517
- # Check dates' integer values.
518
- return a.getTime() is b.getTime() if _.isDate(a) and _.isDate(b)
519
- # Both are NaN?
520
- return false if _.isNaN(a) and _.isNaN(b)
521
- # Compare regular expressions.
522
- if _.isRegExp(a) and _.isRegExp(b)
523
- return a.source is b.source and
524
- a.global is b.global and
525
- a.ignoreCase is b.ignoreCase and
526
- a.multiline is b.multiline
527
- # If a is not an object by this point, we can't handle it.
528
- return false if atype isnt 'object'
529
- # Check for different array lengths before comparing contents.
530
- return false if a.length and (a.length isnt b.length)
531
- # Nothing else worked, deep compare the contents.
532
- aKeys = _.keys(a); bKeys = _.keys(b)
533
- # Different object sizes?
534
- return false if aKeys.length isnt bKeys.length
535
- # Recursive comparison of contents.
536
- return false for key, val of a when !(key of b) or !_.isEqual(val, b[key])
537
- true
538
-
539
-
540
- # Is a given array or object empty?
541
- _.isEmpty = (obj) ->
542
- return obj.length is 0 if _.isArray(obj) or _.isString(obj)
543
- return false for own key of obj
544
- true
545
-
546
-
547
- # Is a given value a DOM element?
548
- _.isElement = (obj) -> obj and obj.nodeType is 1
549
-
550
-
551
- # Is a given value an array?
552
- _.isArray = nativeIsArray or (obj) -> !!(obj and obj.concat and obj.unshift and not obj.callee)
553
-
554
-
555
- # Is a given variable an arguments object?
556
- _.isArguments = (obj) -> obj and obj.callee
557
-
558
-
559
- # Is the given value a function?
560
- _.isFunction = (obj) -> !!(obj and obj.constructor and obj.call and obj.apply)
561
-
562
-
563
- # Is the given value a string?
564
- _.isString = (obj) -> !!(obj is '' or (obj and obj.charCodeAt and obj.substr))
565
-
566
-
567
- # Is a given value a number?
568
- _.isNumber = (obj) -> (obj is +obj) or toString.call(obj) is '[object Number]'
569
-
570
-
571
- # Is a given value a boolean?
572
- _.isBoolean = (obj) -> obj is true or obj is false
573
-
574
-
575
- # Is a given value a Date?
576
- _.isDate = (obj) -> !!(obj and obj.getTimezoneOffset and obj.setUTCFullYear)
577
-
578
-
579
- # Is the given value a regular expression?
580
- _.isRegExp = (obj) -> !!(obj and obj.exec and (obj.ignoreCase or obj.ignoreCase is false))
581
-
582
-
583
- # Is the given value NaN -- this one is interesting. `NaN != NaN`, and
584
- # `isNaN(undefined) == true`, so we make sure it's a number first.
585
- _.isNaN = (obj) -> _.isNumber(obj) and window.isNaN(obj)
586
-
587
-
588
- # Is a given value equal to null?
589
- _.isNull = (obj) -> obj is null
590
-
591
-
592
- # Is a given variable undefined?
593
- _.isUndefined = (obj) -> typeof obj is 'undefined'
594
-
595
-
596
- # Utility Functions
597
- # -----------------
598
-
599
- # Run Underscore.js in noConflict mode, returning the `_` variable to its
600
- # previous owner. Returns a reference to the Underscore object.
601
- _.noConflict = ->
602
- root._ = previousUnderscore
603
- this
604
-
605
-
606
- # Keep the identity function around for default iterators.
607
- _.identity = (value) -> value
608
-
609
-
610
- # Run a function `n` times.
611
- _.times = (n, iterator, context) ->
612
- iterator.call context, i for i in [0...n]
613
-
614
-
615
- # Break out of the middle of an iteration.
616
- _.breakLoop = -> throw breaker
617
-
618
-
619
- # Add your own custom functions to the Underscore object, ensuring that
620
- # they're correctly added to the OOP wrapper as well.
621
- _.mixin = (obj) ->
622
- for name in _.functions(obj)
623
- addToWrapper name, _[name] = obj[name]
624
-
625
-
626
- # Generate a unique integer id (unique within the entire client session).
627
- # Useful for temporary DOM ids.
628
- idCounter = 0
629
- _.uniqueId = (prefix) ->
630
- (prefix or '') + idCounter++
631
-
632
-
633
- # By default, Underscore uses **ERB**-style template delimiters, change the
634
- # following template settings to use alternative delimiters.
635
- _.templateSettings = {
636
- start: '<%'
637
- end: '%>'
638
- interpolate: /<%=(.+?)%>/g
639
- }
640
-
641
-
642
- # JavaScript templating a-la **ERB**, pilfered from John Resig's
643
- # *Secrets of the JavaScript Ninja*, page 83.
644
- # Single-quote fix from Rick Strahl.
645
- # With alterations for arbitrary delimiters, and to preserve whitespace.
646
- _.template = (str, data) ->
647
- c = _.templateSettings
648
- endMatch = new RegExp("'(?=[^"+c.end.substr(0, 1)+"]*"+escapeRegExp(c.end)+")","g")
649
- fn = new Function 'obj',
650
- 'var p=[],print=function(){p.push.apply(p,arguments);};' +
651
- 'with(obj||{}){p.push(\'' +
652
- str.replace(/\r/g, '\\r')
653
- .replace(/\n/g, '\\n')
654
- .replace(/\t/g, '\\t')
655
- .replace(endMatch,"���")
656
- .split("'").join("\\'")
657
- .split("���").join("'")
658
- .replace(c.interpolate, "',$1,'")
659
- .split(c.start).join("');")
660
- .split(c.end).join("p.push('") +
661
- "');}return p.join('');"
662
- if data then fn(data) else fn
663
-
664
-
665
- # Aliases
666
- # -------
667
-
668
- _.forEach = _.each
669
- _.foldl = _.inject = _.reduce
670
- _.foldr = _.reduceRight
671
- _.select = _.filter
672
- _.all = _.every
673
- _.any = _.some
674
- _.contains = _.include
675
- _.head = _.first
676
- _.tail = _.rest
677
- _.methods = _.functions
678
-
679
-
680
- # Setup the OOP Wrapper
681
- # ---------------------
682
-
683
- # If Underscore is called as a function, it returns a wrapped object that
684
- # can be used OO-style. This wrapper holds altered versions of all the
685
- # underscore functions. Wrapped objects may be chained.
686
- wrapper = (obj) ->
687
- this._wrapped = obj
688
- this
689
-
690
-
691
- # Helper function to continue chaining intermediate results.
692
- result = (obj, chain) ->
693
- if chain then _(obj).chain() else obj
694
-
695
-
696
- # A method to easily add functions to the OOP wrapper.
697
- addToWrapper = (name, func) ->
698
- wrapper.prototype[name] = ->
699
- args = _.toArray arguments
700
- unshift.call args, this._wrapped
701
- result func.apply(_, args), this._chain
702
-
703
-
704
- # Add all ofthe Underscore functions to the wrapper object.
705
- _.mixin _
706
-
707
-
708
- # Add all mutator Array functions to the wrapper.
709
- _.each ['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], (name) ->
710
- method = Array.prototype[name]
711
- wrapper.prototype[name] = ->
712
- method.apply(this._wrapped, arguments)
713
- result(this._wrapped, this._chain)
714
-
715
-
716
- # Add all accessor Array functions to the wrapper.
717
- _.each ['concat', 'join', 'slice'], (name) ->
718
- method = Array.prototype[name]
719
- wrapper.prototype[name] = ->
720
- result(method.apply(this._wrapped, arguments), this._chain)
721
-
722
-
723
- # Start chaining a wrapped Underscore object.
724
- wrapper::chain = ->
725
- this._chain = true
726
- this
727
-
728
-
729
- # Extracts the result from a wrapped and chained object.
730
- wrapper::value = -> this._wrapped
731
- </textarea></form>
732
- <script>
733
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {});
734
- </script>
735
-
736
- <p><strong>MIME types defined:</strong> <code>application/vnd.coffeescript</code>, <code>text/coffeescript</code>, <code>text/x-coffeescript</code>.</p>
737
-
738
- <p>The CoffeeScript mode was written by Jeff Pickhardt.</p>
739
-
740
- </article>