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,492 @@
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"
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: Lisp
3
+ fileTypes:
4
+ - lisp
5
+ - cl
6
+ - l
7
+ - mud
8
+ - el
9
+ scopeName: source.lisp
10
+ uuid: 00D451C9-6B1D-11D9-8DFA-000D93589AF6
11
+ foldingStartMarker: \(
12
+ patterns:
13
+ - name: comment.line.semicolon.lisp
14
+ captures:
15
+ "1":
16
+ name: punctuation.definition.comment.lisp
17
+ match: (;).*$\n?
18
+ - name: meta.function.lisp
19
+ captures:
20
+ "2":
21
+ name: storage.type.function-type.lisp
22
+ "4":
23
+ name: entity.name.function.lisp
24
+ match: (\b(?i:(defun|defmethod|defmacro))\b)(\s+)((\w|\-|\!|\?)*)
25
+ - name: constant.character.lisp
26
+ captures:
27
+ "1":
28
+ name: punctuation.definition.constant.lisp
29
+ match: (#)(\w|[\\+-=<>'"&#])+
30
+ - name: variable.other.global.lisp
31
+ captures:
32
+ "1":
33
+ name: punctuation.definition.variable.lisp
34
+ "3":
35
+ name: punctuation.definition.variable.lisp
36
+ match: (\*)(\S*)(\*)
37
+ - name: keyword.control.lisp
38
+ match: \b(?i:case|do|let|loop|if|else|when)\b
39
+ - name: keyword.operator.lisp
40
+ match: \b(?i:eq|neq|and|or)\b
41
+ - name: constant.language.lisp
42
+ match: \b(?i:null|nil)\b
43
+ - name: support.function.lisp
44
+ match: \b(?i:cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn)\b
45
+ - name: constant.numeric.lisp
46
+ match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b
47
+ - name: string.quoted.double.lisp
48
+ endCaptures:
49
+ "0":
50
+ name: punctuation.definition.string.end.lisp
51
+ begin: "\""
52
+ beginCaptures:
53
+ "0":
54
+ name: punctuation.definition.string.begin.lisp
55
+ end: "\""
56
+ patterns:
57
+ - name: constant.character.escape.lisp
58
+ match: \\.
59
+ foldingStopMarker: \)
60
+ keyEquivalent: ^~L
61
+ comment: ""
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: Literate Haskell
3
+ fileTypes:
4
+ - lhs
5
+ scopeName: text.tex.latex.haskell
6
+ uuid: 439807F5-7129-487D-B5DC-95D5272B43DD
7
+ patterns:
8
+ - name: meta.function.embedded.haskell.latex
9
+ captures:
10
+ "1":
11
+ name: support.function.be.latex
12
+ "2":
13
+ name: punctuation.definition.function.latex
14
+ "3":
15
+ name: punctuation.definition.arguments.begin.latex
16
+ "4":
17
+ name: punctuation.definition.arguments.end.latex
18
+ begin: ^((\\)begin)({)code(})(\s*\n)?
19
+ contentName: source.haskell.embedded.latex
20
+ end: ^((\\)end)({)code(})
21
+ patterns:
22
+ - include: source.haskell
23
+ - include: text.tex.latex
24
+ keyEquivalent: ^~H
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: Logo
3
+ fileTypes: []
4
+
5
+ scopeName: source.logo
6
+ uuid: 7613EC24-B0F9-4D01-8706-1D54098BFFD8
7
+ foldingStartMarker: ^to \w+
8
+ patterns:
9
+ - name: entity.name.function.logo
10
+ match: ^to [\w.]+
11
+ - name: keyword.control.logo
12
+ match: continue|do\.until|do\.while|end|for(each)?|if(else|falsetrue|)|repeat|stop|until
13
+ - name: keyword.other.logo
14
+ match: \b(\.defmacro|\.eq|\.macro|\.maybeoutput|\.setbf|\.setfirst|\.setitem|\.setsegmentsize|allopen|allowgetset|and|apply|arc|arctan|arity|array|arrayp|arraytolist|ascii|ashift|back|background|backslashedp|beforep|bitand|bitnot|bitor|bitxor|buried|buriedp|bury|buryall|buryname|butfirst|butfirsts|butlast|bye|cascade|case|caseignoredp|catch|char|clean|clearscreen|cleartext|close|closeall|combine|cond|contents|copydef|cos|count|crossmap|cursor|define|definedp|dequeue|difference|dribble|edall|edit|editfile|edn|edns|edpl|edpls|edps|emptyp|eofp|epspict|equalp|erall|erase|erasefile|ern|erns|erpl|erpls|erps|erract|error|exp|fence|filep|fill|filter|find|first|firsts|forever|form|forward|fput|fullprintp|fullscreen|fulltext|gc|gensym|global|goto|gprop|greaterp|heading|help|hideturtle|home|ignore|int|invoke|iseq|item|keyp|label|last|left|lessp|list|listp|listtoarray|ln|load|loadnoisily|loadpict|local|localmake|log10|lowercase|lput|lshift|macroexpand|macrop|make|map|map.se|mdarray|mditem|mdsetitem|member|memberp|minus|modulo|name|namelist|namep|names|nodes|nodribble|norefresh|not|numberp|openappend|openread|openupdate|openwrite|or|output|palette|parse|pause|pen|pencolor|pendown|pendownp|penerase|penmode|penpaint|penreverse|pensize|penup|pick|plist|plistp|plists|pllist|po|poall|pon|pons|pop|popl|popls|pops|pos|pot|pots|power|pprop|prefix|primitivep|print|printdepthlimit|printwidthlimit|procedurep|procedures|product|push|queue|quoted|quotient|radarctan|radcos|radsin|random|rawascii|readchar|readchars|reader|readlist|readpos|readrawline|readword|redefp|reduce|refresh|remainder|remdup|remove|remprop|repcount|rerandom|reverse|right|round|rseq|run|runparse|runresult|save|savel|savepict|screenmode|scrunch|sentence|setbackground|setcursor|seteditor|setheading|sethelploc|setitem|setlibloc|setmargins|setpalette|setpen|setpencolor|setpensize|setpos|setprefix|setread|setreadpos|setscrunch|settemploc|settextcolor|setwrite|setwritepos|setx|setxy|sety|shell|show|shownp|showturtle|sin|splitscreen|sqrt|standout|startup|step|stepped|steppedp|substringp|sum|tag|test|text|textscreen|thing|throw|towards|trace|traced|tracedp|transfer|turtlemode|type|unbury|unburyall|unburyname|unburyonedit|unstep|untrace|uppercase|usealternatenam|wait|while|window|word|wordp|wrap|writepos|writer|xcor|ycor)\b
15
+ - name: variable.parameter.logo
16
+ captures:
17
+ "1":
18
+ name: punctuation.definition.variable.logo
19
+ match: (\:)(?:\|[^|]*\||[-\w.]*)+
20
+ - name: string.other.word.logo
21
+ match: "\"(?:\\|[^|]*\\||[-\\w.]*)+"
22
+ - name: comment.line.semicolon.logo
23
+ captures:
24
+ "1":
25
+ name: punctuation.definition.comment.logo
26
+ match: (;).*$\n?
27
+ foldingStopMarker: ^end$
28
+ keyEquivalent: ^~L
29
+ comment: Roughed out by Paul Bissex <http://e-scribe.com/news/>