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,30 @@
1
+ CodeMirror.registerHelper("fold", "indent", function(cm, start) {
2
+ var tabSize = cm.getOption("tabSize"), firstLine = cm.getLine(start.line);
3
+ if (!/\S/.test(firstLine)) return;
4
+ var getIndent = function(lineNum) {
5
+ return CodeMirror.countColumn(lineNum, null, tabSize);
6
+ };
7
+ var myIndent = getIndent(firstLine);
8
+ var lastLineInFold = null;
9
+ // Go through lines until we find a line that definitely doesn't belong in
10
+ // the block we're folding, or to the end.
11
+ for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) {
12
+ var curLine = cm.getLine(i);
13
+ var curIndent = getIndent(curLine);
14
+ if (curIndent > myIndent) {
15
+ // Lines with a greater indent are considered part of the block.
16
+ lastLineInFold = i;
17
+ } else if (!/\S/.test(curLine)) {
18
+ // Empty lines might be breaks within the block we're trying to fold.
19
+ } else {
20
+ // A non-empty line at an indent equal to or less than ours marks the
21
+ // start of another block.
22
+ break;
23
+ }
24
+ }
25
+ if (lastLineInFold) return {
26
+ from: CodeMirror.Pos(start.line, firstLine.length),
27
+ to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length)
28
+ };
29
+ });
30
+ CodeMirror.indentRangeFinder = CodeMirror.fold.indent; // deprecated
@@ -0,0 +1,167 @@
1
+ (function() {
2
+ "use strict";
3
+
4
+ var Pos = CodeMirror.Pos;
5
+ function cmp(a, b) { return a.line - b.line || a.ch - b.ch; }
6
+
7
+ var nameStartChar = "A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
8
+ var nameChar = nameStartChar + "\-\:\.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
9
+ var xmlTagStart = new RegExp("<(/?)([" + nameStartChar + "][" + nameChar + "]*)", "g");
10
+
11
+ function Iter(cm, line, ch, range) {
12
+ this.line = line; this.ch = ch;
13
+ this.cm = cm; this.text = cm.getLine(line);
14
+ this.min = range ? range.from : cm.firstLine();
15
+ this.max = range ? range.to - 1 : cm.lastLine();
16
+ }
17
+
18
+ function tagAt(iter, ch) {
19
+ var type = iter.cm.getTokenTypeAt(Pos(iter.line, ch));
20
+ return type && /\btag\b/.test(type);
21
+ }
22
+
23
+ function nextLine(iter) {
24
+ if (iter.line >= iter.max) return;
25
+ iter.ch = 0;
26
+ iter.text = iter.cm.getLine(++iter.line);
27
+ return true;
28
+ }
29
+ function prevLine(iter) {
30
+ if (iter.line <= iter.min) return;
31
+ iter.text = iter.cm.getLine(--iter.line);
32
+ iter.ch = iter.text.length;
33
+ return true;
34
+ }
35
+
36
+ function toTagEnd(iter) {
37
+ for (;;) {
38
+ var gt = iter.text.indexOf(">", iter.ch);
39
+ if (gt == -1) { if (nextLine(iter)) continue; else return; }
40
+ if (!tagAt(iter, gt + 1)) { iter.ch = gt + 1; continue; }
41
+ var lastSlash = iter.text.lastIndexOf("/", gt);
42
+ var selfClose = lastSlash > -1 && !/\S/.test(iter.text.slice(lastSlash + 1, gt));
43
+ iter.ch = gt + 1;
44
+ return selfClose ? "selfClose" : "regular";
45
+ }
46
+ }
47
+ function toTagStart(iter) {
48
+ for (;;) {
49
+ var lt = iter.ch ? iter.text.lastIndexOf("<", iter.ch - 1) : -1;
50
+ if (lt == -1) { if (prevLine(iter)) continue; else return; }
51
+ if (!tagAt(iter, lt + 1)) { iter.ch = lt; continue; }
52
+ xmlTagStart.lastIndex = lt;
53
+ iter.ch = lt;
54
+ var match = xmlTagStart.exec(iter.text);
55
+ if (match && match.index == lt) return match;
56
+ }
57
+ }
58
+
59
+ function toNextTag(iter) {
60
+ for (;;) {
61
+ xmlTagStart.lastIndex = iter.ch;
62
+ var found = xmlTagStart.exec(iter.text);
63
+ if (!found) { if (nextLine(iter)) continue; else return; }
64
+ if (!tagAt(iter, found.index + 1)) { iter.ch = found.index + 1; continue; }
65
+ iter.ch = found.index + found[0].length;
66
+ return found;
67
+ }
68
+ }
69
+ function toPrevTag(iter) {
70
+ for (;;) {
71
+ var gt = iter.ch ? iter.text.lastIndexOf(">", iter.ch - 1) : -1;
72
+ if (gt == -1) { if (prevLine(iter)) continue; else return; }
73
+ if (!tagAt(iter, gt + 1)) { iter.ch = gt; continue; }
74
+ var lastSlash = iter.text.lastIndexOf("/", gt);
75
+ var selfClose = lastSlash > -1 && !/\S/.test(iter.text.slice(lastSlash + 1, gt));
76
+ iter.ch = gt + 1;
77
+ return selfClose ? "selfClose" : "regular";
78
+ }
79
+ }
80
+
81
+ function findMatchingClose(iter, tag) {
82
+ var stack = [];
83
+ for (;;) {
84
+ var next = toNextTag(iter), end, startLine = iter.line, startCh = iter.ch - (next ? next[0].length : 0);
85
+ if (!next || !(end = toTagEnd(iter))) return;
86
+ if (end == "selfClose") continue;
87
+ if (next[1]) { // closing tag
88
+ for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == next[2]) {
89
+ stack.length = i;
90
+ break;
91
+ }
92
+ if (i < 0 && (!tag || tag == next[2])) return {
93
+ tag: next[2],
94
+ from: Pos(startLine, startCh),
95
+ to: Pos(iter.line, iter.ch)
96
+ };
97
+ } else { // opening tag
98
+ stack.push(next[2]);
99
+ }
100
+ }
101
+ }
102
+ function findMatchingOpen(iter, tag) {
103
+ var stack = [];
104
+ for (;;) {
105
+ var prev = toPrevTag(iter);
106
+ if (!prev) return;
107
+ if (prev == "selfClose") { toTagStart(iter); continue; }
108
+ var endLine = iter.line, endCh = iter.ch;
109
+ var start = toTagStart(iter);
110
+ if (!start) return;
111
+ if (start[1]) { // closing tag
112
+ stack.push(start[2]);
113
+ } else { // opening tag
114
+ for (var i = stack.length - 1; i >= 0; --i) if (stack[i] == start[2]) {
115
+ stack.length = i;
116
+ break;
117
+ }
118
+ if (i < 0 && (!tag || tag == start[2])) return {
119
+ tag: start[2],
120
+ from: Pos(iter.line, iter.ch),
121
+ to: Pos(endLine, endCh)
122
+ };
123
+ }
124
+ }
125
+ }
126
+
127
+ CodeMirror.registerHelper("fold", "xml", function(cm, start) {
128
+ var iter = new Iter(cm, start.line, 0);
129
+ for (;;) {
130
+ var openTag = toNextTag(iter), end;
131
+ if (!openTag || iter.line != start.line || !(end = toTagEnd(iter))) return;
132
+ if (!openTag[1] && end != "selfClose") {
133
+ var start = Pos(iter.line, iter.ch);
134
+ var close = findMatchingClose(iter, openTag[2]);
135
+ return close && {from: start, to: close.from};
136
+ }
137
+ }
138
+ });
139
+ CodeMirror.tagRangeFinder = CodeMirror.fold.xml; // deprecated
140
+
141
+ CodeMirror.findMatchingTag = function(cm, pos, range) {
142
+ var iter = new Iter(cm, pos.line, pos.ch, range);
143
+ if (iter.text.indexOf(">") == -1 && iter.text.indexOf("<") == -1) return;
144
+ var end = toTagEnd(iter), to = end && Pos(iter.line, iter.ch);
145
+ var start = end && toTagStart(iter);
146
+ if (!end || end == "selfClose" || !start || cmp(iter, pos) > 0) return;
147
+ var here = {from: Pos(iter.line, iter.ch), to: to, tag: start[2]};
148
+
149
+ if (start[1]) { // closing tag
150
+ return {open: findMatchingOpen(iter, start[2]), close: here, at: "close"};
151
+ } else { // opening tag
152
+ iter = new Iter(cm, to.line, to.ch, range);
153
+ return {open: here, close: findMatchingClose(iter, start[2]), at: "open"};
154
+ }
155
+ };
156
+
157
+ CodeMirror.findEnclosingTag = function(cm, pos, range) {
158
+ var iter = new Iter(cm, pos.line, pos.ch, range);
159
+ for (;;) {
160
+ var open = findMatchingOpen(iter);
161
+ if (!open) break;
162
+ var forward = new Iter(cm, pos.line, pos.ch, range);
163
+ var close = findMatchingClose(forward, open.tag);
164
+ if (close) return {open: open, close: close};
165
+ }
166
+ };
167
+ })();
@@ -0,0 +1,34 @@
1
+ (function() {
2
+ "use strict";
3
+
4
+ var WORD = /[\w$]+/, RANGE = 500;
5
+
6
+ CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
7
+ var word = options && options.word || WORD;
8
+ var range = options && options.range || RANGE;
9
+ var cur = editor.getCursor(), curLine = editor.getLine(cur.line);
10
+ var start = cur.ch, end = start;
11
+ while (end < curLine.length && word.test(curLine.charAt(end))) ++end;
12
+ while (start && word.test(curLine.charAt(start - 1))) --start;
13
+ var curWord = start != end && curLine.slice(start, end);
14
+
15
+ var list = [], seen = {};
16
+ function scan(dir) {
17
+ var line = cur.line, end = Math.min(Math.max(line + dir * range, editor.firstLine()), editor.lastLine()) + dir;
18
+ for (; line != end; line += dir) {
19
+ var text = editor.getLine(line), m;
20
+ var re = new RegExp(word.source, "g");
21
+ while (m = re.exec(text)) {
22
+ if (line == cur.line && m[0] === curWord) continue;
23
+ if ((!curWord || m[0].indexOf(curWord) == 0) && !seen.hasOwnProperty(m[0])) {
24
+ seen[m[0]] = true;
25
+ list.push(m[0]);
26
+ }
27
+ }
28
+ }
29
+ }
30
+ scan(-1);
31
+ scan(1);
32
+ return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
33
+ });
34
+ })();
@@ -0,0 +1,50 @@
1
+ (function () {
2
+ "use strict";
3
+
4
+ function getHints(cm) {
5
+ var cur = cm.getCursor(), token = cm.getTokenAt(cur);
6
+ var inner = CodeMirror.innerMode(cm.getMode(), token.state);
7
+ if (inner.mode.name != "css") return;
8
+
9
+ // If it's not a 'word-style' token, ignore the token.
10
+ if (!/^[\w$_-]*$/.test(token.string)) {
11
+ token = {
12
+ start: cur.ch, end: cur.ch, string: "", state: token.state,
13
+ type: null
14
+ };
15
+ var stack = token.state.stack;
16
+ var lastToken = stack && stack.length > 0 ? stack[stack.length - 1] : "";
17
+ if (token.string == ":" || lastToken.indexOf("property") == 0)
18
+ token.type = "variable";
19
+ else if (token.string == "{" || lastToken.indexOf("rule") == 0)
20
+ token.type = "property";
21
+ }
22
+
23
+ if (!token.type)
24
+ return;
25
+
26
+ var spec = CodeMirror.resolveMode("text/css");
27
+ var keywords = null;
28
+ if (token.type.indexOf("property") == 0)
29
+ keywords = spec.propertyKeywords;
30
+ else if (token.type.indexOf("variable") == 0)
31
+ keywords = spec.valueKeywords;
32
+
33
+ if (!keywords)
34
+ return;
35
+
36
+ var result = [];
37
+ for (var name in keywords) {
38
+ if (name.indexOf(token.string) == 0 /* > -1 */)
39
+ result.push(name);
40
+ }
41
+
42
+ return {
43
+ list: result,
44
+ from: CodeMirror.Pos(cur.line, token.start),
45
+ to: CodeMirror.Pos(cur.line, token.end)
46
+ };
47
+ }
48
+
49
+ CodeMirror.registerHelper("hint", "css", getHints);
50
+ })();
@@ -0,0 +1,337 @@
1
+ (function () {
2
+ var langs = "ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl dz en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ms ml mt mi mr mh mn na nv nb nd ne ng nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zu".split(" ");
3
+ var targets = ["_blank", "_self", "_top", "_parent"];
4
+ var charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];
5
+ var methods = ["get", "post", "put", "delete"];
6
+ var encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"];
7
+ var media = ["all", "screen", "print", "embossed", "braille", "handheld", "print", "projection", "screen", "tty", "tv", "speech",
8
+ "3d-glasses", "resolution [>][<][=] [X]", "device-aspect-ratio: X/Y", "orientation:portrait",
9
+ "orientation:landscape", "device-height: [X]", "device-width: [X]"];
10
+ var s = { attrs: {} }; // Simple tag, reused for a whole lot of tags
11
+
12
+ var data = {
13
+ a: {
14
+ attrs: {
15
+ href: null, ping: null, type: null,
16
+ media: media,
17
+ target: targets,
18
+ hreflang: langs
19
+ }
20
+ },
21
+ abbr: s,
22
+ acronym: s,
23
+ address: s,
24
+ applet: s,
25
+ area: {
26
+ attrs: {
27
+ alt: null, coords: null, href: null, target: null, ping: null,
28
+ media: media, hreflang: langs, type: null,
29
+ shape: ["default", "rect", "circle", "poly"]
30
+ }
31
+ },
32
+ article: s,
33
+ aside: s,
34
+ audio: {
35
+ attrs: {
36
+ src: null, mediagroup: null,
37
+ crossorigin: ["anonymous", "use-credentials"],
38
+ preload: ["none", "metadata", "auto"],
39
+ autoplay: ["", "autoplay"],
40
+ loop: ["", "loop"],
41
+ controls: ["", "controls"]
42
+ }
43
+ },
44
+ b: s,
45
+ base: { attrs: { href: null, target: targets } },
46
+ basefont: s,
47
+ bdi: s,
48
+ bdo: s,
49
+ big: s,
50
+ blockquote: { attrs: { cite: null } },
51
+ body: s,
52
+ br: s,
53
+ button: {
54
+ attrs: {
55
+ form: null, formaction: null, name: null, value: null,
56
+ autofocus: ["", "autofocus"],
57
+ disabled: ["", "autofocus"],
58
+ formenctype: encs,
59
+ formmethod: methods,
60
+ formnovalidate: ["", "novalidate"],
61
+ formtarget: targets,
62
+ type: ["submit", "reset", "button"]
63
+ }
64
+ },
65
+ canvas: { attrs: { width: null, height: null } },
66
+ caption: s,
67
+ center: s,
68
+ cite: s,
69
+ code: s,
70
+ col: { attrs: { span: null } },
71
+ colgroup: { attrs: { span: null } },
72
+ command: {
73
+ attrs: {
74
+ type: ["command", "checkbox", "radio"],
75
+ label: null, icon: null, radiogroup: null, command: null, title: null,
76
+ disabled: ["", "disabled"],
77
+ checked: ["", "checked"]
78
+ }
79
+ },
80
+ data: { attrs: { value: null } },
81
+ datagrid: { attrs: { disabled: ["", "disabled"], multiple: ["", "multiple"] } },
82
+ datalist: { attrs: { data: null } },
83
+ dd: s,
84
+ del: { attrs: { cite: null, datetime: null } },
85
+ details: { attrs: { open: ["", "open"] } },
86
+ dfn: s,
87
+ dir: s,
88
+ div: s,
89
+ dl: s,
90
+ dt: s,
91
+ em: s,
92
+ embed: { attrs: { src: null, type: null, width: null, height: null } },
93
+ eventsource: { attrs: { src: null } },
94
+ fieldset: { attrs: { disabled: ["", "disabled"], form: null, name: null } },
95
+ figcaption: s,
96
+ figure: s,
97
+ font: s,
98
+ footer: s,
99
+ form: {
100
+ attrs: {
101
+ action: null, name: null,
102
+ "accept-charset": charsets,
103
+ autocomplete: ["on", "off"],
104
+ enctype: encs,
105
+ method: methods,
106
+ novalidate: ["", "novalidate"],
107
+ target: targets
108
+ }
109
+ },
110
+ frame: s,
111
+ frameset: s,
112
+ h1: s, h2: s, h3: s, h4: s, h5: s, h6: s,
113
+ head: {
114
+ attrs: {},
115
+ children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
116
+ },
117
+ header: s,
118
+ hgroup: s,
119
+ hr: s,
120
+ html: {
121
+ attrs: { manifest: null },
122
+ children: ["head", "body"]
123
+ },
124
+ i: s,
125
+ iframe: {
126
+ attrs: {
127
+ src: null, srcdoc: null, name: null, width: null, height: null,
128
+ sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
129
+ seamless: ["", "seamless"]
130
+ }
131
+ },
132
+ img: {
133
+ attrs: {
134
+ alt: null, src: null, ismap: null, usemap: null, width: null, height: null,
135
+ crossorigin: ["anonymous", "use-credentials"]
136
+ }
137
+ },
138
+ input: {
139
+ attrs: {
140
+ alt: null, dirname: null, form: null, formaction: null,
141
+ height: null, list: null, max: null, maxlength: null, min: null,
142
+ name: null, pattern: null, placeholder: null, size: null, src: null,
143
+ step: null, value: null, width: null,
144
+ accept: ["audio/*", "video/*", "image/*"],
145
+ autocomplete: ["on", "off"],
146
+ autofocus: ["", "autofocus"],
147
+ checked: ["", "checked"],
148
+ disabled: ["", "disabled"],
149
+ formenctype: encs,
150
+ formmethod: methods,
151
+ formnovalidate: ["", "novalidate"],
152
+ formtarget: targets,
153
+ multiple: ["", "multiple"],
154
+ readonly: ["", "readonly"],
155
+ required: ["", "required"],
156
+ type: ["hidden", "text", "search", "tel", "url", "email", "password", "datetime", "date", "month",
157
+ "week", "time", "datetime-local", "number", "range", "color", "checkbox", "radio",
158
+ "file", "submit", "image", "reset", "button"]
159
+ }
160
+ },
161
+ ins: { attrs: { cite: null, datetime: null } },
162
+ kbd: s,
163
+ keygen: {
164
+ attrs: {
165
+ challenge: null, form: null, name: null,
166
+ autofocus: ["", "autofocus"],
167
+ disabled: ["", "disabled"],
168
+ keytype: ["RSA"]
169
+ }
170
+ },
171
+ label: { attrs: { "for": null, form: null } },
172
+ legend: s,
173
+ li: { attrs: { value: null } },
174
+ link: {
175
+ attrs: {
176
+ href: null, type: null,
177
+ hreflang: langs,
178
+ media: media,
179
+ sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
180
+ }
181
+ },
182
+ map: { attrs: { name: null } },
183
+ mark: s,
184
+ menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
185
+ meta: {
186
+ attrs: {
187
+ content: null,
188
+ charset: charsets,
189
+ name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
190
+ "http-equiv": ["content-language", "content-type", "default-style", "refresh"]
191
+ }
192
+ },
193
+ meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
194
+ nav: s,
195
+ noframes: s,
196
+ noscript: s,
197
+ object: {
198
+ attrs: {
199
+ data: null, type: null, name: null, usemap: null, form: null, width: null, height: null,
200
+ typemustmatch: ["", "typemustmatch"]
201
+ }
202
+ },
203
+ ol: { attrs: { reversed: ["", "reversed"], start: null, type: ["1", "a", "A", "i", "I"] } },
204
+ optgroup: { attrs: { disabled: ["", "disabled"], label: null } },
205
+ option: { attrs: { disabled: ["", "disabled"], label: null, selected: ["", "selected"], value: null } },
206
+ output: { attrs: { "for": null, form: null, name: null } },
207
+ p: s,
208
+ param: { attrs: { name: null, value: null } },
209
+ pre: s,
210
+ progress: { attrs: { value: null, max: null } },
211
+ q: { attrs: { cite: null } },
212
+ rp: s,
213
+ rt: s,
214
+ ruby: s,
215
+ s: s,
216
+ samp: s,
217
+ script: {
218
+ attrs: {
219
+ type: ["text/javascript"],
220
+ src: null,
221
+ async: ["", "async"],
222
+ defer: ["", "defer"],
223
+ charset: charsets
224
+ }
225
+ },
226
+ section: s,
227
+ select: {
228
+ attrs: {
229
+ form: null, name: null, size: null,
230
+ autofocus: ["", "autofocus"],
231
+ disabled: ["", "disabled"],
232
+ multiple: ["", "multiple"]
233
+ }
234
+ },
235
+ small: s,
236
+ source: { attrs: { src: null, type: null, media: null } },
237
+ span: s,
238
+ strike: s,
239
+ strong: s,
240
+ style: {
241
+ attrs: {
242
+ type: ["text/css"],
243
+ media: media,
244
+ scoped: null
245
+ }
246
+ },
247
+ sub: s,
248
+ summary: s,
249
+ sup: s,
250
+ table: s,
251
+ tbody: s,
252
+ td: { attrs: { colspan: null, rowspan: null, headers: null } },
253
+ textarea: {
254
+ attrs: {
255
+ dirname: null, form: null, maxlength: null, name: null, placeholder: null,
256
+ rows: null, cols: null,
257
+ autofocus: ["", "autofocus"],
258
+ disabled: ["", "disabled"],
259
+ readonly: ["", "readonly"],
260
+ required: ["", "required"],
261
+ wrap: ["soft", "hard"]
262
+ }
263
+ },
264
+ tfoot: s,
265
+ th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
266
+ thead: s,
267
+ time: { attrs: { datetime: null } },
268
+ title: s,
269
+ tr: s,
270
+ track: {
271
+ attrs: {
272
+ src: null, label: null, "default": null,
273
+ kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
274
+ srclang: langs
275
+ }
276
+ },
277
+ tt: s,
278
+ u: s,
279
+ ul: s,
280
+ "var": s,
281
+ video: {
282
+ attrs: {
283
+ src: null, poster: null, width: null, height: null,
284
+ crossorigin: ["anonymous", "use-credentials"],
285
+ preload: ["auto", "metadata", "none"],
286
+ autoplay: ["", "autoplay"],
287
+ mediagroup: ["movie"],
288
+ muted: ["", "muted"],
289
+ controls: ["", "controls"]
290
+ }
291
+ },
292
+ wbr: s
293
+ };
294
+
295
+ var globalAttrs = {
296
+ accesskey: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
297
+ "class": null,
298
+ contenteditable: ["true", "false"],
299
+ contextmenu: null,
300
+ dir: ["ltr", "rtl", "auto"],
301
+ draggable: ["true", "false", "auto"],
302
+ dropzone: ["copy", "move", "link", "string:", "file:"],
303
+ hidden: ["hidden"],
304
+ id: null,
305
+ inert: ["inert"],
306
+ itemid: null,
307
+ itemprop: null,
308
+ itemref: null,
309
+ itemscope: ["itemscope"],
310
+ itemtype: null,
311
+ lang: ["en", "es"],
312
+ spellcheck: ["true", "false"],
313
+ style: null,
314
+ tabindex: ["1", "2", "3", "4", "5", "6", "7", "8", "9"],
315
+ title: null,
316
+ translate: ["yes", "no"],
317
+ onclick: null,
318
+ rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"]
319
+ };
320
+ function populate(obj) {
321
+ for (var attr in globalAttrs) if (globalAttrs.hasOwnProperty(attr))
322
+ obj.attrs[attr] = globalAttrs[attr];
323
+ }
324
+
325
+ populate(s);
326
+ for (var tag in data) if (data.hasOwnProperty(tag) && data[tag] != s)
327
+ populate(data[tag]);
328
+
329
+ CodeMirror.htmlSchema = data;
330
+ function htmlHint(cm, options) {
331
+ var local = {schemaInfo: data};
332
+ if (options) for (var opt in options) local[opt] = options[opt];
333
+ return CodeMirror.hint.xml(cm, local);
334
+ }
335
+ CodeMirror.htmlHint = htmlHint; // deprecated
336
+ CodeMirror.registerHelper("hint", "html", htmlHint);
337
+ })();