gump 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +71 -0
  6. data/Rakefile +2 -0
  7. data/bin/gump +37 -0
  8. data/gump.gemspec +17 -0
  9. data/lib/gump.rb +50 -0
  10. data/lib/version.rb +3 -0
  11. data/server/assets/css/style.css +6949 -0
  12. data/server/assets/images/arrow.png +0 -0
  13. data/server/assets/images/logo.png +0 -0
  14. data/server/assets/js/bootstrap/dist/css/bootstrap-theme.css +347 -0
  15. data/server/assets/js/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  16. data/server/assets/js/bootstrap/dist/css/bootstrap-theme.min.css +7 -0
  17. data/server/assets/js/bootstrap/dist/css/bootstrap.css +5785 -0
  18. data/server/assets/js/bootstrap/dist/css/bootstrap.css.map +1 -0
  19. data/server/assets/js/bootstrap/dist/css/bootstrap.min.css +7 -0
  20. data/server/assets/js/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  21. data/server/assets/js/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  22. data/server/assets/js/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  23. data/server/assets/js/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  24. data/server/assets/js/bootstrap/dist/js/bootstrap.js +1951 -0
  25. data/server/assets/js/bootstrap/dist/js/bootstrap.min.js +6 -0
  26. data/server/assets/js/jquery.codemirror/.gitattributes +8 -0
  27. data/server/assets/js/jquery.codemirror/.gitignore +6 -0
  28. data/server/assets/js/jquery.codemirror/.travis.yml +3 -0
  29. data/server/assets/js/jquery.codemirror/AUTHORS +255 -0
  30. data/server/assets/js/jquery.codemirror/CONTRIBUTING.md +72 -0
  31. data/server/assets/js/jquery.codemirror/LICENSE +19 -0
  32. data/server/assets/js/jquery.codemirror/README.md +11 -0
  33. data/server/assets/js/jquery.codemirror/addon/comment/comment.js +145 -0
  34. data/server/assets/js/jquery.codemirror/addon/comment/continuecomment.js +54 -0
  35. data/server/assets/js/jquery.codemirror/addon/dialog/dialog.css +32 -0
  36. data/server/assets/js/jquery.codemirror/addon/dialog/dialog.js +121 -0
  37. data/server/assets/js/jquery.codemirror/addon/display/fullscreen.css +6 -0
  38. data/server/assets/js/jquery.codemirror/addon/display/fullscreen.js +31 -0
  39. data/server/assets/js/jquery.codemirror/addon/display/placeholder.js +48 -0
  40. data/server/assets/js/jquery.codemirror/addon/edit/closebrackets.js +82 -0
  41. data/server/assets/js/jquery.codemirror/addon/edit/closetag.js +89 -0
  42. data/server/assets/js/jquery.codemirror/addon/edit/continuelist.js +25 -0
  43. data/server/assets/js/jquery.codemirror/addon/edit/matchbrackets.js +87 -0
  44. data/server/assets/js/jquery.codemirror/addon/edit/matchtags.js +56 -0
  45. data/server/assets/js/jquery.codemirror/addon/edit/trailingspace.js +15 -0
  46. data/server/assets/js/jquery.codemirror/addon/fold/brace-fold.js +93 -0
  47. data/server/assets/js/jquery.codemirror/addon/fold/comment-fold.js +40 -0
  48. data/server/assets/js/jquery.codemirror/addon/fold/foldcode.js +75 -0
  49. data/server/assets/js/jquery.codemirror/addon/fold/foldgutter.css +21 -0
  50. data/server/assets/js/jquery.codemirror/addon/fold/foldgutter.js +124 -0
  51. data/server/assets/js/jquery.codemirror/addon/fold/indent-fold.js +30 -0
  52. data/server/assets/js/jquery.codemirror/addon/fold/xml-fold.js +167 -0
  53. data/server/assets/js/jquery.codemirror/addon/hint/anyword-hint.js +34 -0
  54. data/server/assets/js/jquery.codemirror/addon/hint/css-hint.js +50 -0
  55. data/server/assets/js/jquery.codemirror/addon/hint/html-hint.js +337 -0
  56. data/server/assets/js/jquery.codemirror/addon/hint/javascript-hint.js +131 -0
  57. data/server/assets/js/jquery.codemirror/addon/hint/pig-hint.js +121 -0
  58. data/server/assets/js/jquery.codemirror/addon/hint/python-hint.js +95 -0
  59. data/server/assets/js/jquery.codemirror/addon/hint/show-hint.css +38 -0
  60. data/server/assets/js/jquery.codemirror/addon/hint/show-hint.js +286 -0
  61. data/server/assets/js/jquery.codemirror/addon/hint/sql-hint.js +105 -0
  62. data/server/assets/js/jquery.codemirror/addon/hint/xml-hint.js +69 -0
  63. data/server/assets/js/jquery.codemirror/addon/lint/coffeescript-lint.js +27 -0
  64. data/server/assets/js/jquery.codemirror/addon/lint/css-lint.js +19 -0
  65. data/server/assets/js/jquery.codemirror/addon/lint/javascript-lint.js +126 -0
  66. data/server/assets/js/jquery.codemirror/addon/lint/json-lint.js +17 -0
  67. data/server/assets/js/jquery.codemirror/addon/lint/lint.css +73 -0
  68. data/server/assets/js/jquery.codemirror/addon/lint/lint.js +203 -0
  69. data/server/assets/js/jquery.codemirror/addon/merge/dep/diff_match_patch.js +50 -0
  70. data/server/assets/js/jquery.codemirror/addon/merge/merge.css +92 -0
  71. data/server/assets/js/jquery.codemirror/addon/merge/merge.js +474 -0
  72. data/server/assets/js/jquery.codemirror/addon/mode/loadmode.js +51 -0
  73. data/server/assets/js/jquery.codemirror/addon/mode/multiplex.js +101 -0
  74. data/server/assets/js/jquery.codemirror/addon/mode/multiplex_test.js +30 -0
  75. data/server/assets/js/jquery.codemirror/addon/mode/overlay.js +59 -0
  76. data/server/assets/js/jquery.codemirror/addon/runmode/colorize.js +29 -0
  77. data/server/assets/js/jquery.codemirror/addon/runmode/runmode-standalone.js +136 -0
  78. data/server/assets/js/jquery.codemirror/addon/runmode/runmode.js +56 -0
  79. data/server/assets/js/jquery.codemirror/addon/runmode/runmode.node.js +103 -0
  80. data/server/assets/js/jquery.codemirror/addon/scroll/scrollpastend.js +34 -0
  81. data/server/assets/js/jquery.codemirror/addon/search/match-highlighter.js +91 -0
  82. data/server/assets/js/jquery.codemirror/addon/search/search.js +133 -0
  83. data/server/assets/js/jquery.codemirror/addon/search/searchcursor.js +143 -0
  84. data/server/assets/js/jquery.codemirror/addon/selection/active-line.js +39 -0
  85. data/server/assets/js/jquery.codemirror/addon/selection/mark-selection.js +108 -0
  86. data/server/assets/js/jquery.codemirror/addon/tern/tern.css +85 -0
  87. data/server/assets/js/jquery.codemirror/addon/tern/tern.js +632 -0
  88. data/server/assets/js/jquery.codemirror/addon/tern/worker.js +41 -0
  89. data/server/assets/js/jquery.codemirror/addon/wrap/hardwrap.js +99 -0
  90. data/server/assets/js/jquery.codemirror/bin/authors.sh +6 -0
  91. data/server/assets/js/jquery.codemirror/bin/compress +92 -0
  92. data/server/assets/js/jquery.codemirror/bin/lint +16 -0
  93. data/server/assets/js/jquery.codemirror/bin/source-highlight +61 -0
  94. data/server/assets/js/jquery.codemirror/bower.json +15 -0
  95. data/server/assets/js/jquery.codemirror/demo/activeline.html +78 -0
  96. data/server/assets/js/jquery.codemirror/demo/anywordhint.html +79 -0
  97. data/server/assets/js/jquery.codemirror/demo/bidi.html +74 -0
  98. data/server/assets/js/jquery.codemirror/demo/btree.html +86 -0
  99. data/server/assets/js/jquery.codemirror/demo/buffers.html +109 -0
  100. data/server/assets/js/jquery.codemirror/demo/changemode.html +59 -0
  101. data/server/assets/js/jquery.codemirror/demo/closebrackets.html +63 -0
  102. data/server/assets/js/jquery.codemirror/demo/closetag.html +40 -0
  103. data/server/assets/js/jquery.codemirror/demo/complete.html +80 -0
  104. data/server/assets/js/jquery.codemirror/demo/emacs.html +75 -0
  105. data/server/assets/js/jquery.codemirror/demo/folding.html +75 -0
  106. data/server/assets/js/jquery.codemirror/demo/fullscreen.html +130 -0
  107. data/server/assets/js/jquery.codemirror/demo/hardwrap.html +69 -0
  108. data/server/assets/js/jquery.codemirror/demo/html5complete.html +54 -0
  109. data/server/assets/js/jquery.codemirror/demo/indentwrap.html +58 -0
  110. data/server/assets/js/jquery.codemirror/demo/lint.html +171 -0
  111. data/server/assets/js/jquery.codemirror/demo/loadmode.html +49 -0
  112. data/server/assets/js/jquery.codemirror/demo/marker.html +52 -0
  113. data/server/assets/js/jquery.codemirror/demo/markselection.html +45 -0
  114. data/server/assets/js/jquery.codemirror/demo/matchhighlighter.html +47 -0
  115. data/server/assets/js/jquery.codemirror/demo/matchtags.html +49 -0
  116. data/server/assets/js/jquery.codemirror/demo/merge.html +82 -0
  117. data/server/assets/js/jquery.codemirror/demo/multiplex.html +75 -0
  118. data/server/assets/js/jquery.codemirror/demo/mustache.html +68 -0
  119. data/server/assets/js/jquery.codemirror/demo/placeholder.html +45 -0
  120. data/server/assets/js/jquery.codemirror/demo/preview.html +88 -0
  121. data/server/assets/js/jquery.codemirror/demo/resize.html +58 -0
  122. data/server/assets/js/jquery.codemirror/demo/runmode.html +62 -0
  123. data/server/assets/js/jquery.codemirror/demo/search.html +94 -0
  124. data/server/assets/js/jquery.codemirror/demo/spanaffectswrapping_shim.html +85 -0
  125. data/server/assets/js/jquery.codemirror/demo/tern.html +129 -0
  126. data/server/assets/js/jquery.codemirror/demo/theme.html +121 -0
  127. data/server/assets/js/jquery.codemirror/demo/trailingspace.html +48 -0
  128. data/server/assets/js/jquery.codemirror/demo/variableheight.html +67 -0
  129. data/server/assets/js/jquery.codemirror/demo/vim.html +74 -0
  130. data/server/assets/js/jquery.codemirror/demo/visibletabs.html +62 -0
  131. data/server/assets/js/jquery.codemirror/demo/widget.html +85 -0
  132. data/server/assets/js/jquery.codemirror/demo/xmlcomplete.html +116 -0
  133. data/server/assets/js/jquery.codemirror/index.html +192 -0
  134. data/server/assets/js/jquery.codemirror/keymap/emacs.js +387 -0
  135. data/server/assets/js/jquery.codemirror/keymap/extra.js +43 -0
  136. data/server/assets/js/jquery.codemirror/keymap/vim.js +3703 -0
  137. data/server/assets/js/jquery.codemirror/lib/codemirror.css +263 -0
  138. data/server/assets/js/jquery.codemirror/lib/codemirror.js +5944 -0
  139. data/server/assets/js/jquery.codemirror/mode/apl/apl.js +160 -0
  140. data/server/assets/js/jquery.codemirror/mode/apl/index.html +72 -0
  141. data/server/assets/js/jquery.codemirror/mode/asterisk/asterisk.js +183 -0
  142. data/server/assets/js/jquery.codemirror/mode/asterisk/index.html +154 -0
  143. data/server/assets/js/jquery.codemirror/mode/clike/clike.js +362 -0
  144. data/server/assets/js/jquery.codemirror/mode/clike/index.html +195 -0
  145. data/server/assets/js/jquery.codemirror/mode/clike/scala.html +767 -0
  146. data/server/assets/js/jquery.codemirror/mode/clojure/clojure.js +224 -0
  147. data/server/assets/js/jquery.codemirror/mode/clojure/index.html +88 -0
  148. data/server/assets/js/jquery.codemirror/mode/cobol/cobol.js +240 -0
  149. data/server/assets/js/jquery.codemirror/mode/cobol/index.html +210 -0
  150. data/server/assets/js/jquery.codemirror/mode/coffeescript/coffeescript.js +354 -0
  151. data/server/assets/js/jquery.codemirror/mode/coffeescript/index.html +740 -0
  152. data/server/assets/js/jquery.codemirror/mode/commonlisp/commonlisp.js +105 -0
  153. data/server/assets/js/jquery.codemirror/mode/commonlisp/index.html +177 -0
  154. data/server/assets/js/jquery.codemirror/mode/css/css.js +639 -0
  155. data/server/assets/js/jquery.codemirror/mode/css/index.html +70 -0
  156. data/server/assets/js/jquery.codemirror/mode/css/scss.html +157 -0
  157. data/server/assets/js/jquery.codemirror/mode/css/scss_test.js +93 -0
  158. data/server/assets/js/jquery.codemirror/mode/css/test.js +142 -0
  159. data/server/assets/js/jquery.codemirror/mode/d/d.js +205 -0
  160. data/server/assets/js/jquery.codemirror/mode/d/index.html +273 -0
  161. data/server/assets/js/jquery.codemirror/mode/diff/diff.js +32 -0
  162. data/server/assets/js/jquery.codemirror/mode/diff/index.html +117 -0
  163. data/server/assets/js/jquery.codemirror/mode/dtd/dtd.js +127 -0
  164. data/server/assets/js/jquery.codemirror/mode/dtd/index.html +89 -0
  165. data/server/assets/js/jquery.codemirror/mode/ecl/ecl.js +192 -0
  166. data/server/assets/js/jquery.codemirror/mode/ecl/index.html +52 -0
  167. data/server/assets/js/jquery.codemirror/mode/eiffel/eiffel.js +147 -0
  168. data/server/assets/js/jquery.codemirror/mode/eiffel/index.html +430 -0
  169. data/server/assets/js/jquery.codemirror/mode/erlang/erlang.js +484 -0
  170. data/server/assets/js/jquery.codemirror/mode/erlang/index.html +75 -0
  171. data/server/assets/js/jquery.codemirror/mode/fortran/fortran.js +173 -0
  172. data/server/assets/js/jquery.codemirror/mode/fortran/index.html +81 -0
  173. data/server/assets/js/jquery.codemirror/mode/gas/gas.js +330 -0
  174. data/server/assets/js/jquery.codemirror/mode/gas/index.html +68 -0
  175. data/server/assets/js/jquery.codemirror/mode/gfm/gfm.js +97 -0
  176. data/server/assets/js/jquery.codemirror/mode/gfm/index.html +82 -0
  177. data/server/assets/js/jquery.codemirror/mode/gfm/test.js +112 -0
  178. data/server/assets/js/jquery.codemirror/mode/gherkin/gherkin.js +168 -0
  179. data/server/assets/js/jquery.codemirror/mode/gherkin/index.html +48 -0
  180. data/server/assets/js/jquery.codemirror/mode/go/go.js +168 -0
  181. data/server/assets/js/jquery.codemirror/mode/go/index.html +85 -0
  182. data/server/assets/js/jquery.codemirror/mode/groovy/groovy.js +211 -0
  183. data/server/assets/js/jquery.codemirror/mode/groovy/index.html +84 -0
  184. data/server/assets/js/jquery.codemirror/mode/haml/haml.js +153 -0
  185. data/server/assets/js/jquery.codemirror/mode/haml/index.html +79 -0
  186. data/server/assets/js/jquery.codemirror/mode/haml/test.js +94 -0
  187. data/server/assets/js/jquery.codemirror/mode/haskell/haskell.js +250 -0
  188. data/server/assets/js/jquery.codemirror/mode/haskell/index.html +73 -0
  189. data/server/assets/js/jquery.codemirror/mode/haxe/haxe.js +429 -0
  190. data/server/assets/js/jquery.codemirror/mode/haxe/index.html +103 -0
  191. data/server/assets/js/jquery.codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  192. data/server/assets/js/jquery.codemirror/mode/htmlembedded/index.html +60 -0
  193. data/server/assets/js/jquery.codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  194. data/server/assets/js/jquery.codemirror/mode/htmlmixed/index.html +85 -0
  195. data/server/assets/js/jquery.codemirror/mode/http/http.js +98 -0
  196. data/server/assets/js/jquery.codemirror/mode/http/index.html +45 -0
  197. data/server/assets/js/jquery.codemirror/mode/index.html +114 -0
  198. data/server/assets/js/jquery.codemirror/mode/jade/index.html +66 -0
  199. data/server/assets/js/jquery.codemirror/mode/jade/jade.js +90 -0
  200. data/server/assets/js/jquery.codemirror/mode/javascript/index.html +107 -0
  201. data/server/assets/js/jquery.codemirror/mode/javascript/javascript.js +617 -0
  202. data/server/assets/js/jquery.codemirror/mode/javascript/test.js +72 -0
  203. data/server/assets/js/jquery.codemirror/mode/javascript/typescript.html +61 -0
  204. data/server/assets/js/jquery.codemirror/mode/jinja2/index.html +50 -0
  205. data/server/assets/js/jquery.codemirror/mode/jinja2/jinja2.js +42 -0
  206. data/server/assets/js/jquery.codemirror/mode/julia/index.html +187 -0
  207. data/server/assets/js/jquery.codemirror/mode/julia/julia.js +262 -0
  208. data/server/assets/js/jquery.codemirror/mode/less/index.html +753 -0
  209. data/server/assets/js/jquery.codemirror/mode/less/less.js +346 -0
  210. data/server/assets/js/jquery.codemirror/mode/livescript/index.html +459 -0
  211. data/server/assets/js/jquery.codemirror/mode/livescript/livescript.js +267 -0
  212. data/server/assets/js/jquery.codemirror/mode/livescript/livescript.ls +266 -0
  213. data/server/assets/js/jquery.codemirror/mode/lua/index.html +86 -0
  214. data/server/assets/js/jquery.codemirror/mode/lua/lua.js +144 -0
  215. data/server/assets/js/jquery.codemirror/mode/markdown/index.html +359 -0
  216. data/server/assets/js/jquery.codemirror/mode/markdown/markdown.js +560 -0
  217. data/server/assets/js/jquery.codemirror/mode/markdown/test.js +664 -0
  218. data/server/assets/js/jquery.codemirror/mode/meta.js +91 -0
  219. data/server/assets/js/jquery.codemirror/mode/mirc/index.html +161 -0
  220. data/server/assets/js/jquery.codemirror/mode/mirc/mirc.js +177 -0
  221. data/server/assets/js/jquery.codemirror/mode/nginx/index.html +181 -0
  222. data/server/assets/js/jquery.codemirror/mode/nginx/nginx.js +163 -0
  223. data/server/assets/js/jquery.codemirror/mode/ntriples/index.html +45 -0
  224. data/server/assets/js/jquery.codemirror/mode/ntriples/ntriples.js +170 -0
  225. data/server/assets/js/jquery.codemirror/mode/ocaml/index.html +146 -0
  226. data/server/assets/js/jquery.codemirror/mode/ocaml/ocaml.js +116 -0
  227. data/server/assets/js/jquery.codemirror/mode/octave/index.html +95 -0
  228. data/server/assets/js/jquery.codemirror/mode/octave/octave.js +118 -0
  229. data/server/assets/js/jquery.codemirror/mode/pascal/index.html +61 -0
  230. data/server/assets/js/jquery.codemirror/mode/pascal/pascal.js +94 -0
  231. data/server/assets/js/jquery.codemirror/mode/pegjs/index.html +66 -0
  232. data/server/assets/js/jquery.codemirror/mode/pegjs/pegjs.js +103 -0
  233. data/server/assets/js/jquery.codemirror/mode/perl/index.html +75 -0
  234. data/server/assets/js/jquery.codemirror/mode/perl/perl.js +816 -0
  235. data/server/assets/js/jquery.codemirror/mode/php/index.html +62 -0
  236. data/server/assets/js/jquery.codemirror/mode/php/php.js +132 -0
  237. data/server/assets/js/jquery.codemirror/mode/pig/index.html +55 -0
  238. data/server/assets/js/jquery.codemirror/mode/pig/pig.js +171 -0
  239. data/server/assets/js/jquery.codemirror/mode/properties/index.html +53 -0
  240. data/server/assets/js/jquery.codemirror/mode/properties/properties.js +63 -0
  241. data/server/assets/js/jquery.codemirror/mode/python/index.html +187 -0
  242. data/server/assets/js/jquery.codemirror/mode/python/python.js +368 -0
  243. data/server/assets/js/jquery.codemirror/mode/q/index.html +144 -0
  244. data/server/assets/js/jquery.codemirror/mode/q/q.js +124 -0
  245. data/server/assets/js/jquery.codemirror/mode/r/index.html +86 -0
  246. data/server/assets/js/jquery.codemirror/mode/r/r.js +141 -0
  247. data/server/assets/js/jquery.codemirror/mode/rpm/changes/changes.js +19 -0
  248. data/server/assets/js/jquery.codemirror/mode/rpm/changes/index.html +67 -0
  249. data/server/assets/js/jquery.codemirror/mode/rpm/spec/index.html +114 -0
  250. data/server/assets/js/jquery.codemirror/mode/rpm/spec/spec.css +5 -0
  251. data/server/assets/js/jquery.codemirror/mode/rpm/spec/spec.js +66 -0
  252. data/server/assets/js/jquery.codemirror/mode/rst/index.html +534 -0
  253. data/server/assets/js/jquery.codemirror/mode/rst/rst.js +560 -0
  254. data/server/assets/js/jquery.codemirror/mode/ruby/index.html +185 -0
  255. data/server/assets/js/jquery.codemirror/mode/ruby/ruby.js +247 -0
  256. data/server/assets/js/jquery.codemirror/mode/rust/index.html +61 -0
  257. data/server/assets/js/jquery.codemirror/mode/rust/rust.js +436 -0
  258. data/server/assets/js/jquery.codemirror/mode/sass/index.html +66 -0
  259. data/server/assets/js/jquery.codemirror/mode/sass/sass.js +330 -0
  260. data/server/assets/js/jquery.codemirror/mode/scheme/index.html +77 -0
  261. data/server/assets/js/jquery.codemirror/mode/scheme/scheme.js +232 -0
  262. data/server/assets/js/jquery.codemirror/mode/shell/index.html +66 -0
  263. data/server/assets/js/jquery.codemirror/mode/shell/shell.js +118 -0
  264. data/server/assets/js/jquery.codemirror/mode/sieve/index.html +93 -0
  265. data/server/assets/js/jquery.codemirror/mode/sieve/sieve.js +183 -0
  266. data/server/assets/js/jquery.codemirror/mode/smalltalk/index.html +68 -0
  267. data/server/assets/js/jquery.codemirror/mode/smalltalk/smalltalk.js +151 -0
  268. data/server/assets/js/jquery.codemirror/mode/smarty/index.html +136 -0
  269. data/server/assets/js/jquery.codemirror/mode/smarty/smarty.js +205 -0
  270. data/server/assets/js/jquery.codemirror/mode/smartymixed/index.html +114 -0
  271. data/server/assets/js/jquery.codemirror/mode/smartymixed/smartymixed.js +175 -0
  272. data/server/assets/js/jquery.codemirror/mode/sparql/index.html +54 -0
  273. data/server/assets/js/jquery.codemirror/mode/sparql/sparql.js +145 -0
  274. data/server/assets/js/jquery.codemirror/mode/sql/index.html +75 -0
  275. data/server/assets/js/jquery.codemirror/mode/sql/sql.js +365 -0
  276. data/server/assets/js/jquery.codemirror/mode/stex/index.html +110 -0
  277. data/server/assets/js/jquery.codemirror/mode/stex/stex.js +246 -0
  278. data/server/assets/js/jquery.codemirror/mode/stex/test.js +120 -0
  279. data/server/assets/js/jquery.codemirror/mode/tcl/index.html +143 -0
  280. data/server/assets/js/jquery.codemirror/mode/tcl/tcl.js +131 -0
  281. data/server/assets/js/jquery.codemirror/mode/tiddlywiki/index.html +155 -0
  282. data/server/assets/js/jquery.codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  283. data/server/assets/js/jquery.codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  284. data/server/assets/js/jquery.codemirror/mode/tiki/index.html +95 -0
  285. data/server/assets/js/jquery.codemirror/mode/tiki/tiki.css +26 -0
  286. data/server/assets/js/jquery.codemirror/mode/tiki/tiki.js +308 -0
  287. data/server/assets/js/jquery.codemirror/mode/toml/index.html +73 -0
  288. data/server/assets/js/jquery.codemirror/mode/toml/toml.js +71 -0
  289. data/server/assets/js/jquery.codemirror/mode/turtle/index.html +51 -0
  290. data/server/assets/js/jquery.codemirror/mode/turtle/turtle.js +145 -0
  291. data/server/assets/js/jquery.codemirror/mode/vb/index.html +103 -0
  292. data/server/assets/js/jquery.codemirror/mode/vb/vb.js +259 -0
  293. data/server/assets/js/jquery.codemirror/mode/vbscript/index.html +55 -0
  294. data/server/assets/js/jquery.codemirror/mode/vbscript/vbscript.js +334 -0
  295. data/server/assets/js/jquery.codemirror/mode/velocity/index.html +119 -0
  296. data/server/assets/js/jquery.codemirror/mode/velocity/velocity.js +186 -0
  297. data/server/assets/js/jquery.codemirror/mode/verilog/index.html +132 -0
  298. data/server/assets/js/jquery.codemirror/mode/verilog/verilog.js +182 -0
  299. data/server/assets/js/jquery.codemirror/mode/xml/index.html +57 -0
  300. data/server/assets/js/jquery.codemirror/mode/xml/xml.js +345 -0
  301. data/server/assets/js/jquery.codemirror/mode/xquery/index.html +210 -0
  302. data/server/assets/js/jquery.codemirror/mode/xquery/test.js +64 -0
  303. data/server/assets/js/jquery.codemirror/mode/xquery/xquery.js +432 -0
  304. data/server/assets/js/jquery.codemirror/mode/yaml/index.html +80 -0
  305. data/server/assets/js/jquery.codemirror/mode/yaml/yaml.js +97 -0
  306. data/server/assets/js/jquery.codemirror/mode/z80/index.html +52 -0
  307. data/server/assets/js/jquery.codemirror/mode/z80/z80.js +85 -0
  308. data/server/assets/js/jquery.codemirror/package.json +19 -0
  309. data/server/assets/js/jquery.codemirror/test/comment_test.js +51 -0
  310. data/server/assets/js/jquery.codemirror/test/doc_test.js +329 -0
  311. data/server/assets/js/jquery.codemirror/test/driver.js +139 -0
  312. data/server/assets/js/jquery.codemirror/test/emacs_test.js +135 -0
  313. data/server/assets/js/jquery.codemirror/test/index.html +209 -0
  314. data/server/assets/js/jquery.codemirror/test/lint/acorn.js +1593 -0
  315. data/server/assets/js/jquery.codemirror/test/lint/lint.js +139 -0
  316. data/server/assets/js/jquery.codemirror/test/lint/walk.js +216 -0
  317. data/server/assets/js/jquery.codemirror/test/mode_test.css +10 -0
  318. data/server/assets/js/jquery.codemirror/test/mode_test.js +200 -0
  319. data/server/assets/js/jquery.codemirror/test/phantom_driver.js +31 -0
  320. data/server/assets/js/jquery.codemirror/test/run.js +34 -0
  321. data/server/assets/js/jquery.codemirror/test/test.js +1562 -0
  322. data/server/assets/js/jquery.codemirror/test/vim_test.js +2391 -0
  323. data/server/assets/js/jquery.codemirror/theme/3024-day.css +34 -0
  324. data/server/assets/js/jquery.codemirror/theme/3024-night.css +34 -0
  325. data/server/assets/js/jquery.codemirror/theme/ambiance-mobile.css +5 -0
  326. data/server/assets/js/jquery.codemirror/theme/ambiance.css +70 -0
  327. data/server/assets/js/jquery.codemirror/theme/base16-dark.css +34 -0
  328. data/server/assets/js/jquery.codemirror/theme/base16-light.css +34 -0
  329. data/server/assets/js/jquery.codemirror/theme/blackboard.css +28 -0
  330. data/server/assets/js/jquery.codemirror/theme/cobalt.css +21 -0
  331. data/server/assets/js/jquery.codemirror/theme/eclipse.css +23 -0
  332. data/server/assets/js/jquery.codemirror/theme/elegant.css +13 -0
  333. data/server/assets/js/jquery.codemirror/theme/erlang-dark.css +30 -0
  334. data/server/assets/js/jquery.codemirror/theme/lesser-dark.css +47 -0
  335. data/server/assets/js/jquery.codemirror/theme/mbo.css +37 -0
  336. data/server/assets/js/jquery.codemirror/theme/midnight.css +43 -0
  337. data/server/assets/js/jquery.codemirror/theme/monokai.css +29 -0
  338. data/server/assets/js/jquery.codemirror/theme/neat.css +12 -0
  339. data/server/assets/js/jquery.codemirror/theme/night.css +24 -0
  340. data/server/assets/js/jquery.codemirror/theme/paraiso-dark.css +34 -0
  341. data/server/assets/js/jquery.codemirror/theme/paraiso-light.css +34 -0
  342. data/server/assets/js/jquery.codemirror/theme/rubyblue.css +23 -0
  343. data/server/assets/js/jquery.codemirror/theme/solarized.css +180 -0
  344. data/server/assets/js/jquery.codemirror/theme/the-matrix.css +26 -0
  345. data/server/assets/js/jquery.codemirror/theme/tomorrow-night-eighties.css +34 -0
  346. data/server/assets/js/jquery.codemirror/theme/twilight.css +28 -0
  347. data/server/assets/js/jquery.codemirror/theme/vibrant-ink.css +30 -0
  348. data/server/assets/js/jquery.codemirror/theme/xq-dark.css +49 -0
  349. data/server/assets/js/jquery.codemirror/theme/xq-light.css +43 -0
  350. data/server/assets/js/jquery.js +4 -0
  351. data/server/assets/js/jquery.nanoscroller/jquery.nanoscroller.js +2 -0
  352. data/server/assets/js/jquery.nanoscroller/nanoscroller.css +49 -0
  353. data/server/assets/js/tester.js +161 -0
  354. data/server/config.ru +2 -0
  355. data/server/server.rb +41 -0
  356. data/server/views/_content.erb +65 -0
  357. data/server/views/_sidebar.erb +32 -0
  358. data/server/views/index.erb +40 -0
  359. metadata +402 -0
@@ -0,0 +1,484 @@
1
+ // block; "begin", "case", "fun", "if", "receive", "try": closed by "end"
2
+ // block internal; "after", "catch", "of"
3
+ // guard; "when", closed by "->"
4
+ // "->" opens a clause, closed by ";" or "."
5
+ // "<<" opens a binary, closed by ">>"
6
+ // "," appears in arglists, lists, tuples and terminates lines of code
7
+ // "." resets indentation to 0
8
+ // obsolete; "cond", "let", "query"
9
+
10
+ CodeMirror.defineMIME("text/x-erlang", "erlang");
11
+
12
+ CodeMirror.defineMode("erlang", function(cmCfg) {
13
+
14
+ function rval(state,_stream,type) {
15
+ // distinguish between "." as terminator and record field operator
16
+ state.in_record = (type == "record");
17
+
18
+ // erlang -> CodeMirror tag
19
+ switch (type) {
20
+ case "atom": return "atom";
21
+ case "attribute": return "attribute";
22
+ case "boolean": return "special";
23
+ case "builtin": return "builtin";
24
+ case "comment": return "comment";
25
+ case "fun": return "meta";
26
+ case "function": return "tag";
27
+ case "guard": return "property";
28
+ case "keyword": return "keyword";
29
+ case "macro": return "variable-2";
30
+ case "number": return "number";
31
+ case "operator": return "operator";
32
+ case "record": return "bracket";
33
+ case "string": return "string";
34
+ case "type": return "def";
35
+ case "variable": return "variable";
36
+ case "error": return "error";
37
+ case "separator": return null;
38
+ case "open_paren": return null;
39
+ case "close_paren": return null;
40
+ default: return null;
41
+ }
42
+ }
43
+
44
+ var typeWords = [
45
+ "-type", "-spec", "-export_type", "-opaque"];
46
+
47
+ var keywordWords = [
48
+ "after","begin","catch","case","cond","end","fun","if",
49
+ "let","of","query","receive","try","when"];
50
+
51
+ var separatorRE = /[\->\.,:;]/;
52
+ var separatorWords = [
53
+ "->",";",":",".",","];
54
+
55
+ var operatorWords = [
56
+ "and","andalso","band","bnot","bor","bsl","bsr","bxor",
57
+ "div","not","or","orelse","rem","xor"];
58
+
59
+ var symbolRE = /[\+\-\*\/<>=\|:!]/;
60
+ var symbolWords = [
61
+ "+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"];
62
+
63
+ var openParenRE = /[<\(\[\{]/;
64
+ var openParenWords = [
65
+ "<<","(","[","{"];
66
+
67
+ var closeParenRE = /[>\)\]\}]/;
68
+ var closeParenWords = [
69
+ "}","]",")",">>"];
70
+
71
+ var guardWords = [
72
+ "is_atom","is_binary","is_bitstring","is_boolean","is_float",
73
+ "is_function","is_integer","is_list","is_number","is_pid",
74
+ "is_port","is_record","is_reference","is_tuple",
75
+ "atom","binary","bitstring","boolean","function","integer","list",
76
+ "number","pid","port","record","reference","tuple"];
77
+
78
+ var bifWords = [
79
+ "abs","adler32","adler32_combine","alive","apply","atom_to_binary",
80
+ "atom_to_list","binary_to_atom","binary_to_existing_atom",
81
+ "binary_to_list","binary_to_term","bit_size","bitstring_to_list",
82
+ "byte_size","check_process_code","contact_binary","crc32",
83
+ "crc32_combine","date","decode_packet","delete_module",
84
+ "disconnect_node","element","erase","exit","float","float_to_list",
85
+ "garbage_collect","get","get_keys","group_leader","halt","hd",
86
+ "integer_to_list","internal_bif","iolist_size","iolist_to_binary",
87
+ "is_alive","is_atom","is_binary","is_bitstring","is_boolean",
88
+ "is_float","is_function","is_integer","is_list","is_number","is_pid",
89
+ "is_port","is_process_alive","is_record","is_reference","is_tuple",
90
+ "length","link","list_to_atom","list_to_binary","list_to_bitstring",
91
+ "list_to_existing_atom","list_to_float","list_to_integer",
92
+ "list_to_pid","list_to_tuple","load_module","make_ref","module_loaded",
93
+ "monitor_node","node","node_link","node_unlink","nodes","notalive",
94
+ "now","open_port","pid_to_list","port_close","port_command",
95
+ "port_connect","port_control","pre_loaded","process_flag",
96
+ "process_info","processes","purge_module","put","register",
97
+ "registered","round","self","setelement","size","spawn","spawn_link",
98
+ "spawn_monitor","spawn_opt","split_binary","statistics",
99
+ "term_to_binary","time","throw","tl","trunc","tuple_size",
100
+ "tuple_to_list","unlink","unregister","whereis"];
101
+
102
+ // [Ø-Þ] [À-Ö]
103
+ // [ß-ö] [ø-ÿ]
104
+ var anumRE = /[\w@Ø-ÞÀ-Öß-öø-ÿ]/;
105
+ var escapesRE =
106
+ /[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;
107
+
108
+ function tokenize(stream, state) {
109
+
110
+ // in multi-line string
111
+ if (state.in_string) {
112
+ state.in_string = (!doubleQuote(stream));
113
+ return rval(state,stream,"string");
114
+ }
115
+
116
+ // in multi-line atom
117
+ if (state.in_atom) {
118
+ state.in_atom = (!singleQuote(stream));
119
+ return rval(state,stream,"atom");
120
+ }
121
+
122
+ // whitespace
123
+ if (stream.eatSpace()) {
124
+ return rval(state,stream,"whitespace");
125
+ }
126
+
127
+ // attributes and type specs
128
+ if ((peekToken(state).token == "") &&
129
+ stream.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/)) {
130
+ if (isMember(stream.current(),typeWords)) {
131
+ return rval(state,stream,"type");
132
+ }else{
133
+ return rval(state,stream,"attribute");
134
+ }
135
+ }
136
+
137
+ var ch = stream.next();
138
+
139
+ // comment
140
+ if (ch == '%') {
141
+ stream.skipToEnd();
142
+ return rval(state,stream,"comment");
143
+ }
144
+
145
+ // macro
146
+ if (ch == '?') {
147
+ stream.eatWhile(anumRE);
148
+ return rval(state,stream,"macro");
149
+ }
150
+
151
+ // record
152
+ if (ch == "#") {
153
+ stream.eatWhile(anumRE);
154
+ return rval(state,stream,"record");
155
+ }
156
+
157
+ // dollar escape
158
+ if ( ch == "$" ) {
159
+ if (stream.next() == "\\" && !stream.match(escapesRE)) {
160
+ return rval(state,stream,"error");
161
+ }
162
+ return rval(state,stream,"number");
163
+ }
164
+
165
+ // quoted atom
166
+ if (ch == '\'') {
167
+ if (!(state.in_atom = (!singleQuote(stream)))) {
168
+ if (stream.match(/\s*\/\s*[0-9]/,false)) {
169
+ stream.match(/\s*\/\s*[0-9]/,true);
170
+ popToken(state);
171
+ return rval(state,stream,"fun"); // 'f'/0 style fun
172
+ }
173
+ if (stream.match(/\s*\(/,false) || stream.match(/\s*:/,false)) {
174
+ return rval(state,stream,"function");
175
+ }
176
+ }
177
+ return rval(state,stream,"atom");
178
+ }
179
+
180
+ // string
181
+ if (ch == '"') {
182
+ state.in_string = (!doubleQuote(stream));
183
+ return rval(state,stream,"string");
184
+ }
185
+
186
+ // variable
187
+ if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) {
188
+ stream.eatWhile(anumRE);
189
+ return rval(state,stream,"variable");
190
+ }
191
+
192
+ // atom/keyword/BIF/function
193
+ if (/[a-z_ß-öø-ÿ]/.test(ch)) {
194
+ stream.eatWhile(anumRE);
195
+
196
+ if (stream.match(/\s*\/\s*[0-9]/,false)) {
197
+ stream.match(/\s*\/\s*[0-9]/,true);
198
+ popToken(state);
199
+ return rval(state,stream,"fun"); // f/0 style fun
200
+ }
201
+
202
+ var w = stream.current();
203
+
204
+ if (isMember(w,keywordWords)) {
205
+ pushToken(state,stream);
206
+ return rval(state,stream,"keyword");
207
+ }else if (stream.match(/\s*\(/,false)) {
208
+ // 'put' and 'erlang:put' are bifs, 'foo:put' is not
209
+ if (isMember(w,bifWords) &&
210
+ (!isPrev(stream,":") || isPrev(stream,"erlang:"))) {
211
+ return rval(state,stream,"builtin");
212
+ }else if (isMember(w,guardWords)) {
213
+ return rval(state,stream,"guard");
214
+ }else{
215
+ return rval(state,stream,"function");
216
+ }
217
+ }else if (isMember(w,operatorWords)) {
218
+ return rval(state,stream,"operator");
219
+ }else if (stream.match(/\s*:/,false)) {
220
+ if (w == "erlang") {
221
+ return rval(state,stream,"builtin");
222
+ } else {
223
+ return rval(state,stream,"function");
224
+ }
225
+ }else if (isMember(w,["true","false"])) {
226
+ return rval(state,stream,"boolean");
227
+ }else{
228
+ return rval(state,stream,"atom");
229
+ }
230
+ }
231
+
232
+ // number
233
+ var digitRE = /[0-9]/;
234
+ var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int
235
+ if (digitRE.test(ch)) {
236
+ stream.eatWhile(digitRE);
237
+ if (stream.eat('#')) {
238
+ stream.eatWhile(radixRE); // 36#aZ style integer
239
+ } else {
240
+ if (stream.eat('.')) { // float
241
+ stream.eatWhile(digitRE);
242
+ }
243
+ if (stream.eat(/[eE]/)) {
244
+ stream.eat(/[-+]/); // float with exponent
245
+ stream.eatWhile(digitRE);
246
+ }
247
+ }
248
+ return rval(state,stream,"number"); // normal integer
249
+ }
250
+
251
+ // open parens
252
+ if (nongreedy(stream,openParenRE,openParenWords)) {
253
+ pushToken(state,stream);
254
+ return rval(state,stream,"open_paren");
255
+ }
256
+
257
+ // close parens
258
+ if (nongreedy(stream,closeParenRE,closeParenWords)) {
259
+ pushToken(state,stream);
260
+ return rval(state,stream,"close_paren");
261
+ }
262
+
263
+ // separators
264
+ if (greedy(stream,separatorRE,separatorWords)) {
265
+ // distinguish between "." as terminator and record field operator
266
+ if (!state.in_record) {
267
+ pushToken(state,stream);
268
+ }
269
+ return rval(state,stream,"separator");
270
+ }
271
+
272
+ // operators
273
+ if (greedy(stream,symbolRE,symbolWords)) {
274
+ return rval(state,stream,"operator");
275
+ }
276
+
277
+ return rval(state,stream,null);
278
+ }
279
+
280
+ function isPrev(stream,string) {
281
+ var start = stream.start;
282
+ var len = string.length;
283
+ if (len <= start) {
284
+ var word = stream.string.slice(start-len,start);
285
+ return word == string;
286
+ }else{
287
+ return false;
288
+ }
289
+ }
290
+
291
+ function nongreedy(stream,re,words) {
292
+ if (stream.current().length == 1 && re.test(stream.current())) {
293
+ stream.backUp(1);
294
+ while (re.test(stream.peek())) {
295
+ stream.next();
296
+ if (isMember(stream.current(),words)) {
297
+ return true;
298
+ }
299
+ }
300
+ stream.backUp(stream.current().length-1);
301
+ }
302
+ return false;
303
+ }
304
+
305
+ function greedy(stream,re,words) {
306
+ if (stream.current().length == 1 && re.test(stream.current())) {
307
+ while (re.test(stream.peek())) {
308
+ stream.next();
309
+ }
310
+ while (0 < stream.current().length) {
311
+ if (isMember(stream.current(),words)) {
312
+ return true;
313
+ }else{
314
+ stream.backUp(1);
315
+ }
316
+ }
317
+ stream.next();
318
+ }
319
+ return false;
320
+ }
321
+
322
+ function doubleQuote(stream) {
323
+ return quote(stream, '"', '\\');
324
+ }
325
+
326
+ function singleQuote(stream) {
327
+ return quote(stream,'\'','\\');
328
+ }
329
+
330
+ function quote(stream,quoteChar,escapeChar) {
331
+ while (!stream.eol()) {
332
+ var ch = stream.next();
333
+ if (ch == quoteChar) {
334
+ return true;
335
+ }else if (ch == escapeChar) {
336
+ stream.next();
337
+ }
338
+ }
339
+ return false;
340
+ }
341
+
342
+ function isMember(element,list) {
343
+ return (-1 < list.indexOf(element));
344
+ }
345
+
346
+ /////////////////////////////////////////////////////////////////////////////
347
+ function myIndent(state,textAfter) {
348
+ var indent = cmCfg.indentUnit;
349
+ var token = (peekToken(state)).token;
350
+ var wordAfter = takewhile(textAfter,/[^a-z]/);
351
+
352
+ if (state.in_string || state.in_atom) {
353
+ return CodeMirror.Pass;
354
+ }else if (token == "") {
355
+ return 0;
356
+ }else if (isMember(token,openParenWords)) {
357
+ return (peekToken(state)).column+token.length;
358
+ }else if (token == "when") {
359
+ return (peekToken(state)).column+token.length+1;
360
+ }else if (token == "fun" && wordAfter == "") {
361
+ return (peekToken(state)).column+token.length;
362
+ }else if (token == "->") {
363
+ if (isMember(wordAfter,["end","after","catch"])) {
364
+ return peekToken(state,2).column;
365
+ }else if (peekToken(state,2).token == "fun") {
366
+ return peekToken(state,2).column+indent;
367
+ }else if (peekToken(state,2).token == "") {
368
+ return indent;
369
+ }else{
370
+ return (peekToken(state)).indent+indent;
371
+ }
372
+ }else if (isMember(wordAfter,["after","catch","of"])) {
373
+ return (peekToken(state)).indent;
374
+ }else{
375
+ return (peekToken(state)).column+indent;
376
+ }
377
+ }
378
+
379
+ function takewhile(str,re) {
380
+ var m = str.match(re);
381
+ return m ? str.slice(0,m.index) : str;
382
+ }
383
+
384
+ function Token(stream) {
385
+ this.token = stream ? stream.current() : "";
386
+ this.column = stream ? stream.column() : 0;
387
+ this.indent = stream ? stream.indentation() : 0;
388
+ }
389
+
390
+ function popToken(state) {
391
+ return state.tokenStack.pop();
392
+ }
393
+
394
+ function peekToken(state,depth) {
395
+ var len = state.tokenStack.length;
396
+ var dep = (depth ? depth : 1);
397
+ if (len < dep) {
398
+ return new Token;
399
+ }else{
400
+ return state.tokenStack[len-dep];
401
+ }
402
+ }
403
+
404
+ function pushToken(state,stream) {
405
+ var token = stream.current();
406
+ var prev_token = peekToken(state).token;
407
+
408
+ if (token == ".") {
409
+ state.tokenStack = [];
410
+ return false;
411
+ }else if(isMember(token,[",", ":", "of", "cond", "let", "query"])) {
412
+ return false;
413
+ }else if (drop_last(prev_token,token)) {
414
+ return false;
415
+ }else if (drop_both(prev_token,token)) {
416
+ popToken(state);
417
+ return false;
418
+ }else if (drop_first(prev_token,token)) {
419
+ popToken(state);
420
+ return pushToken(state,stream);
421
+ }else if (isMember(token,["after","catch"])) {
422
+ return false;
423
+ }else{
424
+ state.tokenStack.push(new Token(stream));
425
+ return true;
426
+ }
427
+ }
428
+
429
+ function drop_last(open, close) {
430
+ switch(open+" "+close) {
431
+ case "when ;": return true;
432
+ default: return false;
433
+ }
434
+ }
435
+
436
+ function drop_first(open, close) {
437
+ switch (open+" "+close) {
438
+ case "when ->": return true;
439
+ case "-> end": return true;
440
+ default: return false;
441
+ }
442
+ }
443
+
444
+ function drop_both(open, close) {
445
+ switch (open+" "+close) {
446
+ case "( )": return true;
447
+ case "[ ]": return true;
448
+ case "{ }": return true;
449
+ case "<< >>": return true;
450
+ case "begin end": return true;
451
+ case "case end": return true;
452
+ case "fun end": return true;
453
+ case "if end": return true;
454
+ case "receive end": return true;
455
+ case "try end": return true;
456
+ case "-> catch": return true;
457
+ case "-> after": return true;
458
+ case "-> ;": return true;
459
+ default: return false;
460
+ }
461
+ }
462
+
463
+ return {
464
+ startState:
465
+ function() {
466
+ return {tokenStack: [],
467
+ in_record: false,
468
+ in_string: false,
469
+ in_atom: false};
470
+ },
471
+
472
+ token:
473
+ function(stream, state) {
474
+ return tokenize(stream, state);
475
+ },
476
+
477
+ indent:
478
+ function(state, textAfter) {
479
+ return myIndent(state,textAfter);
480
+ },
481
+
482
+ lineComment: "%"
483
+ };
484
+ });