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,74 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Vim bindings demo</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="../addon/dialog/dialog.css">
9
+ <script src="../lib/codemirror.js"></script>
10
+ <script src="../addon/dialog/dialog.js"></script>
11
+ <script src="../addon/search/searchcursor.js"></script>
12
+ <script src="../mode/clike/clike.js"></script>
13
+ <script src="../keymap/vim.js"></script>
14
+ <style type="text/css">
15
+ .CodeMirror {border-top: 1px solid #eee; border-bottom: 1px solid #eee;}
16
+ </style>
17
+ <div id=nav>
18
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
19
+
20
+ <ul>
21
+ <li><a href="../index.html">Home</a>
22
+ <li><a href="../doc/manual.html">Manual</a>
23
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
24
+ </ul>
25
+ <ul>
26
+ <li><a class=active href="#">Vim bindings</a>
27
+ </ul>
28
+ </div>
29
+
30
+ <article>
31
+ <h2>Vim bindings demo</h2>
32
+ <form><textarea id="code" name="code">
33
+ #include "syscalls.h"
34
+ /* getchar: simple buffered version */
35
+ int getchar(void)
36
+ {
37
+ static char buf[BUFSIZ];
38
+ static char *bufp = buf;
39
+ static int n = 0;
40
+ if (n == 0) { /* buffer is empty */
41
+ n = read(0, buf, sizeof buf);
42
+ bufp = buf;
43
+ }
44
+ return (--n >= 0) ? (unsigned char) *bufp++ : EOF;
45
+ }
46
+ </textarea></form>
47
+
48
+ <form><textarea id="code2" name="code2">
49
+ I am another file! You can yank from my neighbor and paste here.
50
+ </textarea></form>
51
+
52
+ <p>The vim keybindings are enabled by
53
+ including <a href="../keymap/vim.js">keymap/vim.js</a> and setting
54
+ the <code>keyMap</code> option to <code>"vim"</code>. Because
55
+ CodeMirror's internal API is quite different from Vim, they are only
56
+ a loose approximation of actual vim bindings, though.</p>
57
+
58
+ <script>
59
+ CodeMirror.commands.save = function(){ alert("Saving"); };
60
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
61
+ lineNumbers: true,
62
+ mode: "text/x-csrc",
63
+ vimMode: true,
64
+ showCursorWhenSelecting: true
65
+ });
66
+ var editor2 = CodeMirror.fromTextArea(document.getElementById("code2"), {
67
+ lineNumbers: true,
68
+ mode: "text/x-csrc",
69
+ vimMode: true,
70
+ showCursorWhenSelecting: true
71
+ });
72
+ </script>
73
+
74
+ </article>
@@ -0,0 +1,62 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Visible tabs demo</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="../mode/clike/clike.js"></script>
10
+ <style type="text/css">
11
+ .CodeMirror {border-top: 1px solid #eee; border-bottom: 1px solid #eee;}
12
+ .cm-tab {
13
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
14
+ background-position: right;
15
+ background-repeat: no-repeat;
16
+ }
17
+ </style>
18
+ <div id=nav>
19
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
20
+
21
+ <ul>
22
+ <li><a href="../index.html">Home</a>
23
+ <li><a href="../doc/manual.html">Manual</a>
24
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
25
+ </ul>
26
+ <ul>
27
+ <li><a class=active href="#">Visible tabs</a>
28
+ </ul>
29
+ </div>
30
+
31
+ <article>
32
+ <h2>Visible tabs demo</h2>
33
+ <form><textarea id="code" name="code">
34
+ #include "syscalls.h"
35
+ /* getchar: simple buffered version */
36
+ int getchar(void)
37
+ {
38
+ static char buf[BUFSIZ];
39
+ static char *bufp = buf;
40
+ static int n = 0;
41
+ if (n == 0) { /* buffer is empty */
42
+ n = read(0, buf, sizeof buf);
43
+ bufp = buf;
44
+ }
45
+ return (--n >= 0) ? (unsigned char) *bufp++ : EOF;
46
+ }
47
+ </textarea></form>
48
+
49
+ <p>Tabs inside the editor are spans with the
50
+ class <code>cm-tab</code>, and can be styled.</p>
51
+
52
+ <script>
53
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
54
+ lineNumbers: true,
55
+ tabSize: 4,
56
+ indentUnit: 4,
57
+ indentWithTabs: true,
58
+ mode: "text/x-csrc"
59
+ });
60
+ </script>
61
+
62
+ </article>
@@ -0,0 +1,85 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: Inline Widget Demo</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="../mode/javascript/javascript.js"></script>
10
+ <script src="http://ajax.aspnetcdn.com/ajax/jshint/r07/jshint.js"></script>
11
+ <style type="text/css">
12
+ .CodeMirror {border: 1px solid black;}
13
+ .lint-error {font-family: arial; font-size: 70%; background: #ffa; color: #a00; padding: 2px 5px 3px; }
14
+ .lint-error-icon {color: white; background-color: red; font-weight: bold; border-radius: 50%; padding: 0 3px; margin-right: 7px;}
15
+ </style>
16
+ <div id=nav>
17
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
18
+
19
+ <ul>
20
+ <li><a href="../index.html">Home</a>
21
+ <li><a href="../doc/manual.html">Manual</a>
22
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
23
+ </ul>
24
+ <ul>
25
+ <li><a class=active href="#">Inline Widget</a>
26
+ </ul>
27
+ </div>
28
+
29
+ <article>
30
+ <h2>Inline Widget Demo</h2>
31
+
32
+
33
+ <div id=code></div>
34
+ <script id="script">var widgets = []
35
+ function updateHints() {
36
+ editor.operation(function(){
37
+ for (var i = 0; i < widgets.length; ++i)
38
+ editor.removeLineWidget(widgets[i]);
39
+ widgets.length = 0;
40
+
41
+ JSHINT(editor.getValue());
42
+ for (var i = 0; i < JSHINT.errors.length; ++i) {
43
+ var err = JSHINT.errors[i];
44
+ if (!err) continue;
45
+ var msg = document.createElement("div");
46
+ var icon = msg.appendChild(document.createElement("span"));
47
+ icon.innerHTML = "!!";
48
+ icon.className = "lint-error-icon";
49
+ msg.appendChild(document.createTextNode(err.reason));
50
+ msg.className = "lint-error";
51
+ widgets.push(editor.addLineWidget(err.line - 1, msg, {coverGutter: false, noHScroll: true}));
52
+ }
53
+ });
54
+ var info = editor.getScrollInfo();
55
+ var after = editor.charCoords({line: editor.getCursor().line + 1, ch: 0}, "local").top;
56
+ if (info.top + info.clientHeight < after)
57
+ editor.scrollTo(null, after - info.clientHeight + 3);
58
+ }
59
+
60
+ window.onload = function() {
61
+ var sc = document.getElementById("script");
62
+ var content = sc.textContent || sc.innerText || sc.innerHTML;
63
+
64
+ window.editor = CodeMirror(document.getElementById("code"), {
65
+ lineNumbers: true,
66
+ mode: "javascript",
67
+ value: content
68
+ });
69
+
70
+ var waiting;
71
+ editor.on("change", function() {
72
+ clearTimeout(waiting);
73
+ waiting = setTimeout(updateHints, 500);
74
+ });
75
+
76
+ setTimeout(updateHints, 100);
77
+ };
78
+
79
+ "long line to create a horizontal scrollbar, in order to test whether the (non-inline) widgets stay in place when scrolling to the right";
80
+ </script>
81
+ <p>This demo runs <a href="http://jshint.com">JSHint</a> over the code
82
+ in the editor (which is the script used on this page), and
83
+ inserts <a href="../doc/manual.html#addLineWidget">line widgets</a> to
84
+ display the warnings that JSHint comes up with.</p>
85
+ </article>
@@ -0,0 +1,116 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror: XML Autocomplete Demo</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="../addon/hint/show-hint.css">
9
+ <script src="../lib/codemirror.js"></script>
10
+ <script src="../addon/hint/show-hint.js"></script>
11
+ <script src="../addon/hint/xml-hint.js"></script>
12
+ <script src="../mode/xml/xml.js"></script>
13
+ <style type="text/css">
14
+ .CodeMirror { border: 1px solid #eee; }
15
+ </style>
16
+ <div id=nav>
17
+ <a href="http://codemirror.net"><img id=logo src="../doc/logo.png"></a>
18
+
19
+ <ul>
20
+ <li><a href="../index.html">Home</a>
21
+ <li><a href="../doc/manual.html">Manual</a>
22
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
23
+ </ul>
24
+ <ul>
25
+ <li><a class=active href="#">XML Autocomplete</a>
26
+ </ul>
27
+ </div>
28
+
29
+ <article>
30
+ <h2>XML Autocomplete Demo</h2>
31
+ <form><textarea id="code" name="code"><!-- write some xml below -->
32
+ </textarea></form>
33
+
34
+ <p>Press <strong>ctrl-space</strong>, or type a '<' character to
35
+ activate autocompletion. This demo defines a simple schema that
36
+ guides completion. The schema can be customized—see
37
+ the <a href="../doc/manual.html#addon_xml-hint">manual</a>.</p>
38
+
39
+ <p>Development of the <code>xml-hint</code> addon was kindly
40
+ sponsored
41
+ by <a href="http://www.xperiment.mobi">www.xperiment.mobi</a>.</p>
42
+
43
+ <script>
44
+ var dummy = {
45
+ attrs: {
46
+ color: ["red", "green", "blue", "purple", "white", "black", "yellow"],
47
+ size: ["large", "medium", "small"],
48
+ description: null
49
+ },
50
+ children: []
51
+ };
52
+
53
+ var tags = {
54
+ "!top": ["top"],
55
+ top: {
56
+ attrs: {
57
+ lang: ["en", "de", "fr", "nl"],
58
+ freeform: null
59
+ },
60
+ children: ["animal", "plant"]
61
+ },
62
+ animal: {
63
+ attrs: {
64
+ name: null,
65
+ isduck: ["yes", "no"]
66
+ },
67
+ children: ["wings", "feet", "body", "head", "tail"]
68
+ },
69
+ plant: {
70
+ attrs: {name: null},
71
+ children: ["leaves", "stem", "flowers"]
72
+ },
73
+ wings: dummy, feet: dummy, body: dummy, head: dummy, tail: dummy,
74
+ leaves: dummy, stem: dummy, flowers: dummy
75
+ };
76
+
77
+ function completeAfter(cm, pred) {
78
+ var cur = cm.getCursor();
79
+ if (!pred || pred()) setTimeout(function() {
80
+ if (!cm.state.completionActive)
81
+ CodeMirror.showHint(cm, CodeMirror.hint.xml, {schemaInfo: tags, completeSingle: false});
82
+ }, 100);
83
+ return CodeMirror.Pass;
84
+ }
85
+
86
+ function completeIfAfterLt(cm) {
87
+ return completeAfter(cm, function() {
88
+ var cur = cm.getCursor();
89
+ return cm.getRange(CodeMirror.Pos(cur.line, cur.ch - 1), cur) == "<";
90
+ });
91
+ }
92
+
93
+ function completeIfInTag(cm) {
94
+ return completeAfter(cm, function() {
95
+ var tok = cm.getTokenAt(cm.getCursor());
96
+ if (tok.type == "string" && (!/['"]/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1)) return false;
97
+ var inner = CodeMirror.innerMode(cm.getMode(), tok.state).state;
98
+ return inner.tagName;
99
+ });
100
+ }
101
+
102
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
103
+ mode: "xml",
104
+ lineNumbers: true,
105
+ extraKeys: {
106
+ "'<'": completeAfter,
107
+ "'/'": completeIfAfterLt,
108
+ "' '": completeIfInTag,
109
+ "'='": completeIfInTag,
110
+ "Ctrl-Space": function(cm) {
111
+ CodeMirror.showHint(cm, CodeMirror.hint.xml, {schemaInfo: tags});
112
+ }
113
+ }
114
+ });
115
+ </script>
116
+ </article>
@@ -0,0 +1,192 @@
1
+ <!doctype html>
2
+
3
+ <title>CodeMirror</title>
4
+ <meta charset="utf-8"/>
5
+
6
+ <link rel=stylesheet href="lib/codemirror.css">
7
+ <link rel=stylesheet href="doc/docs.css">
8
+ <script src="lib/codemirror.js"></script>
9
+ <script src="mode/xml/xml.js"></script>
10
+ <script src="mode/javascript/javascript.js"></script>
11
+ <script src="mode/css/css.js"></script>
12
+ <script src="mode/htmlmixed/htmlmixed.js"></script>
13
+ <script src="addon/edit/matchbrackets.js"></script>
14
+
15
+ <script src="doc/activebookmark.js"></script>
16
+
17
+ <style>
18
+ .CodeMirror { height: auto; border: 1px solid #ddd; }
19
+ .CodeMirror-scroll { max-height: 200px; }
20
+ .CodeMirror pre { padding-left: 7px; line-height: 1.25; }
21
+ </style>
22
+
23
+ <div id=nav>
24
+ <a href="http://codemirror.net"><img id=logo src="doc/logo.png"></a>
25
+
26
+ <ul>
27
+ <li><a class=active data-default="true" href="#description">Home</a>
28
+ <li><a href="doc/manual.html">Manual</a>
29
+ <li><a href="https://github.com/marijnh/codemirror">Code</a>
30
+ </ul>
31
+ <ul>
32
+ <li><a href="#features">Features</a>
33
+ <li><a href="#community">Community</a>
34
+ <li><a href="#browsersupport">Browser support</a>
35
+ </ul>
36
+ </div>
37
+
38
+ <article>
39
+
40
+ <section id=description class=first>
41
+ <p><strong>CodeMirror</strong> is a versatile text editor
42
+ implemented in JavaScript for the browser. It is specialized for
43
+ editing code, and comes with a number of language modes and addons
44
+ that implement more advanced editing functionaly.</p>
45
+
46
+ <p>A rich <a href="doc/manual.html#api">programming API</a> and a
47
+ CSS <a href="doc/manual.html#styling">theming</a> system are
48
+ available for customizing CodeMirror to fit your application, and
49
+ extending it with new functionality.</p>
50
+ </section>
51
+
52
+ <section id=demo>
53
+ <h2>This is CodeMirror</h2>
54
+ <form style="position: relative; margin-top: .5em;"><textarea id=demotext>
55
+ <!-- Create a simple CodeMirror instance -->
56
+ <link rel="stylesheet" href="lib/codemirror.css">
57
+ <script src="lib/codemirror.js"></script>
58
+ <script>
59
+ var editor = CodeMirror.fromTextArea(myTextarea, {
60
+ mode: "text/html"
61
+ });
62
+ </script></textarea>
63
+ <select id="demolist" onchange="document.location = this.options[this.selectedIndex].value;">
64
+ <option value="#">Other demos...</option>
65
+ <option value="demo/complete.html">Autocompletion</option>
66
+ <option value="demo/folding.html">Code folding</option>
67
+ <option value="demo/theme.html">Themes</option>
68
+ <option value="mode/htmlmixed/index.html">Mixed language modes</option>
69
+ <option value="demo/bidi.html">Bi-directional text</option>
70
+ <option value="demo/variableheight.html">Variable font sizes</option>
71
+ <option value="demo/search.html">Search interface</option>
72
+ <option value="demo/vim.html">Vim bindings</option>
73
+ <option value="demo/emacs.html">Emacs bindings</option>
74
+ <option value="demo/tern.html">Tern integration</option>
75
+ <option value="demo/merge.html">Merge/diff interface</option>
76
+ <option value="demo/fullscreen.html">Full-screen editor</option>
77
+ </select></form>
78
+ <script>
79
+ var editor = CodeMirror.fromTextArea(document.getElementById("demotext"), {
80
+ lineNumbers: true,
81
+ mode: "text/html",
82
+ matchBrackets: true
83
+ });
84
+ </script>
85
+ <div style="position: relative; margin: 1em 0;">
86
+ <a class="bigbutton left" href="http://codemirror.net/codemirror.zip">DOWNLOAD LATEST RELEASE</a>
87
+ <div><strong>version 3.20</strong> (<a href="doc/releases.html">Release notes</a>)</div>
88
+ <div>or use the <a href="doc/compress.html">minification helper</a></div>
89
+ <div style="position: absolute; top: 0; right: 0; text-align: right">
90
+ <span class="bigbutton right" onclick="document.getElementById('paypal').submit();">DONATE WITH PAYPAL</span>
91
+ <div style="position: relative">
92
+ or <span onclick="document.getElementById('bankinfo').style.display = 'block';" class=quasilink>Bank</span>,
93
+ <a href="https://www.gittip.com/marijnh">Gittip</a>,
94
+ <a href="https://flattr.com/profile/marijnh">Flattr</a><br>
95
+ <div id=bankinfo>
96
+ <span id=bankinfo_close onclick="document.getElementById('bankinfo').style.display = '';">×</span>
97
+ Bank: <i>Rabobank</i><br/>
98
+ Country: <i>Netherlands</i><br/>
99
+ SWIFT: <i>RABONL2U</i><br/>
100
+ Account: <i>147850770</i><br/>
101
+ Name: <i>Marijn Haverbeke</i><br/>
102
+ IBAN: <i>NL26 RABO 0147 8507 70</i>
103
+ </div>
104
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
105
+ <input type="hidden" name="cmd" value="_s-xclick"/>
106
+ <input type="hidden" name="hosted_button_id" value="3FVHS5FGUY7CC"/>
107
+ </form>
108
+ </div>
109
+ <div>
110
+ Purchase <a href="http://codemirror.com">commercial support</a>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </section>
115
+
116
+ <section id=features>
117
+ <h2>Features</h2>
118
+ <ul>
119
+ <li>Support for <a href="mode/index.html">over 60 languages</a> out of the box
120
+ <li>A powerful, <a href="mode/htmlmixed/index.html">composable</a> language mode <a href="doc/manual.html#modeapi">system</a>
121
+ <li><a href="doc/manual.html#addon_show-hint">Autocompletion</a> (<a href="demo/xmlcomplete.html">XML</a>)
122
+ <li><a href="doc/manual.html#addon_foldcode">Code folding</a>
123
+ <li><a href="doc/manual.html#option_extraKeys">Configurable</a> keybindings
124
+ <li><a href="demo/vim.html">Vim</a> and <a href="demo/emacs.html">Emacs</a> bindings
125
+ <li><a href="doc/manual.html#addon_search">Search and replace</a> interface
126
+ <li><a href="doc/manual.html#addon_matchbrackets">Bracket</a> and <a href="doc/manual.html#addon_matchtags">tag</a> matching
127
+ <li>Support for <a href="demo/buffers.html">split views</a>
128
+ <li><a href="doc/manual.html#addon_lint">Linter integration</a>
129
+ <li><a href="demo/variableheight.html">Mixing font sizes and styles</a>
130
+ <li><a href="demo/theme.html">Various themes</a>
131
+ <li>Able to <a href="demo/resize.html">resize to fit content</a>
132
+ <li><a href="doc/manual.html#mark_replacedWith">Inline</a> and <a href="doc/manual.html#addLineWidget">block</a> widgets
133
+ <li>Programmable <a href="demo/marker.html">gutters</a>
134
+ <li>Making ranges of text <a href="doc/manual.html#markText">styled, read-only, or atomic</a>
135
+ <li><a href="demo/bidi.html">Bi-directional text</a> support
136
+ <li>Many other <a href="doc/manual.html#api">methods</a> and <a href="doc/manual.html#addons">addons</a>...</a>
137
+ </ul>
138
+ </section>
139
+
140
+ <section id=community>
141
+ <h2>Community</h2>
142
+
143
+ <p>CodeMirror is an open-source project shared under
144
+ an <a href="LICENSE">MIT license</a>. It is the editor used in
145
+ <a href="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/">Light
146
+ Table</a>, <a href="http://brackets.io/">Adobe
147
+ Brackets</a>, <a href="https://script.google.com/">Google Apps
148
+ Script</a>, <a href="http://blog.bitbucket.org/2013/05/14/edit-your-code-in-the-cloud-with-bitbucket/">Bitbucket</a>,
149
+ and <a href="doc/realworld.html">many other projects</a>.</p>
150
+
151
+ <p>Development and bug tracking happens
152
+ on <a href="https://github.com/marijnh/CodeMirror/">github</a>
153
+ (<a href="http://marijnhaverbeke.nl/git/codemirror">alternate git
154
+ repository</a>).
155
+ Please <a href="http://codemirror.net/doc/reporting.html">read these
156
+ pointers</a> before submitting a bug. Use pull requests to submit
157
+ patches. All contributions must be released under the same MIT
158
+ license that CodeMirror uses.</p>
159
+
160
+ <p>Discussion around the project is done on
161
+ a <a href="http://groups.google.com/group/codemirror">mailing list</a>.
162
+ There is also
163
+ the <a href="http://groups.google.com/group/codemirror-announce">codemirror-announce</a>
164
+ list, which is only used for major announcements (such as new
165
+ versions). If needed, you can
166
+ contact <a href="mailto:marijnh@gmail.com">the maintainer</a>
167
+ directly.</p>
168
+
169
+ <p>A list of CodeMirror-related software that is not part of the
170
+ main distribution is maintained
171
+ on <a href="https://github.com/marijnh/CodeMirror/wiki/CodeMirror-addons">our
172
+ wiki</a>. Feel free to add your project.</p>
173
+ </section>
174
+
175
+ <section id=browsersupport>
176
+ <h2>Browser support</h2>
177
+ <p>The <em>desktop</em> versions of the following browsers,
178
+ in <em>standards mode</em> (HTML5 <code>&lt;!doctype html></code>
179
+ recommended) are supported:</p>
180
+ <table style="margin-bottom: 1em">
181
+ <tr><th>Firefox</th><td>version 3 and up</td></tr>
182
+ <tr><th>Chrome</th><td>any version</td></tr>
183
+ <tr><th>Safari</th><td>version 5.2 and up</td></tr>
184
+ <tr><th style="padding-right: 1em;">Internet Explorer</th><td>version 8 and up</td></tr>
185
+ <tr><th>Opera</th><td>version 9 and up</td></tr>
186
+ </table>
187
+ <p>Modern mobile browsers tend to partly work. Bug reports and
188
+ patches for mobile support are welcome, but the maintainer does not
189
+ have the time or budget to actually work on it himself.</p>
190
+ </section>
191
+
192
+ </article>