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.
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,14 @@
1
+ span.cm-underlined {
2
+ text-decoration: underline;
3
+ }
4
+ span.cm-strikethrough {
5
+ text-decoration: line-through;
6
+ }
7
+ span.cm-brace {
8
+ color: #170;
9
+ font-weight: bold;
10
+ }
11
+ span.cm-table {
12
+ color: blue;
13
+ font-weight: bold;
14
+ }
@@ -0,0 +1,369 @@
1
+ // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
+ // Distributed under an MIT license: http://codemirror.net/LICENSE
3
+
4
+ /***
5
+ |''Name''|tiddlywiki.js|
6
+ |''Description''|Enables TiddlyWikiy syntax highlighting using CodeMirror|
7
+ |''Author''|PMario|
8
+ |''Version''|0.1.7|
9
+ |''Status''|''stable''|
10
+ |''Source''|[[GitHub|https://github.com/pmario/CodeMirror2/blob/tw-syntax/mode/tiddlywiki]]|
11
+ |''Documentation''|http://codemirror.tiddlyspace.com/|
12
+ |''License''|[[MIT License|http://www.opensource.org/licenses/mit-license.php]]|
13
+ |''CoreVersion''|2.5.0|
14
+ |''Requires''|codemirror.js|
15
+ |''Keywords''|syntax highlighting color code mirror codemirror|
16
+ ! Info
17
+ CoreVersion parameter is needed for TiddlyWiki only!
18
+ ***/
19
+ //{{{
20
+
21
+ (function(mod) {
22
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
23
+ mod(require("../../lib/codemirror"));
24
+ else if (typeof define == "function" && define.amd) // AMD
25
+ define(["../../lib/codemirror"], mod);
26
+ else // Plain browser env
27
+ mod(CodeMirror);
28
+ })(function(CodeMirror) {
29
+ "use strict";
30
+
31
+ CodeMirror.defineMode("tiddlywiki", function () {
32
+ // Tokenizer
33
+ var textwords = {};
34
+
35
+ var keywords = function () {
36
+ function kw(type) {
37
+ return { type: type, style: "macro"};
38
+ }
39
+ return {
40
+ "allTags": kw('allTags'), "closeAll": kw('closeAll'), "list": kw('list'),
41
+ "newJournal": kw('newJournal'), "newTiddler": kw('newTiddler'),
42
+ "permaview": kw('permaview'), "saveChanges": kw('saveChanges'),
43
+ "search": kw('search'), "slider": kw('slider'), "tabs": kw('tabs'),
44
+ "tag": kw('tag'), "tagging": kw('tagging'), "tags": kw('tags'),
45
+ "tiddler": kw('tiddler'), "timeline": kw('timeline'),
46
+ "today": kw('today'), "version": kw('version'), "option": kw('option'),
47
+
48
+ "with": kw('with'),
49
+ "filter": kw('filter')
50
+ };
51
+ }();
52
+
53
+ var isSpaceName = /[\w_\-]/i,
54
+ reHR = /^\-\-\-\-+$/, // <hr>
55
+ reWikiCommentStart = /^\/\*\*\*$/, // /***
56
+ reWikiCommentStop = /^\*\*\*\/$/, // ***/
57
+ reBlockQuote = /^<<<$/,
58
+
59
+ reJsCodeStart = /^\/\/\{\{\{$/, // //{{{ js block start
60
+ reJsCodeStop = /^\/\/\}\}\}$/, // //}}} js stop
61
+ reXmlCodeStart = /^<!--\{\{\{-->$/, // xml block start
62
+ reXmlCodeStop = /^<!--\}\}\}-->$/, // xml stop
63
+
64
+ reCodeBlockStart = /^\{\{\{$/, // {{{ TW text div block start
65
+ reCodeBlockStop = /^\}\}\}$/, // }}} TW text stop
66
+
67
+ reUntilCodeStop = /.*?\}\}\}/;
68
+
69
+ function chain(stream, state, f) {
70
+ state.tokenize = f;
71
+ return f(stream, state);
72
+ }
73
+
74
+ // Used as scratch variables to communicate multiple values without
75
+ // consing up tons of objects.
76
+ var type, content;
77
+
78
+ function ret(tp, style, cont) {
79
+ type = tp;
80
+ content = cont;
81
+ return style;
82
+ }
83
+
84
+ function jsTokenBase(stream, state) {
85
+ var sol = stream.sol(), ch;
86
+
87
+ state.block = false; // indicates the start of a code block.
88
+
89
+ ch = stream.peek(); // don't eat, to make matching simpler
90
+
91
+ // check start of blocks
92
+ if (sol && /[<\/\*{}\-]/.test(ch)) {
93
+ if (stream.match(reCodeBlockStart)) {
94
+ state.block = true;
95
+ return chain(stream, state, twTokenCode);
96
+ }
97
+ if (stream.match(reBlockQuote)) {
98
+ return ret('quote', 'quote');
99
+ }
100
+ if (stream.match(reWikiCommentStart) || stream.match(reWikiCommentStop)) {
101
+ return ret('code', 'comment');
102
+ }
103
+ if (stream.match(reJsCodeStart) || stream.match(reJsCodeStop) || stream.match(reXmlCodeStart) || stream.match(reXmlCodeStop)) {
104
+ return ret('code', 'comment');
105
+ }
106
+ if (stream.match(reHR)) {
107
+ return ret('hr', 'hr');
108
+ }
109
+ } // sol
110
+ ch = stream.next();
111
+
112
+ if (sol && /[\/\*!#;:>|]/.test(ch)) {
113
+ if (ch == "!") { // tw header
114
+ stream.skipToEnd();
115
+ return ret("header", "header");
116
+ }
117
+ if (ch == "*") { // tw list
118
+ stream.eatWhile('*');
119
+ return ret("list", "comment");
120
+ }
121
+ if (ch == "#") { // tw numbered list
122
+ stream.eatWhile('#');
123
+ return ret("list", "comment");
124
+ }
125
+ if (ch == ";") { // definition list, term
126
+ stream.eatWhile(';');
127
+ return ret("list", "comment");
128
+ }
129
+ if (ch == ":") { // definition list, description
130
+ stream.eatWhile(':');
131
+ return ret("list", "comment");
132
+ }
133
+ if (ch == ">") { // single line quote
134
+ stream.eatWhile(">");
135
+ return ret("quote", "quote");
136
+ }
137
+ if (ch == '|') {
138
+ return ret('table', 'header');
139
+ }
140
+ }
141
+
142
+ if (ch == '{' && stream.match(/\{\{/)) {
143
+ return chain(stream, state, twTokenCode);
144
+ }
145
+
146
+ // rudimentary html:// file:// link matching. TW knows much more ...
147
+ if (/[hf]/i.test(ch)) {
148
+ if (/[ti]/i.test(stream.peek()) && stream.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i)) {
149
+ return ret("link", "link");
150
+ }
151
+ }
152
+ // just a little string indicator, don't want to have the whole string covered
153
+ if (ch == '"') {
154
+ return ret('string', 'string');
155
+ }
156
+ if (ch == '~') { // _no_ CamelCase indicator should be bold
157
+ return ret('text', 'brace');
158
+ }
159
+ if (/[\[\]]/.test(ch)) { // check for [[..]]
160
+ if (stream.peek() == ch) {
161
+ stream.next();
162
+ return ret('brace', 'brace');
163
+ }
164
+ }
165
+ if (ch == "@") { // check for space link. TODO fix @@...@@ highlighting
166
+ stream.eatWhile(isSpaceName);
167
+ return ret("link", "link");
168
+ }
169
+ if (/\d/.test(ch)) { // numbers
170
+ stream.eatWhile(/\d/);
171
+ return ret("number", "number");
172
+ }
173
+ if (ch == "/") { // tw invisible comment
174
+ if (stream.eat("%")) {
175
+ return chain(stream, state, twTokenComment);
176
+ }
177
+ else if (stream.eat("/")) { //
178
+ return chain(stream, state, twTokenEm);
179
+ }
180
+ }
181
+ if (ch == "_") { // tw underline
182
+ if (stream.eat("_")) {
183
+ return chain(stream, state, twTokenUnderline);
184
+ }
185
+ }
186
+ // strikethrough and mdash handling
187
+ if (ch == "-") {
188
+ if (stream.eat("-")) {
189
+ // if strikethrough looks ugly, change CSS.
190
+ if (stream.peek() != ' ')
191
+ return chain(stream, state, twTokenStrike);
192
+ // mdash
193
+ if (stream.peek() == ' ')
194
+ return ret('text', 'brace');
195
+ }
196
+ }
197
+ if (ch == "'") { // tw bold
198
+ if (stream.eat("'")) {
199
+ return chain(stream, state, twTokenStrong);
200
+ }
201
+ }
202
+ if (ch == "<") { // tw macro
203
+ if (stream.eat("<")) {
204
+ return chain(stream, state, twTokenMacro);
205
+ }
206
+ }
207
+ else {
208
+ return ret(ch);
209
+ }
210
+
211
+ // core macro handling
212
+ stream.eatWhile(/[\w\$_]/);
213
+ var word = stream.current(),
214
+ known = textwords.propertyIsEnumerable(word) && textwords[word];
215
+
216
+ return known ? ret(known.type, known.style, word) : ret("text", null, word);
217
+
218
+ } // jsTokenBase()
219
+
220
+ // tw invisible comment
221
+ function twTokenComment(stream, state) {
222
+ var maybeEnd = false,
223
+ ch;
224
+ while (ch = stream.next()) {
225
+ if (ch == "/" && maybeEnd) {
226
+ state.tokenize = jsTokenBase;
227
+ break;
228
+ }
229
+ maybeEnd = (ch == "%");
230
+ }
231
+ return ret("comment", "comment");
232
+ }
233
+
234
+ // tw strong / bold
235
+ function twTokenStrong(stream, state) {
236
+ var maybeEnd = false,
237
+ ch;
238
+ while (ch = stream.next()) {
239
+ if (ch == "'" && maybeEnd) {
240
+ state.tokenize = jsTokenBase;
241
+ break;
242
+ }
243
+ maybeEnd = (ch == "'");
244
+ }
245
+ return ret("text", "strong");
246
+ }
247
+
248
+ // tw code
249
+ function twTokenCode(stream, state) {
250
+ var ch, sb = state.block;
251
+
252
+ if (sb && stream.current()) {
253
+ return ret("code", "comment");
254
+ }
255
+
256
+ if (!sb && stream.match(reUntilCodeStop)) {
257
+ state.tokenize = jsTokenBase;
258
+ return ret("code", "comment");
259
+ }
260
+
261
+ if (sb && stream.sol() && stream.match(reCodeBlockStop)) {
262
+ state.tokenize = jsTokenBase;
263
+ return ret("code", "comment");
264
+ }
265
+
266
+ ch = stream.next();
267
+ return (sb) ? ret("code", "comment") : ret("code", "comment");
268
+ }
269
+
270
+ // tw em / italic
271
+ function twTokenEm(stream, state) {
272
+ var maybeEnd = false,
273
+ ch;
274
+ while (ch = stream.next()) {
275
+ if (ch == "/" && maybeEnd) {
276
+ state.tokenize = jsTokenBase;
277
+ break;
278
+ }
279
+ maybeEnd = (ch == "/");
280
+ }
281
+ return ret("text", "em");
282
+ }
283
+
284
+ // tw underlined text
285
+ function twTokenUnderline(stream, state) {
286
+ var maybeEnd = false,
287
+ ch;
288
+ while (ch = stream.next()) {
289
+ if (ch == "_" && maybeEnd) {
290
+ state.tokenize = jsTokenBase;
291
+ break;
292
+ }
293
+ maybeEnd = (ch == "_");
294
+ }
295
+ return ret("text", "underlined");
296
+ }
297
+
298
+ // tw strike through text looks ugly
299
+ // change CSS if needed
300
+ function twTokenStrike(stream, state) {
301
+ var maybeEnd = false, ch;
302
+
303
+ while (ch = stream.next()) {
304
+ if (ch == "-" && maybeEnd) {
305
+ state.tokenize = jsTokenBase;
306
+ break;
307
+ }
308
+ maybeEnd = (ch == "-");
309
+ }
310
+ return ret("text", "strikethrough");
311
+ }
312
+
313
+ // macro
314
+ function twTokenMacro(stream, state) {
315
+ var ch, word, known;
316
+
317
+ if (stream.current() == '<<') {
318
+ return ret('brace', 'macro');
319
+ }
320
+
321
+ ch = stream.next();
322
+ if (!ch) {
323
+ state.tokenize = jsTokenBase;
324
+ return ret(ch);
325
+ }
326
+ if (ch == ">") {
327
+ if (stream.peek() == '>') {
328
+ stream.next();
329
+ state.tokenize = jsTokenBase;
330
+ return ret("brace", "macro");
331
+ }
332
+ }
333
+
334
+ stream.eatWhile(/[\w\$_]/);
335
+ word = stream.current();
336
+ known = keywords.propertyIsEnumerable(word) && keywords[word];
337
+
338
+ if (known) {
339
+ return ret(known.type, known.style, word);
340
+ }
341
+ else {
342
+ return ret("macro", null, word);
343
+ }
344
+ }
345
+
346
+ // Interface
347
+ return {
348
+ startState: function () {
349
+ return {
350
+ tokenize: jsTokenBase,
351
+ indented: 0,
352
+ level: 0
353
+ };
354
+ },
355
+
356
+ token: function (stream, state) {
357
+ if (stream.eatSpace()) return null;
358
+ var style = state.tokenize(stream, state);
359
+ return style;
360
+ },
361
+
362
+ electricChars: ""
363
+ };
364
+ });
365
+
366
+ CodeMirror.defineMIME("text/x-tiddlywiki", "tiddlywiki");
367
+ });
368
+
369
+ //}}}
@@ -0,0 +1,26 @@
1
+ .cm-tw-syntaxerror {
2
+ color: #FFF;
3
+ background-color: #900;
4
+ }
5
+
6
+ .cm-tw-deleted {
7
+ text-decoration: line-through;
8
+ }
9
+
10
+ .cm-tw-header5 {
11
+ font-weight: bold;
12
+ }
13
+ .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/
14
+ padding-left: 10px;
15
+ }
16
+
17
+ .cm-tw-box {
18
+ border-top-width: 0px ! important;
19
+ border-style: solid;
20
+ border-width: 1px;
21
+ border-color: inherit;
22
+ }
23
+
24
+ .cm-tw-underline {
25
+ text-decoration: underline;
26
+ }
@@ -0,0 +1,323 @@
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('tiki', function(config) {
15
+ function inBlock(style, terminator, returnTokenizer) {
16
+ return function(stream, state) {
17
+ while (!stream.eol()) {
18
+ if (stream.match(terminator)) {
19
+ state.tokenize = inText;
20
+ break;
21
+ }
22
+ stream.next();
23
+ }
24
+
25
+ if (returnTokenizer) state.tokenize = returnTokenizer;
26
+
27
+ return style;
28
+ };
29
+ }
30
+
31
+ function inLine(style) {
32
+ return function(stream, state) {
33
+ while(!stream.eol()) {
34
+ stream.next();
35
+ }
36
+ state.tokenize = inText;
37
+ return style;
38
+ };
39
+ }
40
+
41
+ function inText(stream, state) {
42
+ function chain(parser) {
43
+ state.tokenize = parser;
44
+ return parser(stream, state);
45
+ }
46
+
47
+ var sol = stream.sol();
48
+ var ch = stream.next();
49
+
50
+ //non start of line
51
+ switch (ch) { //switch is generally much faster than if, so it is used here
52
+ case "{": //plugin
53
+ stream.eat("/");
54
+ stream.eatSpace();
55
+ var tagName = "";
56
+ var c;
57
+ while ((c = stream.eat(/[^\s\u00a0=\"\'\/?(}]/))) tagName += c;
58
+ state.tokenize = inPlugin;
59
+ return "tag";
60
+ break;
61
+ case "_": //bold
62
+ if (stream.eat("_")) {
63
+ return chain(inBlock("strong", "__", inText));
64
+ }
65
+ break;
66
+ case "'": //italics
67
+ if (stream.eat("'")) {
68
+ // Italic text
69
+ return chain(inBlock("em", "''", inText));
70
+ }
71
+ break;
72
+ case "(":// Wiki Link
73
+ if (stream.eat("(")) {
74
+ return chain(inBlock("variable-2", "))", inText));
75
+ }
76
+ break;
77
+ case "[":// Weblink
78
+ return chain(inBlock("variable-3", "]", inText));
79
+ break;
80
+ case "|": //table
81
+ if (stream.eat("|")) {
82
+ return chain(inBlock("comment", "||"));
83
+ }
84
+ break;
85
+ case "-":
86
+ if (stream.eat("=")) {//titleBar
87
+ return chain(inBlock("header string", "=-", inText));
88
+ } else if (stream.eat("-")) {//deleted
89
+ return chain(inBlock("error tw-deleted", "--", inText));
90
+ }
91
+ break;
92
+ case "=": //underline
93
+ if (stream.match("==")) {
94
+ return chain(inBlock("tw-underline", "===", inText));
95
+ }
96
+ break;
97
+ case ":":
98
+ if (stream.eat(":")) {
99
+ return chain(inBlock("comment", "::"));
100
+ }
101
+ break;
102
+ case "^": //box
103
+ return chain(inBlock("tw-box", "^"));
104
+ break;
105
+ case "~": //np
106
+ if (stream.match("np~")) {
107
+ return chain(inBlock("meta", "~/np~"));
108
+ }
109
+ break;
110
+ }
111
+
112
+ //start of line types
113
+ if (sol) {
114
+ switch (ch) {
115
+ case "!": //header at start of line
116
+ if (stream.match('!!!!!')) {
117
+ return chain(inLine("header string"));
118
+ } else if (stream.match('!!!!')) {
119
+ return chain(inLine("header string"));
120
+ } else if (stream.match('!!!')) {
121
+ return chain(inLine("header string"));
122
+ } else if (stream.match('!!')) {
123
+ return chain(inLine("header string"));
124
+ } else {
125
+ return chain(inLine("header string"));
126
+ }
127
+ break;
128
+ case "*": //unordered list line item, or <li /> at start of line
129
+ case "#": //ordered list line item, or <li /> at start of line
130
+ case "+": //ordered list line item, or <li /> at start of line
131
+ return chain(inLine("tw-listitem bracket"));
132
+ break;
133
+ }
134
+ }
135
+
136
+ //stream.eatWhile(/[&{]/); was eating up plugins, turned off to act less like html and more like tiki
137
+ return null;
138
+ }
139
+
140
+ var indentUnit = config.indentUnit;
141
+
142
+ // Return variables for tokenizers
143
+ var pluginName, type;
144
+ function inPlugin(stream, state) {
145
+ var ch = stream.next();
146
+ var peek = stream.peek();
147
+
148
+ if (ch == "}") {
149
+ state.tokenize = inText;
150
+ //type = ch == ")" ? "endPlugin" : "selfclosePlugin"; inPlugin
151
+ return "tag";
152
+ } else if (ch == "(" || ch == ")") {
153
+ return "bracket";
154
+ } else if (ch == "=") {
155
+ type = "equals";
156
+
157
+ if (peek == ">") {
158
+ ch = stream.next();
159
+ peek = stream.peek();
160
+ }
161
+
162
+ //here we detect values directly after equal character with no quotes
163
+ if (!/[\'\"]/.test(peek)) {
164
+ state.tokenize = inAttributeNoQuote();
165
+ }
166
+ //end detect values
167
+
168
+ return "operator";
169
+ } else if (/[\'\"]/.test(ch)) {
170
+ state.tokenize = inAttribute(ch);
171
+ return state.tokenize(stream, state);
172
+ } else {
173
+ stream.eatWhile(/[^\s\u00a0=\"\'\/?]/);
174
+ return "keyword";
175
+ }
176
+ }
177
+
178
+ function inAttribute(quote) {
179
+ return function(stream, state) {
180
+ while (!stream.eol()) {
181
+ if (stream.next() == quote) {
182
+ state.tokenize = inPlugin;
183
+ break;
184
+ }
185
+ }
186
+ return "string";
187
+ };
188
+ }
189
+
190
+ function inAttributeNoQuote() {
191
+ return function(stream, state) {
192
+ while (!stream.eol()) {
193
+ var ch = stream.next();
194
+ var peek = stream.peek();
195
+ if (ch == " " || ch == "," || /[ )}]/.test(peek)) {
196
+ state.tokenize = inPlugin;
197
+ break;
198
+ }
199
+ }
200
+ return "string";
201
+ };
202
+ }
203
+
204
+ var curState, setStyle;
205
+ function pass() {
206
+ for (var i = arguments.length - 1; i >= 0; i--) curState.cc.push(arguments[i]);
207
+ }
208
+
209
+ function cont() {
210
+ pass.apply(null, arguments);
211
+ return true;
212
+ }
213
+
214
+ function pushContext(pluginName, startOfLine) {
215
+ var noIndent = curState.context && curState.context.noIndent;
216
+ curState.context = {
217
+ prev: curState.context,
218
+ pluginName: pluginName,
219
+ indent: curState.indented,
220
+ startOfLine: startOfLine,
221
+ noIndent: noIndent
222
+ };
223
+ }
224
+
225
+ function popContext() {
226
+ if (curState.context) curState.context = curState.context.prev;
227
+ }
228
+
229
+ function element(type) {
230
+ if (type == "openPlugin") {curState.pluginName = pluginName; return cont(attributes, endplugin(curState.startOfLine));}
231
+ else if (type == "closePlugin") {
232
+ var err = false;
233
+ if (curState.context) {
234
+ err = curState.context.pluginName != pluginName;
235
+ popContext();
236
+ } else {
237
+ err = true;
238
+ }
239
+ if (err) setStyle = "error";
240
+ return cont(endcloseplugin(err));
241
+ }
242
+ else if (type == "string") {
243
+ if (!curState.context || curState.context.name != "!cdata") pushContext("!cdata");
244
+ if (curState.tokenize == inText) popContext();
245
+ return cont();
246
+ }
247
+ else return cont();
248
+ }
249
+
250
+ function endplugin(startOfLine) {
251
+ return function(type) {
252
+ if (
253
+ type == "selfclosePlugin" ||
254
+ type == "endPlugin"
255
+ )
256
+ return cont();
257
+ if (type == "endPlugin") {pushContext(curState.pluginName, startOfLine); return cont();}
258
+ return cont();
259
+ };
260
+ }
261
+
262
+ function endcloseplugin(err) {
263
+ return function(type) {
264
+ if (err) setStyle = "error";
265
+ if (type == "endPlugin") return cont();
266
+ return pass();
267
+ };
268
+ }
269
+
270
+ function attributes(type) {
271
+ if (type == "keyword") {setStyle = "attribute"; return cont(attributes);}
272
+ if (type == "equals") return cont(attvalue, attributes);
273
+ return pass();
274
+ }
275
+ function attvalue(type) {
276
+ if (type == "keyword") {setStyle = "string"; return cont();}
277
+ if (type == "string") return cont(attvaluemaybe);
278
+ return pass();
279
+ }
280
+ function attvaluemaybe(type) {
281
+ if (type == "string") return cont(attvaluemaybe);
282
+ else return pass();
283
+ }
284
+ return {
285
+ startState: function() {
286
+ return {tokenize: inText, cc: [], indented: 0, startOfLine: true, pluginName: null, context: null};
287
+ },
288
+ token: function(stream, state) {
289
+ if (stream.sol()) {
290
+ state.startOfLine = true;
291
+ state.indented = stream.indentation();
292
+ }
293
+ if (stream.eatSpace()) return null;
294
+
295
+ setStyle = type = pluginName = null;
296
+ var style = state.tokenize(stream, state);
297
+ if ((style || type) && style != "comment") {
298
+ curState = state;
299
+ while (true) {
300
+ var comb = state.cc.pop() || element;
301
+ if (comb(type || style)) break;
302
+ }
303
+ }
304
+ state.startOfLine = false;
305
+ return setStyle || style;
306
+ },
307
+ indent: function(state, textAfter) {
308
+ var context = state.context;
309
+ if (context && context.noIndent) return 0;
310
+ if (context && /^{\//.test(textAfter))
311
+ context = context.prev;
312
+ while (context && !context.startOfLine)
313
+ context = context.prev;
314
+ if (context) return context.indent + indentUnit;
315
+ else return 0;
316
+ },
317
+ electricChars: "/"
318
+ };
319
+ });
320
+
321
+ CodeMirror.defineMIME("text/tiki", "tiki");
322
+
323
+ });