fluentd-ui 0.3.12 → 0.3.13

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd-ui might be problematic. Click here for more details.

Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +4 -0
  3. data/Gemfile.lock +1 -1
  4. data/app/assets/javascripts/application.js +2 -0
  5. data/app/assets/javascripts/codemirror.js +29 -0
  6. data/app/assets/javascripts/codemirror_fluentd.js +59 -0
  7. data/app/assets/stylesheets/application.css +6 -0
  8. data/app/views/fluentd/settings/edit.html.haml +1 -1
  9. data/app/views/shared/vue/_setting.html.erb +1 -1
  10. data/bower.json +2 -1
  11. data/lib/fluentd-ui/version.rb +1 -1
  12. data/spec/features/source_and_output_spec.rb +16 -6
  13. data/vendor/assets/javascripts/bower/codemirror/.bower.json +29 -0
  14. data/vendor/assets/javascripts/bower/codemirror/AUTHORS +423 -0
  15. data/vendor/assets/javascripts/bower/codemirror/CONTRIBUTING.md +76 -0
  16. data/vendor/assets/javascripts/bower/codemirror/LICENSE +19 -0
  17. data/vendor/assets/javascripts/bower/codemirror/README.md +11 -0
  18. data/vendor/assets/javascripts/bower/codemirror/addon/comment/comment.js +183 -0
  19. data/vendor/assets/javascripts/bower/codemirror/addon/comment/continuecomment.js +85 -0
  20. data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.css +32 -0
  21. data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.js +155 -0
  22. data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.css +6 -0
  23. data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.js +41 -0
  24. data/vendor/assets/javascripts/bower/codemirror/addon/display/panel.js +94 -0
  25. data/vendor/assets/javascripts/bower/codemirror/addon/display/placeholder.js +58 -0
  26. data/vendor/assets/javascripts/bower/codemirror/addon/display/rulers.js +64 -0
  27. data/vendor/assets/javascripts/bower/codemirror/addon/edit/closebrackets.js +159 -0
  28. data/vendor/assets/javascripts/bower/codemirror/addon/edit/closetag.js +159 -0
  29. data/vendor/assets/javascripts/bower/codemirror/addon/edit/continuelist.js +51 -0
  30. data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchbrackets.js +120 -0
  31. data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchtags.js +66 -0
  32. data/vendor/assets/javascripts/bower/codemirror/addon/edit/trailingspace.js +27 -0
  33. data/vendor/assets/javascripts/bower/codemirror/addon/fold/brace-fold.js +105 -0
  34. data/vendor/assets/javascripts/bower/codemirror/addon/fold/comment-fold.js +57 -0
  35. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldcode.js +145 -0
  36. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.css +20 -0
  37. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.js +134 -0
  38. data/vendor/assets/javascripts/bower/codemirror/addon/fold/indent-fold.js +44 -0
  39. data/vendor/assets/javascripts/bower/codemirror/addon/fold/markdown-fold.js +49 -0
  40. data/vendor/assets/javascripts/bower/codemirror/addon/fold/xml-fold.js +182 -0
  41. data/vendor/assets/javascripts/bower/codemirror/addon/hint/anyword-hint.js +41 -0
  42. data/vendor/assets/javascripts/bower/codemirror/addon/hint/css-hint.js +56 -0
  43. data/vendor/assets/javascripts/bower/codemirror/addon/hint/html-hint.js +348 -0
  44. data/vendor/assets/javascripts/bower/codemirror/addon/hint/javascript-hint.js +146 -0
  45. data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.css +38 -0
  46. data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.js +389 -0
  47. data/vendor/assets/javascripts/bower/codemirror/addon/hint/sql-hint.js +197 -0
  48. data/vendor/assets/javascripts/bower/codemirror/addon/hint/xml-hint.js +110 -0
  49. data/vendor/assets/javascripts/bower/codemirror/addon/lint/coffeescript-lint.js +41 -0
  50. data/vendor/assets/javascripts/bower/codemirror/addon/lint/css-lint.js +35 -0
  51. data/vendor/assets/javascripts/bower/codemirror/addon/lint/javascript-lint.js +136 -0
  52. data/vendor/assets/javascripts/bower/codemirror/addon/lint/json-lint.js +31 -0
  53. data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.css +73 -0
  54. data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.js +204 -0
  55. data/vendor/assets/javascripts/bower/codemirror/addon/lint/yaml-lint.js +28 -0
  56. data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.css +112 -0
  57. data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.js +643 -0
  58. data/vendor/assets/javascripts/bower/codemirror/addon/mode/loadmode.js +64 -0
  59. data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex.js +118 -0
  60. data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex_test.js +33 -0
  61. data/vendor/assets/javascripts/bower/codemirror/addon/mode/overlay.js +85 -0
  62. data/vendor/assets/javascripts/bower/codemirror/addon/mode/simple.js +213 -0
  63. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/colorize.js +40 -0
  64. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode-standalone.js +157 -0
  65. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.js +72 -0
  66. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.node.js +120 -0
  67. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/annotatescrollbar.js +76 -0
  68. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/scrollpastend.js +46 -0
  69. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.css +66 -0
  70. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.js +139 -0
  71. data/vendor/assets/javascripts/bower/codemirror/addon/search/match-highlighter.js +128 -0
  72. data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.css +8 -0
  73. data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.js +90 -0
  74. data/vendor/assets/javascripts/bower/codemirror/addon/search/search.js +164 -0
  75. data/vendor/assets/javascripts/bower/codemirror/addon/search/searchcursor.js +189 -0
  76. data/vendor/assets/javascripts/bower/codemirror/addon/selection/active-line.js +71 -0
  77. data/vendor/assets/javascripts/bower/codemirror/addon/selection/mark-selection.js +118 -0
  78. data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.css +86 -0
  79. data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.js +670 -0
  80. data/vendor/assets/javascripts/bower/codemirror/addon/tern/worker.js +44 -0
  81. data/vendor/assets/javascripts/bower/codemirror/addon/wrap/hardwrap.js +139 -0
  82. data/vendor/assets/javascripts/bower/codemirror/bower.json +16 -0
  83. data/vendor/assets/javascripts/bower/codemirror/keymap/emacs.js +411 -0
  84. data/vendor/assets/javascripts/bower/codemirror/keymap/sublime.js +540 -0
  85. data/vendor/assets/javascripts/bower/codemirror/keymap/vim.js +4901 -0
  86. data/vendor/assets/javascripts/bower/codemirror/lib/codemirror.css +309 -0
  87. data/vendor/assets/javascripts/bower/codemirror/lib/codemirror.js +8029 -0
  88. data/vendor/assets/javascripts/bower/codemirror/mode/apl/apl.js +175 -0
  89. data/vendor/assets/javascripts/bower/codemirror/mode/asterisk/asterisk.js +198 -0
  90. data/vendor/assets/javascripts/bower/codemirror/mode/clike/clike.js +489 -0
  91. data/vendor/assets/javascripts/bower/codemirror/mode/clike/scala.html +767 -0
  92. data/vendor/assets/javascripts/bower/codemirror/mode/clojure/clojure.js +243 -0
  93. data/vendor/assets/javascripts/bower/codemirror/mode/cobol/cobol.js +255 -0
  94. data/vendor/assets/javascripts/bower/codemirror/mode/coffeescript/coffeescript.js +369 -0
  95. data/vendor/assets/javascripts/bower/codemirror/mode/commonlisp/commonlisp.js +122 -0
  96. data/vendor/assets/javascripts/bower/codemirror/mode/css/css.js +717 -0
  97. data/vendor/assets/javascripts/bower/codemirror/mode/css/less.html +152 -0
  98. data/vendor/assets/javascripts/bower/codemirror/mode/css/less_test.js +51 -0
  99. data/vendor/assets/javascripts/bower/codemirror/mode/css/scss.html +157 -0
  100. data/vendor/assets/javascripts/bower/codemirror/mode/css/scss_test.js +110 -0
  101. data/vendor/assets/javascripts/bower/codemirror/mode/css/test.js +135 -0
  102. data/vendor/assets/javascripts/bower/codemirror/mode/cypher/cypher.js +146 -0
  103. data/vendor/assets/javascripts/bower/codemirror/mode/d/d.js +218 -0
  104. data/vendor/assets/javascripts/bower/codemirror/mode/dart/dart.js +50 -0
  105. data/vendor/assets/javascripts/bower/codemirror/mode/diff/diff.js +47 -0
  106. data/vendor/assets/javascripts/bower/codemirror/mode/django/django.js +67 -0
  107. data/vendor/assets/javascripts/bower/codemirror/mode/dockerfile/dockerfile.js +76 -0
  108. data/vendor/assets/javascripts/bower/codemirror/mode/dtd/dtd.js +142 -0
  109. data/vendor/assets/javascripts/bower/codemirror/mode/dylan/dylan.js +299 -0
  110. data/vendor/assets/javascripts/bower/codemirror/mode/ebnf/ebnf.js +195 -0
  111. data/vendor/assets/javascripts/bower/codemirror/mode/ecl/ecl.js +207 -0
  112. data/vendor/assets/javascripts/bower/codemirror/mode/eiffel/eiffel.js +162 -0
  113. data/vendor/assets/javascripts/bower/codemirror/mode/erlang/erlang.js +622 -0
  114. data/vendor/assets/javascripts/bower/codemirror/mode/fortran/fortran.js +188 -0
  115. data/vendor/assets/javascripts/bower/codemirror/mode/gas/gas.js +345 -0
  116. data/vendor/assets/javascripts/bower/codemirror/mode/gfm/gfm.js +123 -0
  117. data/vendor/assets/javascripts/bower/codemirror/mode/gfm/test.js +213 -0
  118. data/vendor/assets/javascripts/bower/codemirror/mode/gherkin/gherkin.js +178 -0
  119. data/vendor/assets/javascripts/bower/codemirror/mode/go/go.js +184 -0
  120. data/vendor/assets/javascripts/bower/codemirror/mode/groovy/groovy.js +226 -0
  121. data/vendor/assets/javascripts/bower/codemirror/mode/haml/haml.js +159 -0
  122. data/vendor/assets/javascripts/bower/codemirror/mode/haml/test.js +97 -0
  123. data/vendor/assets/javascripts/bower/codemirror/mode/haskell/haskell.js +267 -0
  124. data/vendor/assets/javascripts/bower/codemirror/mode/haxe/haxe.js +518 -0
  125. data/vendor/assets/javascripts/bower/codemirror/mode/htmlembedded/htmlembedded.js +86 -0
  126. data/vendor/assets/javascripts/bower/codemirror/mode/htmlmixed/htmlmixed.js +121 -0
  127. data/vendor/assets/javascripts/bower/codemirror/mode/http/http.js +113 -0
  128. data/vendor/assets/javascripts/bower/codemirror/mode/idl/idl.js +290 -0
  129. data/vendor/assets/javascripts/bower/codemirror/mode/jade/jade.js +590 -0
  130. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/javascript.js +686 -0
  131. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/json-ld.html +72 -0
  132. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/test.js +200 -0
  133. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/typescript.html +61 -0
  134. data/vendor/assets/javascripts/bower/codemirror/mode/jinja2/jinja2.js +142 -0
  135. data/vendor/assets/javascripts/bower/codemirror/mode/julia/julia.js +301 -0
  136. data/vendor/assets/javascripts/bower/codemirror/mode/kotlin/kotlin.js +280 -0
  137. data/vendor/assets/javascripts/bower/codemirror/mode/livescript/livescript.js +280 -0
  138. data/vendor/assets/javascripts/bower/codemirror/mode/lua/lua.js +159 -0
  139. data/vendor/assets/javascripts/bower/codemirror/mode/markdown/markdown.js +765 -0
  140. data/vendor/assets/javascripts/bower/codemirror/mode/markdown/test.js +754 -0
  141. data/vendor/assets/javascripts/bower/codemirror/mode/meta.js +165 -0
  142. data/vendor/assets/javascripts/bower/codemirror/mode/mirc/mirc.js +193 -0
  143. data/vendor/assets/javascripts/bower/codemirror/mode/mllike/mllike.js +205 -0
  144. data/vendor/assets/javascripts/bower/codemirror/mode/modelica/modelica.js +245 -0
  145. data/vendor/assets/javascripts/bower/codemirror/mode/nginx/nginx.js +178 -0
  146. data/vendor/assets/javascripts/bower/codemirror/mode/ntriples/ntriples.js +186 -0
  147. data/vendor/assets/javascripts/bower/codemirror/mode/octave/octave.js +135 -0
  148. data/vendor/assets/javascripts/bower/codemirror/mode/pascal/pascal.js +109 -0
  149. data/vendor/assets/javascripts/bower/codemirror/mode/pegjs/pegjs.js +114 -0
  150. data/vendor/assets/javascripts/bower/codemirror/mode/perl/perl.js +832 -0
  151. data/vendor/assets/javascripts/bower/codemirror/mode/php/php.js +226 -0
  152. data/vendor/assets/javascripts/bower/codemirror/mode/php/test.js +154 -0
  153. data/vendor/assets/javascripts/bower/codemirror/mode/pig/pig.js +188 -0
  154. data/vendor/assets/javascripts/bower/codemirror/mode/properties/properties.js +78 -0
  155. data/vendor/assets/javascripts/bower/codemirror/mode/puppet/puppet.js +220 -0
  156. data/vendor/assets/javascripts/bower/codemirror/mode/python/python.js +359 -0
  157. data/vendor/assets/javascripts/bower/codemirror/mode/q/q.js +139 -0
  158. data/vendor/assets/javascripts/bower/codemirror/mode/r/r.js +162 -0
  159. data/vendor/assets/javascripts/bower/codemirror/mode/rpm/rpm.js +101 -0
  160. data/vendor/assets/javascripts/bower/codemirror/mode/rst/rst.js +557 -0
  161. data/vendor/assets/javascripts/bower/codemirror/mode/ruby/ruby.js +285 -0
  162. data/vendor/assets/javascripts/bower/codemirror/mode/ruby/test.js +14 -0
  163. data/vendor/assets/javascripts/bower/codemirror/mode/rust/rust.js +451 -0
  164. data/vendor/assets/javascripts/bower/codemirror/mode/sass/sass.js +327 -0
  165. data/vendor/assets/javascripts/bower/codemirror/mode/scheme/scheme.js +248 -0
  166. data/vendor/assets/javascripts/bower/codemirror/mode/shell/shell.js +139 -0
  167. data/vendor/assets/javascripts/bower/codemirror/mode/shell/test.js +58 -0
  168. data/vendor/assets/javascripts/bower/codemirror/mode/sieve/sieve.js +193 -0
  169. data/vendor/assets/javascripts/bower/codemirror/mode/slim/slim.js +575 -0
  170. data/vendor/assets/javascripts/bower/codemirror/mode/slim/test.js +96 -0
  171. data/vendor/assets/javascripts/bower/codemirror/mode/smalltalk/smalltalk.js +168 -0
  172. data/vendor/assets/javascripts/bower/codemirror/mode/smarty/smarty.js +221 -0
  173. data/vendor/assets/javascripts/bower/codemirror/mode/smartymixed/smartymixed.js +197 -0
  174. data/vendor/assets/javascripts/bower/codemirror/mode/solr/solr.js +104 -0
  175. data/vendor/assets/javascripts/bower/codemirror/mode/soy/soy.js +198 -0
  176. data/vendor/assets/javascripts/bower/codemirror/mode/sparql/sparql.js +174 -0
  177. data/vendor/assets/javascripts/bower/codemirror/mode/spreadsheet/spreadsheet.js +109 -0
  178. data/vendor/assets/javascripts/bower/codemirror/mode/sql/sql.js +391 -0
  179. data/vendor/assets/javascripts/bower/codemirror/mode/stex/stex.js +251 -0
  180. data/vendor/assets/javascripts/bower/codemirror/mode/stex/test.js +123 -0
  181. data/vendor/assets/javascripts/bower/codemirror/mode/tcl/tcl.js +147 -0
  182. data/vendor/assets/javascripts/bower/codemirror/mode/textile/test.js +417 -0
  183. data/vendor/assets/javascripts/bower/codemirror/mode/textile/textile.js +469 -0
  184. data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  185. data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.js +369 -0
  186. data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.css +26 -0
  187. data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.js +323 -0
  188. data/vendor/assets/javascripts/bower/codemirror/mode/toml/toml.js +88 -0
  189. data/vendor/assets/javascripts/bower/codemirror/mode/tornado/tornado.js +68 -0
  190. data/vendor/assets/javascripts/bower/codemirror/mode/turtle/turtle.js +162 -0
  191. data/vendor/assets/javascripts/bower/codemirror/mode/vb/vb.js +274 -0
  192. data/vendor/assets/javascripts/bower/codemirror/mode/vbscript/vbscript.js +350 -0
  193. data/vendor/assets/javascripts/bower/codemirror/mode/velocity/velocity.js +201 -0
  194. data/vendor/assets/javascripts/bower/codemirror/mode/verilog/test.js +273 -0
  195. data/vendor/assets/javascripts/bower/codemirror/mode/verilog/verilog.js +364 -0
  196. data/vendor/assets/javascripts/bower/codemirror/mode/xml/test.js +51 -0
  197. data/vendor/assets/javascripts/bower/codemirror/mode/xml/xml.js +384 -0
  198. data/vendor/assets/javascripts/bower/codemirror/mode/xquery/test.js +67 -0
  199. data/vendor/assets/javascripts/bower/codemirror/mode/xquery/xquery.js +447 -0
  200. data/vendor/assets/javascripts/bower/codemirror/mode/yaml/yaml.js +117 -0
  201. data/vendor/assets/javascripts/bower/codemirror/mode/z80/z80.js +100 -0
  202. data/vendor/assets/javascripts/bower/codemirror/theme/3024-day.css +38 -0
  203. data/vendor/assets/javascripts/bower/codemirror/theme/3024-night.css +37 -0
  204. data/vendor/assets/javascripts/bower/codemirror/theme/ambiance-mobile.css +5 -0
  205. data/vendor/assets/javascripts/bower/codemirror/theme/ambiance.css +77 -0
  206. data/vendor/assets/javascripts/bower/codemirror/theme/base16-dark.css +36 -0
  207. data/vendor/assets/javascripts/bower/codemirror/theme/base16-light.css +36 -0
  208. data/vendor/assets/javascripts/bower/codemirror/theme/blackboard.css +30 -0
  209. data/vendor/assets/javascripts/bower/codemirror/theme/cobalt.css +23 -0
  210. data/vendor/assets/javascripts/bower/codemirror/theme/eclipse.css +23 -0
  211. data/vendor/assets/javascripts/bower/codemirror/theme/elegant.css +13 -0
  212. data/vendor/assets/javascripts/bower/codemirror/theme/erlang-dark.css +32 -0
  213. data/vendor/assets/javascripts/bower/codemirror/theme/lesser-dark.css +45 -0
  214. data/vendor/assets/javascripts/bower/codemirror/theme/mbo.css +35 -0
  215. data/vendor/assets/javascripts/bower/codemirror/theme/mdn-like.css +44 -0
  216. data/vendor/assets/javascripts/bower/codemirror/theme/midnight.css +45 -0
  217. data/vendor/assets/javascripts/bower/codemirror/theme/monokai.css +31 -0
  218. data/vendor/assets/javascripts/bower/codemirror/theme/neat.css +12 -0
  219. data/vendor/assets/javascripts/bower/codemirror/theme/neo.css +43 -0
  220. data/vendor/assets/javascripts/bower/codemirror/theme/night.css +26 -0
  221. data/vendor/assets/javascripts/bower/codemirror/theme/paraiso-dark.css +36 -0
  222. data/vendor/assets/javascripts/bower/codemirror/theme/paraiso-light.css +36 -0
  223. data/vendor/assets/javascripts/bower/codemirror/theme/pastel-on-dark.css +50 -0
  224. data/vendor/assets/javascripts/bower/codemirror/theme/rubyblue.css +23 -0
  225. data/vendor/assets/javascripts/bower/codemirror/theme/solarized.css +165 -0
  226. data/vendor/assets/javascripts/bower/codemirror/theme/the-matrix.css +28 -0
  227. data/vendor/assets/javascripts/bower/codemirror/theme/tomorrow-night-bright.css +35 -0
  228. data/vendor/assets/javascripts/bower/codemirror/theme/tomorrow-night-eighties.css +36 -0
  229. data/vendor/assets/javascripts/bower/codemirror/theme/twilight.css +30 -0
  230. data/vendor/assets/javascripts/bower/codemirror/theme/vibrant-ink.css +32 -0
  231. data/vendor/assets/javascripts/bower/codemirror/theme/xq-dark.css +51 -0
  232. data/vendor/assets/javascripts/bower/codemirror/theme/xq-light.css +43 -0
  233. data/vendor/assets/javascripts/bower/codemirror/theme/zenburn.css +37 -0
  234. metadata +225 -2
@@ -0,0 +1,51 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ (function() {
5
+ var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml";
6
+ function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); }
7
+
8
+ MT("matching",
9
+ "[tag&bracket <][tag top][tag&bracket >]",
10
+ " text",
11
+ " [tag&bracket <][tag inner][tag&bracket />]",
12
+ "[tag&bracket </][tag top][tag&bracket >]");
13
+
14
+ MT("nonmatching",
15
+ "[tag&bracket <][tag top][tag&bracket >]",
16
+ " [tag&bracket <][tag inner][tag&bracket />]",
17
+ " [tag&bracket </][tag&error tip][tag&bracket&error >]");
18
+
19
+ MT("doctype",
20
+ "[meta <!doctype foobar>]",
21
+ "[tag&bracket <][tag top][tag&bracket />]");
22
+
23
+ MT("cdata",
24
+ "[tag&bracket <][tag top][tag&bracket >]",
25
+ " [atom <![CDATA[foo]",
26
+ "[atom barbazguh]]]]>]",
27
+ "[tag&bracket </][tag top][tag&bracket >]");
28
+
29
+ // HTML tests
30
+ mode = CodeMirror.getMode({indentUnit: 2}, "text/html");
31
+
32
+ MT("selfclose",
33
+ "[tag&bracket <][tag html][tag&bracket >]",
34
+ " [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]",
35
+ "[tag&bracket </][tag html][tag&bracket >]");
36
+
37
+ MT("list",
38
+ "[tag&bracket <][tag ol][tag&bracket >]",
39
+ " [tag&bracket <][tag li][tag&bracket >]one",
40
+ " [tag&bracket <][tag li][tag&bracket >]two",
41
+ "[tag&bracket </][tag ol][tag&bracket >]");
42
+
43
+ MT("valueless",
44
+ "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]");
45
+
46
+ MT("pThenArticle",
47
+ "[tag&bracket <][tag p][tag&bracket >]",
48
+ " foo",
49
+ "[tag&bracket <][tag article][tag&bracket >]bar");
50
+
51
+ })();
@@ -0,0 +1,384 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/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("xml", function(config, parserConfig) {
15
+ var indentUnit = config.indentUnit;
16
+ var multilineTagIndentFactor = parserConfig.multilineTagIndentFactor || 1;
17
+ var multilineTagIndentPastTag = parserConfig.multilineTagIndentPastTag;
18
+ if (multilineTagIndentPastTag == null) multilineTagIndentPastTag = true;
19
+
20
+ var Kludges = parserConfig.htmlMode ? {
21
+ autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,
22
+ 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,
23
+ 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,
24
+ 'track': true, 'wbr': true, 'menuitem': true},
25
+ implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,
26
+ 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,
27
+ 'th': true, 'tr': true},
28
+ contextGrabbers: {
29
+ 'dd': {'dd': true, 'dt': true},
30
+ 'dt': {'dd': true, 'dt': true},
31
+ 'li': {'li': true},
32
+ 'option': {'option': true, 'optgroup': true},
33
+ 'optgroup': {'optgroup': true},
34
+ 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,
35
+ 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,
36
+ 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,
37
+ 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,
38
+ 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},
39
+ 'rp': {'rp': true, 'rt': true},
40
+ 'rt': {'rp': true, 'rt': true},
41
+ 'tbody': {'tbody': true, 'tfoot': true},
42
+ 'td': {'td': true, 'th': true},
43
+ 'tfoot': {'tbody': true},
44
+ 'th': {'td': true, 'th': true},
45
+ 'thead': {'tbody': true, 'tfoot': true},
46
+ 'tr': {'tr': true}
47
+ },
48
+ doNotIndent: {"pre": true},
49
+ allowUnquoted: true,
50
+ allowMissing: true,
51
+ caseFold: true
52
+ } : {
53
+ autoSelfClosers: {},
54
+ implicitlyClosed: {},
55
+ contextGrabbers: {},
56
+ doNotIndent: {},
57
+ allowUnquoted: false,
58
+ allowMissing: false,
59
+ caseFold: false
60
+ };
61
+ var alignCDATA = parserConfig.alignCDATA;
62
+
63
+ // Return variables for tokenizers
64
+ var type, setStyle;
65
+
66
+ function inText(stream, state) {
67
+ function chain(parser) {
68
+ state.tokenize = parser;
69
+ return parser(stream, state);
70
+ }
71
+
72
+ var ch = stream.next();
73
+ if (ch == "<") {
74
+ if (stream.eat("!")) {
75
+ if (stream.eat("[")) {
76
+ if (stream.match("CDATA[")) return chain(inBlock("atom", "]]>"));
77
+ else return null;
78
+ } else if (stream.match("--")) {
79
+ return chain(inBlock("comment", "-->"));
80
+ } else if (stream.match("DOCTYPE", true, true)) {
81
+ stream.eatWhile(/[\w\._\-]/);
82
+ return chain(doctype(1));
83
+ } else {
84
+ return null;
85
+ }
86
+ } else if (stream.eat("?")) {
87
+ stream.eatWhile(/[\w\._\-]/);
88
+ state.tokenize = inBlock("meta", "?>");
89
+ return "meta";
90
+ } else {
91
+ type = stream.eat("/") ? "closeTag" : "openTag";
92
+ state.tokenize = inTag;
93
+ return "tag bracket";
94
+ }
95
+ } else if (ch == "&") {
96
+ var ok;
97
+ if (stream.eat("#")) {
98
+ if (stream.eat("x")) {
99
+ ok = stream.eatWhile(/[a-fA-F\d]/) && stream.eat(";");
100
+ } else {
101
+ ok = stream.eatWhile(/[\d]/) && stream.eat(";");
102
+ }
103
+ } else {
104
+ ok = stream.eatWhile(/[\w\.\-:]/) && stream.eat(";");
105
+ }
106
+ return ok ? "atom" : "error";
107
+ } else {
108
+ stream.eatWhile(/[^&<]/);
109
+ return null;
110
+ }
111
+ }
112
+
113
+ function inTag(stream, state) {
114
+ var ch = stream.next();
115
+ if (ch == ">" || (ch == "/" && stream.eat(">"))) {
116
+ state.tokenize = inText;
117
+ type = ch == ">" ? "endTag" : "selfcloseTag";
118
+ return "tag bracket";
119
+ } else if (ch == "=") {
120
+ type = "equals";
121
+ return null;
122
+ } else if (ch == "<") {
123
+ state.tokenize = inText;
124
+ state.state = baseState;
125
+ state.tagName = state.tagStart = null;
126
+ var next = state.tokenize(stream, state);
127
+ return next ? next + " tag error" : "tag error";
128
+ } else if (/[\'\"]/.test(ch)) {
129
+ state.tokenize = inAttribute(ch);
130
+ state.stringStartCol = stream.column();
131
+ return state.tokenize(stream, state);
132
+ } else {
133
+ stream.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/);
134
+ return "word";
135
+ }
136
+ }
137
+
138
+ function inAttribute(quote) {
139
+ var closure = function(stream, state) {
140
+ while (!stream.eol()) {
141
+ if (stream.next() == quote) {
142
+ state.tokenize = inTag;
143
+ break;
144
+ }
145
+ }
146
+ return "string";
147
+ };
148
+ closure.isInAttribute = true;
149
+ return closure;
150
+ }
151
+
152
+ function inBlock(style, terminator) {
153
+ return function(stream, state) {
154
+ while (!stream.eol()) {
155
+ if (stream.match(terminator)) {
156
+ state.tokenize = inText;
157
+ break;
158
+ }
159
+ stream.next();
160
+ }
161
+ return style;
162
+ };
163
+ }
164
+ function doctype(depth) {
165
+ return function(stream, state) {
166
+ var ch;
167
+ while ((ch = stream.next()) != null) {
168
+ if (ch == "<") {
169
+ state.tokenize = doctype(depth + 1);
170
+ return state.tokenize(stream, state);
171
+ } else if (ch == ">") {
172
+ if (depth == 1) {
173
+ state.tokenize = inText;
174
+ break;
175
+ } else {
176
+ state.tokenize = doctype(depth - 1);
177
+ return state.tokenize(stream, state);
178
+ }
179
+ }
180
+ }
181
+ return "meta";
182
+ };
183
+ }
184
+
185
+ function Context(state, tagName, startOfLine) {
186
+ this.prev = state.context;
187
+ this.tagName = tagName;
188
+ this.indent = state.indented;
189
+ this.startOfLine = startOfLine;
190
+ if (Kludges.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))
191
+ this.noIndent = true;
192
+ }
193
+ function popContext(state) {
194
+ if (state.context) state.context = state.context.prev;
195
+ }
196
+ function maybePopContext(state, nextTagName) {
197
+ var parentTagName;
198
+ while (true) {
199
+ if (!state.context) {
200
+ return;
201
+ }
202
+ parentTagName = state.context.tagName;
203
+ if (!Kludges.contextGrabbers.hasOwnProperty(parentTagName) ||
204
+ !Kludges.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {
205
+ return;
206
+ }
207
+ popContext(state);
208
+ }
209
+ }
210
+
211
+ function baseState(type, stream, state) {
212
+ if (type == "openTag") {
213
+ state.tagStart = stream.column();
214
+ return tagNameState;
215
+ } else if (type == "closeTag") {
216
+ return closeTagNameState;
217
+ } else {
218
+ return baseState;
219
+ }
220
+ }
221
+ function tagNameState(type, stream, state) {
222
+ if (type == "word") {
223
+ state.tagName = stream.current();
224
+ setStyle = "tag";
225
+ return attrState;
226
+ } else {
227
+ setStyle = "error";
228
+ return tagNameState;
229
+ }
230
+ }
231
+ function closeTagNameState(type, stream, state) {
232
+ if (type == "word") {
233
+ var tagName = stream.current();
234
+ if (state.context && state.context.tagName != tagName &&
235
+ Kludges.implicitlyClosed.hasOwnProperty(state.context.tagName))
236
+ popContext(state);
237
+ if (state.context && state.context.tagName == tagName) {
238
+ setStyle = "tag";
239
+ return closeState;
240
+ } else {
241
+ setStyle = "tag error";
242
+ return closeStateErr;
243
+ }
244
+ } else {
245
+ setStyle = "error";
246
+ return closeStateErr;
247
+ }
248
+ }
249
+
250
+ function closeState(type, _stream, state) {
251
+ if (type != "endTag") {
252
+ setStyle = "error";
253
+ return closeState;
254
+ }
255
+ popContext(state);
256
+ return baseState;
257
+ }
258
+ function closeStateErr(type, stream, state) {
259
+ setStyle = "error";
260
+ return closeState(type, stream, state);
261
+ }
262
+
263
+ function attrState(type, _stream, state) {
264
+ if (type == "word") {
265
+ setStyle = "attribute";
266
+ return attrEqState;
267
+ } else if (type == "endTag" || type == "selfcloseTag") {
268
+ var tagName = state.tagName, tagStart = state.tagStart;
269
+ state.tagName = state.tagStart = null;
270
+ if (type == "selfcloseTag" ||
271
+ Kludges.autoSelfClosers.hasOwnProperty(tagName)) {
272
+ maybePopContext(state, tagName);
273
+ } else {
274
+ maybePopContext(state, tagName);
275
+ state.context = new Context(state, tagName, tagStart == state.indented);
276
+ }
277
+ return baseState;
278
+ }
279
+ setStyle = "error";
280
+ return attrState;
281
+ }
282
+ function attrEqState(type, stream, state) {
283
+ if (type == "equals") return attrValueState;
284
+ if (!Kludges.allowMissing) setStyle = "error";
285
+ return attrState(type, stream, state);
286
+ }
287
+ function attrValueState(type, stream, state) {
288
+ if (type == "string") return attrContinuedState;
289
+ if (type == "word" && Kludges.allowUnquoted) {setStyle = "string"; return attrState;}
290
+ setStyle = "error";
291
+ return attrState(type, stream, state);
292
+ }
293
+ function attrContinuedState(type, stream, state) {
294
+ if (type == "string") return attrContinuedState;
295
+ return attrState(type, stream, state);
296
+ }
297
+
298
+ return {
299
+ startState: function() {
300
+ return {tokenize: inText,
301
+ state: baseState,
302
+ indented: 0,
303
+ tagName: null, tagStart: null,
304
+ context: null};
305
+ },
306
+
307
+ token: function(stream, state) {
308
+ if (!state.tagName && stream.sol())
309
+ state.indented = stream.indentation();
310
+
311
+ if (stream.eatSpace()) return null;
312
+ type = null;
313
+ var style = state.tokenize(stream, state);
314
+ if ((style || type) && style != "comment") {
315
+ setStyle = null;
316
+ state.state = state.state(type || style, stream, state);
317
+ if (setStyle)
318
+ style = setStyle == "error" ? style + " error" : setStyle;
319
+ }
320
+ return style;
321
+ },
322
+
323
+ indent: function(state, textAfter, fullLine) {
324
+ var context = state.context;
325
+ // Indent multi-line strings (e.g. css).
326
+ if (state.tokenize.isInAttribute) {
327
+ if (state.tagStart == state.indented)
328
+ return state.stringStartCol + 1;
329
+ else
330
+ return state.indented + indentUnit;
331
+ }
332
+ if (context && context.noIndent) return CodeMirror.Pass;
333
+ if (state.tokenize != inTag && state.tokenize != inText)
334
+ return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0;
335
+ // Indent the starts of attribute names.
336
+ if (state.tagName) {
337
+ if (multilineTagIndentPastTag)
338
+ return state.tagStart + state.tagName.length + 2;
339
+ else
340
+ return state.tagStart + indentUnit * multilineTagIndentFactor;
341
+ }
342
+ if (alignCDATA && /<!\[CDATA\[/.test(textAfter)) return 0;
343
+ var tagAfter = textAfter && /^<(\/)?([\w_:\.-]*)/.exec(textAfter);
344
+ if (tagAfter && tagAfter[1]) { // Closing tag spotted
345
+ while (context) {
346
+ if (context.tagName == tagAfter[2]) {
347
+ context = context.prev;
348
+ break;
349
+ } else if (Kludges.implicitlyClosed.hasOwnProperty(context.tagName)) {
350
+ context = context.prev;
351
+ } else {
352
+ break;
353
+ }
354
+ }
355
+ } else if (tagAfter) { // Opening tag spotted
356
+ while (context) {
357
+ var grabbers = Kludges.contextGrabbers[context.tagName];
358
+ if (grabbers && grabbers.hasOwnProperty(tagAfter[2]))
359
+ context = context.prev;
360
+ else
361
+ break;
362
+ }
363
+ }
364
+ while (context && !context.startOfLine)
365
+ context = context.prev;
366
+ if (context) return context.indent + indentUnit;
367
+ else return 0;
368
+ },
369
+
370
+ electricInput: /<\/[\s\w:]+>$/,
371
+ blockCommentStart: "<!--",
372
+ blockCommentEnd: "-->",
373
+
374
+ configuration: parserConfig.htmlMode ? "html" : "xml",
375
+ helperType: parserConfig.htmlMode ? "html" : "xml"
376
+ };
377
+ });
378
+
379
+ CodeMirror.defineMIME("text/xml", "xml");
380
+ CodeMirror.defineMIME("application/xml", "xml");
381
+ if (!CodeMirror.mimeModes.hasOwnProperty("text/html"))
382
+ CodeMirror.defineMIME("text/html", {name: "xml", htmlMode: true});
383
+
384
+ });
@@ -0,0 +1,67 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ // Don't take these too seriously -- the expected results appear to be
5
+ // based on the results of actual runs without any serious manual
6
+ // verification. If a change you made causes them to fail, the test is
7
+ // as likely to wrong as the code.
8
+
9
+ (function() {
10
+ var mode = CodeMirror.getMode({tabSize: 4}, "xquery");
11
+ function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
12
+
13
+ MT("eviltest",
14
+ "[keyword xquery] [keyword version] [variable &quot;1][keyword .][atom 0][keyword -][variable ml&quot;][def&variable ;] [comment (: this is : a \"comment\" :)]",
15
+ " [keyword let] [variable $let] [keyword :=] [variable &lt;x] [variable attr][keyword =][variable &quot;value&quot;&gt;&quot;test&quot;&lt;func&gt][def&variable ;function]() [variable $var] {[keyword function]()} {[variable $var]}[variable &lt;][keyword /][variable func&gt;&lt;][keyword /][variable x&gt;]",
16
+ " [keyword let] [variable $joe][keyword :=][atom 1]",
17
+ " [keyword return] [keyword element] [variable element] {",
18
+ " [keyword attribute] [variable attribute] { [atom 1] },",
19
+ " [keyword element] [variable test] { [variable &#39;a&#39;] }, [keyword attribute] [variable foo] { [variable &quot;bar&quot;] },",
20
+ " [def&variable fn:doc]()[[ [variable foo][keyword /][variable @bar] [keyword eq] [variable $let] ]],",
21
+ " [keyword //][variable x] } [comment (: a more 'evil' test :)]",
22
+ " [comment (: Modified Blakeley example (: with nested comment :) ... :)]",
23
+ " [keyword declare] [keyword private] [keyword function] [def&variable local:declare]() {()}[variable ;]",
24
+ " [keyword declare] [keyword private] [keyword function] [def&variable local:private]() {()}[variable ;]",
25
+ " [keyword declare] [keyword private] [keyword function] [def&variable local:function]() {()}[variable ;]",
26
+ " [keyword declare] [keyword private] [keyword function] [def&variable local:local]() {()}[variable ;]",
27
+ " [keyword let] [variable $let] [keyword :=] [variable &lt;let&gt;let] [variable $let] [keyword :=] [variable &quot;let&quot;&lt;][keyword /let][variable &gt;]",
28
+ " [keyword return] [keyword element] [variable element] {",
29
+ " [keyword attribute] [variable attribute] { [keyword try] { [def&variable xdmp:version]() } [keyword catch]([variable $e]) { [def&variable xdmp:log]([variable $e]) } },",
30
+ " [keyword attribute] [variable fn:doc] { [variable &quot;bar&quot;] [variable castable] [keyword as] [atom xs:string] },",
31
+ " [keyword element] [variable text] { [keyword text] { [variable &quot;text&quot;] } },",
32
+ " [def&variable fn:doc]()[[ [qualifier child::][variable eq][keyword /]([variable @bar] [keyword |] [qualifier attribute::][variable attribute]) [keyword eq] [variable $let] ]],",
33
+ " [keyword //][variable fn:doc]",
34
+ " }");
35
+
36
+ MT("testEmptySequenceKeyword",
37
+ "[string \"foo\"] [keyword instance] [keyword of] [keyword empty-sequence]()");
38
+
39
+ MT("testMultiAttr",
40
+ "[tag <p ][attribute a1]=[string \"foo\"] [attribute a2]=[string \"bar\"][tag >][variable hello] [variable world][tag </p>]");
41
+
42
+ MT("test namespaced variable",
43
+ "[keyword declare] [keyword namespace] [variable e] [keyword =] [string \"http://example.com/ANamespace\"][variable ;declare] [keyword variable] [variable $e:exampleComThisVarIsNotRecognized] [keyword as] [keyword element]([keyword *]) [variable external;]");
44
+
45
+ MT("test EQName variable",
46
+ "[keyword declare] [keyword variable] [variable $\"http://www.example.com/ns/my\":var] [keyword :=] [atom 12][variable ;]",
47
+ "[tag <out>]{[variable $\"http://www.example.com/ns/my\":var]}[tag </out>]");
48
+
49
+ MT("test EQName function",
50
+ "[keyword declare] [keyword function] [def&variable \"http://www.example.com/ns/my\":fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {",
51
+ " [variable $a] [keyword +] [atom 2]",
52
+ "}[variable ;]",
53
+ "[tag <out>]{[def&variable \"http://www.example.com/ns/my\":fn]([atom 12])}[tag </out>]");
54
+
55
+ MT("test EQName function with single quotes",
56
+ "[keyword declare] [keyword function] [def&variable 'http://www.example.com/ns/my':fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {",
57
+ " [variable $a] [keyword +] [atom 2]",
58
+ "}[variable ;]",
59
+ "[tag <out>]{[def&variable 'http://www.example.com/ns/my':fn]([atom 12])}[tag </out>]");
60
+
61
+ MT("testProcessingInstructions",
62
+ "[def&variable data]([comment&meta <?target content?>]) [keyword instance] [keyword of] [atom xs:string]");
63
+
64
+ MT("testQuoteEscapeDouble",
65
+ "[keyword let] [variable $rootfolder] [keyword :=] [string \"c:\\builds\\winnt\\HEAD\\qa\\scripts\\\"]",
66
+ "[keyword let] [variable $keysfolder] [keyword :=] [def&variable concat]([variable $rootfolder], [string \"keys\\\"])");
67
+ })();