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,75 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Erlang 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/erlang-dark.css">
9
+ <script src="../../lib/codemirror.js"></script>
10
+ <script src="../../addon/edit/matchbrackets.js"></script>
11
+ <script src="erlang.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"><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/marijnh/codemirror">Code</a>
20
+ </ul>
21
+ <ul>
22
+ <li><a href="../index.html">Language modes</a>
23
+ <li><a class=active href="#">Erlang</a>
24
+ </ul>
25
+ </div>
26
+
27
+ <article>
28
+ <h2>Erlang mode</h2>
29
+ <form><textarea id="code" name="code">
30
+ %% -*- mode: erlang; erlang-indent-level: 2 -*-
31
+ %%% Created : 7 May 2012 by mats cronqvist <masse@klarna.com>
32
+
33
+ %% @doc
34
+ %% Demonstrates how to print a record.
35
+ %% @end
36
+
37
+ -module('ex').
38
+ -author('mats cronqvist').
39
+ -export([demo/0,
40
+ rec_info/1]).
41
+
42
+ -record(demo,{a="One",b="Two",c="Three",d="Four"}).
43
+
44
+ rec_info(demo) -> record_info(fields,demo).
45
+
46
+ demo() -> expand_recs(?MODULE,#demo{a="A",b="BB"}).
47
+
48
+ expand_recs(M,List) when is_list(List) ->
49
+ [expand_recs(M,L)||L<-List];
50
+ expand_recs(M,Tup) when is_tuple(Tup) ->
51
+ case tuple_size(Tup) of
52
+ L when L < 1 -> Tup;
53
+ L ->
54
+ try Fields = M:rec_info(element(1,Tup)),
55
+ L = length(Fields)+1,
56
+ lists:zip(Fields,expand_recs(M,tl(tuple_to_list(Tup))))
57
+ catch _:_ ->
58
+ list_to_tuple(expand_recs(M,tuple_to_list(Tup)))
59
+ end
60
+ end;
61
+ expand_recs(_,Term) ->
62
+ Term.
63
+ </textarea></form>
64
+
65
+ <script>
66
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
67
+ lineNumbers: true,
68
+ matchBrackets: true,
69
+ extraKeys: {"Tab": "indentAuto"},
70
+ theme: "erlang-dark"
71
+ });
72
+ </script>
73
+
74
+ <p><strong>MIME types defined:</strong> <code>text/x-erlang</code>.</p>
75
+ </article>
@@ -0,0 +1,173 @@
1
+ CodeMirror.defineMode("fortran", function() {
2
+ function words(array) {
3
+ var keys = {};
4
+ for (var i = 0; i < array.length; ++i) {
5
+ keys[array[i]] = true;
6
+ }
7
+ return keys;
8
+ }
9
+
10
+ var keywords = words([
11
+ "abstract", "accept", "allocatable", "allocate",
12
+ "array", "assign", "asynchronous", "backspace",
13
+ "bind", "block", "byte", "call", "case",
14
+ "class", "close", "common", "contains",
15
+ "continue", "cycle", "data", "deallocate",
16
+ "decode", "deferred", "dimension", "do",
17
+ "elemental", "else", "encode", "end",
18
+ "endif", "entry", "enumerator", "equivalence",
19
+ "exit", "external", "extrinsic", "final",
20
+ "forall", "format", "function", "generic",
21
+ "go", "goto", "if", "implicit", "import", "include",
22
+ "inquire", "intent", "interface", "intrinsic",
23
+ "module", "namelist", "non_intrinsic",
24
+ "non_overridable", "none", "nopass",
25
+ "nullify", "open", "optional", "options",
26
+ "parameter", "pass", "pause", "pointer",
27
+ "print", "private", "program", "protected",
28
+ "public", "pure", "read", "recursive", "result",
29
+ "return", "rewind", "save", "select", "sequence",
30
+ "stop", "subroutine", "target", "then", "to", "type",
31
+ "use", "value", "volatile", "where", "while",
32
+ "write"]);
33
+ var builtins = words(["abort", "abs", "access", "achar", "acos",
34
+ "adjustl", "adjustr", "aimag", "aint", "alarm",
35
+ "all", "allocated", "alog", "amax", "amin",
36
+ "amod", "and", "anint", "any", "asin",
37
+ "associated", "atan", "besj", "besjn", "besy",
38
+ "besyn", "bit_size", "btest", "cabs", "ccos",
39
+ "ceiling", "cexp", "char", "chdir", "chmod",
40
+ "clog", "cmplx", "command_argument_count",
41
+ "complex", "conjg", "cos", "cosh", "count",
42
+ "cpu_time", "cshift", "csin", "csqrt", "ctime",
43
+ "c_funloc", "c_loc", "c_associated", "c_null_ptr",
44
+ "c_null_funptr", "c_f_pointer", "c_null_char",
45
+ "c_alert", "c_backspace", "c_form_feed",
46
+ "c_new_line", "c_carriage_return",
47
+ "c_horizontal_tab", "c_vertical_tab", "dabs",
48
+ "dacos", "dasin", "datan", "date_and_time",
49
+ "dbesj", "dbesj", "dbesjn", "dbesy", "dbesy",
50
+ "dbesyn", "dble", "dcos", "dcosh", "ddim", "derf",
51
+ "derfc", "dexp", "digits", "dim", "dint", "dlog",
52
+ "dlog", "dmax", "dmin", "dmod", "dnint",
53
+ "dot_product", "dprod", "dsign", "dsinh",
54
+ "dsin", "dsqrt", "dtanh", "dtan", "dtime",
55
+ "eoshift", "epsilon", "erf", "erfc", "etime",
56
+ "exit", "exp", "exponent", "extends_type_of",
57
+ "fdate", "fget", "fgetc", "float", "floor",
58
+ "flush", "fnum", "fputc", "fput", "fraction",
59
+ "fseek", "fstat", "ftell", "gerror", "getarg",
60
+ "get_command", "get_command_argument",
61
+ "get_environment_variable", "getcwd",
62
+ "getenv", "getgid", "getlog", "getpid",
63
+ "getuid", "gmtime", "hostnm", "huge", "iabs",
64
+ "iachar", "iand", "iargc", "ibclr", "ibits",
65
+ "ibset", "ichar", "idate", "idim", "idint",
66
+ "idnint", "ieor", "ierrno", "ifix", "imag",
67
+ "imagpart", "index", "int", "ior", "irand",
68
+ "isatty", "ishft", "ishftc", "isign",
69
+ "iso_c_binding", "is_iostat_end", "is_iostat_eor",
70
+ "itime", "kill", "kind", "lbound", "len", "len_trim",
71
+ "lge", "lgt", "link", "lle", "llt", "lnblnk", "loc",
72
+ "log", "logical", "long", "lshift", "lstat", "ltime",
73
+ "matmul", "max", "maxexponent", "maxloc", "maxval",
74
+ "mclock", "merge", "move_alloc", "min", "minexponent",
75
+ "minloc", "minval", "mod", "modulo", "mvbits",
76
+ "nearest", "new_line", "nint", "not", "or", "pack",
77
+ "perror", "precision", "present", "product", "radix",
78
+ "rand", "random_number", "random_seed", "range",
79
+ "real", "realpart", "rename", "repeat", "reshape",
80
+ "rrspacing", "rshift", "same_type_as", "scale",
81
+ "scan", "second", "selected_int_kind",
82
+ "selected_real_kind", "set_exponent", "shape",
83
+ "short", "sign", "signal", "sinh", "sin", "sleep",
84
+ "sngl", "spacing", "spread", "sqrt", "srand", "stat",
85
+ "sum", "symlnk", "system", "system_clock", "tan",
86
+ "tanh", "time", "tiny", "transfer", "transpose",
87
+ "trim", "ttynam", "ubound", "umask", "unlink",
88
+ "unpack", "verify", "xor", "zabs", "zcos", "zexp",
89
+ "zlog", "zsin", "zsqrt"]);
90
+
91
+ var dataTypes = words(["c_bool", "c_char", "c_double", "c_double_complex",
92
+ "c_float", "c_float_complex", "c_funptr", "c_int",
93
+ "c_int16_t", "c_int32_t", "c_int64_t", "c_int8_t",
94
+ "c_int_fast16_t", "c_int_fast32_t", "c_int_fast64_t",
95
+ "c_int_fast8_t", "c_int_least16_t", "c_int_least32_t",
96
+ "c_int_least64_t", "c_int_least8_t", "c_intmax_t",
97
+ "c_intptr_t", "c_long", "c_long_double",
98
+ "c_long_double_complex", "c_long_long", "c_ptr",
99
+ "c_short", "c_signed_char", "c_size_t", "character",
100
+ "complex", "double", "integer", "logical", "real"]);
101
+ var isOperatorChar = /[+\-*&=<>\/\:]/;
102
+ var litOperator = new RegExp("(\.and\.|\.or\.|\.eq\.|\.lt\.|\.le\.|\.gt\.|\.ge\.|\.ne\.|\.not\.|\.eqv\.|\.neqv\.)", "i");
103
+
104
+ function tokenBase(stream, state) {
105
+
106
+ if (stream.match(litOperator)){
107
+ return 'operator';
108
+ }
109
+
110
+ var ch = stream.next();
111
+ if (ch == "!") {
112
+ stream.skipToEnd();
113
+ return "comment";
114
+ }
115
+ if (ch == '"' || ch == "'") {
116
+ state.tokenize = tokenString(ch);
117
+ return state.tokenize(stream, state);
118
+ }
119
+ if (/[\[\]\(\),]/.test(ch)) {
120
+ return null;
121
+ }
122
+ if (/\d/.test(ch)) {
123
+ stream.eatWhile(/[\w\.]/);
124
+ return "number";
125
+ }
126
+ if (isOperatorChar.test(ch)) {
127
+ stream.eatWhile(isOperatorChar);
128
+ return "operator";
129
+ }
130
+ stream.eatWhile(/[\w\$_]/);
131
+ var word = stream.current().toLowerCase();
132
+
133
+ if (keywords.hasOwnProperty(word)){
134
+ return 'keyword';
135
+ }
136
+ if (builtins.hasOwnProperty(word) || dataTypes.hasOwnProperty(word)) {
137
+ return 'builtin';
138
+ }
139
+ return "variable";
140
+ }
141
+
142
+ function tokenString(quote) {
143
+ return function(stream, state) {
144
+ var escaped = false, next, end = false;
145
+ while ((next = stream.next()) != null) {
146
+ if (next == quote && !escaped) {
147
+ end = true;
148
+ break;
149
+ }
150
+ escaped = !escaped && next == "\\";
151
+ }
152
+ if (end || !escaped) state.tokenize = null;
153
+ return "string";
154
+ };
155
+ }
156
+
157
+ // Interface
158
+
159
+ return {
160
+ startState: function() {
161
+ return {tokenize: null};
162
+ },
163
+
164
+ token: function(stream, state) {
165
+ if (stream.eatSpace()) return null;
166
+ var style = (state.tokenize || tokenBase)(stream, state);
167
+ if (style == "comment" || style == "meta") return style;
168
+ return style;
169
+ }
170
+ };
171
+ });
172
+
173
+ CodeMirror.defineMIME("text/x-fortran", "fortran");
@@ -0,0 +1,81 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Fortran 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="fortran.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="#">Fortran</a>
22
+ </ul>
23
+ </div>
24
+
25
+ <article>
26
+ <h2>Fortran mode</h2>
27
+
28
+
29
+ <div><textarea id="code" name="code">
30
+ ! Example Fortran code
31
+ program average
32
+
33
+ ! Read in some numbers and take the average
34
+ ! As written, if there are no data points, an average of zero is returned
35
+ ! While this may not be desired behavior, it keeps this example simple
36
+
37
+ implicit none
38
+
39
+ real, dimension(:), allocatable :: points
40
+ integer :: number_of_points
41
+ real :: average_points=0., positive_average=0., negative_average=0.
42
+
43
+ write (*,*) "Input number of points to average:"
44
+ read (*,*) number_of_points
45
+
46
+ allocate (points(number_of_points))
47
+
48
+ write (*,*) "Enter the points to average:"
49
+ read (*,*) points
50
+
51
+ ! Take the average by summing points and dividing by number_of_points
52
+ if (number_of_points > 0) average_points = sum(points) / number_of_points
53
+
54
+ ! Now form average over positive and negative points only
55
+ if (count(points > 0.) > 0) then
56
+ positive_average = sum(points, points > 0.) / count(points > 0.)
57
+ end if
58
+
59
+ if (count(points < 0.) > 0) then
60
+ negative_average = sum(points, points < 0.) / count(points < 0.)
61
+ end if
62
+
63
+ deallocate (points)
64
+
65
+ ! Print result to terminal
66
+ write (*,'(a,g12.4)') 'Average = ', average_points
67
+ write (*,'(a,g12.4)') 'Average of positive points = ', positive_average
68
+ write (*,'(a,g12.4)') 'Average of negative points = ', negative_average
69
+
70
+ end program average
71
+ </textarea></div>
72
+
73
+ <script>
74
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
75
+ lineNumbers: true,
76
+ mode: "text/x-fortran"
77
+ });
78
+ </script>
79
+
80
+ <p><strong>MIME types defined:</strong> <code>text/x-Fortran</code>.</p>
81
+ </article>
@@ -0,0 +1,330 @@
1
+ CodeMirror.defineMode("gas", function(_config, parserConfig) {
2
+ 'use strict';
3
+
4
+ // If an architecture is specified, its initialization function may
5
+ // populate this array with custom parsing functions which will be
6
+ // tried in the event that the standard functions do not find a match.
7
+ var custom = [];
8
+
9
+ // The symbol used to start a line comment changes based on the target
10
+ // architecture.
11
+ // If no architecture is pased in "parserConfig" then only multiline
12
+ // comments will have syntax support.
13
+ var lineCommentStartSymbol = "";
14
+
15
+ // These directives are architecture independent.
16
+ // Machine specific directives should go in their respective
17
+ // architecture initialization function.
18
+ // Reference:
19
+ // http://sourceware.org/binutils/docs/as/Pseudo-Ops.html#Pseudo-Ops
20
+ var directives = {
21
+ ".abort" : "builtin",
22
+ ".align" : "builtin",
23
+ ".altmacro" : "builtin",
24
+ ".ascii" : "builtin",
25
+ ".asciz" : "builtin",
26
+ ".balign" : "builtin",
27
+ ".balignw" : "builtin",
28
+ ".balignl" : "builtin",
29
+ ".bundle_align_mode" : "builtin",
30
+ ".bundle_lock" : "builtin",
31
+ ".bundle_unlock" : "builtin",
32
+ ".byte" : "builtin",
33
+ ".cfi_startproc" : "builtin",
34
+ ".comm" : "builtin",
35
+ ".data" : "builtin",
36
+ ".def" : "builtin",
37
+ ".desc" : "builtin",
38
+ ".dim" : "builtin",
39
+ ".double" : "builtin",
40
+ ".eject" : "builtin",
41
+ ".else" : "builtin",
42
+ ".elseif" : "builtin",
43
+ ".end" : "builtin",
44
+ ".endef" : "builtin",
45
+ ".endfunc" : "builtin",
46
+ ".endif" : "builtin",
47
+ ".equ" : "builtin",
48
+ ".equiv" : "builtin",
49
+ ".eqv" : "builtin",
50
+ ".err" : "builtin",
51
+ ".error" : "builtin",
52
+ ".exitm" : "builtin",
53
+ ".extern" : "builtin",
54
+ ".fail" : "builtin",
55
+ ".file" : "builtin",
56
+ ".fill" : "builtin",
57
+ ".float" : "builtin",
58
+ ".func" : "builtin",
59
+ ".global" : "builtin",
60
+ ".gnu_attribute" : "builtin",
61
+ ".hidden" : "builtin",
62
+ ".hword" : "builtin",
63
+ ".ident" : "builtin",
64
+ ".if" : "builtin",
65
+ ".incbin" : "builtin",
66
+ ".include" : "builtin",
67
+ ".int" : "builtin",
68
+ ".internal" : "builtin",
69
+ ".irp" : "builtin",
70
+ ".irpc" : "builtin",
71
+ ".lcomm" : "builtin",
72
+ ".lflags" : "builtin",
73
+ ".line" : "builtin",
74
+ ".linkonce" : "builtin",
75
+ ".list" : "builtin",
76
+ ".ln" : "builtin",
77
+ ".loc" : "builtin",
78
+ ".loc_mark_labels" : "builtin",
79
+ ".local" : "builtin",
80
+ ".long" : "builtin",
81
+ ".macro" : "builtin",
82
+ ".mri" : "builtin",
83
+ ".noaltmacro" : "builtin",
84
+ ".nolist" : "builtin",
85
+ ".octa" : "builtin",
86
+ ".offset" : "builtin",
87
+ ".org" : "builtin",
88
+ ".p2align" : "builtin",
89
+ ".popsection" : "builtin",
90
+ ".previous" : "builtin",
91
+ ".print" : "builtin",
92
+ ".protected" : "builtin",
93
+ ".psize" : "builtin",
94
+ ".purgem" : "builtin",
95
+ ".pushsection" : "builtin",
96
+ ".quad" : "builtin",
97
+ ".reloc" : "builtin",
98
+ ".rept" : "builtin",
99
+ ".sbttl" : "builtin",
100
+ ".scl" : "builtin",
101
+ ".section" : "builtin",
102
+ ".set" : "builtin",
103
+ ".short" : "builtin",
104
+ ".single" : "builtin",
105
+ ".size" : "builtin",
106
+ ".skip" : "builtin",
107
+ ".sleb128" : "builtin",
108
+ ".space" : "builtin",
109
+ ".stab" : "builtin",
110
+ ".string" : "builtin",
111
+ ".struct" : "builtin",
112
+ ".subsection" : "builtin",
113
+ ".symver" : "builtin",
114
+ ".tag" : "builtin",
115
+ ".text" : "builtin",
116
+ ".title" : "builtin",
117
+ ".type" : "builtin",
118
+ ".uleb128" : "builtin",
119
+ ".val" : "builtin",
120
+ ".version" : "builtin",
121
+ ".vtable_entry" : "builtin",
122
+ ".vtable_inherit" : "builtin",
123
+ ".warning" : "builtin",
124
+ ".weak" : "builtin",
125
+ ".weakref" : "builtin",
126
+ ".word" : "builtin"
127
+ };
128
+
129
+ var registers = {};
130
+
131
+ function x86(_parserConfig) {
132
+ lineCommentStartSymbol = "#";
133
+
134
+ registers.ax = "variable";
135
+ registers.eax = "variable-2";
136
+ registers.rax = "variable-3";
137
+
138
+ registers.bx = "variable";
139
+ registers.ebx = "variable-2";
140
+ registers.rbx = "variable-3";
141
+
142
+ registers.cx = "variable";
143
+ registers.ecx = "variable-2";
144
+ registers.rcx = "variable-3";
145
+
146
+ registers.dx = "variable";
147
+ registers.edx = "variable-2";
148
+ registers.rdx = "variable-3";
149
+
150
+ registers.si = "variable";
151
+ registers.esi = "variable-2";
152
+ registers.rsi = "variable-3";
153
+
154
+ registers.di = "variable";
155
+ registers.edi = "variable-2";
156
+ registers.rdi = "variable-3";
157
+
158
+ registers.sp = "variable";
159
+ registers.esp = "variable-2";
160
+ registers.rsp = "variable-3";
161
+
162
+ registers.bp = "variable";
163
+ registers.ebp = "variable-2";
164
+ registers.rbp = "variable-3";
165
+
166
+ registers.ip = "variable";
167
+ registers.eip = "variable-2";
168
+ registers.rip = "variable-3";
169
+
170
+ registers.cs = "keyword";
171
+ registers.ds = "keyword";
172
+ registers.ss = "keyword";
173
+ registers.es = "keyword";
174
+ registers.fs = "keyword";
175
+ registers.gs = "keyword";
176
+ }
177
+
178
+ function armv6(_parserConfig) {
179
+ // Reference:
180
+ // http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001l/QRC0001_UAL.pdf
181
+ // http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf
182
+ lineCommentStartSymbol = "@";
183
+ directives.syntax = "builtin";
184
+
185
+ registers.r0 = "variable";
186
+ registers.r1 = "variable";
187
+ registers.r2 = "variable";
188
+ registers.r3 = "variable";
189
+ registers.r4 = "variable";
190
+ registers.r5 = "variable";
191
+ registers.r6 = "variable";
192
+ registers.r7 = "variable";
193
+ registers.r8 = "variable";
194
+ registers.r9 = "variable";
195
+ registers.r10 = "variable";
196
+ registers.r11 = "variable";
197
+ registers.r12 = "variable";
198
+
199
+ registers.sp = "variable-2";
200
+ registers.lr = "variable-2";
201
+ registers.pc = "variable-2";
202
+ registers.r13 = registers.sp;
203
+ registers.r14 = registers.lr;
204
+ registers.r15 = registers.pc;
205
+
206
+ custom.push(function(ch, stream) {
207
+ if (ch === '#') {
208
+ stream.eatWhile(/\w/);
209
+ return "number";
210
+ }
211
+ });
212
+ }
213
+
214
+ var arch = parserConfig.architecture.toLowerCase();
215
+ if (arch === "x86") {
216
+ x86(parserConfig);
217
+ } else if (arch === "arm" || arch === "armv6") {
218
+ armv6(parserConfig);
219
+ }
220
+
221
+ function nextUntilUnescaped(stream, end) {
222
+ var escaped = false, next;
223
+ while ((next = stream.next()) != null) {
224
+ if (next === end && !escaped) {
225
+ return false;
226
+ }
227
+ escaped = !escaped && next === "\\";
228
+ }
229
+ return escaped;
230
+ }
231
+
232
+ function clikeComment(stream, state) {
233
+ var maybeEnd = false, ch;
234
+ while ((ch = stream.next()) != null) {
235
+ if (ch === "/" && maybeEnd) {
236
+ state.tokenize = null;
237
+ break;
238
+ }
239
+ maybeEnd = (ch === "*");
240
+ }
241
+ return "comment";
242
+ }
243
+
244
+ return {
245
+ startState: function() {
246
+ return {
247
+ tokenize: null
248
+ };
249
+ },
250
+
251
+ token: function(stream, state) {
252
+ if (state.tokenize) {
253
+ return state.tokenize(stream, state);
254
+ }
255
+
256
+ if (stream.eatSpace()) {
257
+ return null;
258
+ }
259
+
260
+ var style, cur, ch = stream.next();
261
+
262
+ if (ch === "/") {
263
+ if (stream.eat("*")) {
264
+ state.tokenize = clikeComment;
265
+ return clikeComment(stream, state);
266
+ }
267
+ }
268
+
269
+ if (ch === lineCommentStartSymbol) {
270
+ stream.skipToEnd();
271
+ return "comment";
272
+ }
273
+
274
+ if (ch === '"') {
275
+ nextUntilUnescaped(stream, '"');
276
+ return "string";
277
+ }
278
+
279
+ if (ch === '.') {
280
+ stream.eatWhile(/\w/);
281
+ cur = stream.current().toLowerCase();
282
+ style = directives[cur];
283
+ return style || null;
284
+ }
285
+
286
+ if (ch === '=') {
287
+ stream.eatWhile(/\w/);
288
+ return "tag";
289
+ }
290
+
291
+ if (ch === '{') {
292
+ return "braket";
293
+ }
294
+
295
+ if (ch === '}') {
296
+ return "braket";
297
+ }
298
+
299
+ if (/\d/.test(ch)) {
300
+ if (ch === "0" && stream.eat("x")) {
301
+ stream.eatWhile(/[0-9a-fA-F]/);
302
+ return "number";
303
+ }
304
+ stream.eatWhile(/\d/);
305
+ return "number";
306
+ }
307
+
308
+ if (/\w/.test(ch)) {
309
+ stream.eatWhile(/\w/);
310
+ if (stream.eat(":")) {
311
+ return 'tag';
312
+ }
313
+ cur = stream.current().toLowerCase();
314
+ style = registers[cur];
315
+ return style || null;
316
+ }
317
+
318
+ for (var i = 0; i < custom.length; i++) {
319
+ style = custom[i](ch, stream, state);
320
+ if (style) {
321
+ return style;
322
+ }
323
+ }
324
+ },
325
+
326
+ lineComment: lineCommentStartSymbol,
327
+ blockCommentStart: "/*",
328
+ blockCommentEnd: "*/"
329
+ };
330
+ });