ultraviolet1x 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +16 -0
  4. data/History.txt +25 -0
  5. data/README.rdoc +29 -0
  6. data/README.txt +52 -0
  7. data/Rakefile +11 -0
  8. data/bin/theme2latexrender +122 -0
  9. data/bin/theme2xhtmlrender +156 -0
  10. data/bin/uv +140 -0
  11. data/broken_syntax/markdown.syntax +543 -0
  12. data/broken_syntax/php.syntax +1253 -0
  13. data/lib/uv/render_processor.rb +140 -0
  14. data/lib/uv/utility.rb +67 -0
  15. data/lib/uv/version.rb +3 -0
  16. data/lib/uv.rb +95 -0
  17. data/mm/manual.mm +840 -0
  18. data/render/latex/active4d.render +132 -0
  19. data/render/latex/all_hallows_eve.render +96 -0
  20. data/render/latex/amy.render +171 -0
  21. data/render/latex/blackboard.render +111 -0
  22. data/render/latex/brilliance_black.render +552 -0
  23. data/render/latex/brilliance_dull.render +561 -0
  24. data/render/latex/cobalt.render +162 -0
  25. data/render/latex/dawn.render +126 -0
  26. data/render/latex/eiffel.render +132 -0
  27. data/render/latex/espresso_libre.render +123 -0
  28. data/render/latex/idle.render +93 -0
  29. data/render/latex/iplastic.render +99 -0
  30. data/render/latex/lazy.render +96 -0
  31. data/render/latex/mac_classic.render +135 -0
  32. data/render/latex/magicwb_amiga.render +117 -0
  33. data/render/latex/pastels_on_dark.render +204 -0
  34. data/render/latex/slush_poppies.render +123 -0
  35. data/render/latex/spacecadet.render +81 -0
  36. data/render/latex/sunburst.render +186 -0
  37. data/render/latex/twilight.render +153 -0
  38. data/render/latex/zenburnesque.render +126 -0
  39. data/render/old/txt2tags.render +131 -0
  40. data/render/xhtml/active4d.render +140 -0
  41. data/render/xhtml/all_hallows_eve.render +104 -0
  42. data/render/xhtml/amy.render +179 -0
  43. data/render/xhtml/blackboard.render +119 -0
  44. data/render/xhtml/brilliance_black.render +560 -0
  45. data/render/xhtml/brilliance_dull.render +569 -0
  46. data/render/xhtml/cobalt.render +170 -0
  47. data/render/xhtml/dawn.render +134 -0
  48. data/render/xhtml/eiffel.render +140 -0
  49. data/render/xhtml/espresso_libre.render +131 -0
  50. data/render/xhtml/files/css/active4d.css +114 -0
  51. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  52. data/render/xhtml/files/css/amy.css +147 -0
  53. data/render/xhtml/files/css/blackboard.css +88 -0
  54. data/render/xhtml/files/css/brilliance_black.css +605 -0
  55. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  56. data/render/xhtml/files/css/cobalt.css +149 -0
  57. data/render/xhtml/files/css/dawn.css +121 -0
  58. data/render/xhtml/files/css/eiffel.css +121 -0
  59. data/render/xhtml/files/css/espresso_libre.css +109 -0
  60. data/render/xhtml/files/css/idle.css +62 -0
  61. data/render/xhtml/files/css/iplastic.css +80 -0
  62. data/render/xhtml/files/css/lazy.css +73 -0
  63. data/render/xhtml/files/css/mac_classic.css +123 -0
  64. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  65. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  66. data/render/xhtml/files/css/slush_poppies.css +85 -0
  67. data/render/xhtml/files/css/spacecadet.css +51 -0
  68. data/render/xhtml/files/css/sunburst.css +180 -0
  69. data/render/xhtml/files/css/twilight.css +137 -0
  70. data/render/xhtml/files/css/zenburnesque.css +91 -0
  71. data/render/xhtml/idle.render +101 -0
  72. data/render/xhtml/iplastic.render +107 -0
  73. data/render/xhtml/lazy.render +104 -0
  74. data/render/xhtml/mac_classic.render +143 -0
  75. data/render/xhtml/magicwb_amiga.render +125 -0
  76. data/render/xhtml/pastels_on_dark.render +212 -0
  77. data/render/xhtml/slush_poppies.render +131 -0
  78. data/render/xhtml/spacecadet.render +89 -0
  79. data/render/xhtml/sunburst.render +194 -0
  80. data/render/xhtml/twilight.render +161 -0
  81. data/render/xhtml/zenburnesque.render +134 -0
  82. data/syntax/actionscript.syntax +97 -0
  83. data/syntax/active4d.syntax +276 -0
  84. data/syntax/active4d_html.syntax +311 -0
  85. data/syntax/active4d_ini.syntax +50 -0
  86. data/syntax/active4d_library.syntax +21 -0
  87. data/syntax/ada.syntax +33 -0
  88. data/syntax/antlr.syntax +151 -0
  89. data/syntax/apache.syntax +191 -0
  90. data/syntax/applescript.syntax +384 -0
  91. data/syntax/asp.syntax +70 -0
  92. data/syntax/asp_vb.net.syntax +129 -0
  93. data/syntax/bibtex.syntax +151 -0
  94. data/syntax/blog_html.syntax +41 -0
  95. data/syntax/blog_markdown.syntax +42 -0
  96. data/syntax/blog_text.syntax +27 -0
  97. data/syntax/blog_textile.syntax +27 -0
  98. data/syntax/buggy/nemerle.syntax +74 -0
  99. data/syntax/build.syntax +53 -0
  100. data/syntax/bulletin_board.syntax +287 -0
  101. data/syntax/c++.syntax +186 -0
  102. data/syntax/c.syntax +414 -0
  103. data/syntax/cake.syntax +55 -0
  104. data/syntax/camlp4.syntax +36 -0
  105. data/syntax/cm.syntax +32 -0
  106. data/syntax/coffeescript.syntax +216 -0
  107. data/syntax/coldfusion.syntax +119 -0
  108. data/syntax/context_free.syntax +176 -0
  109. data/syntax/cs.syntax +59 -0
  110. data/syntax/css.syntax +195 -0
  111. data/syntax/css_experimental.syntax +1925 -0
  112. data/syntax/csv.syntax +68 -0
  113. data/syntax/d.syntax +142 -0
  114. data/syntax/diff.syntax +81 -0
  115. data/syntax/dokuwiki.syntax +204 -0
  116. data/syntax/dot.syntax +47 -0
  117. data/syntax/doxygen.syntax +43 -0
  118. data/syntax/dylan.syntax +62 -0
  119. data/syntax/eiffel.syntax +78 -0
  120. data/syntax/erlang.syntax +922 -0
  121. data/syntax/f-script.syntax +80 -0
  122. data/syntax/fortran.syntax +141 -0
  123. data/syntax/fxscript.syntax +142 -0
  124. data/syntax/greasemonkey.syntax +34 -0
  125. data/syntax/gri.syntax +83 -0
  126. data/syntax/groovy.syntax +191 -0
  127. data/syntax/gtd.syntax +22 -0
  128. data/syntax/gtdalt.syntax +143 -0
  129. data/syntax/haml.syntax +88 -0
  130. data/syntax/haskell.syntax +88 -0
  131. data/syntax/html-asp.syntax +27 -0
  132. data/syntax/html.syntax +362 -0
  133. data/syntax/html_django.syntax +36 -0
  134. data/syntax/html_for_asp.net.syntax +424 -0
  135. data/syntax/html_mason.syntax +119 -0
  136. data/syntax/html_rails.syntax +40 -0
  137. data/syntax/html_tcl.syntax +26 -0
  138. data/syntax/icalendar.syntax +32 -0
  139. data/syntax/inform.syntax +48 -0
  140. data/syntax/ini.syntax +55 -0
  141. data/syntax/installer_distribution_script.syntax +77 -0
  142. data/syntax/io.syntax +81 -0
  143. data/syntax/java.syntax +211 -0
  144. data/syntax/javaproperties.syntax +20 -0
  145. data/syntax/javascript.syntax +256 -0
  146. data/syntax/javascript_+_prototype.syntax +72 -0
  147. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  148. data/syntax/jquery_javascript.syntax +114 -0
  149. data/syntax/json.syntax +136 -0
  150. data/syntax/languagedefinition.syntax +708 -0
  151. data/syntax/latex.syntax +566 -0
  152. data/syntax/latex_beamer.syntax +41 -0
  153. data/syntax/latex_log.syntax +50 -0
  154. data/syntax/latex_memoir.syntax +64 -0
  155. data/syntax/lexflex.syntax +219 -0
  156. data/syntax/lighttpd.syntax +54 -0
  157. data/syntax/lilypond.syntax +492 -0
  158. data/syntax/lisp.syntax +61 -0
  159. data/syntax/literate_haskell.syntax +24 -0
  160. data/syntax/logo.syntax +29 -0
  161. data/syntax/logtalk.syntax +152 -0
  162. data/syntax/lua.syntax +86 -0
  163. data/syntax/m.syntax +142 -0
  164. data/syntax/macports_portfile.syntax +163 -0
  165. data/syntax/mail.syntax +118 -0
  166. data/syntax/makefile.syntax +36 -0
  167. data/syntax/man.syntax +17 -0
  168. data/syntax/mediawiki.syntax +567 -0
  169. data/syntax/mel.syntax +92 -0
  170. data/syntax/mips.syntax +66 -0
  171. data/syntax/mod_perl.syntax +50 -0
  172. data/syntax/modula-3.syntax +47 -0
  173. data/syntax/moinmoin.syntax +189 -0
  174. data/syntax/mootools.syntax +572 -0
  175. data/syntax/movable_type.syntax +162 -0
  176. data/syntax/multimarkdown.syntax +39 -0
  177. data/syntax/objective-c++.syntax +18 -0
  178. data/syntax/objective-c.syntax +233 -0
  179. data/syntax/ocaml.syntax +764 -0
  180. data/syntax/ocamllex.syntax +167 -0
  181. data/syntax/ocamlyacc.syntax +184 -0
  182. data/syntax/old/YAML.yaml +160 -0
  183. data/syntax/old/txt2tags.yaml +139 -0
  184. data/syntax/opengl.syntax +14 -0
  185. data/syntax/pascal.syntax +77 -0
  186. data/syntax/perl.syntax +1115 -0
  187. data/syntax/plain_text.syntax +32 -0
  188. data/syntax/pmwiki.syntax +113 -0
  189. data/syntax/postscript.syntax +114 -0
  190. data/syntax/processing.syntax +106 -0
  191. data/syntax/prolog.syntax +40 -0
  192. data/syntax/property_list.syntax +635 -0
  193. data/syntax/python.syntax +868 -0
  194. data/syntax/python_django.syntax +21 -0
  195. data/syntax/qmake_project.syntax +114 -0
  196. data/syntax/qt_c++.syntax +26 -0
  197. data/syntax/quake3_config.syntax +32 -0
  198. data/syntax/r.syntax +81 -0
  199. data/syntax/r_console.syntax +16 -0
  200. data/syntax/ragel.syntax +201 -0
  201. data/syntax/rd_r_documentation.syntax +91 -0
  202. data/syntax/regexp.syntax +50 -0
  203. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  204. data/syntax/regular_expressions_python.syntax +109 -0
  205. data/syntax/release_notes.syntax +46 -0
  206. data/syntax/remind.syntax +253 -0
  207. data/syntax/restructuredtext.syntax +250 -0
  208. data/syntax/rez.syntax +80 -0
  209. data/syntax/ruby.syntax +1035 -0
  210. data/syntax/ruby_experimental.syntax +145 -0
  211. data/syntax/ruby_on_rails.syntax +88 -0
  212. data/syntax/s5.syntax +69 -0
  213. data/syntax/sass.syntax +45 -0
  214. data/syntax/scheme.syntax +347 -0
  215. data/syntax/scilab.syntax +41 -0
  216. data/syntax/setext.syntax +147 -0
  217. data/syntax/shell-unix-generic.syntax +384 -0
  218. data/syntax/slate.syntax +149 -0
  219. data/syntax/smarty.syntax +63 -0
  220. data/syntax/sql.syntax +237 -0
  221. data/syntax/sql_rails.syntax +18 -0
  222. data/syntax/ssh-config.syntax +33 -0
  223. data/syntax/standard_ml.syntax +121 -0
  224. data/syntax/strings_file.syntax +39 -0
  225. data/syntax/subversion_commit_message.syntax +36 -0
  226. data/syntax/sweave.syntax +84 -0
  227. data/syntax/swig.syntax +57 -0
  228. data/syntax/tcl.syntax +152 -0
  229. data/syntax/template_toolkit.syntax +121 -0
  230. data/syntax/tex.syntax +86 -0
  231. data/syntax/tex_math.syntax +49 -0
  232. data/syntax/textile.syntax +215 -0
  233. data/syntax/tsv.syntax +50 -0
  234. data/syntax/twiki.syntax +241 -0
  235. data/syntax/txt2tags.syntax +79 -0
  236. data/syntax/vectorscript.syntax +57 -0
  237. data/syntax/xhtml_1.0.syntax +4027 -0
  238. data/syntax/xml.syntax +180 -0
  239. data/syntax/xml_strict.syntax +92 -0
  240. data/syntax/xsl.syntax +60 -0
  241. data/syntax/yaml.syntax +160 -0
  242. data/syntax/yui_javascript.syntax +176 -0
  243. data/test/ultraviolet_test.rb +17 -0
  244. data/test/uv_test.rb +0 -0
  245. data/ultraviolet1x.gemspec +22 -0
  246. metadata +333 -0
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: LaTeX Memoir
3
+ fileTypes: []
4
+
5
+ firstLineMatch: ^\\documentclass(\[.*\])?\{memoir\}
6
+ scopeName: text.tex.latex.memoir
7
+ uuid: D0853B20-ABFF-48AB-8AB9-3D8BA0755C05
8
+ foldingStartMarker: \\begin\{.*\}|%.*\(fold\)\s*$
9
+ patterns:
10
+ - name: meta.function.memoir-fbox.latex
11
+ captures:
12
+ "1":
13
+ name: support.function.be.latex
14
+ "2":
15
+ name: punctuation.definition.function.latex
16
+ "3":
17
+ name: punctuation.definition.arguments.begin.latex
18
+ "4":
19
+ name: variable.parameter.function.latex
20
+ "5":
21
+ name: punctuation.definition.arguments.end.latex
22
+ begin: (?:\s*)((\\)begin)(\{)(framed|shaded|leftbar)(\})
23
+ end: ((\\)end)(\{)(\4)(\})
24
+ patterns:
25
+ - include: $self
26
+ - name: meta.function.memoir-verbatim.latex
27
+ captures:
28
+ "1":
29
+ name: support.function.be.latex
30
+ "2":
31
+ name: punctuation.definition.function.latex
32
+ "3":
33
+ name: punctuation.definition.arguments.begin.latex
34
+ "4":
35
+ name: variable.parameter.function.latex
36
+ "5":
37
+ name: punctuation.definition.arguments.end.latex
38
+ begin: (?:\s*)((\\)begin)(\{)((?:fboxv|boxedv|V)erbatim)(\})
39
+ contentName: markup.raw.verbatim.latex
40
+ end: ((\\)end)(\{)(\4)(\})
41
+ - name: meta.function.memoir-alltt.latex
42
+ captures:
43
+ "1":
44
+ name: support.function.be.latex
45
+ "2":
46
+ name: punctuation.definition.function.latex
47
+ "3":
48
+ name: punctuation.definition.arguments.begin.latex
49
+ "4":
50
+ name: variable.parameter.function.latex
51
+ "5":
52
+ name: punctuation.definition.arguments.end.latex
53
+ begin: (?:\s*)((\\)begin)(\{)(alltt)(\})
54
+ contentName: markup.raw.verbatim.latex
55
+ end: ((\\)end)(\{)(alltt)(\})
56
+ patterns:
57
+ - name: support.function.general.tex
58
+ captures:
59
+ "1":
60
+ name: punctuation.definition.function.tex
61
+ match: (\\)[A-Za-z]+
62
+ - include: text.tex.latex
63
+ foldingStopMarker: \\end\{.*\}|%.*\(end\)\s*$
64
+ keyEquivalent: ^~M
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: Lex/Flex
3
+ fileTypes:
4
+ - l
5
+ scopeName: source.lex
6
+ repository:
7
+ csource:
8
+ patterns:
9
+ - name: support.function.c.lex
10
+ match: \b(?:ECHO|BEGIN|REJECT|YY_FLUSH_BUFFER|YY_BREAK|yy(?:more|less|unput|input|terminate|text|leng|restart|_(?:push|pop|top)_state|_(?:create|switch_to|flush|delete)_buffer|_scan_(?:string|bytes|buffer)|_set_(?:bol|interactive))(?=\(|$))\b
11
+ - include: source.c
12
+ subregexp:
13
+ patterns:
14
+ - include: "#re_escape"
15
+ - name: constant.other.character-class.set.lex
16
+ endCaptures:
17
+ "1":
18
+ name: punctuation.terminator.character-class.set.lex
19
+ begin: (\[)(\^)?-?
20
+ beginCaptures:
21
+ "1":
22
+ name: punctuation.definition.character-class.set.lex
23
+ "2":
24
+ name: keyword.operator.negation.regexp.lex
25
+ end: -?(\])
26
+ patterns:
27
+ - include: "#re_escape"
28
+ - name: constant.other.character-class.set.lex
29
+ captures:
30
+ "1":
31
+ name: invalid.illegal.regexp.lex
32
+ match: \[:(?:(?:alnum|alpha|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)|(.*?)):\]
33
+ - name: variable.other.lex
34
+ match: (?i){[a-z_][a-z0-9_-]*}
35
+ - name: keyword.operator.quantifier.regexp.lex
36
+ begin: \{
37
+ end: \}
38
+ patterns:
39
+ - match: (?<=\{)[0-9]*(?:,[0-9]*)?(?=\})
40
+ - name: invalid.illegal.regexp.lex
41
+ match: "[^}]"
42
+ comment: "{3} counts should only have digit[,digit]"
43
+ - name: string.quoted.double.regexp.lex
44
+ begin: "\""
45
+ end: "\""
46
+ patterns:
47
+ - include: "#re_escape"
48
+ - begin: ([*+?])(?=[*+?])
49
+ beginCaptures:
50
+ "1":
51
+ name: keyword.operator.quantifier.regexp.lex
52
+ end: (?=[^*+?])
53
+ patterns:
54
+ - name: invalid.illegal.regexp.lex
55
+ match: .
56
+ comment: make ** or +? or other combinations illegal
57
+ - name: keyword.operator.quantifier.regexp.lex
58
+ match: "[*+?]"
59
+ - name: invalid.illegal.regexp.lex
60
+ match: <<EOF>>
61
+ comment: <<EOF>> is handled in the rule pattern
62
+ - name: meta.group.regexp.lex
63
+ endCaptures:
64
+ "1":
65
+ name: punctuation.terminator.group.regexp.lex
66
+ begin: (\()
67
+ beginCaptures:
68
+ "1":
69
+ name: punctuation.definition.group.regexp.lex
70
+ end: (\))|(?=\s)|$(?#end on whitespace because regex does)
71
+ patterns:
72
+ - name: invalid.illegal.regexp.lex
73
+ match: /
74
+ - include: "#subregexp"
75
+ - begin: (/)
76
+ beginCaptures:
77
+ "1":
78
+ name: keyword.operator.trailing-match.regexp.lex
79
+ end: (?=\s)|$
80
+ patterns:
81
+ - name: invalid.illegal.regexp.lex
82
+ match: /|\$(?!\S)
83
+ - include: "#subregexp"
84
+ comment: detection of multiple trailing contexts
85
+ regexp:
86
+ name: string.regexp.lex
87
+ captures:
88
+ "1":
89
+ name: keyword.control.anchor.regexp.lex
90
+ begin: \G(?=\S)(\^)?
91
+ end: (\$)?(?:(?=\s)|$)
92
+ patterns:
93
+ - include: "#subregexp"
94
+ re_escape:
95
+ name: constant.character.escape.lex
96
+ match: \\(?i:[0-9]{1,3}|x[0-9a-f]{1,2}|.)
97
+ includes:
98
+ patterns:
99
+ - name: meta.embedded.source.c.lex
100
+ begin: ^%\{$
101
+ end: ^%\}$
102
+ patterns:
103
+ - include: source.c
104
+ comment: "TODO: $} should override the embedded scopes"
105
+ - name: meta.embedded.source.c.lex
106
+ begin: ^[ \t]+
107
+ end: $
108
+ patterns:
109
+ - include: source.c
110
+ comment: "TODO: eol should override the embedded scopes"
111
+ rec_csource:
112
+ begin: \{
113
+ end: \}
114
+ patterns:
115
+ - include: source.c
116
+ - include: "#csource"
117
+ uuid: 92E842A0-9DE6-4D31-A6AC-1CDE0F9547C5
118
+ foldingStartMarker: /\*\*|\{\s*$
119
+ patterns:
120
+ - name: meta.section.definitions.lex
121
+ begin: \A(?!%%$)
122
+ end: ^(?=%%$)
123
+ patterns:
124
+ - include: "#includes"
125
+ - name: comment.block.c.lex
126
+ begin: /\*
127
+ end: \*/|$
128
+ - name: meta.definition.lex
129
+ begin: ^(?i)([a-z_][a-z0-9_-]*)(?=\s|$)
130
+ beginCaptures:
131
+ "1":
132
+ name: entity.name.function.lex
133
+ end: $
134
+ patterns:
135
+ - include: "#regexp"
136
+ - name: meta.start-condition.lex
137
+ begin: ^(%[sx])(?=\s|$)
138
+ beginCaptures:
139
+ "1":
140
+ name: punctuation.definition.start-condition.lex
141
+ end: $
142
+ patterns:
143
+ - match: (?i)[a-z_][a-z0-9_-]*
144
+ - name: invalid.illegal.lex
145
+ match: \S
146
+ - name: meta.options.lex
147
+ begin: ^(%option)\s(?=\S)
148
+ beginCaptures:
149
+ "1":
150
+ name: keyword.other.option.lex
151
+ end: $
152
+ patterns:
153
+ - name: support.other.option.lex
154
+ match: \b(?:(?:no)?(?:[78]bit|align|backup|batch|c\+\+|debug|default|ecs|fast|full|interactive|lex-compat|meta-ecs|perf-report|read|stdout|verbose|warn|array|pointer|input|unput|yy_(?:(?:push|pop|top)_state|scan_(?:buffer|bytes|string))|main|stack|stdinit|yylineno|yywrap)|(?:case(?:ful|less)|case-(?:in)?sensitive|(?:always|never)-interactive))\b
155
+ - name: keyword.other.option.lex
156
+ begin: ^%(?:array|pointer)
157
+ end: $
158
+ patterns:
159
+ - name: invalid.illegal.lex
160
+ match: \S
161
+ comment: first section of the file - definitions
162
+ - begin: ^(%%)$
163
+ beginCaptures:
164
+ "1":
165
+ name: punctuation.separator.sections.lex
166
+ end: \Z.\A(?# never end)
167
+ patterns:
168
+ - name: meta.section.rules.lex
169
+ begin: ^(?!%%$)
170
+ end: ^(?=%%$)
171
+ patterns:
172
+ - name: meta.rule.lex
173
+ begin: ^(?!$)
174
+ end: $
175
+ patterns:
176
+ - include: "#includes"
177
+ - begin: (?i)^(<(?:(?:[a-z_][a-z0-9_-]*,)*[a-z_][a-z0-9_-]|\*)>)?(?:(<<EOF>>)(\s*))?(?=\S)
178
+ beginCaptures:
179
+ "1":
180
+ name: keyword.other.start-condition.lex
181
+ "2":
182
+ name: keyword.operator.eof.lex
183
+ "3":
184
+ name: invalid.illegal.regexp.lex
185
+ end: (?=\s)|$
186
+ patterns:
187
+ - include: "#regexp"
188
+ comment: rule pattern
189
+ - endCaptures:
190
+ "1":
191
+ name: punctuation.terminator.code.lex
192
+ "2":
193
+ name: invalid.illegal.ignored.lex
194
+ begin: (%\{)
195
+ beginCaptures:
196
+ "1":
197
+ name: punctuation.definition.code.lex
198
+ end: (%\})(.*)
199
+ patterns:
200
+ - include: "#csource"
201
+ comment: "TODO: %} should override embedded scopes"
202
+ - name: meta.rule.action.lex
203
+ begin: (?=\S)
204
+ end: $
205
+ patterns:
206
+ - include: "#csource"
207
+ comment: "TODO: eol should override embedded scopes"
208
+ comment: second section of the file - rules
209
+ - begin: ^(%%)$
210
+ contentName: meta.section.user-code.lex
211
+ beginCaptures:
212
+ "1":
213
+ name: punctuation.separator.sections.lex
214
+ end: \Z.\A(?# never end)
215
+ patterns:
216
+ - include: "#csource"
217
+ comment: third section of the file - user code
218
+ foldingStopMarker: \*\*/|^\s*\}
219
+ keyEquivalent: ^~L
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: Lighttpd
3
+ scopeName: source.lighttpd-config
4
+ uuid: C244BFF4-2C1A-490F-831E-8EF7DF4E0C9B
5
+ foldingStartMarker: (\{|\()\s*$
6
+ patterns:
7
+ - name: comment.line.number-sign.lighttpd-config
8
+ captures:
9
+ "1":
10
+ name: punctuation.definition.comment.lighttpd-config
11
+ match: (#).*$\n?
12
+ - captures:
13
+ "1":
14
+ name: punctuation.separator.key-value.lighttpd-config
15
+ "2":
16
+ name: string.regexp.lighttpd-config
17
+ "3":
18
+ name: punctuation.definition.string.begin.lighttpd-config
19
+ "4":
20
+ name: punctuation.definition.string.end.lighttpd-config
21
+ match: (=~|!~)\s*((").*("))
22
+ - captures:
23
+ "1":
24
+ name: punctuation.separator.key-value.lighttpd-config
25
+ "2":
26
+ name: constant.numeric.lighttpd-config
27
+ match: (=>?)\s*([0-9]+)
28
+ - name: punctuation.separator.key-value.lighttpd-config
29
+ match: =|\+=|==|!=|=~|!~|=>
30
+ - name: string.quoted.double.lighttpd-config
31
+ endCaptures:
32
+ "0":
33
+ name: punctuation.definition.string.end.lighttpd-config
34
+ begin: "\""
35
+ beginCaptures:
36
+ "0":
37
+ name: punctuation.definition.string.begin.lighttpd-config
38
+ end: "\""
39
+ patterns:
40
+ - name: constant.character.escape.quote.lighttpd-config
41
+ match: "\"\""
42
+ - name: variable.language.lighttpd-config
43
+ captures:
44
+ "1":
45
+ name: punctuation.definition.variable.lighttpd-config
46
+ match: (\$)[a-zA-Z][0-9a-zA-Z]*
47
+ - name: support.constant.name.lighttpd-config
48
+ match: ^\s*[a-zA-Z][0-9a-zA-Z.-]*
49
+ - captures:
50
+ "1":
51
+ name: invalid.illegal.semicolon-at-end-of-line.lighttpd-config
52
+ match: (;)\s*$
53
+ foldingStopMarker: ^\s*(\}|\))
54
+ keyEquivalent: ^~L