fluentd-ui 0.3.12 → 0.3.13
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.
- checksums.yaml +4 -4
- data/ChangeLog +4 -0
- data/Gemfile.lock +1 -1
- data/app/assets/javascripts/application.js +2 -0
- data/app/assets/javascripts/codemirror.js +29 -0
- data/app/assets/javascripts/codemirror_fluentd.js +59 -0
- data/app/assets/stylesheets/application.css +6 -0
- data/app/views/fluentd/settings/edit.html.haml +1 -1
- data/app/views/shared/vue/_setting.html.erb +1 -1
- data/bower.json +2 -1
- data/lib/fluentd-ui/version.rb +1 -1
- data/spec/features/source_and_output_spec.rb +16 -6
- data/vendor/assets/javascripts/bower/codemirror/.bower.json +29 -0
- data/vendor/assets/javascripts/bower/codemirror/AUTHORS +423 -0
- data/vendor/assets/javascripts/bower/codemirror/CONTRIBUTING.md +76 -0
- data/vendor/assets/javascripts/bower/codemirror/LICENSE +19 -0
- data/vendor/assets/javascripts/bower/codemirror/README.md +11 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/comment/comment.js +183 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/comment/continuecomment.js +85 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.css +32 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.js +155 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.css +6 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.js +41 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/display/panel.js +94 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/display/placeholder.js +58 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/display/rulers.js +64 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/closebrackets.js +159 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/closetag.js +159 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/continuelist.js +51 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchbrackets.js +120 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchtags.js +66 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/edit/trailingspace.js +27 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/brace-fold.js +105 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/comment-fold.js +57 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldcode.js +145 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.css +20 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.js +134 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/indent-fold.js +44 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/markdown-fold.js +49 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/fold/xml-fold.js +182 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/anyword-hint.js +41 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/css-hint.js +56 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/html-hint.js +348 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/javascript-hint.js +146 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.css +38 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.js +389 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/sql-hint.js +197 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/hint/xml-hint.js +110 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/coffeescript-lint.js +41 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/css-lint.js +35 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/javascript-lint.js +136 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/json-lint.js +31 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.css +73 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.js +204 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/lint/yaml-lint.js +28 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.css +112 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.js +643 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/mode/loadmode.js +64 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex.js +118 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex_test.js +33 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/mode/overlay.js +85 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/mode/simple.js +213 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/runmode/colorize.js +40 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode-standalone.js +157 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.js +72 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.node.js +120 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/scroll/annotatescrollbar.js +76 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/scroll/scrollpastend.js +46 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.css +66 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.js +139 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/search/match-highlighter.js +128 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.css +8 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.js +90 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/search/search.js +164 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/search/searchcursor.js +189 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/selection/active-line.js +71 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/selection/mark-selection.js +118 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.css +86 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.js +670 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/tern/worker.js +44 -0
- data/vendor/assets/javascripts/bower/codemirror/addon/wrap/hardwrap.js +139 -0
- data/vendor/assets/javascripts/bower/codemirror/bower.json +16 -0
- data/vendor/assets/javascripts/bower/codemirror/keymap/emacs.js +411 -0
- data/vendor/assets/javascripts/bower/codemirror/keymap/sublime.js +540 -0
- data/vendor/assets/javascripts/bower/codemirror/keymap/vim.js +4901 -0
- data/vendor/assets/javascripts/bower/codemirror/lib/codemirror.css +309 -0
- data/vendor/assets/javascripts/bower/codemirror/lib/codemirror.js +8029 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/apl/apl.js +175 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/asterisk/asterisk.js +198 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/clike/clike.js +489 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/clike/scala.html +767 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/clojure/clojure.js +243 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/cobol/cobol.js +255 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/coffeescript/coffeescript.js +369 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/commonlisp/commonlisp.js +122 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/css.js +717 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/less.html +152 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/less_test.js +51 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/scss.html +157 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/scss_test.js +110 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/css/test.js +135 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/cypher/cypher.js +146 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/d/d.js +218 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/dart/dart.js +50 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/diff/diff.js +47 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/django/django.js +67 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/dockerfile/dockerfile.js +76 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/dtd/dtd.js +142 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/dylan/dylan.js +299 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/ebnf/ebnf.js +195 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/ecl/ecl.js +207 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/eiffel/eiffel.js +162 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/erlang/erlang.js +622 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/fortran/fortran.js +188 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/gas/gas.js +345 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/gfm/gfm.js +123 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/gfm/test.js +213 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/gherkin/gherkin.js +178 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/go/go.js +184 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/groovy/groovy.js +226 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/haml/haml.js +159 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/haml/test.js +97 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/haskell/haskell.js +267 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/haxe/haxe.js +518 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/htmlembedded/htmlembedded.js +86 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/htmlmixed/htmlmixed.js +121 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/http/http.js +113 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/idl/idl.js +290 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/jade/jade.js +590 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/javascript/javascript.js +686 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/javascript/json-ld.html +72 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/javascript/test.js +200 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/javascript/typescript.html +61 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/jinja2/jinja2.js +142 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/julia/julia.js +301 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/kotlin/kotlin.js +280 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/livescript/livescript.js +280 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/lua/lua.js +159 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/markdown/markdown.js +765 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/markdown/test.js +754 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/meta.js +165 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/mirc/mirc.js +193 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/mllike/mllike.js +205 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/modelica/modelica.js +245 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/nginx/nginx.js +178 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/ntriples/ntriples.js +186 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/octave/octave.js +135 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/pascal/pascal.js +109 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/pegjs/pegjs.js +114 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/perl/perl.js +832 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/php/php.js +226 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/php/test.js +154 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/pig/pig.js +188 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/properties/properties.js +78 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/puppet/puppet.js +220 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/python/python.js +359 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/q/q.js +139 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/r/r.js +162 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/rpm/rpm.js +101 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/rst/rst.js +557 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/ruby/ruby.js +285 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/ruby/test.js +14 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/rust/rust.js +451 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/sass/sass.js +327 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/scheme/scheme.js +248 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/shell/shell.js +139 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/shell/test.js +58 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/sieve/sieve.js +193 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/slim/slim.js +575 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/slim/test.js +96 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/smalltalk/smalltalk.js +168 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/smarty/smarty.js +221 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/smartymixed/smartymixed.js +197 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/solr/solr.js +104 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/soy/soy.js +198 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/sparql/sparql.js +174 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/spreadsheet/spreadsheet.js +109 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/sql/sql.js +391 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/stex/stex.js +251 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/stex/test.js +123 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tcl/tcl.js +147 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/textile/test.js +417 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/textile/textile.js +469 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.js +369 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.css +26 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.js +323 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/toml/toml.js +88 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/tornado/tornado.js +68 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/turtle/turtle.js +162 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/vb/vb.js +274 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/vbscript/vbscript.js +350 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/velocity/velocity.js +201 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/verilog/test.js +273 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/verilog/verilog.js +364 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/xml/test.js +51 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/xml/xml.js +384 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/xquery/test.js +67 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/xquery/xquery.js +447 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/yaml/yaml.js +117 -0
- data/vendor/assets/javascripts/bower/codemirror/mode/z80/z80.js +100 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/3024-day.css +38 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/3024-night.css +37 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/ambiance-mobile.css +5 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/ambiance.css +77 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/base16-dark.css +36 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/base16-light.css +36 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/blackboard.css +30 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/cobalt.css +23 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/eclipse.css +23 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/elegant.css +13 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/erlang-dark.css +32 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/lesser-dark.css +45 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/mbo.css +35 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/mdn-like.css +44 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/midnight.css +45 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/monokai.css +31 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/neat.css +12 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/neo.css +43 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/night.css +26 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/paraiso-dark.css +36 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/paraiso-light.css +36 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/pastel-on-dark.css +50 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/rubyblue.css +23 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/solarized.css +165 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/the-matrix.css +28 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/tomorrow-night-bright.css +35 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/tomorrow-night-eighties.css +36 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/twilight.css +30 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/vibrant-ink.css +32 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/xq-dark.css +51 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/xq-light.css +43 -0
- data/vendor/assets/javascripts/bower/codemirror/theme/zenburn.css +37 -0
- metadata +225 -2
|
@@ -0,0 +1,135 @@
|
|
|
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}, "css");
|
|
6
|
+
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
|
|
7
|
+
|
|
8
|
+
// Error, because "foobarhello" is neither a known type or property, but
|
|
9
|
+
// property was expected (after "and"), and it should be in parenthese.
|
|
10
|
+
MT("atMediaUnknownType",
|
|
11
|
+
"[def @media] [attribute screen] [keyword and] [error foobarhello] { }");
|
|
12
|
+
|
|
13
|
+
// Soft error, because "foobarhello" is not a known property or type.
|
|
14
|
+
MT("atMediaUnknownProperty",
|
|
15
|
+
"[def @media] [attribute screen] [keyword and] ([error foobarhello]) { }");
|
|
16
|
+
|
|
17
|
+
// Make sure nesting works with media queries
|
|
18
|
+
MT("atMediaMaxWidthNested",
|
|
19
|
+
"[def @media] [attribute screen] [keyword and] ([property max-width]: [number 25px]) { [tag foo] { } }");
|
|
20
|
+
|
|
21
|
+
MT("tagSelector",
|
|
22
|
+
"[tag foo] { }");
|
|
23
|
+
|
|
24
|
+
MT("classSelector",
|
|
25
|
+
"[qualifier .foo-bar_hello] { }");
|
|
26
|
+
|
|
27
|
+
MT("idSelector",
|
|
28
|
+
"[builtin #foo] { [error #foo] }");
|
|
29
|
+
|
|
30
|
+
MT("tagSelectorUnclosed",
|
|
31
|
+
"[tag foo] { [property margin]: [number 0] } [tag bar] { }");
|
|
32
|
+
|
|
33
|
+
MT("tagStringNoQuotes",
|
|
34
|
+
"[tag foo] { [property font-family]: [variable hello] [variable world]; }");
|
|
35
|
+
|
|
36
|
+
MT("tagStringDouble",
|
|
37
|
+
"[tag foo] { [property font-family]: [string \"hello world\"]; }");
|
|
38
|
+
|
|
39
|
+
MT("tagStringSingle",
|
|
40
|
+
"[tag foo] { [property font-family]: [string 'hello world']; }");
|
|
41
|
+
|
|
42
|
+
MT("tagColorKeyword",
|
|
43
|
+
"[tag foo] {",
|
|
44
|
+
" [property color]: [keyword black];",
|
|
45
|
+
" [property color]: [keyword navy];",
|
|
46
|
+
" [property color]: [keyword yellow];",
|
|
47
|
+
"}");
|
|
48
|
+
|
|
49
|
+
MT("tagColorHex3",
|
|
50
|
+
"[tag foo] { [property background]: [atom #fff]; }");
|
|
51
|
+
|
|
52
|
+
MT("tagColorHex6",
|
|
53
|
+
"[tag foo] { [property background]: [atom #ffffff]; }");
|
|
54
|
+
|
|
55
|
+
MT("tagColorHex4",
|
|
56
|
+
"[tag foo] { [property background]: [atom&error #ffff]; }");
|
|
57
|
+
|
|
58
|
+
MT("tagColorHexInvalid",
|
|
59
|
+
"[tag foo] { [property background]: [atom&error #ffg]; }");
|
|
60
|
+
|
|
61
|
+
MT("tagNegativeNumber",
|
|
62
|
+
"[tag foo] { [property margin]: [number -5px]; }");
|
|
63
|
+
|
|
64
|
+
MT("tagPositiveNumber",
|
|
65
|
+
"[tag foo] { [property padding]: [number 5px]; }");
|
|
66
|
+
|
|
67
|
+
MT("tagVendor",
|
|
68
|
+
"[tag foo] { [meta -foo-][property box-sizing]: [meta -foo-][atom border-box]; }");
|
|
69
|
+
|
|
70
|
+
MT("tagBogusProperty",
|
|
71
|
+
"[tag foo] { [property&error barhelloworld]: [number 0]; }");
|
|
72
|
+
|
|
73
|
+
MT("tagTwoProperties",
|
|
74
|
+
"[tag foo] { [property margin]: [number 0]; [property padding]: [number 0]; }");
|
|
75
|
+
|
|
76
|
+
MT("tagTwoPropertiesURL",
|
|
77
|
+
"[tag foo] { [property background]: [atom url]([string //example.com/foo.png]); [property padding]: [number 0]; }");
|
|
78
|
+
|
|
79
|
+
MT("commentSGML",
|
|
80
|
+
"[comment <!--comment-->]");
|
|
81
|
+
|
|
82
|
+
MT("commentSGML2",
|
|
83
|
+
"[comment <!--comment]",
|
|
84
|
+
"[comment -->] [tag div] {}");
|
|
85
|
+
|
|
86
|
+
MT("indent_tagSelector",
|
|
87
|
+
"[tag strong], [tag em] {",
|
|
88
|
+
" [property background]: [atom rgba](",
|
|
89
|
+
" [number 255], [number 255], [number 0], [number .2]",
|
|
90
|
+
" );",
|
|
91
|
+
"}");
|
|
92
|
+
|
|
93
|
+
MT("indent_atMedia",
|
|
94
|
+
"[def @media] {",
|
|
95
|
+
" [tag foo] {",
|
|
96
|
+
" [property color]:",
|
|
97
|
+
" [keyword yellow];",
|
|
98
|
+
" }",
|
|
99
|
+
"}");
|
|
100
|
+
|
|
101
|
+
MT("indent_comma",
|
|
102
|
+
"[tag foo] {",
|
|
103
|
+
" [property font-family]: [variable verdana],",
|
|
104
|
+
" [atom sans-serif];",
|
|
105
|
+
"}");
|
|
106
|
+
|
|
107
|
+
MT("indent_parentheses",
|
|
108
|
+
"[tag foo]:[variable-3 before] {",
|
|
109
|
+
" [property background]: [atom url](",
|
|
110
|
+
"[string blahblah]",
|
|
111
|
+
"[string etc]",
|
|
112
|
+
"[string ]) [keyword !important];",
|
|
113
|
+
"}");
|
|
114
|
+
|
|
115
|
+
MT("font_face",
|
|
116
|
+
"[def @font-face] {",
|
|
117
|
+
" [property font-family]: [string 'myfont'];",
|
|
118
|
+
" [error nonsense]: [string 'abc'];",
|
|
119
|
+
" [property src]: [atom url]([string http://blah]),",
|
|
120
|
+
" [atom url]([string http://foo]);",
|
|
121
|
+
"}");
|
|
122
|
+
|
|
123
|
+
MT("empty_url",
|
|
124
|
+
"[def @import] [tag url]() [tag screen];");
|
|
125
|
+
|
|
126
|
+
MT("parens",
|
|
127
|
+
"[qualifier .foo] {",
|
|
128
|
+
" [property background-image]: [variable fade]([atom #000], [number 20%]);",
|
|
129
|
+
" [property border-image]: [variable linear-gradient](",
|
|
130
|
+
" [atom to] [atom bottom],",
|
|
131
|
+
" [variable fade]([atom #000], [number 20%]) [number 0%],",
|
|
132
|
+
" [variable fade]([atom #000], [number 20%]) [number 100%]",
|
|
133
|
+
" );",
|
|
134
|
+
"}");
|
|
135
|
+
})();
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
2
|
+
// Distributed under an MIT license: http://codemirror.net/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
|
+
var ch = stream.next(), curPunc = null;
|
|
23
|
+
if (ch === "\"" || ch === "'") {
|
|
24
|
+
stream.match(/.+?["']/);
|
|
25
|
+
return "string";
|
|
26
|
+
}
|
|
27
|
+
if (/[{}\(\),\.;\[\]]/.test(ch)) {
|
|
28
|
+
curPunc = ch;
|
|
29
|
+
return "node";
|
|
30
|
+
} else if (ch === "/" && stream.eat("/")) {
|
|
31
|
+
stream.skipToEnd();
|
|
32
|
+
return "comment";
|
|
33
|
+
} else if (operatorChars.test(ch)) {
|
|
34
|
+
stream.eatWhile(operatorChars);
|
|
35
|
+
return null;
|
|
36
|
+
} else {
|
|
37
|
+
stream.eatWhile(/[_\w\d]/);
|
|
38
|
+
if (stream.eat(":")) {
|
|
39
|
+
stream.eatWhile(/[\w\d_\-]/);
|
|
40
|
+
return "atom";
|
|
41
|
+
}
|
|
42
|
+
var word = stream.current();
|
|
43
|
+
if (funcs.test(word)) return "builtin";
|
|
44
|
+
if (preds.test(word)) return "def";
|
|
45
|
+
if (keywords.test(word)) return "keyword";
|
|
46
|
+
return "variable";
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var pushContext = function(state, type, col) {
|
|
50
|
+
return state.context = {
|
|
51
|
+
prev: state.context,
|
|
52
|
+
indent: state.indent,
|
|
53
|
+
col: col,
|
|
54
|
+
type: type
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
var popContext = function(state) {
|
|
58
|
+
state.indent = state.context.indent;
|
|
59
|
+
return state.context = state.context.prev;
|
|
60
|
+
};
|
|
61
|
+
var indentUnit = config.indentUnit;
|
|
62
|
+
var curPunc;
|
|
63
|
+
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", "labels", "last", "left", "length", "log", "log10", "lower", "ltrim", "max", "min", "node", "nodes", "percentileCont", "percentileDisc", "pi", "radians", "rand", "range", "reduce", "rel", "relationship", "relationships", "replace", "right", "round", "rtrim", "shortestPath", "sign", "sin", "split", "sqrt", "startnode", "stdev", "stdevp", "str", "substring", "sum", "tail", "tan", "timestamp", "toFloat", "toInt", "trim", "type", "upper"]);
|
|
64
|
+
var preds = wordRegexp(["all", "and", "any", "has", "in", "none", "not", "or", "single", "xor"]);
|
|
65
|
+
var keywords = wordRegexp(["as", "asc", "ascending", "assert", "by", "case", "commit", "constraint", "create", "csv", "cypher", "delete", "desc", "descending", "distinct", "drop", "else", "end", "explain", "false", "fieldterminator", "foreach", "from", "headers", "in", "index", "is", "limit", "load", "match", "merge", "null", "on", "optional", "order", "periodic", "profile", "remove", "return", "scan", "set", "skip", "start", "then", "true", "union", "unique", "unwind", "using", "when", "where", "with"]);
|
|
66
|
+
var operatorChars = /[*+\-<>=&|~%^]/;
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
startState: function(/*base*/) {
|
|
70
|
+
return {
|
|
71
|
+
tokenize: tokenBase,
|
|
72
|
+
context: null,
|
|
73
|
+
indent: 0,
|
|
74
|
+
col: 0
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
token: function(stream, state) {
|
|
78
|
+
if (stream.sol()) {
|
|
79
|
+
if (state.context && (state.context.align == null)) {
|
|
80
|
+
state.context.align = false;
|
|
81
|
+
}
|
|
82
|
+
state.indent = stream.indentation();
|
|
83
|
+
}
|
|
84
|
+
if (stream.eatSpace()) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
var style = state.tokenize(stream, state);
|
|
88
|
+
if (style !== "comment" && state.context && (state.context.align == null) && state.context.type !== "pattern") {
|
|
89
|
+
state.context.align = true;
|
|
90
|
+
}
|
|
91
|
+
if (curPunc === "(") {
|
|
92
|
+
pushContext(state, ")", stream.column());
|
|
93
|
+
} else if (curPunc === "[") {
|
|
94
|
+
pushContext(state, "]", stream.column());
|
|
95
|
+
} else if (curPunc === "{") {
|
|
96
|
+
pushContext(state, "}", stream.column());
|
|
97
|
+
} else if (/[\]\}\)]/.test(curPunc)) {
|
|
98
|
+
while (state.context && state.context.type === "pattern") {
|
|
99
|
+
popContext(state);
|
|
100
|
+
}
|
|
101
|
+
if (state.context && curPunc === state.context.type) {
|
|
102
|
+
popContext(state);
|
|
103
|
+
}
|
|
104
|
+
} else if (curPunc === "." && state.context && state.context.type === "pattern") {
|
|
105
|
+
popContext(state);
|
|
106
|
+
} else if (/atom|string|variable/.test(style) && state.context) {
|
|
107
|
+
if (/[\}\]]/.test(state.context.type)) {
|
|
108
|
+
pushContext(state, "pattern", stream.column());
|
|
109
|
+
} else if (state.context.type === "pattern" && !state.context.align) {
|
|
110
|
+
state.context.align = true;
|
|
111
|
+
state.context.col = stream.column();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return style;
|
|
115
|
+
},
|
|
116
|
+
indent: function(state, textAfter) {
|
|
117
|
+
var firstChar = textAfter && textAfter.charAt(0);
|
|
118
|
+
var context = state.context;
|
|
119
|
+
if (/[\]\}]/.test(firstChar)) {
|
|
120
|
+
while (context && context.type === "pattern") {
|
|
121
|
+
context = context.prev;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
var closing = context && firstChar === context.type;
|
|
125
|
+
if (!context) return 0;
|
|
126
|
+
if (context.type === "keywords") return CodeMirror.commands.newlineAndIndent;
|
|
127
|
+
if (context.align) return context.col + (closing ? 0 : 1);
|
|
128
|
+
return context.indent + (closing ? 0 : indentUnit);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
CodeMirror.modeExtensions["cypher"] = {
|
|
134
|
+
autoFormatLineBreaks: function(text) {
|
|
135
|
+
var i, lines, reProcessedPortion;
|
|
136
|
+
var lines = text.split("\n");
|
|
137
|
+
var reProcessedPortion = /\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g;
|
|
138
|
+
for (var i = 0; i < lines.length; i++)
|
|
139
|
+
lines[i] = lines[i].replace(reProcessedPortion, " \n$1 ").trim();
|
|
140
|
+
return lines.join("\n");
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
CodeMirror.defineMIME("application/x-cypher-query", "cypher");
|
|
145
|
+
|
|
146
|
+
});
|
|
@@ -0,0 +1,218 @@
|
|
|
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("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 = tokenComment;
|
|
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
|
+
};
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
function words(str) {
|
|
190
|
+
var obj = {}, words = str.split(" ");
|
|
191
|
+
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
|
|
192
|
+
return obj;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
var blockKeywords = "body catch class do else enum for foreach foreach_reverse if in interface mixin " +
|
|
196
|
+
"out scope struct switch try union unittest version while with";
|
|
197
|
+
|
|
198
|
+
CodeMirror.defineMIME("text/x-d", {
|
|
199
|
+
name: "d",
|
|
200
|
+
keywords: words("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue " +
|
|
201
|
+
"debug default delegate delete deprecated export extern final finally function goto immutable " +
|
|
202
|
+
"import inout invariant is lazy macro module new nothrow override package pragma private " +
|
|
203
|
+
"protected public pure ref return shared short static super synchronized template this " +
|
|
204
|
+
"throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters " +
|
|
205
|
+
blockKeywords),
|
|
206
|
+
blockKeywords: words(blockKeywords),
|
|
207
|
+
builtin: words("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte " +
|
|
208
|
+
"ucent uint ulong ushort wchar wstring void size_t sizediff_t"),
|
|
209
|
+
atoms: words("exit failure success true false null"),
|
|
210
|
+
hooks: {
|
|
211
|
+
"@": function(stream, _state) {
|
|
212
|
+
stream.eatWhile(/[\w\$_]/);
|
|
213
|
+
return "meta";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
});
|