poly-cms 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (460) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/Gemfile +27 -0
  4. data/Gemfile.lock +95 -0
  5. data/README.md +3 -0
  6. data/Rakefile +45 -0
  7. data/bin/poly +88 -0
  8. data/config.ru +3 -0
  9. data/core/admin/assets/images/icons/cache-clear.svg +11 -0
  10. data/core/admin/assets/images/icons/delete-dark.svg +10 -0
  11. data/core/admin/assets/images/icons/delete.svg +10 -0
  12. data/core/admin/assets/images/icons/handle.svg +12 -0
  13. data/core/admin/assets/images/icons/logout.svg +13 -0
  14. data/core/admin/assets/images/icons/move.svg +10 -0
  15. data/core/admin/assets/images/icons/new.svg +9 -0
  16. data/core/admin/assets/images/icons/prompt.svg +11 -0
  17. data/core/admin/assets/images/icons/refresh.svg +40 -0
  18. data/core/admin/assets/images/icons/save.svg +7 -0
  19. data/core/admin/assets/images/poly-small-boxed.svg +51 -0
  20. data/core/admin/assets/images/poly-small.svg +52 -0
  21. data/core/admin/assets/images/poly.svg +36 -0
  22. data/core/admin/assets/js/app/file-ext.js +15 -0
  23. data/core/admin/assets/js/app/views/editor.js +300 -0
  24. data/core/admin/assets/js/app/views/git.js +65 -0
  25. data/core/admin/assets/js/app/views/main.js +59 -0
  26. data/core/admin/assets/js/main.js +44 -0
  27. data/core/admin/assets/js/routes.js +25 -0
  28. data/core/admin/assets/js/vendor/backbone.js +4 -0
  29. data/core/admin/assets/js/vendor/codemirror/.gitattributes +8 -0
  30. data/core/admin/assets/js/vendor/codemirror/.gitignore +6 -0
  31. data/core/admin/assets/js/vendor/codemirror/.travis.yml +3 -0
  32. data/core/admin/assets/js/vendor/codemirror/addon/comment/comment.js +145 -0
  33. data/core/admin/assets/js/vendor/codemirror/addon/comment/continuecomment.js +54 -0
  34. data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.css +32 -0
  35. data/core/admin/assets/js/vendor/codemirror/addon/dialog/dialog.js +80 -0
  36. data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.css +6 -0
  37. data/core/admin/assets/js/vendor/codemirror/addon/display/fullscreen.js +30 -0
  38. data/core/admin/assets/js/vendor/codemirror/addon/display/placeholder.js +54 -0
  39. data/core/admin/assets/js/vendor/codemirror/addon/edit/closebrackets.js +82 -0
  40. data/core/admin/assets/js/vendor/codemirror/addon/edit/closetag.js +87 -0
  41. data/core/admin/assets/js/vendor/codemirror/addon/edit/continuelist.js +25 -0
  42. data/core/admin/assets/js/vendor/codemirror/addon/edit/matchbrackets.js +86 -0
  43. data/core/admin/assets/js/vendor/codemirror/addon/edit/matchtags.js +56 -0
  44. data/core/admin/assets/js/vendor/codemirror/addon/edit/trailingspace.js +15 -0
  45. data/core/admin/assets/js/vendor/codemirror/addon/fold/brace-fold.js +93 -0
  46. data/core/admin/assets/js/vendor/codemirror/addon/fold/comment-fold.js +40 -0
  47. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldcode.js +75 -0
  48. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.css +21 -0
  49. data/core/admin/assets/js/vendor/codemirror/addon/fold/foldgutter.js +124 -0
  50. data/core/admin/assets/js/vendor/codemirror/addon/fold/indent-fold.js +26 -0
  51. data/core/admin/assets/js/vendor/codemirror/addon/fold/xml-fold.js +167 -0
  52. data/core/admin/assets/js/vendor/codemirror/addon/hint/anyword-hint.js +34 -0
  53. data/core/admin/assets/js/vendor/codemirror/addon/hint/css-hint.js +50 -0
  54. data/core/admin/assets/js/vendor/codemirror/addon/hint/html-hint.js +337 -0
  55. data/core/admin/assets/js/vendor/codemirror/addon/hint/javascript-hint.js +130 -0
  56. data/core/admin/assets/js/vendor/codemirror/addon/hint/pig-hint.js +121 -0
  57. data/core/admin/assets/js/vendor/codemirror/addon/hint/python-hint.js +95 -0
  58. data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.css +38 -0
  59. data/core/admin/assets/js/vendor/codemirror/addon/hint/show-hint.js +274 -0
  60. data/core/admin/assets/js/vendor/codemirror/addon/hint/sql-hint.js +105 -0
  61. data/core/admin/assets/js/vendor/codemirror/addon/hint/xml-hint.js +69 -0
  62. data/core/admin/assets/js/vendor/codemirror/addon/lint/coffeescript-lint.js +27 -0
  63. data/core/admin/assets/js/vendor/codemirror/addon/lint/css-lint.js +19 -0
  64. data/core/admin/assets/js/vendor/codemirror/addon/lint/javascript-lint.js +126 -0
  65. data/core/admin/assets/js/vendor/codemirror/addon/lint/json-lint.js +17 -0
  66. data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.css +73 -0
  67. data/core/admin/assets/js/vendor/codemirror/addon/lint/lint.js +203 -0
  68. data/core/admin/assets/js/vendor/codemirror/addon/merge/dep/diff_match_patch.js +50 -0
  69. data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.css +92 -0
  70. data/core/admin/assets/js/vendor/codemirror/addon/merge/merge.js +474 -0
  71. data/core/admin/assets/js/vendor/codemirror/addon/mode/loadmode.js +51 -0
  72. data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex.js +101 -0
  73. data/core/admin/assets/js/vendor/codemirror/addon/mode/multiplex_test.js +30 -0
  74. data/core/admin/assets/js/vendor/codemirror/addon/mode/overlay.js +59 -0
  75. data/core/admin/assets/js/vendor/codemirror/addon/runmode/colorize.js +29 -0
  76. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode-standalone.js +136 -0
  77. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.js +56 -0
  78. data/core/admin/assets/js/vendor/codemirror/addon/runmode/runmode.node.js +103 -0
  79. data/core/admin/assets/js/vendor/codemirror/addon/scroll/scrollpastend.js +34 -0
  80. data/core/admin/assets/js/vendor/codemirror/addon/search/match-highlighter.js +91 -0
  81. data/core/admin/assets/js/vendor/codemirror/addon/search/search.js +133 -0
  82. data/core/admin/assets/js/vendor/codemirror/addon/search/searchcursor.js +143 -0
  83. data/core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js +39 -0
  84. data/core/admin/assets/js/vendor/codemirror/addon/selection/mark-selection.js +108 -0
  85. data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.css +85 -0
  86. data/core/admin/assets/js/vendor/codemirror/addon/tern/tern.js +632 -0
  87. data/core/admin/assets/js/vendor/codemirror/addon/tern/worker.js +41 -0
  88. data/core/admin/assets/js/vendor/codemirror/addon/wrap/hardwrap.js +99 -0
  89. data/core/admin/assets/js/vendor/codemirror/bin/authors.sh +6 -0
  90. data/core/admin/assets/js/vendor/codemirror/bin/compress +92 -0
  91. data/core/admin/assets/js/vendor/codemirror/bin/lint +16 -0
  92. data/core/admin/assets/js/vendor/codemirror/bin/source-highlight +61 -0
  93. data/core/admin/assets/js/vendor/codemirror/bower.json +15 -0
  94. data/core/admin/assets/js/vendor/codemirror/demo/activeline.html +78 -0
  95. data/core/admin/assets/js/vendor/codemirror/demo/anywordhint.html +79 -0
  96. data/core/admin/assets/js/vendor/codemirror/demo/bidi.html +74 -0
  97. data/core/admin/assets/js/vendor/codemirror/demo/btree.html +86 -0
  98. data/core/admin/assets/js/vendor/codemirror/demo/buffers.html +109 -0
  99. data/core/admin/assets/js/vendor/codemirror/demo/changemode.html +59 -0
  100. data/core/admin/assets/js/vendor/codemirror/demo/closebrackets.html +63 -0
  101. data/core/admin/assets/js/vendor/codemirror/demo/closetag.html +40 -0
  102. data/core/admin/assets/js/vendor/codemirror/demo/complete.html +80 -0
  103. data/core/admin/assets/js/vendor/codemirror/demo/emacs.html +75 -0
  104. data/core/admin/assets/js/vendor/codemirror/demo/folding.html +75 -0
  105. data/core/admin/assets/js/vendor/codemirror/demo/fullscreen.html +130 -0
  106. data/core/admin/assets/js/vendor/codemirror/demo/hardwrap.html +69 -0
  107. data/core/admin/assets/js/vendor/codemirror/demo/html5complete.html +54 -0
  108. data/core/admin/assets/js/vendor/codemirror/demo/indentwrap.html +58 -0
  109. data/core/admin/assets/js/vendor/codemirror/demo/lint.html +171 -0
  110. data/core/admin/assets/js/vendor/codemirror/demo/loadmode.html +49 -0
  111. data/core/admin/assets/js/vendor/codemirror/demo/marker.html +52 -0
  112. data/core/admin/assets/js/vendor/codemirror/demo/markselection.html +45 -0
  113. data/core/admin/assets/js/vendor/codemirror/demo/matchhighlighter.html +47 -0
  114. data/core/admin/assets/js/vendor/codemirror/demo/matchtags.html +49 -0
  115. data/core/admin/assets/js/vendor/codemirror/demo/merge.html +82 -0
  116. data/core/admin/assets/js/vendor/codemirror/demo/multiplex.html +75 -0
  117. data/core/admin/assets/js/vendor/codemirror/demo/mustache.html +68 -0
  118. data/core/admin/assets/js/vendor/codemirror/demo/placeholder.html +45 -0
  119. data/core/admin/assets/js/vendor/codemirror/demo/preview.html +88 -0
  120. data/core/admin/assets/js/vendor/codemirror/demo/resize.html +58 -0
  121. data/core/admin/assets/js/vendor/codemirror/demo/runmode.html +62 -0
  122. data/core/admin/assets/js/vendor/codemirror/demo/search.html +94 -0
  123. data/core/admin/assets/js/vendor/codemirror/demo/spanaffectswrapping_shim.html +85 -0
  124. data/core/admin/assets/js/vendor/codemirror/demo/tern.html +128 -0
  125. data/core/admin/assets/js/vendor/codemirror/demo/theme.html +121 -0
  126. data/core/admin/assets/js/vendor/codemirror/demo/trailingspace.html +48 -0
  127. data/core/admin/assets/js/vendor/codemirror/demo/variableheight.html +61 -0
  128. data/core/admin/assets/js/vendor/codemirror/demo/vim.html +74 -0
  129. data/core/admin/assets/js/vendor/codemirror/demo/visibletabs.html +62 -0
  130. data/core/admin/assets/js/vendor/codemirror/demo/widget.html +85 -0
  131. data/core/admin/assets/js/vendor/codemirror/demo/xmlcomplete.html +116 -0
  132. data/core/admin/assets/js/vendor/codemirror/doc/activebookmark.js +42 -0
  133. data/core/admin/assets/js/vendor/codemirror/doc/compress.html +231 -0
  134. data/core/admin/assets/js/vendor/codemirror/doc/docs.css +226 -0
  135. data/core/admin/assets/js/vendor/codemirror/doc/internals.html +503 -0
  136. data/core/admin/assets/js/vendor/codemirror/doc/logo.png +0 -0
  137. data/core/admin/assets/js/vendor/codemirror/doc/logo.svg +147 -0
  138. data/core/admin/assets/js/vendor/codemirror/doc/manual.html +2512 -0
  139. data/core/admin/assets/js/vendor/codemirror/doc/realworld.html +134 -0
  140. data/core/admin/assets/js/vendor/codemirror/doc/releases.html +779 -0
  141. data/core/admin/assets/js/vendor/codemirror/doc/reporting.html +61 -0
  142. data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v2.2.html +96 -0
  143. data/core/admin/assets/js/vendor/codemirror/doc/upgrade_v3.html +230 -0
  144. data/core/admin/assets/js/vendor/codemirror/index.html +192 -0
  145. data/core/admin/assets/js/vendor/codemirror/keymap/emacs.js +387 -0
  146. data/core/admin/assets/js/vendor/codemirror/keymap/extra.js +43 -0
  147. data/core/admin/assets/js/vendor/codemirror/keymap/vim.js +3704 -0
  148. data/core/admin/assets/js/vendor/codemirror/lib/codemirror.css +263 -0
  149. data/core/admin/assets/js/vendor/codemirror/lib/codemirror.js +5910 -0
  150. data/core/admin/assets/js/vendor/codemirror/mode/apl/apl.js +160 -0
  151. data/core/admin/assets/js/vendor/codemirror/mode/apl/index.html +72 -0
  152. data/core/admin/assets/js/vendor/codemirror/mode/asterisk/asterisk.js +183 -0
  153. data/core/admin/assets/js/vendor/codemirror/mode/asterisk/index.html +154 -0
  154. data/core/admin/assets/js/vendor/codemirror/mode/clike/clike.js +362 -0
  155. data/core/admin/assets/js/vendor/codemirror/mode/clike/index.html +195 -0
  156. data/core/admin/assets/js/vendor/codemirror/mode/clike/scala.html +767 -0
  157. data/core/admin/assets/js/vendor/codemirror/mode/clojure/clojure.js +224 -0
  158. data/core/admin/assets/js/vendor/codemirror/mode/clojure/index.html +88 -0
  159. data/core/admin/assets/js/vendor/codemirror/mode/cobol/cobol.js +240 -0
  160. data/core/admin/assets/js/vendor/codemirror/mode/cobol/index.html +210 -0
  161. data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/coffeescript.js +349 -0
  162. data/core/admin/assets/js/vendor/codemirror/mode/coffeescript/index.html +740 -0
  163. data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/commonlisp.js +105 -0
  164. data/core/admin/assets/js/vendor/codemirror/mode/commonlisp/index.html +177 -0
  165. data/core/admin/assets/js/vendor/codemirror/mode/css/css.js +639 -0
  166. data/core/admin/assets/js/vendor/codemirror/mode/css/index.html +70 -0
  167. data/core/admin/assets/js/vendor/codemirror/mode/css/scss.html +157 -0
  168. data/core/admin/assets/js/vendor/codemirror/mode/css/scss_test.js +84 -0
  169. data/core/admin/assets/js/vendor/codemirror/mode/css/test.js +130 -0
  170. data/core/admin/assets/js/vendor/codemirror/mode/d/d.js +205 -0
  171. data/core/admin/assets/js/vendor/codemirror/mode/d/index.html +273 -0
  172. data/core/admin/assets/js/vendor/codemirror/mode/diff/diff.js +32 -0
  173. data/core/admin/assets/js/vendor/codemirror/mode/diff/index.html +117 -0
  174. data/core/admin/assets/js/vendor/codemirror/mode/dtd/dtd.js +127 -0
  175. data/core/admin/assets/js/vendor/codemirror/mode/dtd/index.html +89 -0
  176. data/core/admin/assets/js/vendor/codemirror/mode/ecl/ecl.js +192 -0
  177. data/core/admin/assets/js/vendor/codemirror/mode/ecl/index.html +52 -0
  178. data/core/admin/assets/js/vendor/codemirror/mode/eiffel/eiffel.js +147 -0
  179. data/core/admin/assets/js/vendor/codemirror/mode/eiffel/index.html +430 -0
  180. data/core/admin/assets/js/vendor/codemirror/mode/erlang/erlang.js +484 -0
  181. data/core/admin/assets/js/vendor/codemirror/mode/erlang/index.html +75 -0
  182. data/core/admin/assets/js/vendor/codemirror/mode/fortran/fortran.js +173 -0
  183. data/core/admin/assets/js/vendor/codemirror/mode/fortran/index.html +81 -0
  184. data/core/admin/assets/js/vendor/codemirror/mode/gas/gas.js +330 -0
  185. data/core/admin/assets/js/vendor/codemirror/mode/gas/index.html +68 -0
  186. data/core/admin/assets/js/vendor/codemirror/mode/gfm/gfm.js +97 -0
  187. data/core/admin/assets/js/vendor/codemirror/mode/gfm/index.html +82 -0
  188. data/core/admin/assets/js/vendor/codemirror/mode/gfm/test.js +112 -0
  189. data/core/admin/assets/js/vendor/codemirror/mode/gherkin/gherkin.js +168 -0
  190. data/core/admin/assets/js/vendor/codemirror/mode/gherkin/index.html +48 -0
  191. data/core/admin/assets/js/vendor/codemirror/mode/go/go.js +168 -0
  192. data/core/admin/assets/js/vendor/codemirror/mode/go/index.html +85 -0
  193. data/core/admin/assets/js/vendor/codemirror/mode/groovy/groovy.js +211 -0
  194. data/core/admin/assets/js/vendor/codemirror/mode/groovy/index.html +84 -0
  195. data/core/admin/assets/js/vendor/codemirror/mode/haml/haml.js +153 -0
  196. data/core/admin/assets/js/vendor/codemirror/mode/haml/index.html +79 -0
  197. data/core/admin/assets/js/vendor/codemirror/mode/haml/test.js +94 -0
  198. data/core/admin/assets/js/vendor/codemirror/mode/haskell/haskell.js +250 -0
  199. data/core/admin/assets/js/vendor/codemirror/mode/haskell/index.html +73 -0
  200. data/core/admin/assets/js/vendor/codemirror/mode/haxe/haxe.js +429 -0
  201. data/core/admin/assets/js/vendor/codemirror/mode/haxe/index.html +103 -0
  202. data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  203. data/core/admin/assets/js/vendor/codemirror/mode/htmlembedded/index.html +60 -0
  204. data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  205. data/core/admin/assets/js/vendor/codemirror/mode/htmlmixed/index.html +85 -0
  206. data/core/admin/assets/js/vendor/codemirror/mode/http/http.js +98 -0
  207. data/core/admin/assets/js/vendor/codemirror/mode/http/index.html +45 -0
  208. data/core/admin/assets/js/vendor/codemirror/mode/index.html +112 -0
  209. data/core/admin/assets/js/vendor/codemirror/mode/jade/index.html +66 -0
  210. data/core/admin/assets/js/vendor/codemirror/mode/jade/jade.js +90 -0
  211. data/core/admin/assets/js/vendor/codemirror/mode/javascript/index.html +107 -0
  212. data/core/admin/assets/js/vendor/codemirror/mode/javascript/javascript.js +480 -0
  213. data/core/admin/assets/js/vendor/codemirror/mode/javascript/test.js +10 -0
  214. data/core/admin/assets/js/vendor/codemirror/mode/javascript/typescript.html +61 -0
  215. data/core/admin/assets/js/vendor/codemirror/mode/jinja2/index.html +50 -0
  216. data/core/admin/assets/js/vendor/codemirror/mode/jinja2/jinja2.js +42 -0
  217. data/core/admin/assets/js/vendor/codemirror/mode/less/index.html +753 -0
  218. data/core/admin/assets/js/vendor/codemirror/mode/less/less.js +344 -0
  219. data/core/admin/assets/js/vendor/codemirror/mode/livescript/index.html +459 -0
  220. data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.js +267 -0
  221. data/core/admin/assets/js/vendor/codemirror/mode/livescript/livescript.ls +266 -0
  222. data/core/admin/assets/js/vendor/codemirror/mode/lua/index.html +86 -0
  223. data/core/admin/assets/js/vendor/codemirror/mode/lua/lua.js +144 -0
  224. data/core/admin/assets/js/vendor/codemirror/mode/markdown/index.html +359 -0
  225. data/core/admin/assets/js/vendor/codemirror/mode/markdown/markdown.js +551 -0
  226. data/core/admin/assets/js/vendor/codemirror/mode/markdown/test.js +656 -0
  227. data/core/admin/assets/js/vendor/codemirror/mode/meta.js +89 -0
  228. data/core/admin/assets/js/vendor/codemirror/mode/mirc/index.html +161 -0
  229. data/core/admin/assets/js/vendor/codemirror/mode/mirc/mirc.js +177 -0
  230. data/core/admin/assets/js/vendor/codemirror/mode/nginx/index.html +181 -0
  231. data/core/admin/assets/js/vendor/codemirror/mode/nginx/nginx.js +163 -0
  232. data/core/admin/assets/js/vendor/codemirror/mode/ntriples/index.html +45 -0
  233. data/core/admin/assets/js/vendor/codemirror/mode/ntriples/ntriples.js +170 -0
  234. data/core/admin/assets/js/vendor/codemirror/mode/ocaml/index.html +146 -0
  235. data/core/admin/assets/js/vendor/codemirror/mode/ocaml/ocaml.js +116 -0
  236. data/core/admin/assets/js/vendor/codemirror/mode/octave/index.html +95 -0
  237. data/core/admin/assets/js/vendor/codemirror/mode/octave/octave.js +118 -0
  238. data/core/admin/assets/js/vendor/codemirror/mode/pascal/index.html +61 -0
  239. data/core/admin/assets/js/vendor/codemirror/mode/pascal/pascal.js +94 -0
  240. data/core/admin/assets/js/vendor/codemirror/mode/perl/index.html +75 -0
  241. data/core/admin/assets/js/vendor/codemirror/mode/perl/perl.js +816 -0
  242. data/core/admin/assets/js/vendor/codemirror/mode/php/index.html +62 -0
  243. data/core/admin/assets/js/vendor/codemirror/mode/php/php.js +132 -0
  244. data/core/admin/assets/js/vendor/codemirror/mode/pig/index.html +55 -0
  245. data/core/admin/assets/js/vendor/codemirror/mode/pig/pig.js +171 -0
  246. data/core/admin/assets/js/vendor/codemirror/mode/properties/index.html +53 -0
  247. data/core/admin/assets/js/vendor/codemirror/mode/properties/properties.js +63 -0
  248. data/core/admin/assets/js/vendor/codemirror/mode/python/index.html +187 -0
  249. data/core/admin/assets/js/vendor/codemirror/mode/python/python.js +368 -0
  250. data/core/admin/assets/js/vendor/codemirror/mode/q/index.html +144 -0
  251. data/core/admin/assets/js/vendor/codemirror/mode/q/q.js +124 -0
  252. data/core/admin/assets/js/vendor/codemirror/mode/r/index.html +86 -0
  253. data/core/admin/assets/js/vendor/codemirror/mode/r/r.js +141 -0
  254. data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/changes.js +19 -0
  255. data/core/admin/assets/js/vendor/codemirror/mode/rpm/changes/index.html +67 -0
  256. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/index.html +114 -0
  257. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.css +5 -0
  258. data/core/admin/assets/js/vendor/codemirror/mode/rpm/spec/spec.js +66 -0
  259. data/core/admin/assets/js/vendor/codemirror/mode/rst/index.html +534 -0
  260. data/core/admin/assets/js/vendor/codemirror/mode/rst/rst.js +560 -0
  261. data/core/admin/assets/js/vendor/codemirror/mode/ruby/index.html +185 -0
  262. data/core/admin/assets/js/vendor/codemirror/mode/ruby/ruby.js +247 -0
  263. data/core/admin/assets/js/vendor/codemirror/mode/rust/index.html +61 -0
  264. data/core/admin/assets/js/vendor/codemirror/mode/rust/rust.js +436 -0
  265. data/core/admin/assets/js/vendor/codemirror/mode/sass/index.html +66 -0
  266. data/core/admin/assets/js/vendor/codemirror/mode/sass/sass.js +330 -0
  267. data/core/admin/assets/js/vendor/codemirror/mode/scheme/index.html +77 -0
  268. data/core/admin/assets/js/vendor/codemirror/mode/scheme/scheme.js +232 -0
  269. data/core/admin/assets/js/vendor/codemirror/mode/shell/index.html +66 -0
  270. data/core/admin/assets/js/vendor/codemirror/mode/shell/shell.js +118 -0
  271. data/core/admin/assets/js/vendor/codemirror/mode/sieve/index.html +93 -0
  272. data/core/admin/assets/js/vendor/codemirror/mode/sieve/sieve.js +183 -0
  273. data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/index.html +68 -0
  274. data/core/admin/assets/js/vendor/codemirror/mode/smalltalk/smalltalk.js +151 -0
  275. data/core/admin/assets/js/vendor/codemirror/mode/smarty/index.html +136 -0
  276. data/core/admin/assets/js/vendor/codemirror/mode/smarty/smarty.js +205 -0
  277. data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/index.html +114 -0
  278. data/core/admin/assets/js/vendor/codemirror/mode/smartymixed/smartymixed.js +175 -0
  279. data/core/admin/assets/js/vendor/codemirror/mode/sparql/index.html +54 -0
  280. data/core/admin/assets/js/vendor/codemirror/mode/sparql/sparql.js +145 -0
  281. data/core/admin/assets/js/vendor/codemirror/mode/sql/index.html +75 -0
  282. data/core/admin/assets/js/vendor/codemirror/mode/sql/sql.js +365 -0
  283. data/core/admin/assets/js/vendor/codemirror/mode/stex/index.html +110 -0
  284. data/core/admin/assets/js/vendor/codemirror/mode/stex/stex.js +246 -0
  285. data/core/admin/assets/js/vendor/codemirror/mode/stex/test.js +120 -0
  286. data/core/admin/assets/js/vendor/codemirror/mode/tcl/index.html +143 -0
  287. data/core/admin/assets/js/vendor/codemirror/mode/tcl/tcl.js +131 -0
  288. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/index.html +155 -0
  289. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  290. data/core/admin/assets/js/vendor/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  291. data/core/admin/assets/js/vendor/codemirror/mode/tiki/index.html +95 -0
  292. data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.css +26 -0
  293. data/core/admin/assets/js/vendor/codemirror/mode/tiki/tiki.js +308 -0
  294. data/core/admin/assets/js/vendor/codemirror/mode/toml/index.html +73 -0
  295. data/core/admin/assets/js/vendor/codemirror/mode/toml/toml.js +71 -0
  296. data/core/admin/assets/js/vendor/codemirror/mode/turtle/index.html +51 -0
  297. data/core/admin/assets/js/vendor/codemirror/mode/turtle/turtle.js +145 -0
  298. data/core/admin/assets/js/vendor/codemirror/mode/vb/index.html +103 -0
  299. data/core/admin/assets/js/vendor/codemirror/mode/vb/vb.js +259 -0
  300. data/core/admin/assets/js/vendor/codemirror/mode/vbscript/index.html +55 -0
  301. data/core/admin/assets/js/vendor/codemirror/mode/vbscript/vbscript.js +334 -0
  302. data/core/admin/assets/js/vendor/codemirror/mode/velocity/index.html +119 -0
  303. data/core/admin/assets/js/vendor/codemirror/mode/velocity/velocity.js +186 -0
  304. data/core/admin/assets/js/vendor/codemirror/mode/verilog/index.html +132 -0
  305. data/core/admin/assets/js/vendor/codemirror/mode/verilog/verilog.js +182 -0
  306. data/core/admin/assets/js/vendor/codemirror/mode/xml/index.html +57 -0
  307. data/core/admin/assets/js/vendor/codemirror/mode/xml/xml.js +345 -0
  308. data/core/admin/assets/js/vendor/codemirror/mode/xquery/index.html +210 -0
  309. data/core/admin/assets/js/vendor/codemirror/mode/xquery/test.js +64 -0
  310. data/core/admin/assets/js/vendor/codemirror/mode/xquery/xquery.js +432 -0
  311. data/core/admin/assets/js/vendor/codemirror/mode/yaml/index.html +80 -0
  312. data/core/admin/assets/js/vendor/codemirror/mode/yaml/yaml.js +97 -0
  313. data/core/admin/assets/js/vendor/codemirror/mode/z80/index.html +52 -0
  314. data/core/admin/assets/js/vendor/codemirror/mode/z80/z80.js +85 -0
  315. data/core/admin/assets/js/vendor/codemirror/package.json +19 -0
  316. data/core/admin/assets/js/vendor/codemirror/test/comment_test.js +51 -0
  317. data/core/admin/assets/js/vendor/codemirror/test/doc_test.js +329 -0
  318. data/core/admin/assets/js/vendor/codemirror/test/driver.js +139 -0
  319. data/core/admin/assets/js/vendor/codemirror/test/emacs_test.js +135 -0
  320. data/core/admin/assets/js/vendor/codemirror/test/index.html +209 -0
  321. data/core/admin/assets/js/vendor/codemirror/test/lint/acorn.js +1593 -0
  322. data/core/admin/assets/js/vendor/codemirror/test/lint/lint.js +139 -0
  323. data/core/admin/assets/js/vendor/codemirror/test/lint/walk.js +216 -0
  324. data/core/admin/assets/js/vendor/codemirror/test/mode_test.css +10 -0
  325. data/core/admin/assets/js/vendor/codemirror/test/mode_test.js +200 -0
  326. data/core/admin/assets/js/vendor/codemirror/test/phantom_driver.js +31 -0
  327. data/core/admin/assets/js/vendor/codemirror/test/run.js +34 -0
  328. data/core/admin/assets/js/vendor/codemirror/test/test.js +1562 -0
  329. data/core/admin/assets/js/vendor/codemirror/test/vim_test.js +2391 -0
  330. data/core/admin/assets/js/vendor/codemirror/theme/3024-day.css +34 -0
  331. data/core/admin/assets/js/vendor/codemirror/theme/3024-night.css +34 -0
  332. data/core/admin/assets/js/vendor/codemirror/theme/ambiance-mobile.css +5 -0
  333. data/core/admin/assets/js/vendor/codemirror/theme/ambiance.css +75 -0
  334. data/core/admin/assets/js/vendor/codemirror/theme/base16-dark.css +34 -0
  335. data/core/admin/assets/js/vendor/codemirror/theme/base16-light.css +34 -0
  336. data/core/admin/assets/js/vendor/codemirror/theme/blackboard.css +28 -0
  337. data/core/admin/assets/js/vendor/codemirror/theme/cobalt.css +21 -0
  338. data/core/admin/assets/js/vendor/codemirror/theme/eclipse.css +23 -0
  339. data/core/admin/assets/js/vendor/codemirror/theme/elegant.css +13 -0
  340. data/core/admin/assets/js/vendor/codemirror/theme/erlang-dark.css +30 -0
  341. data/core/admin/assets/js/vendor/codemirror/theme/lesser-dark.css +47 -0
  342. data/core/admin/assets/js/vendor/codemirror/theme/mbo.css +35 -0
  343. data/core/admin/assets/js/vendor/codemirror/theme/midnight.css +43 -0
  344. data/core/admin/assets/js/vendor/codemirror/theme/monokai.css +29 -0
  345. data/core/admin/assets/js/vendor/codemirror/theme/neat.css +12 -0
  346. data/core/admin/assets/js/vendor/codemirror/theme/night.css +24 -0
  347. data/core/admin/assets/js/vendor/codemirror/theme/paraiso-dark.css +34 -0
  348. data/core/admin/assets/js/vendor/codemirror/theme/paraiso-light.css +34 -0
  349. data/core/admin/assets/js/vendor/codemirror/theme/rubyblue.css +23 -0
  350. data/core/admin/assets/js/vendor/codemirror/theme/solarized-mod.css +181 -0
  351. data/core/admin/assets/js/vendor/codemirror/theme/solarized.css +180 -0
  352. data/core/admin/assets/js/vendor/codemirror/theme/the-matrix.css +26 -0
  353. data/core/admin/assets/js/vendor/codemirror/theme/tomorrow-night-eighties.css +34 -0
  354. data/core/admin/assets/js/vendor/codemirror/theme/twilight.css +28 -0
  355. data/core/admin/assets/js/vendor/codemirror/theme/vibrant-ink.css +30 -0
  356. data/core/admin/assets/js/vendor/codemirror/theme/xq-dark.css +49 -0
  357. data/core/admin/assets/js/vendor/codemirror/theme/xq-light.css +43 -0
  358. data/core/admin/assets/js/vendor/fastclick.js +777 -0
  359. data/core/admin/assets/js/vendor/jquery.js +6 -0
  360. data/core/admin/assets/js/vendor/lodash.underscore.js +38 -0
  361. data/core/admin/assets/js/vendor/require.js +36 -0
  362. data/core/admin/assets/scss/bootstrap.scss +18 -0
  363. data/core/admin/assets/scss/modules/_all.scss +7 -0
  364. data/core/admin/assets/scss/modules/_colors.scss +7 -0
  365. data/core/admin/assets/scss/modules/_extensions.scss +24 -0
  366. data/core/admin/assets/scss/modules/_mixins.scss +18 -0
  367. data/core/admin/assets/scss/modules/_susy.scss +7 -0
  368. data/core/admin/assets/scss/partials/_base.scss +33 -0
  369. data/core/admin/assets/scss/partials/_buttons.scss +9 -0
  370. data/core/admin/assets/scss/partials/_links.scss +15 -0
  371. data/core/admin/assets/scss/partials/_main.scss +14 -0
  372. data/core/admin/assets/scss/partials/_typography.scss +15 -0
  373. data/core/admin/assets/scss/sections/_editor.scss +274 -0
  374. data/core/admin/assets/scss/sections/_login.scss +34 -0
  375. data/core/admin/assets/scss/vendor/_normalize.scss +406 -0
  376. data/core/admin/layouts/admin.haml +67 -0
  377. data/core/admin/partials/_head.haml +23 -0
  378. data/core/admin/partials/_tree.haml +3 -0
  379. data/core/admin/partials/_treeitem.haml +4 -0
  380. data/core/admin/settings.yml +4 -0
  381. data/core/app.rb +21 -0
  382. data/core/classes/cached.rb +35 -0
  383. data/core/classes/checker.rb +37 -0
  384. data/core/classes/commit.rb +62 -0
  385. data/core/classes/error.rb +9 -0
  386. data/core/classes/page.rb +165 -0
  387. data/core/classes/partial.rb +13 -0
  388. data/core/classes/path.rb +30 -0
  389. data/core/classes/persona.rb +55 -0
  390. data/core/classes/sassfile.rb +95 -0
  391. data/core/classes/settings.rb +19 -0
  392. data/core/classes/theme.rb +55 -0
  393. data/core/helpers/base.rb +46 -0
  394. data/core/helpers/render.rb +26 -0
  395. data/core/helpers/truncate.rb +17 -0
  396. data/core/routes/admin.rb +139 -0
  397. data/core/routes/assetcompiler.rb +23 -0
  398. data/core/routes/base.rb +22 -0
  399. data/core/routes/bootstrap.rb +35 -0
  400. data/core/routes/cache.rb +52 -0
  401. data/core/routes/deploy.rb +16 -0
  402. data/core/routes/git.rb +23 -0
  403. data/poly.gemspec +29 -0
  404. data/sample/.cabi-data +0 -0
  405. data/sample/data/home/index.haml +22 -0
  406. data/sample/data/other/nav/links.yml +4 -0
  407. data/sample/data/page/about/index.haml +12 -0
  408. data/sample/data/page/contact-us/index.haml +11 -0
  409. data/sample/data/page/dynamic-page/index.haml +14 -0
  410. data/sample/data/page/error/index.haml +8 -0
  411. data/sample/data/page/html/index.html +4 -0
  412. data/sample/data/page/no-front-matter/index.haml +7 -0
  413. data/sample/data/page/not-found/index.haml +8 -0
  414. data/sample/data/page/static-page/index.haml +14 -0
  415. data/sample/data/post/about-life/index.md +12 -0
  416. data/sample/data/post/sample-post/index.haml +12 -0
  417. data/sample/data/post/technology/index.haml +12 -0
  418. data/sample/data/post/the-40-hour-workweek/index.haml +9 -0
  419. data/sample/data/post/things-are-changing/index.haml +9 -0
  420. data/sample/data/post/yet-another-post/index.haml +11 -0
  421. data/sample/plugins/my-plugin/plugin.rb +15 -0
  422. data/sample/settings.yml +21 -0
  423. data/sample/themes/base/assets/css/readme.txt +6 -0
  424. data/sample/themes/base/assets/images/poly.svg +36 -0
  425. data/sample/themes/base/assets/js/app/views/main.js +13 -0
  426. data/sample/themes/base/assets/js/main.js +31 -0
  427. data/sample/themes/base/assets/js/vendor/backbone.js +4 -0
  428. data/sample/themes/base/assets/js/vendor/jquery.js +6 -0
  429. data/sample/themes/base/assets/js/vendor/lodash.underscore.js +38 -0
  430. data/sample/themes/base/assets/js/vendor/require.js +36 -0
  431. data/sample/themes/base/assets/scss/bootstrap.scss +20 -0
  432. data/sample/themes/base/assets/scss/modules/_all.scss +7 -0
  433. data/sample/themes/base/assets/scss/modules/_colors.scss +7 -0
  434. data/sample/themes/base/assets/scss/modules/_extensions.scss +13 -0
  435. data/sample/themes/base/assets/scss/modules/_mixins.scss +11 -0
  436. data/sample/themes/base/assets/scss/modules/_susy.scss +7 -0
  437. data/sample/themes/base/assets/scss/partials/_base.scss +33 -0
  438. data/sample/themes/base/assets/scss/partials/_buttons.scss +0 -0
  439. data/sample/themes/base/assets/scss/partials/_links.scss +15 -0
  440. data/sample/themes/base/assets/scss/partials/_main.scss +39 -0
  441. data/sample/themes/base/assets/scss/partials/_typography.scss +15 -0
  442. data/sample/themes/base/assets/scss/sections/_footer.scss +22 -0
  443. data/sample/themes/base/assets/scss/sections/_header.scss +23 -0
  444. data/sample/themes/base/assets/scss/sections/_home.scss +13 -0
  445. data/sample/themes/base/assets/scss/sections/_pages.scss +11 -0
  446. data/sample/themes/base/assets/scss/vendor/_normalize.scss +406 -0
  447. data/sample/themes/base/layouts/default.haml +14 -0
  448. data/sample/themes/base/layouts/post.haml +15 -0
  449. data/sample/themes/base/partials/_footer.haml +9 -0
  450. data/sample/themes/base/partials/_ga.haml +10 -0
  451. data/sample/themes/base/partials/_head.haml +20 -0
  452. data/sample/themes/base/partials/_header.haml +5 -0
  453. data/sample/themes/base/settings.yml +4 -0
  454. data/test/data/post-receive-hook.json +146 -0
  455. data/test/test_basics.rb +50 -0
  456. data/test/test_data.rb +14 -0
  457. data/test/test_deploy.rb +23 -0
  458. data/test/test_includes.rb +43 -0
  459. data/test/test_page.rb +47 -0
  460. metadata +1049 -0
@@ -0,0 +1,80 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: YAML 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="yaml.js"></script>
10
+ <style>.CodeMirror { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }</style>
11
+ <div id=nav>
12
+ <a href="http://codemirror.net"><img id=logo src="../../doc/logo.png"></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/marijnh/codemirror">Code</a>
18
+ </ul>
19
+ <ul>
20
+ <li><a href="../index.html">Language modes</a>
21
+ <li><a class=active href="#">YAML</a>
22
+ </ul>
23
+ </div>
24
+
25
+ <article>
26
+ <h2>YAML mode</h2>
27
+ <form><textarea id="code" name="code">
28
+ --- # Favorite movies
29
+ - Casablanca
30
+ - North by Northwest
31
+ - The Man Who Wasn't There
32
+ --- # Shopping list
33
+ [milk, pumpkin pie, eggs, juice]
34
+ --- # Indented Blocks, common in YAML data files, use indentation and new lines to separate the key: value pairs
35
+ name: John Smith
36
+ age: 33
37
+ --- # Inline Blocks, common in YAML data streams, use commas to separate the key: value pairs between braces
38
+ {name: John Smith, age: 33}
39
+ ---
40
+ receipt: Oz-Ware Purchase Invoice
41
+ date: 2007-08-06
42
+ customer:
43
+ given: Dorothy
44
+ family: Gale
45
+
46
+ items:
47
+ - part_no: A4786
48
+ descrip: Water Bucket (Filled)
49
+ price: 1.47
50
+ quantity: 4
51
+
52
+ - part_no: E1628
53
+ descrip: High Heeled "Ruby" Slippers
54
+ size: 8
55
+ price: 100.27
56
+ quantity: 1
57
+
58
+ bill-to: &id001
59
+ street: |
60
+ 123 Tornado Alley
61
+ Suite 16
62
+ city: East Centerville
63
+ state: KS
64
+
65
+ ship-to: *id001
66
+
67
+ specialDelivery: >
68
+ Follow the Yellow Brick
69
+ Road to the Emerald City.
70
+ Pay no attention to the
71
+ man behind the curtain.
72
+ ...
73
+ </textarea></form>
74
+ <script>
75
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {});
76
+ </script>
77
+
78
+ <p><strong>MIME types defined:</strong> <code>text/x-yaml</code>.</p>
79
+
80
+ </article>
@@ -0,0 +1,97 @@
1
+ CodeMirror.defineMode("yaml", function() {
2
+
3
+ var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];
4
+ var keywordRegex = new RegExp("\\b(("+cons.join(")|(")+"))$", 'i');
5
+
6
+ return {
7
+ token: function(stream, state) {
8
+ var ch = stream.peek();
9
+ var esc = state.escaped;
10
+ state.escaped = false;
11
+ /* comments */
12
+ if (ch == "#" && (stream.pos == 0 || /\s/.test(stream.string.charAt(stream.pos - 1)))) {
13
+ stream.skipToEnd(); return "comment";
14
+ }
15
+ if (state.literal && stream.indentation() > state.keyCol) {
16
+ stream.skipToEnd(); return "string";
17
+ } else if (state.literal) { state.literal = false; }
18
+ if (stream.sol()) {
19
+ state.keyCol = 0;
20
+ state.pair = false;
21
+ state.pairStart = false;
22
+ /* document start */
23
+ if(stream.match(/---/)) { return "def"; }
24
+ /* document end */
25
+ if (stream.match(/\.\.\./)) { return "def"; }
26
+ /* array list item */
27
+ if (stream.match(/\s*-\s+/)) { return 'meta'; }
28
+ }
29
+ /* inline pairs/lists */
30
+ if (stream.match(/^(\{|\}|\[|\])/)) {
31
+ if (ch == '{')
32
+ state.inlinePairs++;
33
+ else if (ch == '}')
34
+ state.inlinePairs--;
35
+ else if (ch == '[')
36
+ state.inlineList++;
37
+ else
38
+ state.inlineList--;
39
+ return 'meta';
40
+ }
41
+
42
+ /* list seperator */
43
+ if (state.inlineList > 0 && !esc && ch == ',') {
44
+ stream.next();
45
+ return 'meta';
46
+ }
47
+ /* pairs seperator */
48
+ if (state.inlinePairs > 0 && !esc && ch == ',') {
49
+ state.keyCol = 0;
50
+ state.pair = false;
51
+ state.pairStart = false;
52
+ stream.next();
53
+ return 'meta';
54
+ }
55
+
56
+ /* start of value of a pair */
57
+ if (state.pairStart) {
58
+ /* block literals */
59
+ if (stream.match(/^\s*(\||\>)\s*/)) { state.literal = true; return 'meta'; };
60
+ /* references */
61
+ if (stream.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i)) { return 'variable-2'; }
62
+ /* numbers */
63
+ if (state.inlinePairs == 0 && stream.match(/^\s*-?[0-9\.\,]+\s?$/)) { return 'number'; }
64
+ if (state.inlinePairs > 0 && stream.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/)) { return 'number'; }
65
+ /* keywords */
66
+ if (stream.match(keywordRegex)) { return 'keyword'; }
67
+ }
68
+
69
+ /* pairs (associative arrays) -> key */
70
+ if (!state.pair && stream.match(/^\s*\S+(?=\s*:($|\s))/i)) {
71
+ state.pair = true;
72
+ state.keyCol = stream.indentation();
73
+ return "atom";
74
+ }
75
+ if (state.pair && stream.match(/^:\s*/)) { state.pairStart = true; return 'meta'; }
76
+
77
+ /* nothing found, continue */
78
+ state.pairStart = false;
79
+ state.escaped = (ch == '\\');
80
+ stream.next();
81
+ return null;
82
+ },
83
+ startState: function() {
84
+ return {
85
+ pair: false,
86
+ pairStart: false,
87
+ keyCol: 0,
88
+ inlinePairs: 0,
89
+ inlineList: 0,
90
+ literal: false,
91
+ escaped: false
92
+ };
93
+ }
94
+ };
95
+ });
96
+
97
+ CodeMirror.defineMIME("text/x-yaml", "yaml");
@@ -0,0 +1,52 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Z80 assembly 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="z80.js"></script>
10
+ <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
11
+ <div id=nav>
12
+ <a href="http://codemirror.net"><img id=logo src="../../doc/logo.png"></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/marijnh/codemirror">Code</a>
18
+ </ul>
19
+ <ul>
20
+ <li><a href="../index.html">Language modes</a>
21
+ <li><a class=active href="#">Z80 assembly</a>
22
+ </ul>
23
+ </div>
24
+
25
+ <article>
26
+ <h2>Z80 assembly mode</h2>
27
+
28
+
29
+ <div><textarea id="code" name="code">
30
+ #include "ti83plus.inc"
31
+ #define progStart $9D95
32
+ .org progStart-2
33
+ .db $BB,$6D
34
+ bcall(_ClrLCDFull)
35
+ ld HL, 0
36
+ ld (PenCol), HL
37
+ ld HL, Message
38
+ bcall(_PutS) ; Displays the string
39
+ bcall(_NewLine)
40
+ ret
41
+ Message:
42
+ .db "Hello world!",0
43
+ </textarea></div>
44
+
45
+ <script>
46
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
47
+ lineNumbers: true
48
+ });
49
+ </script>
50
+
51
+ <p><strong>MIME type defined:</strong> <code>text/x-z80</code>.</p>
52
+ </article>
@@ -0,0 +1,85 @@
1
+ CodeMirror.defineMode('z80', function() {
2
+ var keywords1 = /^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i;
3
+ var keywords2 = /^(call|j[pr]|ret[in]?)\b/i;
4
+ var keywords3 = /^b_?(call|jump)\b/i;
5
+ var variables1 = /^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i;
6
+ var variables2 = /^(n?[zc]|p[oe]?|m)\b/i;
7
+ var errors = /^([hl][xy]|i[xy][hl]|slia|sll)\b/i;
8
+ var numbers = /^([\da-f]+h|[0-7]+o|[01]+b|\d+)\b/i;
9
+
10
+ return {
11
+ startState: function() {
12
+ return {context: 0};
13
+ },
14
+ token: function(stream, state) {
15
+ if (!stream.column())
16
+ state.context = 0;
17
+
18
+ if (stream.eatSpace())
19
+ return null;
20
+
21
+ var w;
22
+
23
+ if (stream.eatWhile(/\w/)) {
24
+ w = stream.current();
25
+
26
+ if (stream.indentation()) {
27
+ if (state.context == 1 && variables1.test(w))
28
+ return 'variable-2';
29
+
30
+ if (state.context == 2 && variables2.test(w))
31
+ return 'variable-3';
32
+
33
+ if (keywords1.test(w)) {
34
+ state.context = 1;
35
+ return 'keyword';
36
+ } else if (keywords2.test(w)) {
37
+ state.context = 2;
38
+ return 'keyword';
39
+ } else if (keywords3.test(w)) {
40
+ state.context = 3;
41
+ return 'keyword';
42
+ }
43
+
44
+ if (errors.test(w))
45
+ return 'error';
46
+ } else if (numbers.test(w)) {
47
+ return 'number';
48
+ } else {
49
+ return null;
50
+ }
51
+ } else if (stream.eat(';')) {
52
+ stream.skipToEnd();
53
+ return 'comment';
54
+ } else if (stream.eat('"')) {
55
+ while (w = stream.next()) {
56
+ if (w == '"')
57
+ break;
58
+
59
+ if (w == '\\')
60
+ stream.next();
61
+ }
62
+ return 'string';
63
+ } else if (stream.eat('\'')) {
64
+ if (stream.match(/\\?.'/))
65
+ return 'number';
66
+ } else if (stream.eat('.') || stream.sol() && stream.eat('#')) {
67
+ state.context = 4;
68
+
69
+ if (stream.eatWhile(/\w/))
70
+ return 'def';
71
+ } else if (stream.eat('$')) {
72
+ if (stream.eatWhile(/[\da-f]/i))
73
+ return 'number';
74
+ } else if (stream.eat('%')) {
75
+ if (stream.eatWhile(/[01]/))
76
+ return 'number';
77
+ } else {
78
+ stream.next();
79
+ }
80
+ return null;
81
+ }
82
+ };
83
+ });
84
+
85
+ CodeMirror.defineMIME("text/x-z80", "z80");
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "codemirror",
3
+ "version":"3.19.0",
4
+ "main": "lib/codemirror.js",
5
+ "description": "In-browser code editing made bearable",
6
+ "licenses": [{"type": "MIT",
7
+ "url": "http://codemirror.net/LICENSE"}],
8
+ "directories": {"lib": "./lib"},
9
+ "scripts": {"test": "node ./test/run.js"},
10
+ "devDependencies": {"node-static": "0.6.0"},
11
+ "bugs": "http://github.com/marijnh/CodeMirror/issues",
12
+ "keywords": ["JavaScript", "CodeMirror", "Editor"],
13
+ "homepage": "http://codemirror.net",
14
+ "maintainers":[{"name": "Marijn Haverbeke",
15
+ "email": "marijnh@gmail.com",
16
+ "web": "http://marijnhaverbeke.nl"}],
17
+ "repository": {"type": "git",
18
+ "url": "http://marijnhaverbeke.nl/git/codemirror"}
19
+ }
@@ -0,0 +1,51 @@
1
+ namespace = "comment_";
2
+
3
+ (function() {
4
+ function test(name, mode, run, before, after) {
5
+ return testCM(name, function(cm) {
6
+ run(cm);
7
+ eq(cm.getValue(), after);
8
+ }, {value: before, mode: mode});
9
+ }
10
+
11
+ var simpleProg = "function foo() {\n return bar;\n}";
12
+
13
+ test("block", "javascript", function(cm) {
14
+ cm.blockComment(Pos(0, 3), Pos(3, 0), {blockCommentLead: " *"});
15
+ }, simpleProg + "\n", "/* function foo() {\n * return bar;\n * }\n */");
16
+
17
+ test("blockToggle", "javascript", function(cm) {
18
+ cm.blockComment(Pos(0, 3), Pos(2, 0), {blockCommentLead: " *"});
19
+ cm.uncomment(Pos(0, 3), Pos(2, 0), {blockCommentLead: " *"});
20
+ }, simpleProg, simpleProg);
21
+
22
+ test("line", "javascript", function(cm) {
23
+ cm.lineComment(Pos(1, 1), Pos(1, 1));
24
+ }, simpleProg, "function foo() {\n// return bar;\n}");
25
+
26
+ test("lineToggle", "javascript", function(cm) {
27
+ cm.lineComment(Pos(0, 0), Pos(2, 1));
28
+ cm.uncomment(Pos(0, 0), Pos(2, 1));
29
+ }, simpleProg, simpleProg);
30
+
31
+ test("fallbackToBlock", "css", function(cm) {
32
+ cm.lineComment(Pos(0, 0), Pos(2, 1));
33
+ }, "html {\n border: none;\n}", "/* html {\n border: none;\n} */");
34
+
35
+ test("fallbackToLine", "ruby", function(cm) {
36
+ cm.blockComment(Pos(0, 0), Pos(1));
37
+ }, "def blah()\n return hah\n", "# def blah()\n# return hah\n");
38
+
39
+ test("commentRange", "javascript", function(cm) {
40
+ cm.blockComment(Pos(1, 2), Pos(1, 13), {fullLines: false});
41
+ }, simpleProg, "function foo() {\n /*return bar;*/\n}");
42
+
43
+ test("indented", "javascript", function(cm) {
44
+ cm.lineComment(Pos(1, 0), Pos(2), {indent: true});
45
+ }, simpleProg, "function foo() {\n // return bar;\n // }");
46
+
47
+ test("singleEmptyLine", "javascript", function(cm) {
48
+ cm.setCursor(1);
49
+ cm.execCommand("toggleComment");
50
+ }, "a;\n\nb;", "a;\n// \nb;");
51
+ })();
@@ -0,0 +1,329 @@
1
+ (function() {
2
+ // A minilanguage for instantiating linked CodeMirror instances and Docs
3
+ function instantiateSpec(spec, place, opts) {
4
+ var names = {}, pos = 0, l = spec.length, editors = [];
5
+ while (spec) {
6
+ var m = spec.match(/^(\w+)(\*?)(?:='([^\']*)'|<(~?)(\w+)(?:\/(\d+)-(\d+))?)\s*/);
7
+ var name = m[1], isDoc = m[2], cur;
8
+ if (m[3]) {
9
+ cur = isDoc ? CodeMirror.Doc(m[3]) : CodeMirror(place, clone(opts, {value: m[3]}));
10
+ } else {
11
+ var other = m[5];
12
+ if (!names.hasOwnProperty(other)) {
13
+ names[other] = editors.length;
14
+ editors.push(CodeMirror(place, opts));
15
+ }
16
+ var doc = editors[names[other]].linkedDoc({
17
+ sharedHist: !m[4],
18
+ from: m[6] ? Number(m[6]) : null,
19
+ to: m[7] ? Number(m[7]) : null
20
+ });
21
+ cur = isDoc ? doc : CodeMirror(place, clone(opts, {value: doc}));
22
+ }
23
+ names[name] = editors.length;
24
+ editors.push(cur);
25
+ spec = spec.slice(m[0].length);
26
+ }
27
+ return editors;
28
+ }
29
+
30
+ function clone(obj, props) {
31
+ if (!obj) return;
32
+ clone.prototype = obj;
33
+ var inst = new clone();
34
+ if (props) for (var n in props) if (props.hasOwnProperty(n))
35
+ inst[n] = props[n];
36
+ return inst;
37
+ }
38
+
39
+ function eqAll(val) {
40
+ var end = arguments.length, msg = null;
41
+ if (typeof arguments[end-1] == "string")
42
+ msg = arguments[--end];
43
+ if (i == end) throw new Error("No editors provided to eqAll");
44
+ for (var i = 1; i < end; ++i)
45
+ eq(arguments[i].getValue(), val, msg)
46
+ }
47
+
48
+ function testDoc(name, spec, run, opts, expectFail) {
49
+ if (!opts) opts = {};
50
+
51
+ return test("doc_" + name, function() {
52
+ var place = document.getElementById("testground");
53
+ var editors = instantiateSpec(spec, place, opts);
54
+ var successful = false;
55
+
56
+ try {
57
+ run.apply(null, editors);
58
+ successful = true;
59
+ } finally {
60
+ if ((debug && !successful) || verbose) {
61
+ place.style.visibility = "visible";
62
+ } else {
63
+ for (var i = 0; i < editors.length; ++i)
64
+ if (editors[i] instanceof CodeMirror)
65
+ place.removeChild(editors[i].getWrapperElement());
66
+ }
67
+ }
68
+ }, expectFail);
69
+ }
70
+
71
+ var ie_lt8 = /MSIE [1-7]\b/.test(navigator.userAgent);
72
+
73
+ function testBasic(a, b) {
74
+ eqAll("x", a, b);
75
+ a.setValue("hey");
76
+ eqAll("hey", a, b);
77
+ b.setValue("wow");
78
+ eqAll("wow", a, b);
79
+ a.replaceRange("u\nv\nw", Pos(0, 3));
80
+ b.replaceRange("i", Pos(0, 4));
81
+ b.replaceRange("j", Pos(2, 1));
82
+ eqAll("wowui\nv\nwj", a, b);
83
+ }
84
+
85
+ testDoc("basic", "A='x' B<A", testBasic);
86
+ testDoc("basicSeparate", "A='x' B<~A", testBasic);
87
+
88
+ testDoc("sharedHist", "A='ab\ncd\nef' B<A", function(a, b) {
89
+ a.replaceRange("x", Pos(0));
90
+ b.replaceRange("y", Pos(1));
91
+ a.replaceRange("z", Pos(2));
92
+ eqAll("abx\ncdy\nefz", a, b);
93
+ a.undo();
94
+ a.undo();
95
+ eqAll("abx\ncd\nef", a, b);
96
+ a.redo();
97
+ eqAll("abx\ncdy\nef", a, b);
98
+ b.redo();
99
+ eqAll("abx\ncdy\nefz", a, b);
100
+ a.undo(); b.undo(); a.undo(); a.undo();
101
+ eqAll("ab\ncd\nef", a, b);
102
+ }, null, ie_lt8);
103
+
104
+ testDoc("undoIntact", "A='ab\ncd\nef' B<~A", function(a, b) {
105
+ a.replaceRange("x", Pos(0));
106
+ b.replaceRange("y", Pos(1));
107
+ a.replaceRange("z", Pos(2));
108
+ a.replaceRange("q", Pos(0));
109
+ eqAll("abxq\ncdy\nefz", a, b);
110
+ a.undo();
111
+ a.undo();
112
+ eqAll("abx\ncdy\nef", a, b);
113
+ b.undo();
114
+ eqAll("abx\ncd\nef", a, b);
115
+ a.redo();
116
+ eqAll("abx\ncd\nefz", a, b);
117
+ a.redo();
118
+ eqAll("abxq\ncd\nefz", a, b);
119
+ a.undo(); a.undo(); a.undo(); a.undo();
120
+ eqAll("ab\ncd\nef", a, b);
121
+ b.redo();
122
+ eqAll("ab\ncdy\nef", a, b);
123
+ });
124
+
125
+ testDoc("undoConflict", "A='ab\ncd\nef' B<~A", function(a, b) {
126
+ a.replaceRange("x", Pos(0));
127
+ a.replaceRange("z", Pos(2));
128
+ // This should clear the first undo event in a, but not the second
129
+ b.replaceRange("y", Pos(0));
130
+ a.undo(); a.undo();
131
+ eqAll("abxy\ncd\nef", a, b);
132
+ a.replaceRange("u", Pos(2));
133
+ a.replaceRange("v", Pos(0));
134
+ // This should clear both events in a
135
+ b.replaceRange("w", Pos(0));
136
+ a.undo(); a.undo();
137
+ eqAll("abxyvw\ncd\nefu", a, b);
138
+ });
139
+
140
+ testDoc("doubleRebase", "A='ab\ncd\nef\ng' B<~A C<B", function(a, b, c) {
141
+ c.replaceRange("u", Pos(3));
142
+ a.replaceRange("", Pos(0, 0), Pos(1, 0));
143
+ c.undo();
144
+ eqAll("cd\nef\ng", a, b, c);
145
+ });
146
+
147
+ testDoc("undoUpdate", "A='ab\ncd\nef' B<~A", function(a, b) {
148
+ a.replaceRange("x", Pos(2));
149
+ b.replaceRange("u\nv\nw\n", Pos(0, 0));
150
+ a.undo();
151
+ eqAll("u\nv\nw\nab\ncd\nef", a, b);
152
+ a.redo();
153
+ eqAll("u\nv\nw\nab\ncd\nefx", a, b);
154
+ a.undo();
155
+ eqAll("u\nv\nw\nab\ncd\nef", a, b);
156
+ b.undo();
157
+ a.redo();
158
+ eqAll("ab\ncd\nefx", a, b);
159
+ a.undo();
160
+ eqAll("ab\ncd\nef", a, b);
161
+ });
162
+
163
+ testDoc("undoKeepRanges", "A='abcdefg' B<A", function(a, b) {
164
+ var m = a.markText(Pos(0, 1), Pos(0, 3), {className: "foo"});
165
+ b.replaceRange("x", Pos(0, 0));
166
+ eqPos(m.find().from, Pos(0, 2));
167
+ b.replaceRange("yzzy", Pos(0, 1), Pos(0));
168
+ eq(m.find(), null);
169
+ b.undo();
170
+ eqPos(m.find().from, Pos(0, 2));
171
+ b.undo();
172
+ eqPos(m.find().from, Pos(0, 1));
173
+ });
174
+
175
+ testDoc("longChain", "A='uv' B<A C<B D<C", function(a, b, c, d) {
176
+ a.replaceSelection("X");
177
+ eqAll("Xuv", a, b, c, d);
178
+ d.replaceRange("Y", Pos(0));
179
+ eqAll("XuvY", a, b, c, d);
180
+ });
181
+
182
+ testDoc("broadCast", "B<A C<A D<A E<A", function(a, b, c, d, e) {
183
+ b.setValue("uu");
184
+ eqAll("uu", a, b, c, d, e);
185
+ a.replaceRange("v", Pos(0, 1));
186
+ eqAll("uvu", a, b, c, d, e);
187
+ });
188
+
189
+ // A and B share a history, C and D share a separate one
190
+ testDoc("islands", "A='x\ny\nz' B<A C<~A D<C", function(a, b, c, d) {
191
+ a.replaceRange("u", Pos(0));
192
+ d.replaceRange("v", Pos(2));
193
+ b.undo();
194
+ eqAll("x\ny\nzv", a, b, c, d);
195
+ c.undo();
196
+ eqAll("x\ny\nz", a, b, c, d);
197
+ a.redo();
198
+ eqAll("xu\ny\nz", a, b, c, d);
199
+ d.redo();
200
+ eqAll("xu\ny\nzv", a, b, c, d);
201
+ });
202
+
203
+ testDoc("unlink", "B<A C<A D<B", function(a, b, c, d) {
204
+ a.setValue("hi");
205
+ b.unlinkDoc(a);
206
+ d.setValue("aye");
207
+ eqAll("hi", a, c);
208
+ eqAll("aye", b, d);
209
+ a.setValue("oo");
210
+ eqAll("oo", a, c);
211
+ eqAll("aye", b, d);
212
+ });
213
+
214
+ testDoc("bareDoc", "A*='foo' B*<A C<B", function(a, b, c) {
215
+ is(a instanceof CodeMirror.Doc);
216
+ is(b instanceof CodeMirror.Doc);
217
+ is(c instanceof CodeMirror);
218
+ eqAll("foo", a, b, c);
219
+ a.replaceRange("hey", Pos(0, 0), Pos(0));
220
+ c.replaceRange("!", Pos(0));
221
+ eqAll("hey!", a, b, c);
222
+ b.unlinkDoc(a);
223
+ b.setValue("x");
224
+ eqAll("x", b, c);
225
+ eqAll("hey!", a);
226
+ });
227
+
228
+ testDoc("swapDoc", "A='a' B*='b' C<A", function(a, b, c) {
229
+ var d = a.swapDoc(b);
230
+ d.setValue("x");
231
+ eqAll("x", c, d);
232
+ eqAll("b", a, b);
233
+ });
234
+
235
+ testDoc("docKeepsScroll", "A='x' B*='y'", function(a, b) {
236
+ addDoc(a, 200, 200);
237
+ a.scrollIntoView(Pos(199, 200));
238
+ var c = a.swapDoc(b);
239
+ a.swapDoc(c);
240
+ var pos = a.getScrollInfo();
241
+ is(pos.left > 0, "not at left");
242
+ is(pos.top > 0, "not at top");
243
+ });
244
+
245
+ testDoc("copyDoc", "A='u'", function(a) {
246
+ var copy = a.getDoc().copy(true);
247
+ a.setValue("foo");
248
+ copy.setValue("bar");
249
+ var old = a.swapDoc(copy);
250
+ eq(a.getValue(), "bar");
251
+ a.undo();
252
+ eq(a.getValue(), "u");
253
+ a.swapDoc(old);
254
+ eq(a.getValue(), "foo");
255
+ eq(old.historySize().undo, 1);
256
+ eq(old.copy(false).historySize().undo, 0);
257
+ });
258
+
259
+ testDoc("docKeepsMode", "A='1+1'", function(a) {
260
+ var other = CodeMirror.Doc("hi", "text/x-markdown");
261
+ a.setOption("mode", "text/javascript");
262
+ var old = a.swapDoc(other);
263
+ eq(a.getOption("mode"), "text/x-markdown");
264
+ eq(a.getMode().name, "markdown");
265
+ a.swapDoc(old);
266
+ eq(a.getOption("mode"), "text/javascript");
267
+ eq(a.getMode().name, "javascript");
268
+ });
269
+
270
+ testDoc("subview", "A='1\n2\n3\n4\n5' B<~A/1-3", function(a, b) {
271
+ eq(b.getValue(), "2\n3");
272
+ eq(b.firstLine(), 1);
273
+ b.setCursor(Pos(4));
274
+ eqPos(b.getCursor(), Pos(2, 1));
275
+ a.replaceRange("-1\n0\n", Pos(0, 0));
276
+ eq(b.firstLine(), 3);
277
+ eqPos(b.getCursor(), Pos(4, 1));
278
+ a.undo();
279
+ eqPos(b.getCursor(), Pos(2, 1));
280
+ b.replaceRange("oyoy\n", Pos(2, 0));
281
+ eq(a.getValue(), "1\n2\noyoy\n3\n4\n5");
282
+ b.undo();
283
+ eq(a.getValue(), "1\n2\n3\n4\n5");
284
+ });
285
+
286
+ testDoc("subviewEditOnBoundary", "A='11\n22\n33\n44\n55' B<~A/1-4", function(a, b) {
287
+ a.replaceRange("x\nyy\nz", Pos(0, 1), Pos(2, 1));
288
+ eq(b.firstLine(), 2);
289
+ eq(b.lineCount(), 2);
290
+ eq(b.getValue(), "z3\n44");
291
+ a.replaceRange("q\nrr\ns", Pos(3, 1), Pos(4, 1));
292
+ eq(b.firstLine(), 2);
293
+ eq(b.getValue(), "z3\n4q");
294
+ eq(a.getValue(), "1x\nyy\nz3\n4q\nrr\ns5");
295
+ a.execCommand("selectAll");
296
+ a.replaceSelection("!");
297
+ eqAll("!", a, b);
298
+ });
299
+
300
+
301
+ testDoc("sharedMarker", "A='ab\ncd\nef\ngh' B<A C<~A/1-2", function(a, b, c) {
302
+ var mark = b.markText(Pos(0, 1), Pos(3, 1),
303
+ {className: "cm-searching", shared: true});
304
+ var found = a.findMarksAt(Pos(0, 2));
305
+ eq(found.length, 1);
306
+ eq(found[0], mark);
307
+ eq(c.findMarksAt(Pos(1, 1)).length, 1);
308
+ eqPos(mark.find().from, Pos(0, 1));
309
+ eqPos(mark.find().to, Pos(3, 1));
310
+ b.replaceRange("x\ny\n", Pos(0, 0));
311
+ eqPos(mark.find().from, Pos(2, 1));
312
+ eqPos(mark.find().to, Pos(5, 1));
313
+ var cleared = 0;
314
+ CodeMirror.on(mark, "clear", function() {++cleared;});
315
+ b.operation(function(){mark.clear();});
316
+ eq(a.findMarksAt(Pos(3, 1)).length, 0);
317
+ eq(b.findMarksAt(Pos(3, 1)).length, 0);
318
+ eq(c.findMarksAt(Pos(3, 1)).length, 0);
319
+ eq(mark.find(), null);
320
+ eq(cleared, 1);
321
+ });
322
+
323
+ testDoc("undoInSubview", "A='line 0\nline 1\nline 2\nline 3\nline 4' B<A/1-4", function(a, b) {
324
+ b.replaceRange("x", Pos(2, 0));
325
+ a.undo();
326
+ eq(a.getValue(), "line 0\nline 1\nline 2\nline 3\nline 4");
327
+ eq(b.getValue(), "line 1\nline 2\nline 3");
328
+ });
329
+ })();