chaskiq 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (365) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -0
  3. data/lib/chaskiq/version.rb +1 -1
  4. data/vendor/assets/images/animated-overlay.gif +0 -0
  5. data/vendor/assets/images/blueimp/img/error.png +0 -0
  6. data/vendor/assets/images/blueimp/img/error.svg +5 -0
  7. data/vendor/assets/images/blueimp/img/loading.gif +0 -0
  8. data/vendor/assets/images/blueimp/img/play-pause.png +0 -0
  9. data/vendor/assets/images/blueimp/img/play-pause.svg +6 -0
  10. data/vendor/assets/images/blueimp/img/video-play.png +0 -0
  11. data/vendor/assets/images/blueimp/img/video-play.svg +5 -0
  12. data/vendor/assets/images/bootstrap-colorpicker/alpha-horizontal.png +0 -0
  13. data/vendor/assets/images/bootstrap-colorpicker/alpha.png +0 -0
  14. data/vendor/assets/images/bootstrap-colorpicker/hue-horizontal.png +0 -0
  15. data/vendor/assets/images/bootstrap-colorpicker/hue.png +0 -0
  16. data/vendor/assets/images/bootstrap-colorpicker/saturation.png +0 -0
  17. data/vendor/assets/images/chosen-sprite.png +0 -0
  18. data/vendor/assets/images/chosen-sprite@2x.png +0 -0
  19. data/vendor/assets/images/green.png +0 -0
  20. data/vendor/assets/images/green@2x.png +0 -0
  21. data/vendor/assets/images/images/animated-overlay.gif +0 -0
  22. data/vendor/assets/images/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  23. data/vendor/assets/images/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  24. data/vendor/assets/images/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  25. data/vendor/assets/images/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  26. data/vendor/assets/images/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  27. data/vendor/assets/images/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  28. data/vendor/assets/images/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  29. data/vendor/assets/images/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  30. data/vendor/assets/images/images/ui-icons_222222_256x240.png +0 -0
  31. data/vendor/assets/images/images/ui-icons_2e83ff_256x240.png +0 -0
  32. data/vendor/assets/images/images/ui-icons_454545_256x240.png +0 -0
  33. data/vendor/assets/images/images/ui-icons_888888_256x240.png +0 -0
  34. data/vendor/assets/images/images/ui-icons_cd0a0a_256x240.png +0 -0
  35. data/vendor/assets/images/sort.png +0 -0
  36. data/vendor/assets/images/sort_asc.png +0 -0
  37. data/vendor/assets/images/sort_desc.png +0 -0
  38. data/vendor/assets/images/sprite-skin-flat.png +0 -0
  39. data/vendor/assets/images/sprite-skin-flat2.png +0 -0
  40. data/vendor/assets/images/sprite-skin-nice.png +0 -0
  41. data/vendor/assets/images/sprite-skin-simple.png +0 -0
  42. data/vendor/assets/images/spritemap.png +0 -0
  43. data/vendor/assets/images/spritemap@2x.png +0 -0
  44. data/vendor/assets/javascripts/backbone/backbone.min.js +2 -0
  45. data/vendor/assets/javascripts/backbone/underscore.min.js +6 -0
  46. data/vendor/assets/javascripts/chartjs/Chart.min.js +11 -0
  47. data/vendor/assets/javascripts/codemirror/codemirror.js +7830 -0
  48. data/vendor/assets/javascripts/codemirror/mode/apl/apl.js +175 -0
  49. data/vendor/assets/javascripts/codemirror/mode/apl/index.html +72 -0
  50. data/vendor/assets/javascripts/codemirror/mode/asterisk/asterisk.js +198 -0
  51. data/vendor/assets/javascripts/codemirror/mode/asterisk/index.html +154 -0
  52. data/vendor/assets/javascripts/codemirror/mode/clike/clike.js +474 -0
  53. data/vendor/assets/javascripts/codemirror/mode/clike/index.html +225 -0
  54. data/vendor/assets/javascripts/codemirror/mode/clike/scala.html +767 -0
  55. data/vendor/assets/javascripts/codemirror/mode/clojure/clojure.js +243 -0
  56. data/vendor/assets/javascripts/codemirror/mode/clojure/index.html +88 -0
  57. data/vendor/assets/javascripts/codemirror/mode/cobol/cobol.js +255 -0
  58. data/vendor/assets/javascripts/codemirror/mode/cobol/index.html +210 -0
  59. data/vendor/assets/javascripts/codemirror/mode/coffeescript/coffeescript.js +369 -0
  60. data/vendor/assets/javascripts/codemirror/mode/coffeescript/index.html +740 -0
  61. data/vendor/assets/javascripts/codemirror/mode/commonlisp/commonlisp.js +120 -0
  62. data/vendor/assets/javascripts/codemirror/mode/commonlisp/index.html +177 -0
  63. data/vendor/assets/javascripts/codemirror/mode/css/css.js +717 -0
  64. data/vendor/assets/javascripts/codemirror/mode/css/index.html +70 -0
  65. data/vendor/assets/javascripts/codemirror/mode/css/less.html +152 -0
  66. data/vendor/assets/javascripts/codemirror/mode/css/less_test.js +51 -0
  67. data/vendor/assets/javascripts/codemirror/mode/css/scss.html +157 -0
  68. data/vendor/assets/javascripts/codemirror/mode/css/scss_test.js +110 -0
  69. data/vendor/assets/javascripts/codemirror/mode/css/test.js +135 -0
  70. data/vendor/assets/javascripts/codemirror/mode/cypher/cypher.js +146 -0
  71. data/vendor/assets/javascripts/codemirror/mode/cypher/index.html +63 -0
  72. data/vendor/assets/javascripts/codemirror/mode/d/d.js +218 -0
  73. data/vendor/assets/javascripts/codemirror/mode/d/index.html +273 -0
  74. data/vendor/assets/javascripts/codemirror/mode/diff/diff.js +47 -0
  75. data/vendor/assets/javascripts/codemirror/mode/diff/index.html +117 -0
  76. data/vendor/assets/javascripts/codemirror/mode/django/django.js +67 -0
  77. data/vendor/assets/javascripts/codemirror/mode/django/index.html +63 -0
  78. data/vendor/assets/javascripts/codemirror/mode/dtd/dtd.js +142 -0
  79. data/vendor/assets/javascripts/codemirror/mode/dtd/index.html +89 -0
  80. data/vendor/assets/javascripts/codemirror/mode/dylan/dylan.js +299 -0
  81. data/vendor/assets/javascripts/codemirror/mode/dylan/index.html +407 -0
  82. data/vendor/assets/javascripts/codemirror/mode/ecl/ecl.js +207 -0
  83. data/vendor/assets/javascripts/codemirror/mode/ecl/index.html +52 -0
  84. data/vendor/assets/javascripts/codemirror/mode/eiffel/eiffel.js +162 -0
  85. data/vendor/assets/javascripts/codemirror/mode/eiffel/index.html +429 -0
  86. data/vendor/assets/javascripts/codemirror/mode/erlang/erlang.js +622 -0
  87. data/vendor/assets/javascripts/codemirror/mode/erlang/index.html +76 -0
  88. data/vendor/assets/javascripts/codemirror/mode/fortran/fortran.js +188 -0
  89. data/vendor/assets/javascripts/codemirror/mode/fortran/index.html +81 -0
  90. data/vendor/assets/javascripts/codemirror/mode/gas/gas.js +345 -0
  91. data/vendor/assets/javascripts/codemirror/mode/gas/index.html +68 -0
  92. data/vendor/assets/javascripts/codemirror/mode/gfm/gfm.js +122 -0
  93. data/vendor/assets/javascripts/codemirror/mode/gfm/index.html +82 -0
  94. data/vendor/assets/javascripts/codemirror/mode/gfm/test.js +164 -0
  95. data/vendor/assets/javascripts/codemirror/mode/gherkin/gherkin.js +178 -0
  96. data/vendor/assets/javascripts/codemirror/mode/gherkin/index.html +48 -0
  97. data/vendor/assets/javascripts/codemirror/mode/go/go.js +184 -0
  98. data/vendor/assets/javascripts/codemirror/mode/go/index.html +85 -0
  99. data/vendor/assets/javascripts/codemirror/mode/groovy/groovy.js +226 -0
  100. data/vendor/assets/javascripts/codemirror/mode/groovy/index.html +84 -0
  101. data/vendor/assets/javascripts/codemirror/mode/haml/haml.js +159 -0
  102. data/vendor/assets/javascripts/codemirror/mode/haml/index.html +79 -0
  103. data/vendor/assets/javascripts/codemirror/mode/haml/test.js +97 -0
  104. data/vendor/assets/javascripts/codemirror/mode/haskell/haskell.js +267 -0
  105. data/vendor/assets/javascripts/codemirror/mode/haskell/index.html +73 -0
  106. data/vendor/assets/javascripts/codemirror/mode/haxe/haxe.js +518 -0
  107. data/vendor/assets/javascripts/codemirror/mode/haxe/index.html +124 -0
  108. data/vendor/assets/javascripts/codemirror/mode/htmlembedded/htmlembedded.js +86 -0
  109. data/vendor/assets/javascripts/codemirror/mode/htmlembedded/index.html +58 -0
  110. data/vendor/assets/javascripts/codemirror/mode/htmlmixed/htmlmixed.js +121 -0
  111. data/vendor/assets/javascripts/codemirror/mode/htmlmixed/index.html +85 -0
  112. data/vendor/assets/javascripts/codemirror/mode/http/http.js +113 -0
  113. data/vendor/assets/javascripts/codemirror/mode/http/index.html +45 -0
  114. data/vendor/assets/javascripts/codemirror/mode/index.html +125 -0
  115. data/vendor/assets/javascripts/codemirror/mode/jade/index.html +70 -0
  116. data/vendor/assets/javascripts/codemirror/mode/jade/jade.js +590 -0
  117. data/vendor/assets/javascripts/codemirror/mode/javascript/index.html +114 -0
  118. data/vendor/assets/javascripts/codemirror/mode/javascript/javascript.js +684 -0
  119. data/vendor/assets/javascripts/codemirror/mode/javascript/json-ld.html +72 -0
  120. data/vendor/assets/javascripts/codemirror/mode/javascript/test.js +194 -0
  121. data/vendor/assets/javascripts/codemirror/mode/javascript/typescript.html +61 -0
  122. data/vendor/assets/javascripts/codemirror/mode/jinja2/index.html +54 -0
  123. data/vendor/assets/javascripts/codemirror/mode/jinja2/jinja2.js +142 -0
  124. data/vendor/assets/javascripts/codemirror/mode/julia/index.html +195 -0
  125. data/vendor/assets/javascripts/codemirror/mode/julia/julia.js +301 -0
  126. data/vendor/assets/javascripts/codemirror/mode/kotlin/index.html +89 -0
  127. data/vendor/assets/javascripts/codemirror/mode/kotlin/kotlin.js +280 -0
  128. data/vendor/assets/javascripts/codemirror/mode/livescript/index.html +459 -0
  129. data/vendor/assets/javascripts/codemirror/mode/livescript/livescript.js +280 -0
  130. data/vendor/assets/javascripts/codemirror/mode/lua/index.html +85 -0
  131. data/vendor/assets/javascripts/codemirror/mode/lua/lua.js +159 -0
  132. data/vendor/assets/javascripts/codemirror/mode/markdown/index.html +359 -0
  133. data/vendor/assets/javascripts/codemirror/mode/markdown/markdown.js +758 -0
  134. data/vendor/assets/javascripts/codemirror/mode/markdown/test.js +754 -0
  135. data/vendor/assets/javascripts/codemirror/mode/meta.js +144 -0
  136. data/vendor/assets/javascripts/codemirror/mode/mirc/index.html +160 -0
  137. data/vendor/assets/javascripts/codemirror/mode/mirc/mirc.js +193 -0
  138. data/vendor/assets/javascripts/codemirror/mode/mllike/index.html +179 -0
  139. data/vendor/assets/javascripts/codemirror/mode/mllike/mllike.js +205 -0
  140. data/vendor/assets/javascripts/codemirror/mode/modelica/index.html +67 -0
  141. data/vendor/assets/javascripts/codemirror/mode/modelica/modelica.js +245 -0
  142. data/vendor/assets/javascripts/codemirror/mode/nginx/index.html +181 -0
  143. data/vendor/assets/javascripts/codemirror/mode/nginx/nginx.js +178 -0
  144. data/vendor/assets/javascripts/codemirror/mode/ntriples/index.html +45 -0
  145. data/vendor/assets/javascripts/codemirror/mode/ntriples/ntriples.js +186 -0
  146. data/vendor/assets/javascripts/codemirror/mode/octave/index.html +83 -0
  147. data/vendor/assets/javascripts/codemirror/mode/octave/octave.js +135 -0
  148. data/vendor/assets/javascripts/codemirror/mode/pascal/index.html +61 -0
  149. data/vendor/assets/javascripts/codemirror/mode/pascal/pascal.js +109 -0
  150. data/vendor/assets/javascripts/codemirror/mode/pegjs/index.html +66 -0
  151. data/vendor/assets/javascripts/codemirror/mode/pegjs/pegjs.js +114 -0
  152. data/vendor/assets/javascripts/codemirror/mode/perl/index.html +75 -0
  153. data/vendor/assets/javascripts/codemirror/mode/perl/perl.js +832 -0
  154. data/vendor/assets/javascripts/codemirror/mode/php/index.html +64 -0
  155. data/vendor/assets/javascripts/codemirror/mode/php/php.js +226 -0
  156. data/vendor/assets/javascripts/codemirror/mode/php/test.js +154 -0
  157. data/vendor/assets/javascripts/codemirror/mode/pig/index.html +55 -0
  158. data/vendor/assets/javascripts/codemirror/mode/pig/pig.js +188 -0
  159. data/vendor/assets/javascripts/codemirror/mode/properties/index.html +53 -0
  160. data/vendor/assets/javascripts/codemirror/mode/properties/properties.js +78 -0
  161. data/vendor/assets/javascripts/codemirror/mode/puppet/index.html +121 -0
  162. data/vendor/assets/javascripts/codemirror/mode/puppet/puppet.js +220 -0
  163. data/vendor/assets/javascripts/codemirror/mode/python/index.html +198 -0
  164. data/vendor/assets/javascripts/codemirror/mode/python/python.js +359 -0
  165. data/vendor/assets/javascripts/codemirror/mode/q/index.html +144 -0
  166. data/vendor/assets/javascripts/codemirror/mode/q/q.js +139 -0
  167. data/vendor/assets/javascripts/codemirror/mode/r/index.html +85 -0
  168. data/vendor/assets/javascripts/codemirror/mode/r/r.js +162 -0
  169. data/vendor/assets/javascripts/codemirror/mode/rpm/changes/index.html +66 -0
  170. data/vendor/assets/javascripts/codemirror/mode/rpm/index.html +149 -0
  171. data/vendor/assets/javascripts/codemirror/mode/rpm/rpm.js +101 -0
  172. data/vendor/assets/javascripts/codemirror/mode/rst/index.html +535 -0
  173. data/vendor/assets/javascripts/codemirror/mode/rst/rst.js +557 -0
  174. data/vendor/assets/javascripts/codemirror/mode/ruby/index.html +184 -0
  175. data/vendor/assets/javascripts/codemirror/mode/ruby/ruby.js +285 -0
  176. data/vendor/assets/javascripts/codemirror/mode/ruby/test.js +14 -0
  177. data/vendor/assets/javascripts/codemirror/mode/rust/index.html +60 -0
  178. data/vendor/assets/javascripts/codemirror/mode/rust/rust.js +451 -0
  179. data/vendor/assets/javascripts/codemirror/mode/sass/index.html +66 -0
  180. data/vendor/assets/javascripts/codemirror/mode/sass/sass.js +327 -0
  181. data/vendor/assets/javascripts/codemirror/mode/scheme/index.html +77 -0
  182. data/vendor/assets/javascripts/codemirror/mode/scheme/scheme.js +248 -0
  183. data/vendor/assets/javascripts/codemirror/mode/shell/index.html +66 -0
  184. data/vendor/assets/javascripts/codemirror/mode/shell/shell.js +138 -0
  185. data/vendor/assets/javascripts/codemirror/mode/shell/test.js +58 -0
  186. data/vendor/assets/javascripts/codemirror/mode/sieve/index.html +93 -0
  187. data/vendor/assets/javascripts/codemirror/mode/sieve/sieve.js +193 -0
  188. data/vendor/assets/javascripts/codemirror/mode/slim/index.html +96 -0
  189. data/vendor/assets/javascripts/codemirror/mode/slim/slim.js +575 -0
  190. data/vendor/assets/javascripts/codemirror/mode/slim/test.js +96 -0
  191. data/vendor/assets/javascripts/codemirror/mode/smalltalk/index.html +68 -0
  192. data/vendor/assets/javascripts/codemirror/mode/smalltalk/smalltalk.js +168 -0
  193. data/vendor/assets/javascripts/codemirror/mode/smarty/index.html +136 -0
  194. data/vendor/assets/javascripts/codemirror/mode/smarty/smarty.js +221 -0
  195. data/vendor/assets/javascripts/codemirror/mode/smartymixed/index.html +114 -0
  196. data/vendor/assets/javascripts/codemirror/mode/smartymixed/smartymixed.js +197 -0
  197. data/vendor/assets/javascripts/codemirror/mode/solr/index.html +57 -0
  198. data/vendor/assets/javascripts/codemirror/mode/solr/solr.js +104 -0
  199. data/vendor/assets/javascripts/codemirror/mode/sparql/index.html +53 -0
  200. data/vendor/assets/javascripts/codemirror/mode/sparql/sparql.js +160 -0
  201. data/vendor/assets/javascripts/codemirror/mode/sql/index.html +84 -0
  202. data/vendor/assets/javascripts/codemirror/mode/sql/sql.js +393 -0
  203. data/vendor/assets/javascripts/codemirror/mode/stex/index.html +110 -0
  204. data/vendor/assets/javascripts/codemirror/mode/stex/stex.js +262 -0
  205. data/vendor/assets/javascripts/codemirror/mode/stex/test.js +123 -0
  206. data/vendor/assets/javascripts/codemirror/mode/tcl/index.html +142 -0
  207. data/vendor/assets/javascripts/codemirror/mode/tcl/tcl.js +147 -0
  208. data/vendor/assets/javascripts/codemirror/mode/textile/index.html +191 -0
  209. data/vendor/assets/javascripts/codemirror/mode/textile/test.js +406 -0
  210. data/vendor/assets/javascripts/codemirror/mode/textile/textile.js +553 -0
  211. data/vendor/assets/javascripts/codemirror/mode/tiddlywiki/index.html +154 -0
  212. data/vendor/assets/javascripts/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  213. data/vendor/assets/javascripts/codemirror/mode/tiddlywiki/tiddlywiki.js +369 -0
  214. data/vendor/assets/javascripts/codemirror/mode/tiki/index.html +95 -0
  215. data/vendor/assets/javascripts/codemirror/mode/tiki/tiki.css +26 -0
  216. data/vendor/assets/javascripts/codemirror/mode/tiki/tiki.js +323 -0
  217. data/vendor/assets/javascripts/codemirror/mode/toml/index.html +73 -0
  218. data/vendor/assets/javascripts/codemirror/mode/toml/toml.js +88 -0
  219. data/vendor/assets/javascripts/codemirror/mode/tornado/index.html +63 -0
  220. data/vendor/assets/javascripts/codemirror/mode/tornado/tornado.js +68 -0
  221. data/vendor/assets/javascripts/codemirror/mode/turtle/index.html +50 -0
  222. data/vendor/assets/javascripts/codemirror/mode/turtle/turtle.js +160 -0
  223. data/vendor/assets/javascripts/codemirror/mode/vb/index.html +102 -0
  224. data/vendor/assets/javascripts/codemirror/mode/vb/vb.js +274 -0
  225. data/vendor/assets/javascripts/codemirror/mode/vbscript/index.html +55 -0
  226. data/vendor/assets/javascripts/codemirror/mode/vbscript/vbscript.js +350 -0
  227. data/vendor/assets/javascripts/codemirror/mode/velocity/index.html +118 -0
  228. data/vendor/assets/javascripts/codemirror/mode/velocity/velocity.js +201 -0
  229. data/vendor/assets/javascripts/codemirror/mode/verilog/index.html +120 -0
  230. data/vendor/assets/javascripts/codemirror/mode/verilog/test.js +273 -0
  231. data/vendor/assets/javascripts/codemirror/mode/verilog/verilog.js +364 -0
  232. data/vendor/assets/javascripts/codemirror/mode/xml/index.html +57 -0
  233. data/vendor/assets/javascripts/codemirror/mode/xml/test.js +51 -0
  234. data/vendor/assets/javascripts/codemirror/mode/xml/xml.js +384 -0
  235. data/vendor/assets/javascripts/codemirror/mode/xquery/index.html +210 -0
  236. data/vendor/assets/javascripts/codemirror/mode/xquery/test.js +67 -0
  237. data/vendor/assets/javascripts/codemirror/mode/xquery/xquery.js +447 -0
  238. data/vendor/assets/javascripts/codemirror/mode/yaml/index.html +80 -0
  239. data/vendor/assets/javascripts/codemirror/mode/yaml/yaml.js +112 -0
  240. data/vendor/assets/javascripts/codemirror/mode/z80/index.html +52 -0
  241. data/vendor/assets/javascripts/codemirror/mode/z80/z80.js +100 -0
  242. data/vendor/assets/javascripts/datapicker/bootstrap-datepicker.js +1671 -0
  243. data/vendor/assets/javascripts/flot/curvedLines.js +315 -0
  244. data/vendor/assets/javascripts/flot/excanvas.min.js +1 -0
  245. data/vendor/assets/javascripts/flot/jquery.flot.js +3168 -0
  246. data/vendor/assets/javascripts/flot/jquery.flot.pie.js +820 -0
  247. data/vendor/assets/javascripts/flot/jquery.flot.resize.js +59 -0
  248. data/vendor/assets/javascripts/flot/jquery.flot.spline.js +212 -0
  249. data/vendor/assets/javascripts/flot/jquery.flot.symbol.js +71 -0
  250. data/vendor/assets/javascripts/flot/jquery.flot.time.js +432 -0
  251. data/vendor/assets/javascripts/flot/jquery.flot.tooltip.min.js +12 -0
  252. data/vendor/assets/javascripts/jquery/jquery-2.1.1.js +4 -0
  253. data/vendor/assets/javascripts/jquery-ui/i18n/jquery-ui-i18n.min.js +6 -0
  254. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-af.min.js +4 -0
  255. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ar-DZ.min.js +4 -0
  256. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ar.min.js +4 -0
  257. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-az.min.js +4 -0
  258. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-be.min.js +4 -0
  259. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-bg.min.js +4 -0
  260. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-bs.min.js +4 -0
  261. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ca.min.js +4 -0
  262. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-cs.min.js +4 -0
  263. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-cy-GB.min.js +4 -0
  264. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-da.min.js +4 -0
  265. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-de.min.js +4 -0
  266. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-el.min.js +4 -0
  267. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-en-AU.min.js +4 -0
  268. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-en-GB.min.js +4 -0
  269. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-en-NZ.min.js +4 -0
  270. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-eo.min.js +4 -0
  271. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-es.min.js +4 -0
  272. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-et.min.js +4 -0
  273. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-eu.min.js +4 -0
  274. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fa.min.js +4 -0
  275. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fi.min.js +4 -0
  276. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fo.min.js +4 -0
  277. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fr-CA.min.js +4 -0
  278. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fr-CH.min.js +4 -0
  279. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-fr.min.js +4 -0
  280. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-gl.min.js +4 -0
  281. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-he.min.js +4 -0
  282. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-hi.min.js +4 -0
  283. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-hr.min.js +4 -0
  284. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-hu.min.js +4 -0
  285. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-hy.min.js +4 -0
  286. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-id.min.js +4 -0
  287. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-is.min.js +4 -0
  288. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-it.min.js +4 -0
  289. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ja.min.js +4 -0
  290. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ka.min.js +4 -0
  291. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-kk.min.js +4 -0
  292. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-km.min.js +4 -0
  293. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ko.min.js +4 -0
  294. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ky.min.js +4 -0
  295. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-lb.min.js +4 -0
  296. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-lt.min.js +4 -0
  297. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-lv.min.js +4 -0
  298. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-mk.min.js +4 -0
  299. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ml.min.js +4 -0
  300. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ms.min.js +4 -0
  301. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-nb.min.js +4 -0
  302. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-nl-BE.min.js +4 -0
  303. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-nl.min.js +4 -0
  304. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-nn.min.js +4 -0
  305. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-no.min.js +4 -0
  306. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-pl.min.js +4 -0
  307. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-pt-BR.min.js +4 -0
  308. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-pt.min.js +4 -0
  309. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-rm.min.js +4 -0
  310. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ro.min.js +4 -0
  311. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ru.min.js +4 -0
  312. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sk.min.js +4 -0
  313. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sl.min.js +4 -0
  314. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sq.min.js +4 -0
  315. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sr-SR.min.js +4 -0
  316. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sr.min.js +4 -0
  317. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-sv.min.js +4 -0
  318. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-ta.min.js +4 -0
  319. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-th.min.js +4 -0
  320. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-tj.min.js +4 -0
  321. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-tr.min.js +4 -0
  322. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-uk.min.js +4 -0
  323. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-vi.min.js +4 -0
  324. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-zh-CN.min.js +4 -0
  325. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-zh-HK.min.js +4 -0
  326. data/vendor/assets/javascripts/jquery-ui/i18n/jquery.ui.datepicker-zh-TW.min.js +4 -0
  327. data/vendor/assets/javascripts/jquery-ui/images/animated-overlay.gif +0 -0
  328. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  329. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  330. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  331. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  332. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  333. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  334. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  335. data/vendor/assets/javascripts/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  336. data/vendor/assets/javascripts/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
  337. data/vendor/assets/javascripts/jquery-ui/images/ui-icons_2e83ff_256x240.png +0 -0
  338. data/vendor/assets/javascripts/jquery-ui/images/ui-icons_454545_256x240.png +0 -0
  339. data/vendor/assets/javascripts/jquery-ui/images/ui-icons_888888_256x240.png +0 -0
  340. data/vendor/assets/javascripts/jquery-ui/images/ui-icons_cd0a0a_256x240.png +0 -0
  341. data/vendor/assets/javascripts/jquery-ui/jquery-ui-1.10.4.custom.min.css +7 -0
  342. data/vendor/assets/javascripts/jquery-ui/jquery-ui-1.10.4.min.js +7 -0
  343. data/vendor/assets/javascripts/jquery-ui/jquery-ui.css +1189 -0
  344. data/vendor/assets/javascripts/jquery-ui/jquery-ui.js +15040 -0
  345. data/vendor/assets/javascripts/jquery-ui/jquery-ui.min.css +4 -0
  346. data/vendor/assets/javascripts/jquery-ui/jquery-ui.min.js +12 -0
  347. data/vendor/assets/javascripts/metisMenu/jquery.metisMenu.js +120 -0
  348. data/vendor/assets/javascripts/morris/morris.js +1888 -0
  349. data/vendor/assets/javascripts/morris/raphael-2.1.0.min.js +10 -0
  350. data/vendor/assets/javascripts/pace/pace.min.js +2 -0
  351. data/vendor/assets/javascripts/peity/jquery.peity.min.js +13 -0
  352. data/vendor/assets/javascripts/radioactive/radioactive.min.js +1 -0
  353. data/vendor/assets/javascripts/rickshaw/rickshaw.min.js +3 -0
  354. data/vendor/assets/javascripts/rickshaw/vendor/d3.v3.js +5 -0
  355. data/vendor/assets/javascripts/sparkline/jquery.sparkline.min.js +5 -0
  356. data/vendor/assets/javascripts/summernote/summernote.min.js +6331 -0
  357. data/vendor/assets/javascripts/toastr/toastr.min.js +2 -0
  358. data/vendor/assets/stylesheets/codemirror/codemirror.css +309 -0
  359. data/vendor/assets/stylesheets/codemirror/elegant.css +13 -0
  360. data/vendor/assets/stylesheets/datapicker/datepicker3.css +789 -0
  361. data/vendor/assets/stylesheets/summernote/summernote-bs3.css +5970 -0
  362. data/vendor/assets/stylesheets/summernote/summernote.css +446 -0
  363. data/vendor/assets/stylesheets/toastr/toastr.css +222 -0
  364. metadata +362 -3
  365. data/spec/dummy/tmp/pids/server.pid +0 -1
@@ -0,0 +1,159 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ (function(mod) {
5
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
6
+ mod(require("../../lib/codemirror"), require("../htmlmixed/htmlmixed"), require("../ruby/ruby"));
7
+ else if (typeof define == "function" && define.amd) // AMD
8
+ define(["../../lib/codemirror", "../htmlmixed/htmlmixed", "../ruby/ruby"], mod);
9
+ else // Plain browser env
10
+ mod(CodeMirror);
11
+ })(function(CodeMirror) {
12
+ "use strict";
13
+
14
+ // full haml mode. This handled embeded ruby and html fragments too
15
+ CodeMirror.defineMode("haml", function(config) {
16
+ var htmlMode = CodeMirror.getMode(config, {name: "htmlmixed"});
17
+ var rubyMode = CodeMirror.getMode(config, "ruby");
18
+
19
+ function rubyInQuote(endQuote) {
20
+ return function(stream, state) {
21
+ var ch = stream.peek();
22
+ if (ch == endQuote && state.rubyState.tokenize.length == 1) {
23
+ // step out of ruby context as it seems to complete processing all the braces
24
+ stream.next();
25
+ state.tokenize = html;
26
+ return "closeAttributeTag";
27
+ } else {
28
+ return ruby(stream, state);
29
+ }
30
+ };
31
+ }
32
+
33
+ function ruby(stream, state) {
34
+ if (stream.match("-#")) {
35
+ stream.skipToEnd();
36
+ return "comment";
37
+ }
38
+ return rubyMode.token(stream, state.rubyState);
39
+ }
40
+
41
+ function html(stream, state) {
42
+ var ch = stream.peek();
43
+
44
+ // handle haml declarations. All declarations that cant be handled here
45
+ // will be passed to html mode
46
+ if (state.previousToken.style == "comment" ) {
47
+ if (state.indented > state.previousToken.indented) {
48
+ stream.skipToEnd();
49
+ return "commentLine";
50
+ }
51
+ }
52
+
53
+ if (state.startOfLine) {
54
+ if (ch == "!" && stream.match("!!")) {
55
+ stream.skipToEnd();
56
+ return "tag";
57
+ } else if (stream.match(/^%[\w:#\.]+=/)) {
58
+ state.tokenize = ruby;
59
+ return "hamlTag";
60
+ } else if (stream.match(/^%[\w:]+/)) {
61
+ return "hamlTag";
62
+ } else if (ch == "/" ) {
63
+ stream.skipToEnd();
64
+ return "comment";
65
+ }
66
+ }
67
+
68
+ if (state.startOfLine || state.previousToken.style == "hamlTag") {
69
+ if ( ch == "#" || ch == ".") {
70
+ stream.match(/[\w-#\.]*/);
71
+ return "hamlAttribute";
72
+ }
73
+ }
74
+
75
+ // donot handle --> as valid ruby, make it HTML close comment instead
76
+ if (state.startOfLine && !stream.match("-->", false) && (ch == "=" || ch == "-" )) {
77
+ state.tokenize = ruby;
78
+ return state.tokenize(stream, state);
79
+ }
80
+
81
+ if (state.previousToken.style == "hamlTag" ||
82
+ state.previousToken.style == "closeAttributeTag" ||
83
+ state.previousToken.style == "hamlAttribute") {
84
+ if (ch == "(") {
85
+ state.tokenize = rubyInQuote(")");
86
+ return state.tokenize(stream, state);
87
+ } else if (ch == "{") {
88
+ state.tokenize = rubyInQuote("}");
89
+ return state.tokenize(stream, state);
90
+ }
91
+ }
92
+
93
+ return htmlMode.token(stream, state.htmlState);
94
+ }
95
+
96
+ return {
97
+ // default to html mode
98
+ startState: function() {
99
+ var htmlState = htmlMode.startState();
100
+ var rubyState = rubyMode.startState();
101
+ return {
102
+ htmlState: htmlState,
103
+ rubyState: rubyState,
104
+ indented: 0,
105
+ previousToken: { style: null, indented: 0},
106
+ tokenize: html
107
+ };
108
+ },
109
+
110
+ copyState: function(state) {
111
+ return {
112
+ htmlState : CodeMirror.copyState(htmlMode, state.htmlState),
113
+ rubyState: CodeMirror.copyState(rubyMode, state.rubyState),
114
+ indented: state.indented,
115
+ previousToken: state.previousToken,
116
+ tokenize: state.tokenize
117
+ };
118
+ },
119
+
120
+ token: function(stream, state) {
121
+ if (stream.sol()) {
122
+ state.indented = stream.indentation();
123
+ state.startOfLine = true;
124
+ }
125
+ if (stream.eatSpace()) return null;
126
+ var style = state.tokenize(stream, state);
127
+ state.startOfLine = false;
128
+ // dont record comment line as we only want to measure comment line with
129
+ // the opening comment block
130
+ if (style && style != "commentLine") {
131
+ state.previousToken = { style: style, indented: state.indented };
132
+ }
133
+ // if current state is ruby and the previous token is not `,` reset the
134
+ // tokenize to html
135
+ if (stream.eol() && state.tokenize == ruby) {
136
+ stream.backUp(1);
137
+ var ch = stream.peek();
138
+ stream.next();
139
+ if (ch && ch != ",") {
140
+ state.tokenize = html;
141
+ }
142
+ }
143
+ // reprocess some of the specific style tag when finish setting previousToken
144
+ if (style == "hamlTag") {
145
+ style = "tag";
146
+ } else if (style == "commentLine") {
147
+ style = "comment";
148
+ } else if (style == "hamlAttribute") {
149
+ style = "attribute";
150
+ } else if (style == "closeAttributeTag") {
151
+ style = null;
152
+ }
153
+ return style;
154
+ }
155
+ };
156
+ }, "htmlmixed", "ruby");
157
+
158
+ CodeMirror.defineMIME("text/x-haml", "haml");
159
+ });
@@ -0,0 +1,79 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: HAML 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="../xml/xml.js"></script>
10
+ <script src="../htmlmixed/htmlmixed.js"></script>
11
+ <script src="../javascript/javascript.js"></script>
12
+ <script src="../ruby/ruby.js"></script>
13
+ <script src="haml.js"></script>
14
+ <style>.CodeMirror {background: #f8f8f8;}</style>
15
+ <div id=nav>
16
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></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="#">HAML</a>
26
+ </ul>
27
+ </div>
28
+
29
+ <article>
30
+ <h2>HAML mode</h2>
31
+ <form><textarea id="code" name="code">
32
+ !!!
33
+ #content
34
+ .left.column(title="title"){:href => "/hello", :test => "#{hello}_#{world}"}
35
+ <!-- This is a comment -->
36
+ %h2 Welcome to our site!
37
+ %p= puts "HAML MODE"
38
+ .right.column
39
+ = render :partial => "sidebar"
40
+
41
+ .container
42
+ .row
43
+ .span8
44
+ %h1.title= @page_title
45
+ %p.title= @page_title
46
+ %p
47
+ /
48
+ The same as HTML comment
49
+ Hello multiline comment
50
+
51
+ -# haml comment
52
+ This wont be displayed
53
+ nor will this
54
+ Date/Time:
55
+ - now = DateTime.now
56
+ %strong= now
57
+ - if now > DateTime.parse("December 31, 2006")
58
+ = "Happy new " + "year!"
59
+
60
+ %title
61
+ = @title
62
+ \= @title
63
+ <h1>Title</h1>
64
+ <h1 title="HELLO">
65
+ Title
66
+ </h1>
67
+ </textarea></form>
68
+ <script>
69
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
70
+ lineNumbers: true,
71
+ mode: "text/x-haml"
72
+ });
73
+ </script>
74
+
75
+ <p><strong>MIME types defined:</strong> <code>text/x-haml</code>.</p>
76
+
77
+ <p><strong>Parsing/Highlighting Tests:</strong> <a href="../../test/index.html#haml_*">normal</a>, <a href="../../test/index.html#verbose,haml_*">verbose</a>.</p>
78
+
79
+ </article>
@@ -0,0 +1,97 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ (function() {
5
+ var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "haml");
6
+ function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
7
+
8
+ // Requires at least one media query
9
+ MT("elementName",
10
+ "[tag %h1] Hey There");
11
+
12
+ MT("oneElementPerLine",
13
+ "[tag %h1] Hey There %h2");
14
+
15
+ MT("idSelector",
16
+ "[tag %h1][attribute #test] Hey There");
17
+
18
+ MT("classSelector",
19
+ "[tag %h1][attribute .hello] Hey There");
20
+
21
+ MT("docType",
22
+ "[tag !!! XML]");
23
+
24
+ MT("comment",
25
+ "[comment / Hello WORLD]");
26
+
27
+ MT("notComment",
28
+ "[tag %h1] This is not a / comment ");
29
+
30
+ MT("attributes",
31
+ "[tag %a]([variable title][operator =][string \"test\"]){[atom :title] [operator =>] [string \"test\"]}");
32
+
33
+ MT("htmlCode",
34
+ "[tag&bracket <][tag h1][tag&bracket >]Title[tag&bracket </][tag h1][tag&bracket >]");
35
+
36
+ MT("rubyBlock",
37
+ "[operator =][variable-2 @item]");
38
+
39
+ MT("selectorRubyBlock",
40
+ "[tag %a.selector=] [variable-2 @item]");
41
+
42
+ MT("nestedRubyBlock",
43
+ "[tag %a]",
44
+ " [operator =][variable puts] [string \"test\"]");
45
+
46
+ MT("multilinePlaintext",
47
+ "[tag %p]",
48
+ " Hello,",
49
+ " World");
50
+
51
+ MT("multilineRuby",
52
+ "[tag %p]",
53
+ " [comment -# this is a comment]",
54
+ " [comment and this is a comment too]",
55
+ " Date/Time",
56
+ " [operator -] [variable now] [operator =] [tag DateTime][operator .][property now]",
57
+ " [tag %strong=] [variable now]",
58
+ " [operator -] [keyword if] [variable now] [operator >] [tag DateTime][operator .][property parse]([string \"December 31, 2006\"])",
59
+ " [operator =][string \"Happy\"]",
60
+ " [operator =][string \"Belated\"]",
61
+ " [operator =][string \"Birthday\"]");
62
+
63
+ MT("multilineComment",
64
+ "[comment /]",
65
+ " [comment Multiline]",
66
+ " [comment Comment]");
67
+
68
+ MT("hamlComment",
69
+ "[comment -# this is a comment]");
70
+
71
+ MT("multilineHamlComment",
72
+ "[comment -# this is a comment]",
73
+ " [comment and this is a comment too]");
74
+
75
+ MT("multilineHTMLComment",
76
+ "[comment <!--]",
77
+ " [comment what a comment]",
78
+ " [comment -->]");
79
+
80
+ MT("hamlAfterRubyTag",
81
+ "[attribute .block]",
82
+ " [tag %strong=] [variable now]",
83
+ " [attribute .test]",
84
+ " [operator =][variable now]",
85
+ " [attribute .right]");
86
+
87
+ MT("stretchedRuby",
88
+ "[operator =] [variable puts] [string \"Hello\"],",
89
+ " [string \"World\"]");
90
+
91
+ MT("interpolationInHashAttribute",
92
+ //"[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test");
93
+ "[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test");
94
+
95
+ MT("interpolationInHTMLAttribute",
96
+ "[tag %div]([variable title][operator =][string \"#{][variable test][string }_#{][variable ting]()[string }\"]) Test");
97
+ })();
@@ -0,0 +1,267 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ (function(mod) {
5
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
6
+ mod(require("../../lib/codemirror"));
7
+ else if (typeof define == "function" && define.amd) // AMD
8
+ define(["../../lib/codemirror"], mod);
9
+ else // Plain browser env
10
+ mod(CodeMirror);
11
+ })(function(CodeMirror) {
12
+ "use strict";
13
+
14
+ CodeMirror.defineMode("haskell", function(_config, modeConfig) {
15
+
16
+ function switchState(source, setState, f) {
17
+ setState(f);
18
+ return f(source, setState);
19
+ }
20
+
21
+ // These should all be Unicode extended, as per the Haskell 2010 report
22
+ var smallRE = /[a-z_]/;
23
+ var largeRE = /[A-Z]/;
24
+ var digitRE = /\d/;
25
+ var hexitRE = /[0-9A-Fa-f]/;
26
+ var octitRE = /[0-7]/;
27
+ var idRE = /[a-z_A-Z0-9'\xa1-\uffff]/;
28
+ var symbolRE = /[-!#$%&*+.\/<=>?@\\^|~:]/;
29
+ var specialRE = /[(),;[\]`{}]/;
30
+ var whiteCharRE = /[ \t\v\f]/; // newlines are handled in tokenizer
31
+
32
+ function normal(source, setState) {
33
+ if (source.eatWhile(whiteCharRE)) {
34
+ return null;
35
+ }
36
+
37
+ var ch = source.next();
38
+ if (specialRE.test(ch)) {
39
+ if (ch == '{' && source.eat('-')) {
40
+ var t = "comment";
41
+ if (source.eat('#')) {
42
+ t = "meta";
43
+ }
44
+ return switchState(source, setState, ncomment(t, 1));
45
+ }
46
+ return null;
47
+ }
48
+
49
+ if (ch == '\'') {
50
+ if (source.eat('\\')) {
51
+ source.next(); // should handle other escapes here
52
+ }
53
+ else {
54
+ source.next();
55
+ }
56
+ if (source.eat('\'')) {
57
+ return "string";
58
+ }
59
+ return "error";
60
+ }
61
+
62
+ if (ch == '"') {
63
+ return switchState(source, setState, stringLiteral);
64
+ }
65
+
66
+ if (largeRE.test(ch)) {
67
+ source.eatWhile(idRE);
68
+ if (source.eat('.')) {
69
+ return "qualifier";
70
+ }
71
+ return "variable-2";
72
+ }
73
+
74
+ if (smallRE.test(ch)) {
75
+ source.eatWhile(idRE);
76
+ return "variable";
77
+ }
78
+
79
+ if (digitRE.test(ch)) {
80
+ if (ch == '0') {
81
+ if (source.eat(/[xX]/)) {
82
+ source.eatWhile(hexitRE); // should require at least 1
83
+ return "integer";
84
+ }
85
+ if (source.eat(/[oO]/)) {
86
+ source.eatWhile(octitRE); // should require at least 1
87
+ return "number";
88
+ }
89
+ }
90
+ source.eatWhile(digitRE);
91
+ var t = "number";
92
+ if (source.match(/^\.\d+/)) {
93
+ t = "number";
94
+ }
95
+ if (source.eat(/[eE]/)) {
96
+ t = "number";
97
+ source.eat(/[-+]/);
98
+ source.eatWhile(digitRE); // should require at least 1
99
+ }
100
+ return t;
101
+ }
102
+
103
+ if (ch == "." && source.eat("."))
104
+ return "keyword";
105
+
106
+ if (symbolRE.test(ch)) {
107
+ if (ch == '-' && source.eat(/-/)) {
108
+ source.eatWhile(/-/);
109
+ if (!source.eat(symbolRE)) {
110
+ source.skipToEnd();
111
+ return "comment";
112
+ }
113
+ }
114
+ var t = "variable";
115
+ if (ch == ':') {
116
+ t = "variable-2";
117
+ }
118
+ source.eatWhile(symbolRE);
119
+ return t;
120
+ }
121
+
122
+ return "error";
123
+ }
124
+
125
+ function ncomment(type, nest) {
126
+ if (nest == 0) {
127
+ return normal;
128
+ }
129
+ return function(source, setState) {
130
+ var currNest = nest;
131
+ while (!source.eol()) {
132
+ var ch = source.next();
133
+ if (ch == '{' && source.eat('-')) {
134
+ ++currNest;
135
+ }
136
+ else if (ch == '-' && source.eat('}')) {
137
+ --currNest;
138
+ if (currNest == 0) {
139
+ setState(normal);
140
+ return type;
141
+ }
142
+ }
143
+ }
144
+ setState(ncomment(type, currNest));
145
+ return type;
146
+ };
147
+ }
148
+
149
+ function stringLiteral(source, setState) {
150
+ while (!source.eol()) {
151
+ var ch = source.next();
152
+ if (ch == '"') {
153
+ setState(normal);
154
+ return "string";
155
+ }
156
+ if (ch == '\\') {
157
+ if (source.eol() || source.eat(whiteCharRE)) {
158
+ setState(stringGap);
159
+ return "string";
160
+ }
161
+ if (source.eat('&')) {
162
+ }
163
+ else {
164
+ source.next(); // should handle other escapes here
165
+ }
166
+ }
167
+ }
168
+ setState(normal);
169
+ return "error";
170
+ }
171
+
172
+ function stringGap(source, setState) {
173
+ if (source.eat('\\')) {
174
+ return switchState(source, setState, stringLiteral);
175
+ }
176
+ source.next();
177
+ setState(normal);
178
+ return "error";
179
+ }
180
+
181
+
182
+ var wellKnownWords = (function() {
183
+ var wkw = {};
184
+ function setType(t) {
185
+ return function () {
186
+ for (var i = 0; i < arguments.length; i++)
187
+ wkw[arguments[i]] = t;
188
+ };
189
+ }
190
+
191
+ setType("keyword")(
192
+ "case", "class", "data", "default", "deriving", "do", "else", "foreign",
193
+ "if", "import", "in", "infix", "infixl", "infixr", "instance", "let",
194
+ "module", "newtype", "of", "then", "type", "where", "_");
195
+
196
+ setType("keyword")(
197
+ "\.\.", ":", "::", "=", "\\", "\"", "<-", "->", "@", "~", "=>");
198
+
199
+ setType("builtin")(
200
+ "!!", "$!", "$", "&&", "+", "++", "-", ".", "/", "/=", "<", "<=", "=<<",
201
+ "==", ">", ">=", ">>", ">>=", "^", "^^", "||", "*", "**");
202
+
203
+ setType("builtin")(
204
+ "Bool", "Bounded", "Char", "Double", "EQ", "Either", "Enum", "Eq",
205
+ "False", "FilePath", "Float", "Floating", "Fractional", "Functor", "GT",
206
+ "IO", "IOError", "Int", "Integer", "Integral", "Just", "LT", "Left",
207
+ "Maybe", "Monad", "Nothing", "Num", "Ord", "Ordering", "Rational", "Read",
208
+ "ReadS", "Real", "RealFloat", "RealFrac", "Right", "Show", "ShowS",
209
+ "String", "True");
210
+
211
+ setType("builtin")(
212
+ "abs", "acos", "acosh", "all", "and", "any", "appendFile", "asTypeOf",
213
+ "asin", "asinh", "atan", "atan2", "atanh", "break", "catch", "ceiling",
214
+ "compare", "concat", "concatMap", "const", "cos", "cosh", "curry",
215
+ "cycle", "decodeFloat", "div", "divMod", "drop", "dropWhile", "either",
216
+ "elem", "encodeFloat", "enumFrom", "enumFromThen", "enumFromThenTo",
217
+ "enumFromTo", "error", "even", "exp", "exponent", "fail", "filter",
218
+ "flip", "floatDigits", "floatRadix", "floatRange", "floor", "fmap",
219
+ "foldl", "foldl1", "foldr", "foldr1", "fromEnum", "fromInteger",
220
+ "fromIntegral", "fromRational", "fst", "gcd", "getChar", "getContents",
221
+ "getLine", "head", "id", "init", "interact", "ioError", "isDenormalized",
222
+ "isIEEE", "isInfinite", "isNaN", "isNegativeZero", "iterate", "last",
223
+ "lcm", "length", "lex", "lines", "log", "logBase", "lookup", "map",
224
+ "mapM", "mapM_", "max", "maxBound", "maximum", "maybe", "min", "minBound",
225
+ "minimum", "mod", "negate", "not", "notElem", "null", "odd", "or",
226
+ "otherwise", "pi", "pred", "print", "product", "properFraction",
227
+ "putChar", "putStr", "putStrLn", "quot", "quotRem", "read", "readFile",
228
+ "readIO", "readList", "readLn", "readParen", "reads", "readsPrec",
229
+ "realToFrac", "recip", "rem", "repeat", "replicate", "return", "reverse",
230
+ "round", "scaleFloat", "scanl", "scanl1", "scanr", "scanr1", "seq",
231
+ "sequence", "sequence_", "show", "showChar", "showList", "showParen",
232
+ "showString", "shows", "showsPrec", "significand", "signum", "sin",
233
+ "sinh", "snd", "span", "splitAt", "sqrt", "subtract", "succ", "sum",
234
+ "tail", "take", "takeWhile", "tan", "tanh", "toEnum", "toInteger",
235
+ "toRational", "truncate", "uncurry", "undefined", "unlines", "until",
236
+ "unwords", "unzip", "unzip3", "userError", "words", "writeFile", "zip",
237
+ "zip3", "zipWith", "zipWith3");
238
+
239
+ var override = modeConfig.overrideKeywords;
240
+ if (override) for (var word in override) if (override.hasOwnProperty(word))
241
+ wkw[word] = override[word];
242
+
243
+ return wkw;
244
+ })();
245
+
246
+
247
+
248
+ return {
249
+ startState: function () { return { f: normal }; },
250
+ copyState: function (s) { return { f: s.f }; },
251
+
252
+ token: function(stream, state) {
253
+ var t = state.f(stream, function(s) { state.f = s; });
254
+ var w = stream.current();
255
+ return wellKnownWords.hasOwnProperty(w) ? wellKnownWords[w] : t;
256
+ },
257
+
258
+ blockCommentStart: "{-",
259
+ blockCommentEnd: "-}",
260
+ lineComment: "--"
261
+ };
262
+
263
+ });
264
+
265
+ CodeMirror.defineMIME("text/x-haskell", "haskell");
266
+
267
+ });
@@ -0,0 +1,73 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Haskell mode</title>
4
+ <meta charset="utf-8"/>
5
+ <link rel=stylesheet href="../../doc/docs.css">
6
+
7
+ <link rel="stylesheet" href="../../lib/codemirror.css">
8
+ <link rel="stylesheet" href="../../theme/elegant.css">
9
+ <script src="../../lib/codemirror.js"></script>
10
+ <script src="../../addon/edit/matchbrackets.js"></script>
11
+ <script src="haskell.js"></script>
12
+ <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
13
+ <div id=nav>
14
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
15
+
16
+ <ul>
17
+ <li><a href="../../index.html">Home</a>
18
+ <li><a href="../../doc/manual.html">Manual</a>
19
+ <li><a href="https://github.com/codemirror/codemirror">Code</a>
20
+ </ul>
21
+ <ul>
22
+ <li><a href="../index.html">Language modes</a>
23
+ <li><a class=active href="#">Haskell</a>
24
+ </ul>
25
+ </div>
26
+
27
+ <article>
28
+ <h2>Haskell mode</h2>
29
+ <form><textarea id="code" name="code">
30
+ module UniquePerms (
31
+ uniquePerms
32
+ )
33
+ where
34
+
35
+ -- | Find all unique permutations of a list where there might be duplicates.
36
+ uniquePerms :: (Eq a) => [a] -> [[a]]
37
+ uniquePerms = permBag . makeBag
38
+
39
+ -- | An unordered collection where duplicate values are allowed,
40
+ -- but represented with a single value and a count.
41
+ type Bag a = [(a, Int)]
42
+
43
+ makeBag :: (Eq a) => [a] -> Bag a
44
+ makeBag [] = []
45
+ makeBag (a:as) = mix a $ makeBag as
46
+ where
47
+ mix a [] = [(a,1)]
48
+ mix a (bn@(b,n):bs) | a == b = (b,n+1):bs
49
+ | otherwise = bn : mix a bs
50
+
51
+ permBag :: Bag a -> [[a]]
52
+ permBag [] = [[]]
53
+ permBag bs = concatMap (\(f,cs) -> map (f:) $ permBag cs) . oneOfEach $ bs
54
+ where
55
+ oneOfEach [] = []
56
+ oneOfEach (an@(a,n):bs) =
57
+ let bs' = if n == 1 then bs else (a,n-1):bs
58
+ in (a,bs') : mapSnd (an:) (oneOfEach bs)
59
+
60
+ apSnd f (a,b) = (a, f b)
61
+ mapSnd = map . apSnd
62
+ </textarea></form>
63
+
64
+ <script>
65
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
66
+ lineNumbers: true,
67
+ matchBrackets: true,
68
+ theme: "elegant"
69
+ });
70
+ </script>
71
+
72
+ <p><strong>MIME types defined:</strong> <code>text/x-haskell</code>.</p>
73
+ </article>