@muze-nl/simplystore 0.1.2

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 (366) hide show
  1. package/.dockerignore +8 -0
  2. package/.github/workflows/docker-build.yml +45 -0
  3. package/.gitignore~ +1 -0
  4. package/Dockerfile +60 -0
  5. package/LICENSE +21 -0
  6. package/README.md +99 -0
  7. package/data.jsontag +20 -0
  8. package/design/access-management.md +25 -0
  9. package/design/acid.md +31 -0
  10. package/design/commands.md +25 -0
  11. package/design/identity.md +71 -0
  12. package/design/immutability.md +26 -0
  13. package/design/jsontag-selector.md +365 -0
  14. package/design/multitasking.md +13 -0
  15. package/design/thoughts.md +32 -0
  16. package/docs/docker.md +129 -0
  17. package/package.json +29 -0
  18. package/package.json~ +29 -0
  19. package/src/run.mjs +3 -0
  20. package/src/server.mjs +323 -0
  21. package/src/triplestore.mjs +182 -0
  22. package/www/assets/css/style.css +2296 -0
  23. package/www/assets/feather-sprite.svg +1 -0
  24. package/www/assets/img/simplystore-narrow-white.svg +138 -0
  25. package/www/assets/img/simplystore-narrow.svg +138 -0
  26. package/www/assets/img/simplystore-white.svg +153 -0
  27. package/www/assets/img/simplystore.svg +153 -0
  28. package/www/codemirror/AUTHORS +979 -0
  29. package/www/codemirror/CHANGELOG.md +2208 -0
  30. package/www/codemirror/CONTRIBUTING.md +92 -0
  31. package/www/codemirror/LICENSE +21 -0
  32. package/www/codemirror/README.md +47 -0
  33. package/www/codemirror/addon/comment/comment.js +211 -0
  34. package/www/codemirror/addon/comment/continuecomment.js +114 -0
  35. package/www/codemirror/addon/dialog/dialog.css +32 -0
  36. package/www/codemirror/addon/dialog/dialog.js +163 -0
  37. package/www/codemirror/addon/display/autorefresh.js +47 -0
  38. package/www/codemirror/addon/display/fullscreen.css +6 -0
  39. package/www/codemirror/addon/display/fullscreen.js +41 -0
  40. package/www/codemirror/addon/display/panel.js +133 -0
  41. package/www/codemirror/addon/display/placeholder.js +78 -0
  42. package/www/codemirror/addon/display/rulers.js +51 -0
  43. package/www/codemirror/addon/edit/closebrackets.js +201 -0
  44. package/www/codemirror/addon/edit/closetag.js +185 -0
  45. package/www/codemirror/addon/edit/continuelist.js +101 -0
  46. package/www/codemirror/addon/edit/matchbrackets.js +160 -0
  47. package/www/codemirror/addon/edit/matchtags.js +66 -0
  48. package/www/codemirror/addon/edit/trailingspace.js +27 -0
  49. package/www/codemirror/addon/fold/brace-fold.js +119 -0
  50. package/www/codemirror/addon/fold/comment-fold.js +59 -0
  51. package/www/codemirror/addon/fold/foldcode.js +159 -0
  52. package/www/codemirror/addon/fold/foldgutter.css +20 -0
  53. package/www/codemirror/addon/fold/foldgutter.js +169 -0
  54. package/www/codemirror/addon/fold/indent-fold.js +48 -0
  55. package/www/codemirror/addon/fold/markdown-fold.js +49 -0
  56. package/www/codemirror/addon/fold/xml-fold.js +184 -0
  57. package/www/codemirror/addon/hint/anyword-hint.js +41 -0
  58. package/www/codemirror/addon/hint/css-hint.js +66 -0
  59. package/www/codemirror/addon/hint/html-hint.js +351 -0
  60. package/www/codemirror/addon/hint/javascript-hint.js +162 -0
  61. package/www/codemirror/addon/hint/show-hint.css +37 -0
  62. package/www/codemirror/addon/hint/show-hint.js +523 -0
  63. package/www/codemirror/addon/hint/sql-hint.js +304 -0
  64. package/www/codemirror/addon/hint/xml-hint.js +132 -0
  65. package/www/codemirror/addon/lint/coffeescript-lint.js +47 -0
  66. package/www/codemirror/addon/lint/css-lint.js +40 -0
  67. package/www/codemirror/addon/lint/html-lint.js +59 -0
  68. package/www/codemirror/addon/lint/javascript-lint.js +65 -0
  69. package/www/codemirror/addon/lint/json-lint.js +40 -0
  70. package/www/codemirror/addon/lint/lint.css +79 -0
  71. package/www/codemirror/addon/lint/lint.js +291 -0
  72. package/www/codemirror/addon/lint/yaml-lint.js +41 -0
  73. package/www/codemirror/addon/merge/merge.css +119 -0
  74. package/www/codemirror/addon/merge/merge.js +1018 -0
  75. package/www/codemirror/addon/mode/loadmode.js +66 -0
  76. package/www/codemirror/addon/mode/multiplex.js +136 -0
  77. package/www/codemirror/addon/mode/multiplex_test.js +49 -0
  78. package/www/codemirror/addon/mode/overlay.js +90 -0
  79. package/www/codemirror/addon/mode/simple.js +216 -0
  80. package/www/codemirror/addon/runmode/colorize.js +40 -0
  81. package/www/codemirror/addon/runmode/runmode-standalone.js +334 -0
  82. package/www/codemirror/addon/runmode/runmode.js +76 -0
  83. package/www/codemirror/addon/runmode/runmode.node.js +329 -0
  84. package/www/codemirror/addon/scroll/annotatescrollbar.js +128 -0
  85. package/www/codemirror/addon/scroll/scrollpastend.js +48 -0
  86. package/www/codemirror/addon/scroll/simplescrollbars.css +66 -0
  87. package/www/codemirror/addon/scroll/simplescrollbars.js +152 -0
  88. package/www/codemirror/addon/search/jump-to-line.js +53 -0
  89. package/www/codemirror/addon/search/match-highlighter.js +167 -0
  90. package/www/codemirror/addon/search/matchesonscrollbar.css +8 -0
  91. package/www/codemirror/addon/search/matchesonscrollbar.js +97 -0
  92. package/www/codemirror/addon/search/search.js +295 -0
  93. package/www/codemirror/addon/search/searchcursor.js +305 -0
  94. package/www/codemirror/addon/selection/active-line.js +72 -0
  95. package/www/codemirror/addon/selection/mark-selection.js +119 -0
  96. package/www/codemirror/addon/selection/selection-pointer.js +98 -0
  97. package/www/codemirror/addon/tern/tern.css +87 -0
  98. package/www/codemirror/addon/tern/tern.js +756 -0
  99. package/www/codemirror/addon/tern/worker.js +44 -0
  100. package/www/codemirror/addon/wrap/hardwrap.js +160 -0
  101. package/www/codemirror/bin/source-highlight +48 -0
  102. package/www/codemirror/keymap/emacs.js +545 -0
  103. package/www/codemirror/keymap/sublime.js +720 -0
  104. package/www/codemirror/keymap/vim.js +5978 -0
  105. package/www/codemirror/lib/codemirror.css +344 -0
  106. package/www/codemirror/lib/codemirror.js +9874 -0
  107. package/www/codemirror/mode/apl/apl.js +174 -0
  108. package/www/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  109. package/www/codemirror/mode/asn.1/asn.1.js +204 -0
  110. package/www/codemirror/mode/asterisk/asterisk.js +220 -0
  111. package/www/codemirror/mode/brainfuck/brainfuck.js +85 -0
  112. package/www/codemirror/mode/clike/clike.js +940 -0
  113. package/www/codemirror/mode/clojure/clojure.js +292 -0
  114. package/www/codemirror/mode/cmake/cmake.js +97 -0
  115. package/www/codemirror/mode/cobol/cobol.js +255 -0
  116. package/www/codemirror/mode/coffeescript/coffeescript.js +359 -0
  117. package/www/codemirror/mode/commonlisp/commonlisp.js +125 -0
  118. package/www/codemirror/mode/crystal/crystal.js +433 -0
  119. package/www/codemirror/mode/css/css.js +862 -0
  120. package/www/codemirror/mode/cypher/cypher.js +152 -0
  121. package/www/codemirror/mode/d/d.js +223 -0
  122. package/www/codemirror/mode/dart/dart.js +166 -0
  123. package/www/codemirror/mode/diff/diff.js +47 -0
  124. package/www/codemirror/mode/django/django.js +356 -0
  125. package/www/codemirror/mode/dockerfile/dockerfile.js +211 -0
  126. package/www/codemirror/mode/dtd/dtd.js +142 -0
  127. package/www/codemirror/mode/dylan/dylan.js +352 -0
  128. package/www/codemirror/mode/ebnf/ebnf.js +195 -0
  129. package/www/codemirror/mode/ecl/ecl.js +206 -0
  130. package/www/codemirror/mode/eiffel/eiffel.js +160 -0
  131. package/www/codemirror/mode/elm/elm.js +245 -0
  132. package/www/codemirror/mode/erlang/erlang.js +619 -0
  133. package/www/codemirror/mode/factor/factor.js +85 -0
  134. package/www/codemirror/mode/fcl/fcl.js +173 -0
  135. package/www/codemirror/mode/forth/forth.js +180 -0
  136. package/www/codemirror/mode/fortran/fortran.js +188 -0
  137. package/www/codemirror/mode/gas/gas.js +353 -0
  138. package/www/codemirror/mode/gfm/gfm.js +129 -0
  139. package/www/codemirror/mode/gherkin/gherkin.js +178 -0
  140. package/www/codemirror/mode/go/go.js +187 -0
  141. package/www/codemirror/mode/groovy/groovy.js +247 -0
  142. package/www/codemirror/mode/haml/haml.js +161 -0
  143. package/www/codemirror/mode/handlebars/handlebars.js +70 -0
  144. package/www/codemirror/mode/haskell/haskell.js +268 -0
  145. package/www/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  146. package/www/codemirror/mode/haxe/haxe.js +515 -0
  147. package/www/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  148. package/www/codemirror/mode/htmlmixed/htmlmixed.js +153 -0
  149. package/www/codemirror/mode/http/http.js +113 -0
  150. package/www/codemirror/mode/idl/idl.js +290 -0
  151. package/www/codemirror/mode/javascript/javascript.js +960 -0
  152. package/www/codemirror/mode/jinja2/jinja2.js +193 -0
  153. package/www/codemirror/mode/jsx/jsx.js +148 -0
  154. package/www/codemirror/mode/julia/julia.js +390 -0
  155. package/www/codemirror/mode/livescript/livescript.js +280 -0
  156. package/www/codemirror/mode/lua/lua.js +160 -0
  157. package/www/codemirror/mode/markdown/markdown.js +886 -0
  158. package/www/codemirror/mode/mathematica/mathematica.js +176 -0
  159. package/www/codemirror/mode/mbox/mbox.js +129 -0
  160. package/www/codemirror/mode/meta.js +221 -0
  161. package/www/codemirror/mode/mirc/mirc.js +193 -0
  162. package/www/codemirror/mode/mllike/mllike.js +359 -0
  163. package/www/codemirror/mode/modelica/modelica.js +245 -0
  164. package/www/codemirror/mode/mscgen/mscgen.js +175 -0
  165. package/www/codemirror/mode/mumps/mumps.js +148 -0
  166. package/www/codemirror/mode/nginx/nginx.js +178 -0
  167. package/www/codemirror/mode/nsis/nsis.js +95 -0
  168. package/www/codemirror/mode/ntriples/ntriples.js +195 -0
  169. package/www/codemirror/mode/octave/octave.js +139 -0
  170. package/www/codemirror/mode/oz/oz.js +252 -0
  171. package/www/codemirror/mode/pascal/pascal.js +136 -0
  172. package/www/codemirror/mode/pegjs/pegjs.js +111 -0
  173. package/www/codemirror/mode/perl/perl.js +836 -0
  174. package/www/codemirror/mode/php/php.js +234 -0
  175. package/www/codemirror/mode/pig/pig.js +178 -0
  176. package/www/codemirror/mode/powershell/powershell.js +398 -0
  177. package/www/codemirror/mode/properties/properties.js +78 -0
  178. package/www/codemirror/mode/protobuf/protobuf.js +72 -0
  179. package/www/codemirror/mode/pug/pug.js +591 -0
  180. package/www/codemirror/mode/puppet/puppet.js +220 -0
  181. package/www/codemirror/mode/python/python.js +402 -0
  182. package/www/codemirror/mode/q/q.js +139 -0
  183. package/www/codemirror/mode/r/r.js +190 -0
  184. package/www/codemirror/mode/rpm/changes/index.html +66 -0
  185. package/www/codemirror/mode/rpm/rpm.js +109 -0
  186. package/www/codemirror/mode/rst/rst.js +557 -0
  187. package/www/codemirror/mode/ruby/ruby.js +303 -0
  188. package/www/codemirror/mode/rust/rust.js +72 -0
  189. package/www/codemirror/mode/sas/sas.js +303 -0
  190. package/www/codemirror/mode/sass/sass.js +459 -0
  191. package/www/codemirror/mode/scheme/scheme.js +284 -0
  192. package/www/codemirror/mode/shell/shell.js +168 -0
  193. package/www/codemirror/mode/sieve/sieve.js +193 -0
  194. package/www/codemirror/mode/slim/slim.js +575 -0
  195. package/www/codemirror/mode/smalltalk/smalltalk.js +168 -0
  196. package/www/codemirror/mode/smarty/smarty.js +225 -0
  197. package/www/codemirror/mode/solr/solr.js +104 -0
  198. package/www/codemirror/mode/soy/soy.js +665 -0
  199. package/www/codemirror/mode/sparql/sparql.js +184 -0
  200. package/www/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  201. package/www/codemirror/mode/sql/sql.js +525 -0
  202. package/www/codemirror/mode/stex/stex.js +264 -0
  203. package/www/codemirror/mode/stylus/stylus.js +775 -0
  204. package/www/codemirror/mode/swift/swift.js +221 -0
  205. package/www/codemirror/mode/tcl/tcl.js +140 -0
  206. package/www/codemirror/mode/textile/textile.js +469 -0
  207. package/www/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  208. package/www/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  209. package/www/codemirror/mode/tiki/tiki.css +26 -0
  210. package/www/codemirror/mode/tiki/tiki.js +312 -0
  211. package/www/codemirror/mode/toml/toml.js +88 -0
  212. package/www/codemirror/mode/tornado/tornado.js +68 -0
  213. package/www/codemirror/mode/troff/troff.js +84 -0
  214. package/www/codemirror/mode/ttcn/ttcn.js +283 -0
  215. package/www/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  216. package/www/codemirror/mode/turtle/turtle.js +162 -0
  217. package/www/codemirror/mode/twig/twig.js +141 -0
  218. package/www/codemirror/mode/vb/vb.js +275 -0
  219. package/www/codemirror/mode/vbscript/vbscript.js +350 -0
  220. package/www/codemirror/mode/velocity/velocity.js +202 -0
  221. package/www/codemirror/mode/verilog/verilog.js +781 -0
  222. package/www/codemirror/mode/vhdl/vhdl.js +189 -0
  223. package/www/codemirror/mode/vue/vue.js +77 -0
  224. package/www/codemirror/mode/wast/wast.js +132 -0
  225. package/www/codemirror/mode/webidl/webidl.js +195 -0
  226. package/www/codemirror/mode/xml/xml.js +417 -0
  227. package/www/codemirror/mode/xquery/xquery.js +448 -0
  228. package/www/codemirror/mode/yacas/yacas.js +204 -0
  229. package/www/codemirror/mode/yaml/yaml.js +120 -0
  230. package/www/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +72 -0
  231. package/www/codemirror/mode/z80/z80.js +116 -0
  232. package/www/codemirror/package.json +52 -0
  233. package/www/codemirror/rollup.config.js +52 -0
  234. package/www/codemirror/src/addon/runmode/codemirror-standalone.js +24 -0
  235. package/www/codemirror/src/addon/runmode/codemirror.node.js +21 -0
  236. package/www/codemirror/src/addon/runmode/runmode-standalone.js +2 -0
  237. package/www/codemirror/src/addon/runmode/runmode.node.js +2 -0
  238. package/www/codemirror/src/codemirror.js +3 -0
  239. package/www/codemirror/src/display/Display.js +116 -0
  240. package/www/codemirror/src/display/focus.js +50 -0
  241. package/www/codemirror/src/display/gutters.js +44 -0
  242. package/www/codemirror/src/display/highlight_worker.js +55 -0
  243. package/www/codemirror/src/display/line_numbers.js +48 -0
  244. package/www/codemirror/src/display/mode_state.js +22 -0
  245. package/www/codemirror/src/display/operations.js +206 -0
  246. package/www/codemirror/src/display/scroll_events.js +132 -0
  247. package/www/codemirror/src/display/scrollbars.js +194 -0
  248. package/www/codemirror/src/display/scrolling.js +186 -0
  249. package/www/codemirror/src/display/selection.js +173 -0
  250. package/www/codemirror/src/display/update_display.js +267 -0
  251. package/www/codemirror/src/display/update_line.js +189 -0
  252. package/www/codemirror/src/display/update_lines.js +82 -0
  253. package/www/codemirror/src/display/view_tracking.js +153 -0
  254. package/www/codemirror/src/edit/CodeMirror.js +217 -0
  255. package/www/codemirror/src/edit/commands.js +178 -0
  256. package/www/codemirror/src/edit/deleteNearSelection.js +30 -0
  257. package/www/codemirror/src/edit/drop_events.js +130 -0
  258. package/www/codemirror/src/edit/fromTextArea.js +61 -0
  259. package/www/codemirror/src/edit/global_events.js +45 -0
  260. package/www/codemirror/src/edit/key_events.js +163 -0
  261. package/www/codemirror/src/edit/legacy.js +62 -0
  262. package/www/codemirror/src/edit/main.js +69 -0
  263. package/www/codemirror/src/edit/methods.js +555 -0
  264. package/www/codemirror/src/edit/mouse_events.js +417 -0
  265. package/www/codemirror/src/edit/options.js +194 -0
  266. package/www/codemirror/src/edit/utils.js +7 -0
  267. package/www/codemirror/src/input/ContentEditableInput.js +546 -0
  268. package/www/codemirror/src/input/TextareaInput.js +380 -0
  269. package/www/codemirror/src/input/indent.js +71 -0
  270. package/www/codemirror/src/input/input.js +134 -0
  271. package/www/codemirror/src/input/keymap.js +147 -0
  272. package/www/codemirror/src/input/keynames.js +17 -0
  273. package/www/codemirror/src/input/movement.js +111 -0
  274. package/www/codemirror/src/line/highlight.js +284 -0
  275. package/www/codemirror/src/line/line_data.js +349 -0
  276. package/www/codemirror/src/line/pos.js +40 -0
  277. package/www/codemirror/src/line/saw_special_spans.js +10 -0
  278. package/www/codemirror/src/line/spans.js +390 -0
  279. package/www/codemirror/src/line/utils_line.js +85 -0
  280. package/www/codemirror/src/measurement/position_measurement.js +702 -0
  281. package/www/codemirror/src/measurement/widgets.js +26 -0
  282. package/www/codemirror/src/model/Doc.js +436 -0
  283. package/www/codemirror/src/model/change_measurement.js +61 -0
  284. package/www/codemirror/src/model/changes.js +339 -0
  285. package/www/codemirror/src/model/chunk.js +167 -0
  286. package/www/codemirror/src/model/document_data.js +112 -0
  287. package/www/codemirror/src/model/history.js +228 -0
  288. package/www/codemirror/src/model/line_widget.js +78 -0
  289. package/www/codemirror/src/model/mark_text.js +293 -0
  290. package/www/codemirror/src/model/selection.js +84 -0
  291. package/www/codemirror/src/model/selection_updates.js +216 -0
  292. package/www/codemirror/src/modes.js +96 -0
  293. package/www/codemirror/src/util/StringStream.js +90 -0
  294. package/www/codemirror/src/util/bidi.js +215 -0
  295. package/www/codemirror/src/util/browser.js +34 -0
  296. package/www/codemirror/src/util/dom.js +101 -0
  297. package/www/codemirror/src/util/event.js +103 -0
  298. package/www/codemirror/src/util/feature_detection.js +84 -0
  299. package/www/codemirror/src/util/misc.js +168 -0
  300. package/www/codemirror/src/util/operation_group.js +72 -0
  301. package/www/codemirror/theme/3024-day.css +41 -0
  302. package/www/codemirror/theme/3024-night.css +39 -0
  303. package/www/codemirror/theme/abbott.css +268 -0
  304. package/www/codemirror/theme/abcdef.css +32 -0
  305. package/www/codemirror/theme/ambiance-mobile.css +5 -0
  306. package/www/codemirror/theme/ambiance.css +74 -0
  307. package/www/codemirror/theme/ayu-dark.css +44 -0
  308. package/www/codemirror/theme/ayu-mirage.css +45 -0
  309. package/www/codemirror/theme/base16-dark.css +40 -0
  310. package/www/codemirror/theme/base16-light.css +38 -0
  311. package/www/codemirror/theme/bespin.css +34 -0
  312. package/www/codemirror/theme/blackboard.css +32 -0
  313. package/www/codemirror/theme/cobalt.css +25 -0
  314. package/www/codemirror/theme/colorforth.css +33 -0
  315. package/www/codemirror/theme/darcula.css +53 -0
  316. package/www/codemirror/theme/dracula.css +40 -0
  317. package/www/codemirror/theme/duotone-dark.css +35 -0
  318. package/www/codemirror/theme/duotone-light.css +36 -0
  319. package/www/codemirror/theme/eclipse.css +23 -0
  320. package/www/codemirror/theme/elegant.css +13 -0
  321. package/www/codemirror/theme/erlang-dark.css +34 -0
  322. package/www/codemirror/theme/gruvbox-dark.css +39 -0
  323. package/www/codemirror/theme/hopscotch.css +34 -0
  324. package/www/codemirror/theme/icecoder.css +43 -0
  325. package/www/codemirror/theme/idea.css +42 -0
  326. package/www/codemirror/theme/isotope.css +34 -0
  327. package/www/codemirror/theme/juejin.css +30 -0
  328. package/www/codemirror/theme/lesser-dark.css +47 -0
  329. package/www/codemirror/theme/liquibyte.css +95 -0
  330. package/www/codemirror/theme/lucario.css +37 -0
  331. package/www/codemirror/theme/material-darker.css +135 -0
  332. package/www/codemirror/theme/material-ocean.css +141 -0
  333. package/www/codemirror/theme/material-palenight.css +141 -0
  334. package/www/codemirror/theme/material.css +141 -0
  335. package/www/codemirror/theme/mbo.css +37 -0
  336. package/www/codemirror/theme/mdn-like.css +46 -0
  337. package/www/codemirror/theme/midnight.css +39 -0
  338. package/www/codemirror/theme/monokai.css +41 -0
  339. package/www/codemirror/theme/moxer.css +143 -0
  340. package/www/codemirror/theme/neat.css +12 -0
  341. package/www/codemirror/theme/neo.css +43 -0
  342. package/www/codemirror/theme/night.css +27 -0
  343. package/www/codemirror/theme/nord.css +42 -0
  344. package/www/codemirror/theme/oceanic-next.css +46 -0
  345. package/www/codemirror/theme/panda-syntax.css +85 -0
  346. package/www/codemirror/theme/paraiso-dark.css +38 -0
  347. package/www/codemirror/theme/paraiso-light.css +38 -0
  348. package/www/codemirror/theme/pastel-on-dark.css +52 -0
  349. package/www/codemirror/theme/railscasts.css +34 -0
  350. package/www/codemirror/theme/rubyblue.css +25 -0
  351. package/www/codemirror/theme/seti.css +44 -0
  352. package/www/codemirror/theme/shadowfox.css +52 -0
  353. package/www/codemirror/theme/solarized.css +165 -0
  354. package/www/codemirror/theme/ssms.css +16 -0
  355. package/www/codemirror/theme/the-matrix.css +30 -0
  356. package/www/codemirror/theme/tomorrow-night-bright.css +35 -0
  357. package/www/codemirror/theme/tomorrow-night-eighties.css +38 -0
  358. package/www/codemirror/theme/ttcn.css +64 -0
  359. package/www/codemirror/theme/twilight.css +32 -0
  360. package/www/codemirror/theme/vibrant-ink.css +34 -0
  361. package/www/codemirror/theme/xq-dark.css +53 -0
  362. package/www/codemirror/theme/xq-light.css +43 -0
  363. package/www/codemirror/theme/yeti.css +44 -0
  364. package/www/codemirror/theme/yonce.css +59 -0
  365. package/www/codemirror/theme/zenburn.css +37 -0
  366. package/www/index.html +216 -0
@@ -0,0 +1,152 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
+
4
+ // By the Neo4j Team and contributors.
5
+ // https://github.com/neo4j-contrib/CodeMirror
6
+
7
+ (function(mod) {
8
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
9
+ mod(require("../../lib/codemirror"));
10
+ else if (typeof define == "function" && define.amd) // AMD
11
+ define(["../../lib/codemirror"], mod);
12
+ else // Plain browser env
13
+ mod(CodeMirror);
14
+ })(function(CodeMirror) {
15
+ "use strict";
16
+ var wordRegexp = function(words) {
17
+ return new RegExp("^(?:" + words.join("|") + ")$", "i");
18
+ };
19
+
20
+ CodeMirror.defineMode("cypher", function(config) {
21
+ var tokenBase = function(stream/*, state*/) {
22
+ curPunc = null
23
+ var ch = stream.next();
24
+ if (ch ==='"') {
25
+ stream.match(/^[^"]*"/);
26
+ return "string";
27
+ }
28
+ if (ch === "'") {
29
+ stream.match(/^[^']*'/);
30
+ return "string";
31
+ }
32
+ if (/[{}\(\),\.;\[\]]/.test(ch)) {
33
+ curPunc = ch;
34
+ return "node";
35
+ } else if (ch === "/" && stream.eat("/")) {
36
+ stream.skipToEnd();
37
+ return "comment";
38
+ } else if (operatorChars.test(ch)) {
39
+ stream.eatWhile(operatorChars);
40
+ return null;
41
+ } else {
42
+ stream.eatWhile(/[_\w\d]/);
43
+ if (stream.eat(":")) {
44
+ stream.eatWhile(/[\w\d_\-]/);
45
+ return "atom";
46
+ }
47
+ var word = stream.current();
48
+ if (funcs.test(word)) return "builtin";
49
+ if (preds.test(word)) return "def";
50
+ if (keywords.test(word) || systemKeywords.test(word)) return "keyword";
51
+ return "variable";
52
+ }
53
+ };
54
+ var pushContext = function(state, type, col) {
55
+ return state.context = {
56
+ prev: state.context,
57
+ indent: state.indent,
58
+ col: col,
59
+ type: type
60
+ };
61
+ };
62
+ var popContext = function(state) {
63
+ state.indent = state.context.indent;
64
+ return state.context = state.context.prev;
65
+ };
66
+ var indentUnit = config.indentUnit;
67
+ var curPunc;
68
+ var funcs = wordRegexp(["abs", "acos", "allShortestPaths", "asin", "atan", "atan2", "avg", "ceil", "coalesce", "collect", "cos", "cot", "count", "degrees", "e", "endnode", "exp", "extract", "filter", "floor", "haversin", "head", "id", "keys", "labels", "last", "left", "length", "log", "log10", "lower", "ltrim", "max", "min", "node", "nodes", "percentileCont", "percentileDisc", "pi", "radians", "rand", "range", "reduce", "rel", "relationship", "relationships", "replace", "reverse", "right", "round", "rtrim", "shortestPath", "sign", "sin", "size", "split", "sqrt", "startnode", "stdev", "stdevp", "str", "substring", "sum", "tail", "tan", "timestamp", "toFloat", "toInt", "toString", "trim", "type", "upper"]);
69
+ var preds = wordRegexp(["all", "and", "any", "contains", "exists", "has", "in", "none", "not", "or", "single", "xor"]);
70
+ var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "detach", "distinct", "drop", "else", "end", "ends", "explain", "false", "fieldterminator", "foreach", "from", "headers", "in", "index", "is", "join", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "profile", "remove", "return", "scan", "set", "skip", "start", "starts", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with", "call", "yield"]);
71
+ var systemKeywords = wordRegexp(["access", "active", "assign", "all", "alter", "as", "catalog", "change", "copy", "create", "constraint", "constraints", "current", "database", "databases", "dbms", "default", "deny", "drop", "element", "elements", "exists", "from", "grant", "graph", "graphs", "if", "index", "indexes", "label", "labels", "management", "match", "name", "names", "new", "node", "nodes", "not", "of", "on", "or", "password", "populated", "privileges", "property", "read", "relationship", "relationships", "remove", "replace", "required", "revoke", "role", "roles", "set", "show", "start", "status", "stop", "suspended", "to", "traverse", "type", "types", "user", "users", "with", "write"]);
72
+ var operatorChars = /[*+\-<>=&|~%^]/;
73
+
74
+ return {
75
+ startState: function(/*base*/) {
76
+ return {
77
+ tokenize: tokenBase,
78
+ context: null,
79
+ indent: 0,
80
+ col: 0
81
+ };
82
+ },
83
+ token: function(stream, state) {
84
+ if (stream.sol()) {
85
+ if (state.context && (state.context.align == null)) {
86
+ state.context.align = false;
87
+ }
88
+ state.indent = stream.indentation();
89
+ }
90
+ if (stream.eatSpace()) {
91
+ return null;
92
+ }
93
+ var style = state.tokenize(stream, state);
94
+ if (style !== "comment" && state.context && (state.context.align == null) && state.context.type !== "pattern") {
95
+ state.context.align = true;
96
+ }
97
+ if (curPunc === "(") {
98
+ pushContext(state, ")", stream.column());
99
+ } else if (curPunc === "[") {
100
+ pushContext(state, "]", stream.column());
101
+ } else if (curPunc === "{") {
102
+ pushContext(state, "}", stream.column());
103
+ } else if (/[\]\}\)]/.test(curPunc)) {
104
+ while (state.context && state.context.type === "pattern") {
105
+ popContext(state);
106
+ }
107
+ if (state.context && curPunc === state.context.type) {
108
+ popContext(state);
109
+ }
110
+ } else if (curPunc === "." && state.context && state.context.type === "pattern") {
111
+ popContext(state);
112
+ } else if (/atom|string|variable/.test(style) && state.context) {
113
+ if (/[\}\]]/.test(state.context.type)) {
114
+ pushContext(state, "pattern", stream.column());
115
+ } else if (state.context.type === "pattern" && !state.context.align) {
116
+ state.context.align = true;
117
+ state.context.col = stream.column();
118
+ }
119
+ }
120
+ return style;
121
+ },
122
+ indent: function(state, textAfter) {
123
+ var firstChar = textAfter && textAfter.charAt(0);
124
+ var context = state.context;
125
+ if (/[\]\}]/.test(firstChar)) {
126
+ while (context && context.type === "pattern") {
127
+ context = context.prev;
128
+ }
129
+ }
130
+ var closing = context && firstChar === context.type;
131
+ if (!context) return 0;
132
+ if (context.type === "keywords") return CodeMirror.commands.newlineAndIndent;
133
+ if (context.align) return context.col + (closing ? 0 : 1);
134
+ return context.indent + (closing ? 0 : indentUnit);
135
+ }
136
+ };
137
+ });
138
+
139
+ CodeMirror.modeExtensions["cypher"] = {
140
+ autoFormatLineBreaks: function(text) {
141
+ var i, lines, reProcessedPortion;
142
+ var lines = text.split("\n");
143
+ var reProcessedPortion = /\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g;
144
+ for (var i = 0; i < lines.length; i++)
145
+ lines[i] = lines[i].replace(reProcessedPortion, " \n$1 ").trim();
146
+ return lines.join("\n");
147
+ }
148
+ };
149
+
150
+ CodeMirror.defineMIME("application/x-cypher-query", "cypher");
151
+
152
+ });
@@ -0,0 +1,223 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
+
4
+ (function(mod) {
5
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
6
+ mod(require("../../lib/codemirror"));
7
+ else if (typeof define == "function" && define.amd) // AMD
8
+ define(["../../lib/codemirror"], mod);
9
+ else // Plain browser env
10
+ mod(CodeMirror);
11
+ })(function(CodeMirror) {
12
+ "use strict";
13
+
14
+ CodeMirror.defineMode("d", function(config, parserConfig) {
15
+ var indentUnit = config.indentUnit,
16
+ statementIndentUnit = parserConfig.statementIndentUnit || indentUnit,
17
+ keywords = parserConfig.keywords || {},
18
+ builtin = parserConfig.builtin || {},
19
+ blockKeywords = parserConfig.blockKeywords || {},
20
+ atoms = parserConfig.atoms || {},
21
+ hooks = parserConfig.hooks || {},
22
+ multiLineStrings = parserConfig.multiLineStrings;
23
+ var isOperatorChar = /[+\-*&%=<>!?|\/]/;
24
+
25
+ var curPunc;
26
+
27
+ function tokenBase(stream, state) {
28
+ var ch = stream.next();
29
+ if (hooks[ch]) {
30
+ var result = hooks[ch](stream, state);
31
+ if (result !== false) return result;
32
+ }
33
+ if (ch == '"' || ch == "'" || ch == "`") {
34
+ state.tokenize = tokenString(ch);
35
+ return state.tokenize(stream, state);
36
+ }
37
+ if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
38
+ curPunc = ch;
39
+ return null;
40
+ }
41
+ if (/\d/.test(ch)) {
42
+ stream.eatWhile(/[\w\.]/);
43
+ return "number";
44
+ }
45
+ if (ch == "/") {
46
+ if (stream.eat("+")) {
47
+ state.tokenize = tokenNestedComment;
48
+ return tokenNestedComment(stream, state);
49
+ }
50
+ if (stream.eat("*")) {
51
+ state.tokenize = tokenComment;
52
+ return tokenComment(stream, state);
53
+ }
54
+ if (stream.eat("/")) {
55
+ stream.skipToEnd();
56
+ return "comment";
57
+ }
58
+ }
59
+ if (isOperatorChar.test(ch)) {
60
+ stream.eatWhile(isOperatorChar);
61
+ return "operator";
62
+ }
63
+ stream.eatWhile(/[\w\$_\xa1-\uffff]/);
64
+ var cur = stream.current();
65
+ if (keywords.propertyIsEnumerable(cur)) {
66
+ if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement";
67
+ return "keyword";
68
+ }
69
+ if (builtin.propertyIsEnumerable(cur)) {
70
+ if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement";
71
+ return "builtin";
72
+ }
73
+ if (atoms.propertyIsEnumerable(cur)) return "atom";
74
+ return "variable";
75
+ }
76
+
77
+ function tokenString(quote) {
78
+ return function(stream, state) {
79
+ var escaped = false, next, end = false;
80
+ while ((next = stream.next()) != null) {
81
+ if (next == quote && !escaped) {end = true; break;}
82
+ escaped = !escaped && next == "\\";
83
+ }
84
+ if (end || !(escaped || multiLineStrings))
85
+ state.tokenize = null;
86
+ return "string";
87
+ };
88
+ }
89
+
90
+ function tokenComment(stream, state) {
91
+ var maybeEnd = false, ch;
92
+ while (ch = stream.next()) {
93
+ if (ch == "/" && maybeEnd) {
94
+ state.tokenize = null;
95
+ break;
96
+ }
97
+ maybeEnd = (ch == "*");
98
+ }
99
+ return "comment";
100
+ }
101
+
102
+ function tokenNestedComment(stream, state) {
103
+ var maybeEnd = false, ch;
104
+ while (ch = stream.next()) {
105
+ if (ch == "/" && maybeEnd) {
106
+ state.tokenize = null;
107
+ break;
108
+ }
109
+ maybeEnd = (ch == "+");
110
+ }
111
+ return "comment";
112
+ }
113
+
114
+ function Context(indented, column, type, align, prev) {
115
+ this.indented = indented;
116
+ this.column = column;
117
+ this.type = type;
118
+ this.align = align;
119
+ this.prev = prev;
120
+ }
121
+ function pushContext(state, col, type) {
122
+ var indent = state.indented;
123
+ if (state.context && state.context.type == "statement")
124
+ indent = state.context.indented;
125
+ return state.context = new Context(indent, col, type, null, state.context);
126
+ }
127
+ function popContext(state) {
128
+ var t = state.context.type;
129
+ if (t == ")" || t == "]" || t == "}")
130
+ state.indented = state.context.indented;
131
+ return state.context = state.context.prev;
132
+ }
133
+
134
+ // Interface
135
+
136
+ return {
137
+ startState: function(basecolumn) {
138
+ return {
139
+ tokenize: null,
140
+ context: new Context((basecolumn || 0) - indentUnit, 0, "top", false),
141
+ indented: 0,
142
+ startOfLine: true
143
+ };
144
+ },
145
+
146
+ token: function(stream, state) {
147
+ var ctx = state.context;
148
+ if (stream.sol()) {
149
+ if (ctx.align == null) ctx.align = false;
150
+ state.indented = stream.indentation();
151
+ state.startOfLine = true;
152
+ }
153
+ if (stream.eatSpace()) return null;
154
+ curPunc = null;
155
+ var style = (state.tokenize || tokenBase)(stream, state);
156
+ if (style == "comment" || style == "meta") return style;
157
+ if (ctx.align == null) ctx.align = true;
158
+
159
+ if ((curPunc == ";" || curPunc == ":" || curPunc == ",") && ctx.type == "statement") popContext(state);
160
+ else if (curPunc == "{") pushContext(state, stream.column(), "}");
161
+ else if (curPunc == "[") pushContext(state, stream.column(), "]");
162
+ else if (curPunc == "(") pushContext(state, stream.column(), ")");
163
+ else if (curPunc == "}") {
164
+ while (ctx.type == "statement") ctx = popContext(state);
165
+ if (ctx.type == "}") ctx = popContext(state);
166
+ while (ctx.type == "statement") ctx = popContext(state);
167
+ }
168
+ else if (curPunc == ctx.type) popContext(state);
169
+ else if (((ctx.type == "}" || ctx.type == "top") && curPunc != ';') || (ctx.type == "statement" && curPunc == "newstatement"))
170
+ pushContext(state, stream.column(), "statement");
171
+ state.startOfLine = false;
172
+ return style;
173
+ },
174
+
175
+ indent: function(state, textAfter) {
176
+ if (state.tokenize != tokenBase && state.tokenize != null) return CodeMirror.Pass;
177
+ var ctx = state.context, firstChar = textAfter && textAfter.charAt(0);
178
+ if (ctx.type == "statement" && firstChar == "}") ctx = ctx.prev;
179
+ var closing = firstChar == ctx.type;
180
+ if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : statementIndentUnit);
181
+ else if (ctx.align) return ctx.column + (closing ? 0 : 1);
182
+ else return ctx.indented + (closing ? 0 : indentUnit);
183
+ },
184
+
185
+ electricChars: "{}",
186
+ blockCommentStart: "/*",
187
+ blockCommentEnd: "*/",
188
+ blockCommentContinue: " * ",
189
+ lineComment: "//",
190
+ fold: "brace"
191
+ };
192
+ });
193
+
194
+ function words(str) {
195
+ var obj = {}, words = str.split(" ");
196
+ for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
197
+ return obj;
198
+ }
199
+
200
+ var blockKeywords = "body catch class do else enum for foreach foreach_reverse if in interface mixin " +
201
+ "out scope struct switch try union unittest version while with";
202
+
203
+ CodeMirror.defineMIME("text/x-d", {
204
+ name: "d",
205
+ keywords: words("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue " +
206
+ "debug default delegate delete deprecated export extern final finally function goto immutable " +
207
+ "import inout invariant is lazy macro module new nothrow override package pragma private " +
208
+ "protected public pure ref return shared short static super synchronized template this " +
209
+ "throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters " +
210
+ blockKeywords),
211
+ blockKeywords: words(blockKeywords),
212
+ builtin: words("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte " +
213
+ "ucent uint ulong ushort wchar wstring void size_t sizediff_t"),
214
+ atoms: words("exit failure success true false null"),
215
+ hooks: {
216
+ "@": function(stream, _state) {
217
+ stream.eatWhile(/[\w\$_]/);
218
+ return "meta";
219
+ }
220
+ }
221
+ });
222
+
223
+ });
@@ -0,0 +1,166 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
+
4
+ (function(mod) {
5
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
6
+ mod(require("../../lib/codemirror"), require("../clike/clike"));
7
+ else if (typeof define == "function" && define.amd) // AMD
8
+ define(["../../lib/codemirror", "../clike/clike"], mod);
9
+ else // Plain browser env
10
+ mod(CodeMirror);
11
+ })(function(CodeMirror) {
12
+ "use strict";
13
+
14
+ var keywords = ("this super static final const abstract class extends external factory " +
15
+ "implements mixin get native set typedef with enum throw rethrow " +
16
+ "assert break case continue default in return new deferred async await covariant " +
17
+ "try catch finally do else for if switch while import library export " +
18
+ "part of show hide is as extension on yield late required").split(" ");
19
+ var blockKeywords = "try catch finally do else for if switch while".split(" ");
20
+ var atoms = "true false null".split(" ");
21
+ var builtins = "void bool num int double dynamic var String Null Never".split(" ");
22
+
23
+ function set(words) {
24
+ var obj = {};
25
+ for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
26
+ return obj;
27
+ }
28
+
29
+ function pushInterpolationStack(state) {
30
+ (state.interpolationStack || (state.interpolationStack = [])).push(state.tokenize);
31
+ }
32
+
33
+ function popInterpolationStack(state) {
34
+ return (state.interpolationStack || (state.interpolationStack = [])).pop();
35
+ }
36
+
37
+ function sizeInterpolationStack(state) {
38
+ return state.interpolationStack ? state.interpolationStack.length : 0;
39
+ }
40
+
41
+ CodeMirror.defineMIME("application/dart", {
42
+ name: "clike",
43
+ keywords: set(keywords),
44
+ blockKeywords: set(blockKeywords),
45
+ builtin: set(builtins),
46
+ atoms: set(atoms),
47
+ hooks: {
48
+ "@": function(stream) {
49
+ stream.eatWhile(/[\w\$_\.]/);
50
+ return "meta";
51
+ },
52
+
53
+ // custom string handling to deal with triple-quoted strings and string interpolation
54
+ "'": function(stream, state) {
55
+ return tokenString("'", stream, state, false);
56
+ },
57
+ "\"": function(stream, state) {
58
+ return tokenString("\"", stream, state, false);
59
+ },
60
+ "r": function(stream, state) {
61
+ var peek = stream.peek();
62
+ if (peek == "'" || peek == "\"") {
63
+ return tokenString(stream.next(), stream, state, true);
64
+ }
65
+ return false;
66
+ },
67
+
68
+ "}": function(_stream, state) {
69
+ // "}" is end of interpolation, if interpolation stack is non-empty
70
+ if (sizeInterpolationStack(state) > 0) {
71
+ state.tokenize = popInterpolationStack(state);
72
+ return null;
73
+ }
74
+ return false;
75
+ },
76
+
77
+ "/": function(stream, state) {
78
+ if (!stream.eat("*")) return false
79
+ state.tokenize = tokenNestedComment(1)
80
+ return state.tokenize(stream, state)
81
+ },
82
+ token: function(stream, _, style) {
83
+ if (style == "variable") {
84
+ // Assume uppercase symbols are classes using variable-2
85
+ var isUpper = RegExp('^[_$]*[A-Z][a-zA-Z0-9_$]*$','g');
86
+ if (isUpper.test(stream.current())) {
87
+ return 'variable-2';
88
+ }
89
+ }
90
+ }
91
+ }
92
+ });
93
+
94
+ function tokenString(quote, stream, state, raw) {
95
+ var tripleQuoted = false;
96
+ if (stream.eat(quote)) {
97
+ if (stream.eat(quote)) tripleQuoted = true;
98
+ else return "string"; //empty string
99
+ }
100
+ function tokenStringHelper(stream, state) {
101
+ var escaped = false;
102
+ while (!stream.eol()) {
103
+ if (!raw && !escaped && stream.peek() == "$") {
104
+ pushInterpolationStack(state);
105
+ state.tokenize = tokenInterpolation;
106
+ return "string";
107
+ }
108
+ var next = stream.next();
109
+ if (next == quote && !escaped && (!tripleQuoted || stream.match(quote + quote))) {
110
+ state.tokenize = null;
111
+ break;
112
+ }
113
+ escaped = !raw && !escaped && next == "\\";
114
+ }
115
+ return "string";
116
+ }
117
+ state.tokenize = tokenStringHelper;
118
+ return tokenStringHelper(stream, state);
119
+ }
120
+
121
+ function tokenInterpolation(stream, state) {
122
+ stream.eat("$");
123
+ if (stream.eat("{")) {
124
+ // let clike handle the content of ${...},
125
+ // we take over again when "}" appears (see hooks).
126
+ state.tokenize = null;
127
+ } else {
128
+ state.tokenize = tokenInterpolationIdentifier;
129
+ }
130
+ return null;
131
+ }
132
+
133
+ function tokenInterpolationIdentifier(stream, state) {
134
+ stream.eatWhile(/[\w_]/);
135
+ state.tokenize = popInterpolationStack(state);
136
+ return "variable";
137
+ }
138
+
139
+ function tokenNestedComment(depth) {
140
+ return function (stream, state) {
141
+ var ch
142
+ while (ch = stream.next()) {
143
+ if (ch == "*" && stream.eat("/")) {
144
+ if (depth == 1) {
145
+ state.tokenize = null
146
+ break
147
+ } else {
148
+ state.tokenize = tokenNestedComment(depth - 1)
149
+ return state.tokenize(stream, state)
150
+ }
151
+ } else if (ch == "/" && stream.eat("*")) {
152
+ state.tokenize = tokenNestedComment(depth + 1)
153
+ return state.tokenize(stream, state)
154
+ }
155
+ }
156
+ return "comment"
157
+ }
158
+ }
159
+
160
+ CodeMirror.registerHelper("hintWords", "application/dart", keywords.concat(atoms).concat(builtins));
161
+
162
+ // This is needed to make loading through meta.js work.
163
+ CodeMirror.defineMode("dart", function(conf) {
164
+ return CodeMirror.getMode(conf, "application/dart");
165
+ }, "clike");
166
+ });
@@ -0,0 +1,47 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
+
4
+ (function(mod) {
5
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
6
+ mod(require("../../lib/codemirror"));
7
+ else if (typeof define == "function" && define.amd) // AMD
8
+ define(["../../lib/codemirror"], mod);
9
+ else // Plain browser env
10
+ mod(CodeMirror);
11
+ })(function(CodeMirror) {
12
+ "use strict";
13
+
14
+ CodeMirror.defineMode("diff", function() {
15
+
16
+ var TOKEN_NAMES = {
17
+ '+': 'positive',
18
+ '-': 'negative',
19
+ '@': 'meta'
20
+ };
21
+
22
+ return {
23
+ token: function(stream) {
24
+ var tw_pos = stream.string.search(/[\t ]+?$/);
25
+
26
+ if (!stream.sol() || tw_pos === 0) {
27
+ stream.skipToEnd();
28
+ return ("error " + (
29
+ TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
30
+ }
31
+
32
+ var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
33
+
34
+ if (tw_pos === -1) {
35
+ stream.skipToEnd();
36
+ } else {
37
+ stream.pos = tw_pos;
38
+ }
39
+
40
+ return token_name;
41
+ }
42
+ };
43
+ });
44
+
45
+ CodeMirror.defineMIME("text/x-diff", "diff");
46
+
47
+ });