ultraviolet 0.10.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. data/.gitmodules +3 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +28 -0
  4. data/Rakefile +18 -47
  5. data/Readme.md +89 -0
  6. data/bin/theme2latexrender +0 -0
  7. data/bin/theme2xhtmlrender +0 -0
  8. data/bin/uv +0 -0
  9. data/lib/uv.rb +78 -75
  10. data/lib/uv/render_processor.rb +128 -119
  11. data/lib/uv/utility.rb +62 -62
  12. data/lib/uv/version.rb +3 -0
  13. data/spec/spec_helper.rb +2 -0
  14. data/spec/ultraviolet_spec.rb +13 -0
  15. data/ultraviolet.gemspec +15 -0
  16. metadata +123 -271
  17. data/History.txt +0 -25
  18. data/Manifest.txt +0 -233
  19. data/README.txt +0 -52
  20. data/syntax/actionscript.syntax +0 -97
  21. data/syntax/active4d.syntax +0 -276
  22. data/syntax/active4d_html.syntax +0 -311
  23. data/syntax/active4d_ini.syntax +0 -50
  24. data/syntax/active4d_library.syntax +0 -21
  25. data/syntax/ada.syntax +0 -33
  26. data/syntax/antlr.syntax +0 -151
  27. data/syntax/apache.syntax +0 -191
  28. data/syntax/applescript.syntax +0 -384
  29. data/syntax/asp.syntax +0 -70
  30. data/syntax/asp_vb.net.syntax +0 -129
  31. data/syntax/bibtex.syntax +0 -151
  32. data/syntax/blog_html.syntax +0 -41
  33. data/syntax/blog_markdown.syntax +0 -42
  34. data/syntax/blog_text.syntax +0 -27
  35. data/syntax/blog_textile.syntax +0 -27
  36. data/syntax/build.syntax +0 -53
  37. data/syntax/bulletin_board.syntax +0 -287
  38. data/syntax/c++.syntax +0 -109
  39. data/syntax/c.syntax +0 -326
  40. data/syntax/cake.syntax +0 -55
  41. data/syntax/camlp4.syntax +0 -36
  42. data/syntax/cm.syntax +0 -32
  43. data/syntax/coldfusion.syntax +0 -119
  44. data/syntax/context_free.syntax +0 -176
  45. data/syntax/cs.syntax +0 -59
  46. data/syntax/css.syntax +0 -195
  47. data/syntax/css_experimental.syntax +0 -1925
  48. data/syntax/csv.syntax +0 -68
  49. data/syntax/d.syntax +0 -142
  50. data/syntax/diff.syntax +0 -81
  51. data/syntax/dokuwiki.syntax +0 -204
  52. data/syntax/dot.syntax +0 -47
  53. data/syntax/doxygen.syntax +0 -43
  54. data/syntax/dylan.syntax +0 -62
  55. data/syntax/eiffel.syntax +0 -78
  56. data/syntax/erlang.syntax +0 -922
  57. data/syntax/f-script.syntax +0 -80
  58. data/syntax/fortran.syntax +0 -141
  59. data/syntax/fxscript.syntax +0 -142
  60. data/syntax/greasemonkey.syntax +0 -34
  61. data/syntax/gri.syntax +0 -83
  62. data/syntax/groovy.syntax +0 -191
  63. data/syntax/gtd.syntax +0 -22
  64. data/syntax/gtdalt.syntax +0 -143
  65. data/syntax/haml.syntax +0 -88
  66. data/syntax/haskell.syntax +0 -88
  67. data/syntax/html-asp.syntax +0 -27
  68. data/syntax/html.syntax +0 -362
  69. data/syntax/html_django.syntax +0 -36
  70. data/syntax/html_for_asp.net.syntax +0 -424
  71. data/syntax/html_mason.syntax +0 -119
  72. data/syntax/html_rails.syntax +0 -40
  73. data/syntax/html_tcl.syntax +0 -26
  74. data/syntax/icalendar.syntax +0 -32
  75. data/syntax/inform.syntax +0 -48
  76. data/syntax/ini.syntax +0 -55
  77. data/syntax/installer_distribution_script.syntax +0 -77
  78. data/syntax/io.syntax +0 -81
  79. data/syntax/java.syntax +0 -211
  80. data/syntax/javaproperties.syntax +0 -20
  81. data/syntax/javascript.syntax +0 -256
  82. data/syntax/javascript_+_prototype.syntax +0 -72
  83. data/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  84. data/syntax/jquery_javascript.syntax +0 -114
  85. data/syntax/json.syntax +0 -136
  86. data/syntax/languagedefinition.syntax +0 -708
  87. data/syntax/latex.syntax +0 -566
  88. data/syntax/latex_beamer.syntax +0 -41
  89. data/syntax/latex_log.syntax +0 -50
  90. data/syntax/latex_memoir.syntax +0 -64
  91. data/syntax/lexflex.syntax +0 -219
  92. data/syntax/lighttpd.syntax +0 -54
  93. data/syntax/lilypond.syntax +0 -492
  94. data/syntax/lisp.syntax +0 -61
  95. data/syntax/literate_haskell.syntax +0 -24
  96. data/syntax/logo.syntax +0 -29
  97. data/syntax/logtalk.syntax +0 -152
  98. data/syntax/lua.syntax +0 -86
  99. data/syntax/m.syntax +0 -142
  100. data/syntax/macports_portfile.syntax +0 -163
  101. data/syntax/mail.syntax +0 -118
  102. data/syntax/makefile.syntax +0 -36
  103. data/syntax/man.syntax +0 -17
  104. data/syntax/markdown.syntax +0 -543
  105. data/syntax/mediawiki.syntax +0 -567
  106. data/syntax/mel.syntax +0 -92
  107. data/syntax/mips.syntax +0 -66
  108. data/syntax/mod_perl.syntax +0 -50
  109. data/syntax/modula-3.syntax +0 -47
  110. data/syntax/moinmoin.syntax +0 -189
  111. data/syntax/mootools.syntax +0 -572
  112. data/syntax/movable_type.syntax +0 -162
  113. data/syntax/multimarkdown.syntax +0 -39
  114. data/syntax/objective-c++.syntax +0 -18
  115. data/syntax/objective-c.syntax +0 -233
  116. data/syntax/ocaml.syntax +0 -764
  117. data/syntax/ocamllex.syntax +0 -167
  118. data/syntax/ocamlyacc.syntax +0 -184
  119. data/syntax/opengl.syntax +0 -14
  120. data/syntax/pascal.syntax +0 -77
  121. data/syntax/perl.syntax +0 -1115
  122. data/syntax/php.syntax +0 -1253
  123. data/syntax/plain_text.syntax +0 -32
  124. data/syntax/pmwiki.syntax +0 -113
  125. data/syntax/postscript.syntax +0 -114
  126. data/syntax/processing.syntax +0 -106
  127. data/syntax/prolog.syntax +0 -40
  128. data/syntax/property_list.syntax +0 -635
  129. data/syntax/python.syntax +0 -868
  130. data/syntax/python_django.syntax +0 -21
  131. data/syntax/qmake_project.syntax +0 -114
  132. data/syntax/qt_c++.syntax +0 -26
  133. data/syntax/quake3_config.syntax +0 -32
  134. data/syntax/r.syntax +0 -81
  135. data/syntax/r_console.syntax +0 -16
  136. data/syntax/ragel.syntax +0 -201
  137. data/syntax/rd_r_documentation.syntax +0 -91
  138. data/syntax/regexp.syntax +0 -50
  139. data/syntax/regular_expressions_oniguruma.syntax +0 -107
  140. data/syntax/regular_expressions_python.syntax +0 -109
  141. data/syntax/release_notes.syntax +0 -46
  142. data/syntax/remind.syntax +0 -253
  143. data/syntax/restructuredtext.syntax +0 -250
  144. data/syntax/rez.syntax +0 -80
  145. data/syntax/ruby.syntax +0 -1035
  146. data/syntax/ruby_experimental.syntax +0 -145
  147. data/syntax/ruby_on_rails.syntax +0 -88
  148. data/syntax/s5.syntax +0 -69
  149. data/syntax/scheme.syntax +0 -347
  150. data/syntax/scilab.syntax +0 -41
  151. data/syntax/setext.syntax +0 -147
  152. data/syntax/shell-unix-generic.syntax +0 -384
  153. data/syntax/slate.syntax +0 -149
  154. data/syntax/smarty.syntax +0 -63
  155. data/syntax/sql.syntax +0 -237
  156. data/syntax/sql_rails.syntax +0 -18
  157. data/syntax/ssh-config.syntax +0 -33
  158. data/syntax/standard_ml.syntax +0 -121
  159. data/syntax/strings_file.syntax +0 -39
  160. data/syntax/subversion_commit_message.syntax +0 -36
  161. data/syntax/sweave.syntax +0 -84
  162. data/syntax/swig.syntax +0 -57
  163. data/syntax/tcl.syntax +0 -152
  164. data/syntax/template_toolkit.syntax +0 -121
  165. data/syntax/tex.syntax +0 -86
  166. data/syntax/tex_math.syntax +0 -49
  167. data/syntax/textile.syntax +0 -215
  168. data/syntax/tsv.syntax +0 -50
  169. data/syntax/twiki.syntax +0 -241
  170. data/syntax/txt2tags.syntax +0 -79
  171. data/syntax/vectorscript.syntax +0 -57
  172. data/syntax/xhtml_1.0.syntax +0 -4027
  173. data/syntax/xml.syntax +0 -180
  174. data/syntax/xml_strict.syntax +0 -92
  175. data/syntax/xsl.syntax +0 -60
  176. data/syntax/yaml.syntax +0 -160
  177. data/syntax/yui_javascript.syntax +0 -176
  178. data/test/test_uv.rb +0 -0
@@ -1,41 +0,0 @@
1
- ---
2
- name: LaTeX Beamer
3
- fileTypes: []
4
-
5
- firstLineMatch: ^\\documentclass(\[.*\])?\{beamer\}
6
- scopeName: text.tex.latex.beamer
7
- uuid: 2ACA20AA-B008-469B-A04A-6DE232973ED8
8
- foldingStartMarker: \\begin\{.*\}|%.*\(fold\)\s*$
9
- patterns:
10
- - name: meta.function.environment.frame.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)(\{)(frame)(\})
23
- end: ((\\)end)(\{)(frame)(\})
24
- patterns:
25
- - name: support.function.with-arg.latex
26
- captures:
27
- "1":
28
- name: support.function.with-arg.latex
29
- "2":
30
- name: punctuation.definition.function.latex
31
- "3":
32
- name: punctuation.definition.arguments.begin.latex
33
- "4":
34
- name: entity.name.function.frame.latex
35
- "5":
36
- name: punctuation.definition.arguments.end.latex
37
- match: ((\\)frametitle)(\{)(.*)(\})
38
- - include: $self
39
- - include: text.tex.latex
40
- foldingStopMarker: \\end\{.*\}|%.*\(end\)\s*$
41
- keyEquivalent: ^~B
@@ -1,50 +0,0 @@
1
- ---
2
- name: LaTeX Log
3
- firstLineMatch: "This is (pdfe)?TeXk?, Version "
4
- scopeName: text.log.latex
5
- uuid: F68ACE95-7DB3-4DFB-AA8A-89988B116B5C
6
- foldingStartMarker: /\*\*|\(\s*$
7
- patterns:
8
- - name: invalid.deprecated
9
- match: ".*Warning:"
10
- - name: invalid.deprecated
11
- match: "[^:]*:\\d*:.*"
12
- - name: invalid.illegal
13
- match: .*Error|^!.*
14
- - name: entity.name.function
15
- match: .*\.sty
16
- - name: entity.name.type.class
17
- match: .*\.cls
18
- - name: entity.name.tag.configuration
19
- match: .*\.cfg
20
- - name: entity.name.tag.definition
21
- match: .*\.def
22
- - name: comment.block.documentation
23
- match: .*Info.*
24
- - name: meta.log.latex.fixme
25
- match: ".*FiXme:"
26
- - name: meta.log.latex.hyphenation
27
- captures:
28
- "1":
29
- name: keyword.control.hyphenation.latex
30
- begin: (Overfull|Underfull)
31
- end: (\[\]\n)
32
- patterns:
33
- - name: variable.parameter.hyphenation.latex2
34
- match: "[0-9]+\\-\\-[0-9]+"
35
- - name: string.unquoted.other.filename.log.latex
36
- endCaptures:
37
- "0":
38
- name: punctuation.definition.string.end.log.latex
39
- begin: (<)
40
- beginCaptures:
41
- "0":
42
- name: punctuation.definition.string.begin.log.latex
43
- end: (>)
44
- patterns:
45
- - name: support.function.with-arg.latex
46
- captures:
47
- "1":
48
- name: entity.name.function.filename.latex
49
- match: (.*/.*\.pdf)
50
- foldingStopMarker: \*\*/|^\s*\)
@@ -1,64 +0,0 @@
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
@@ -1,219 +0,0 @@
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
@@ -1,54 +0,0 @@
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
@@ -1,492 +0,0 @@
1
- ---
2
- name: Lilypond
3
- fileTypes:
4
- - ly
5
- - ily
6
- scopeName: source.lilypond
7
- repository:
8
- g_markup:
9
- name: meta.element.markup.lilypond
10
- begin: "(?x)\n\
11
- \t\t\t\t((\\\\) markup) \\s+ # backslash + \"markup\" + spaces\n\
12
- \t\t\t\t(?={)\n\
13
- \t\t\t"
14
- beginCaptures:
15
- "1":
16
- name: support.function.element.markup.lilypond
17
- "2":
18
- name: punctuation.definition.function.markup
19
- end: (?<=})
20
- patterns:
21
- - include: "#g_m_group"
22
- comments:
23
- patterns:
24
- - name: comment.block.lilypond
25
- captures:
26
- "0":
27
- name: punctuation.definition.comment.lilypond
28
- begin: "%{"
29
- end: "%}"
30
- - name: comment.line.lilypond
31
- begin: "%"
32
- beginCaptures:
33
- "0":
34
- name: punctuation.definition.comment.lilypond
35
- end: $\n?
36
- g_times:
37
- begin: ((\\)times)\s*(?:([1-9][0-9]*/[1-9][0-9])\s*)(?={)
38
- beginCaptures:
39
- "1":
40
- name: support.function.section.lilypond
41
- "2":
42
- name: punctuation.definition.function.lilypond
43
- "3":
44
- name: constant.numeric.fraction.lilypond
45
- end: (?<=})
46
- patterns:
47
- - include: "#group"
48
- f_keywords:
49
- name: keyword.control.lilypond
50
- captures:
51
- "1":
52
- name: punctuation.definition.function.lilypond
53
- match: "(?x)\n\
54
- \t\t\t\t(?: (\\\\)\n\
55
- \t\t\t\t (?: set | new | override | revert)\n\
56
- \t\t\t\t)\n\
57
- \t\t\t"
58
- f_clef:
59
- name: meta.element.clef.lilypond
60
- captures:
61
- "6":
62
- name: meta.fixme.unknown-clef-name.lilypond
63
- "7":
64
- name: constant.other.modifier.clef.lilypond
65
- "8":
66
- name: punctuation.definition.string.lilypond
67
- "1":
68
- name: support.function.element.lilypond
69
- "2":
70
- name: punctuation.definition.function.lilypond
71
- "3":
72
- name: punctuation.definition.string.lilypond
73
- "4":
74
- name: constant.language.clef-name.lilypond
75
- "5":
76
- name: constant.other.modifier.clef.lilypond
77
- match: "(?x)\n\
78
- \t\t\t\t((\\\\) clef) \\s+ # backslash + \"clef\" + spaces (groups 1-2)\n\
79
- \t\t\t\t(?:\n\
80
- \t\t\t\t (\"?)\t# beginning quotes (group 3)\n\
81
- \t\t\t\t ( (?: # group 4\n\
82
- \t\t\t\t\t treble | violin | G | french | # G clefs\n\
83
- \t\t\t\t alto | C | tenor | (?:mezzo)?soprano | baritone | # C clefs\n\
84
- \t\t\t\t (?:sub)?bass | F | varbaritone | # F clefs\n\
85
- \t\t\t\t percussion | tab | # percussion / tablature clefs\n \n\
86
- \t\t\t (?:neo)?mensural-c[1-4] | mensural-[fg] | \t\t# Ancient clefs\n\
87
- \t\t\t\t petrucci-(?: [fg] | c[1-5] ) |\n\
88
- \t\t\t\t (?: vaticana | medicaea | hufnagel ) - (?: do[1-3] | fa[12] ) |\n\
89
- \t\t\t\t hufnagel-do-fa\n\
90
- \t\t\t\t )\n\
91
- \t\t\t\t ([_^](?:8|15)?)? # optionally shift 1-2 octaves \xE2\x86\x91/\xE2\x86\x93 (group 5)\n\
92
- \t\t\t\t ) |\n\
93
- \t\t\t\t ( (?:\\w+) ([_^](?:8|15))? ) # unknown clef name (groups 6-7)\n\
94
- \t\t\t\t (\\3) # closing quotes (group 8)\n\
95
- \t\t\t\t)?\n\
96
- \t\t\t"
97
- comment: "\n\
98
- \t\t\t\tThis looks something like: \\clef mezzosoprano_8\n\
99
- \t\t\t\tOr maybe: \\clef neomensural-c3^15\n\
100
- \t\t\t"
101
- g_relative:
102
- begin: ((\\)relative)\s*(?:([a-h][',]*)\s*)?(?={)
103
- beginCaptures:
104
- "1":
105
- name: support.function.section.lilypond
106
- "2":
107
- name: punctuation.definition.function.lilypond
108
- "3":
109
- name: storage.type.pitch.lilypond
110
- end: (?<=})
111
- patterns:
112
- - include: "#group"
113
- scheme:
114
- begin: "#"
115
- contentName: source.scheme.embedded.lilypond
116
- beginCaptures:
117
- "0":
118
- name: punctuation.section.embedded.scheme.lilypond
119
- end: (?=[\s%])|(?<=\n)
120
- patterns:
121
- - include: source.scheme
122
- comment: "\n\
123
- \t\t\t\tLilypond source can embed scheme code to do things more\n\
124
- \t\t\t\tflexibly than allowed by the basic language.\n\n\
125
- \t\t\t\tWe need to make sure to match after a \\n, as included\n\
126
- \t\t\t\tby some s-expressions in the scheme grammar.\n\
127
- \t\t\t"
128
- notes:
129
- patterns:
130
- - name: meta.element.note.lilypond
131
- begin: "(?x)\\b\n\
132
- \t\t\t\t\t (\t\t\t\t\t\t # (group 1)\n\
133
- \t\t\t\t\t\t ( [a-h] # Pitch (group 2)\n\
134
- \t\t\t\t\t\t ( (?:i[sh]){1,2} | # - sharp (group 3)\n\
135
- \t\t\t\t\t\t (?:e[sh]|s){1,2} # - flat\n\
136
- \t\t\t\t\t\t )?\n\
137
- \t\t\t\t\t ([!?])? # Cautionary accidental (group 4)\n\
138
- \t\t\t\t\t ('+|,+)? # Octave (group 5)\n\
139
- \t\t\t\t\t\t )\n\
140
- \t\t\t\t\t\t ( ( ((\\\\)breve)| # Duration (groups 6-9)\n\
141
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
142
- \t\t\t\t\t\t )\n\
143
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 10)\n\
144
- \t\t\t\t\t\t\t((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 11-13)\n\
145
- \t\t\t\t\t\t )?\n\
146
- \t\t\t\t\t\t)(?![a-z])\t# do not follow a note with a letter\n\
147
- \t\t\t\t\t"
148
- beginCaptures:
149
- "6":
150
- name: storage.type.duration.lilypond
151
- "12":
152
- name: keyword.operator.duration-scale.lilypond
153
- "13":
154
- name: constant.numeric.fraction.lilypond
155
- "9":
156
- name: punctuation.definition.function.lilypond
157
- "2":
158
- name: storage.type.pitch.lilypond
159
- "4":
160
- name: meta.note-modifier.cautionary-accidental.lilypond
161
- "5":
162
- name: meta.note-modifier.octave.lilypond
163
- end: "(?x)\n\
164
- \t\t\t\t\t\t(?= [ }~a-z] ) # End when we encounter a space or }\n\
165
- \t\t\t\t\t"
166
- patterns:
167
- - include: "#n_articulations"
168
- comment: "\n\
169
- \t\t\t\t\t\tThis rule handles notes, including the pitch, the\n\
170
- \t\t\t\t\t\tduration, and any articulations drawn along with\n\
171
- \t\t\t\t\t\tthe note.\n\
172
- \t\t\t\t\t\t\n\
173
- \t\t\t\t\t\tThis rule gets a whole lot uglier if we want to\n\
174
- \t\t\t\t\t\tsupport multilingual note names. If so, the rule\n\
175
- \t\t\t\t\t\tgoes something like:\n\
176
- \t\t\t\t\t\t\n\
177
- \t\t\t\t\t\t(?x)\n\
178
- \t\t\t\t\t\t\t\\b( # Basic Pitches\n\
179
- \t\t\t\t\t\t\t [a-h] # Dutch/English/etc. \n\
180
- \t\t\t\t\t\t\t (?: (iss?|s|sharp|x)(iss?|s|sharp|x|ih) | # sharp / flat\n\
181
- \t\t\t\t\t\t\t\t (ess?|s|flat|f)(ess?|s|flat|f|eh)\n\
182
- \t\t\t\t\t\t\t )? |\n\
183
- \t\t\t\t\t\t\t (?: do|re|mi|fa|sol|la|si) # Italian/Spanish\n\
184
- \t\t\t\t\t\t\t (?: ss?|dd?bb?) # sharp/flat\n\
185
- \t\t\t\t\t\t\t)\n\
186
- \t\t\t\t\t\t...\n\
187
- \t\t\t\t\t"
188
- - name: meta.element.pause.rest.lilypond
189
- begin: "(?x)\\b\n\
190
- \t\t\t\t\t\t(r) # (group 1)\n\
191
- \t\t\t\t\t\t( ( (\\\\)breve| # Duration (groups 2-4)\n\
192
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
193
- \t\t\t\t\t\t )\n\
194
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
195
- \t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 6-8)\n\
196
- \t\t\t\t\t\t\n\
197
- \t\t\t\t\t\t)?\n\
198
- \t\t\t\t\t\t(?![a-z])\t# do not follow a note with a letter\n\
199
- \t\t\t\t\t"
200
- beginCaptures:
201
- "6":
202
- name: keyword.operator.duration-scale.lilypond
203
- "8":
204
- name: constant.numeric.fraction.lilypond
205
- "1":
206
- name: storage.type.pause.rest.lilypond
207
- "2":
208
- name: storage.type.duration.lilypond
209
- "4":
210
- name: punctuation.definition.function.lilypond
211
- end: (?=[ }~a-z])
212
- patterns:
213
- - include: "#n_articulations"
214
- - name: meta.element.pause.skip.lilypond
215
- begin: "(?x)\\b\n\
216
- \t\t\t\t\t\t(s) # (group 1)\n\
217
- \t\t\t\t\t\t( ( (\\\\)breve| # Duration (groups 2-4)\n\
218
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
219
- \t\t\t\t\t\t )\n\
220
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
221
- \t\t\t\t\t\t ((\\*)(\\d+(?:/\\d+)?))? # Scaling duration (groups 6-8)\n\
222
- \t\t\t\t\t\t\n\
223
- \t\t\t\t\t\t)?\n\
224
- \t\t\t\t\t\t(?![a-z])\t# do not follow a note with a letter\n\
225
- \t\t\t\t\t"
226
- beginCaptures:
227
- "6":
228
- name: keyword.operator.duration-scale.lilypond
229
- "8":
230
- name: constant.numeric.fraction.lilypond
231
- "1":
232
- name: storage.type.pause.skip.lilypond
233
- "2":
234
- name: storage.type.duration.lilypond
235
- "4":
236
- name: punctuation.definition.function.lilypond
237
- end: (?=[ }~a-z])
238
- patterns:
239
- - include: "#n_articulations"
240
- - name: meta.element.pause.skip.lilypond
241
- captures:
242
- "1":
243
- name: storage.type.pause.skip.lilypond
244
- "2":
245
- name: punctuation.definition.function.lilypond
246
- "3":
247
- name: storage.type.duration.lilypond
248
- match: ((\\)skip)\s+(64|32|16|8|4|2|1)
249
- - name: meta.element.chord.lilypond
250
- endCaptures:
251
- "1":
252
- name: punctuation.definition.chord.lilypond
253
- "2":
254
- name: storage.type.duration.lilypond
255
- "4":
256
- name: punctuation.definition.function.lilypond
257
- begin: <
258
- beginCaptures:
259
- "0":
260
- name: punctuation.definition.chord.lilypond
261
- end: "(?x)\n\
262
- \t\t\t\t\t\t(>)\n\
263
- \t\t\t\t\t\t( ( ((\\\\)breve)| # Duration (groups 2-4)\n\
264
- \t\t\t\t\t\t 64|32|16|8|4|2|1\n\
265
- \t\t\t\t\t\t )\n\
266
- \t\t\t\t\t\t (\\.)? # Augmentation dot (group 5)\n\
267
- \t\t\t\t\t\t)?\n\
268
- \t\t\t\t\t"
269
- patterns:
270
- - captures:
271
- "1":
272
- name: storage.type.pitch.lilypond
273
- "3":
274
- name: meta.note-modifier.cautionary-accidental.lilypond
275
- "4":
276
- name: meta.note-modifier.octave.lilypond
277
- match: "(?x)\\b\n\
278
- \t\t\t\t\t\t\t\t ( [a-h] # Pitch (group 1)\n\
279
- \t\t\t\t\t\t\t\t ( (?:i[sh]){1,2} | # - sharp (group 2)\n\
280
- \t\t\t\t\t\t\t\t (?:e[sh]|s){1,2} # - flat\n\
281
- \t\t\t\t\t\t\t\t )?\n\
282
- \t\t\t\t\t\t\t ([!?])? # Cautionary accidental (group 3)\n\
283
- \t\t\t\t\t\t\t ('+|,+)? # Octave (group 4)\n\
284
- \t\t\t\t\t\t\t\t )\n\
285
- \t\t\t\t\t\t\t"
286
- comment: "\n\
287
- \t\t\t\t\t\tLilypond chords look like: < a b c >\n\
288
- \t\t\t\t\t"
289
- - name: meta.element.chord.lilypond
290
- begin: (?<=>)(?<!->)(?!\s)
291
- end: (?=[ }~a-z])(?<![^-]>)
292
- patterns:
293
- - include: "#n_articulations"
294
- comment: "\n\
295
- \t\t\t\t\t\tThis rule attaches stuff to the end of a chord\n\
296
- \t\t\t\t\t\t\n\
297
- \t\t\t\t\t\tTherefore it begins after the > which ends a chord,\n\
298
- \t\t\t\t\t\tand does not end after a > which ends a chord.\n\
299
- \t\t\t\t\t\t(to avoid infinite loops)\n\
300
- \t\t\t\t\t"
301
- - name: storage.type.tie.lilypond
302
- match: "~"
303
- - name: storage.type.breath-mark.lilypond
304
- captures:
305
- "1":
306
- name: punctuation.definition.function.lilypond
307
- match: (\\)breathe
308
- comment: "\n\
309
- \t\t\t\tThis section includes the rules for notes, rests, and chords\n\
310
- \t\t\t"
311
- n_articulations:
312
- patterns:
313
- - name: storage.modifier.articulation.accent.lilypond
314
- match: "(?x)\n\
315
- \t\t\t\t\t\t([_^-])\n\
316
- \t\t\t\t\t\t(?:[.>^+_-])\n\
317
- \t\t\t\t\t"
318
- - name: storage.modifier.articulation.named.lilypond
319
- captures:
320
- "1":
321
- name: punctuation.definition.function.lilypond
322
- match: "(?x)\n\
323
- \t\t\t\t\t\t(\\\\)\n\
324
- \t\t\t\t\t\t(?: accent | markato | staccatissimo |\t\t # basic accents\n\
325
- \t\t\t\t\t\t\tespressivo | staccato | tenuto | portato | \n\
326
- \t\t\t\t\t\t\t(?:up|down)bow | flageolet | thumb |\n\
327
- \t\t\t\t\t\t\t[lr](?:heel|toe) | open | stopped |\n\
328
- \t\t\t\t\t\t\t(?:reverse)?turn | trill |\n\
329
- \t\t\t\t\t\t\tprall(?: prall | mordent | down | up)? | # pralls\n\
330
- \t\t\t\t\t\t\t(?: up | down | line ) prall | # and\n\
331
- \t\t\t\t\t\t\t(?: up | down )? mordent | # mordents\n\
332
- \t\t\t\t\t\t\tsignumcongruentiae |\n\
333
- \t\t\t\t\t\t\t(?: (?:very)? long | short)?fermata(Markup)? | # fermatas\n\
334
- \t\t\t\t\t\t\tsegno | (?:var)?coda \n\
335
- \t\t\t\t\t\t)\n\
336
- \t\t\t\t\t"
337
- - name: storage.modifier.articulation.dynamics.lilypond
338
- match: "(?x)\n\
339
- \t\t\t\t\t\t(\\\\) # backslash\n\
340
- \t\t\t\t\t\tp{1,5} | m[pf] | f{1,4} | fp | # forte, piano, etc.\n\
341
- \t\t\t\t\t\tsff? | spp? | [sr]fz | \n\
342
- \t\t\t\t\t\t< | > | ! | espressivo # (de)crescendo\n\
343
- \t\t\t\t\t"
344
- - name: storage.modifier.beam.lilypond
345
- match: \[|\]
346
- - name: storage.modifier.slur.lilypond
347
- match: \(|\)
348
- functions:
349
- patterns:
350
- - include: "#f_clef"
351
- - include: "#f_time-signature"
352
- - include: "#f_key-signature"
353
- - include: "#f_keywords"
354
- - include: "#f_generic"
355
- strings:
356
- name: string.quoted.double.lilypond
357
- captures:
358
- "0":
359
- name: punctuation.definition.string.lilypond
360
- begin: "\""
361
- end: "\""
362
- patterns:
363
- - name: constant.character.escape.lilypond
364
- match: \\.
365
- f_key-signature:
366
- name: meta.element.key-signature.lilypond
367
- comment: FIXME
368
- music-expr:
369
- patterns:
370
- - include: "#comments"
371
- - include: "#groupings"
372
- - include: "#strings"
373
- - include: "#functions"
374
- - include: "#scheme"
375
- - include: "#notes"
376
- g_system:
377
- name: meta.system.lilypond
378
- endCaptures:
379
- "0":
380
- name: punctuation.section.system.end.lilypond
381
- begin: "<<"
382
- beginCaptures:
383
- "0":
384
- name: punctuation.section.system.begin.lilypond
385
- end: ">>"
386
- patterns:
387
- - include: $self
388
- f_generic:
389
- name: support.function.general.lilypond
390
- captures:
391
- "1":
392
- name: punctuation.definition.function.lilypond
393
- match: (\\)[a-zA-Z-]+\b
394
- groupings:
395
- patterns:
396
- - include: "#g_system"
397
- - include: "#g_relative"
398
- - include: "#g_times"
399
- - include: "#group"
400
- group:
401
- name: meta.music-expression.lilypond
402
- endCaptures:
403
- "0":
404
- name: punctuation.section.group.end.lilypond
405
- begin: "{"
406
- beginCaptures:
407
- "0":
408
- name: punctuation.section.group.begin.lilypond
409
- end: "}"
410
- patterns:
411
- - include: "#music-expr"
412
- g_header:
413
- name: meta.header.lilypond
414
- endCaptures:
415
- "0":
416
- name: punctuation.section.group.end.lilypond
417
- begin: ((\\)header)\s*({)
418
- beginCaptures:
419
- "1":
420
- name: support.function.section.header.lilypond
421
- "2":
422
- name: punctuation.definition.function.lilypond
423
- "3":
424
- name: punctuation.section.group.begin.lilypond
425
- end: "}"
426
- patterns:
427
- - include: "#comments"
428
- - include: "#strings"
429
- - include: "#scheme"
430
- - include: "#g_markup"
431
- - name: punctuation.separator.key-value.lilypond
432
- match: "="
433
- - name: support.constant.header.lilypond
434
- match: "(?x)\n\
435
- \t\t\t\t\t\tdedication | title | subtitle | subsubtitle | poet |\n\
436
- \t\t\t\t\t\tcomposer | meter | opus | arranger | instrument |\n\
437
- \t\t\t\t\t\tpiece | breakbefore | copyright | tagline | enteredby\n\
438
- \t\t\t\t\t"
439
- - name: support.constant.header.mutopia.lilypond
440
- match: "(?x)\n\
441
- \t\t\t\t\t\tmutopiatitle | mutopiacomposer | mutopiapoet |\n\
442
- \t\t\t\t\t\tmutopiaopus | mutopiainstrument | date | source |\n\
443
- \t\t\t\t\t\tstyle | maintainer | maintainerEmail |\n\
444
- \t\t\t\t\t\tmaintainerWeb | lastupdated\n\
445
- \t\t\t\t\t"
446
- g_m_group:
447
- name: meta.group.lilypond
448
- endCaptures:
449
- "0":
450
- name: punctuation.section.group.end.lilypond
451
- begin: "{"
452
- beginCaptures:
453
- "0":
454
- name: punctuation.section.group.begin.lilypond
455
- end: "}"
456
- patterns:
457
- - include: "#f_generic"
458
- - include: "#strings"
459
- - include: "#comments"
460
- - include: "#scheme"
461
- - include: "#g_m_group"
462
- f_time-signature:
463
- name: meta.element.time-signature.lilypond
464
- captures:
465
- "1":
466
- name: support.function.element.lilypond
467
- "2":
468
- name: punctuation.definition.function.lilypond
469
- "3":
470
- name: constant.numeric.time-signature.lilypond
471
- match: "(?x)\n\
472
- \t\t\t\t((\\\\) time) \\s+ # backslash + \"time\" + spaces (groups 1-2)\n\
473
- \t\t\t\t([1-9][0-9]*/[1-9][0-9]*)?\n\
474
- \t\t\t"
475
- uuid: F25B30BE-0526-4D92-806C-F0D678DDF669
476
- foldingStartMarker: (\{|<<)\s*$
477
- patterns:
478
- - include: "#comments"
479
- - include: "#g_header"
480
- - include: "#groupings"
481
- - include: "#strings"
482
- - include: "#scheme"
483
- - include: "#functions"
484
- foldingStopMarker: (\}|>>)
485
- keyEquivalent: ^~L
486
- comment: "\n\
487
- \t\tThis bundle is, as can easily be seen, far from complete,\n\
488
- \t\tbut it should still be as useful as the Lilypond.app pyobjc\n\
489
- \t\tapplication, which has no syntax coloring, no way to do\n\
490
- \t\tsnippets, and pretty much no interesting functionality at\n\
491
- \t\tall, other than a \"Run\" menu option. :)\n\
492
- \t"