ultraviolet 0.10.2 → 1.0.0

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 (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,27 +0,0 @@
1
- ---
2
- name: "Blog \xE2\x80\x94 Textile"
3
- fileTypes:
4
- - blog.textile
5
- firstLineMatch: "^Type: Blog Post \\(Textile\\)"
6
- scopeName: text.blog.textile
7
- uuid: 32E65853-CDBD-401A-ADBE-F94F195249BE
8
- patterns:
9
- - name: meta.header.blog
10
- captures:
11
- "1":
12
- name: keyword.other.blog
13
- "2":
14
- name: punctuation.separator.key-value.blog
15
- "3":
16
- name: string.unquoted.blog
17
- match: ^([Tt]itle|[Dd]ate|[Bb]asename|[Kk]eywords|[Bb]log|[Tt]ype|[Ll]ink|[Pp]ost|[Tt]ags|[Cc]omments|[Pp]ings?|[Cc]ategory|[Ss]tatus|[Ff]ormat)(:)\s*(.*)$\n?
18
- - name: invalid.illegal.meta.header.blog
19
- match: ^([A-Za-z0-9]+):\s*(.*)$\n?
20
- - name: text.html.textile
21
- begin: ^(?![A-Za-z0-9]+:)
22
- end: ^(?=not)possible$
23
- patterns:
24
- - name: meta.separator.blog
25
- match: "^\xE2\x9C\x82-[\xE2\x9C\x82-]+$\\n"
26
- - include: text.html.textile
27
- keyEquivalent: ^~B
@@ -1,53 +0,0 @@
1
- ---
2
- name: NAnt Build File
3
- fileTypes:
4
- - build
5
- scopeName: source.nant-build
6
- uuid: 1BA72668-707C-11D9-A928-000D93589AF6
7
- foldingStartMarker: <[^!?/>]+|<!--
8
- patterns:
9
- - name: comment.block.nant
10
- captures:
11
- "0":
12
- name: punctuation.definition.comment.nant
13
- begin: <!--
14
- end: -->
15
- - name: meta.tag.nant
16
- captures:
17
- "1":
18
- name: punctuation.definition.tag.nant
19
- "2":
20
- name: entity.name.tag.nant
21
- begin: (</?)([-_a-zA-Z0-9:]+)
22
- end: (/?>)
23
- patterns:
24
- - name: entity.other.attribute-name.nant
25
- match: " ([a-zA-Z-]+)"
26
- - name: string.quoted.double.nant
27
- endCaptures:
28
- "0":
29
- name: punctuation.definition.string.end.nant
30
- begin: "\""
31
- beginCaptures:
32
- "0":
33
- name: punctuation.definition.string.begin.nant
34
- end: "\""
35
- - name: string.quoted.single.nant
36
- endCaptures:
37
- "0":
38
- name: punctuation.definition.string.end.nant
39
- begin: "'"
40
- beginCaptures:
41
- "0":
42
- name: punctuation.definition.string.begin.nant
43
- end: "'"
44
- - name: constant.character.entity.nant
45
- captures:
46
- "1":
47
- name: punctuation.definition.constant.nant
48
- "3":
49
- name: punctuation.definition.constant.nant
50
- match: (&)([a-zA-Z]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
51
- - name: invalid.illegal.bad-ampersand.nant
52
- match: "&"
53
- foldingStopMarker: />|</[^?>]+|-->
@@ -1,287 +0,0 @@
1
- ---
2
- name: Bulletin Board
3
- fileTypes:
4
- - bbcode
5
- scopeName: text.bbcode
6
- uuid: AC4E0E7E-CC15-4394-A858-6C7E3C09C414
7
- foldingStartMarker: |-
8
- (?x)
9
- (\[(?i:quote|code|list)\b.*?\]
10
- |<!--(?!.*-->)
11
- |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
12
- )
13
- patterns:
14
- - captures:
15
- "0":
16
- name: meta.tag.bbcode
17
- "1":
18
- name: punctuation.definition.tag.bbcode
19
- "2":
20
- name: punctuation.definition.tag.bbcode
21
- begin: (\[)(?i:list)(\])
22
- end: (\[/)(?i:list)(\])
23
- patterns:
24
- - captures:
25
- "0":
26
- name: meta.tag.bbcode
27
- "1":
28
- name: punctuation.definition.tag.bbcode
29
- begin: (\[\*\])
30
- contentName: markup.list.unnumbered.bbcode
31
- end: (?=\[\*\]|\[/(?i:list)\])
32
- patterns:
33
- - include: $self
34
- - endCaptures:
35
- "0":
36
- name: meta.tag.bbcode
37
- "1":
38
- name: punctuation.definition.tag.bbcode
39
- "2":
40
- name: punctuation.definition.tag.bbcode
41
- begin: (\[)(?i:list)=(1|a)(\])
42
- beginCaptures:
43
- "0":
44
- name: meta.tag.bbcode
45
- "1":
46
- name: punctuation.definition.tag.bbcode
47
- "2":
48
- name: constant.other.list-type.bbcode
49
- "3":
50
- name: punctuation.definition.tag.bbcode
51
- end: (\[/)(?i:list)(\])
52
- patterns:
53
- - captures:
54
- "0":
55
- name: meta.tag.bbcode
56
- "1":
57
- name: punctuation.definition.tag.bbcode
58
- begin: (\[\*\])
59
- contentName: markup.list.numbered.bbcode
60
- end: (?=\[\*\]|\[/(?i:list)\])
61
- patterns:
62
- - include: $self
63
- - captures:
64
- "0":
65
- name: meta.tag.bbcode
66
- "1":
67
- name: punctuation.definition.tag.bbcode
68
- "2":
69
- name: punctuation.definition.tag.bbcode
70
- begin: (\[)(?i:quote)(?:=[^\]]+)?(\])
71
- contentName: markup.quote.bbcode
72
- end: (\[/)(?i:quote)(\])
73
- patterns:
74
- - include: $self
75
- - captures:
76
- "0":
77
- name: meta.tag.bbcode
78
- "1":
79
- name: punctuation.definition.tag.bbcode
80
- "2":
81
- name: punctuation.definition.tag.bbcode
82
- begin: (\[)(?i:code)(\])
83
- contentName: markup.raw.block.bbcode
84
- end: (\[/)(?i:code)(\])
85
- - captures:
86
- "0":
87
- name: meta.tag.bbcode
88
- "1":
89
- name: punctuation.definition.tag.bbcode
90
- "2":
91
- name: punctuation.definition.tag.bbcode
92
- begin: (\[)(?i:i)(\])
93
- contentName: markup.italic.bbcode
94
- end: (\[/)(?i:i)(\])
95
- patterns:
96
- - include: $self
97
- - captures:
98
- "0":
99
- name: meta.tag.bbcode
100
- "1":
101
- name: punctuation.definition.tag.bbcode
102
- "2":
103
- name: punctuation.definition.tag.bbcode
104
- begin: (\[)(?i:b)(\])
105
- contentName: markup.bold.bbcode
106
- end: (\[/)(?i:b)(\])
107
- patterns:
108
- - include: $self
109
- - captures:
110
- "0":
111
- name: meta.tag.bbcode
112
- "1":
113
- name: punctuation.definition.tag.bbcode
114
- "2":
115
- name: punctuation.definition.tag.bbcode
116
- begin: (\[)(?i:u)(\])
117
- contentName: markup.underline.bbcode
118
- end: (\[/)(?i:u)(\])
119
- patterns:
120
- - include: $self
121
- - captures:
122
- "0":
123
- name: meta.tag.bbcode
124
- "1":
125
- name: punctuation.definition.tag.bbcode
126
- "2":
127
- name: punctuation.definition.tag.bbcode
128
- begin: (\[)(?i:strike)(\])
129
- contentName: markup.other.strikethrough.bbcode
130
- end: (\[/)(?i:strike)(\])
131
- patterns:
132
- - include: $self
133
- - endCaptures:
134
- "0":
135
- name: meta.tag.bbcode
136
- "1":
137
- name: punctuation.definition.tag.bbcode
138
- "2":
139
- name: punctuation.definition.tag.bbcode
140
- begin: |-
141
- (?x)(\[)(?i:color)=(
142
- (?i:(red|green|blue|yellow
143
- |white|black|pink
144
- |purple|brown|grey))
145
- |(\#([0-9a-fA-F]{6}))
146
- |([^\]]+))
147
- (\])
148
- contentName: markup.other.colored.bbcode
149
- beginCaptures:
150
- "6":
151
- name: invalid.illegal.expected-a-color.bbcode
152
- "7":
153
- name: punctuation.definition.tag.bbcode
154
- "0":
155
- name: meta.tag.bbcode
156
- "1":
157
- name: punctuation.definition.tag.bbcode
158
- "2":
159
- name: constant.other.named-color.bbcode
160
- "3":
161
- name: constant.other.rgb-value.bbcode
162
- end: (\[/)(?i:color)(\])
163
- patterns:
164
- - include: $self
165
- - endCaptures:
166
- "0":
167
- name: meta.tag.bbcode
168
- "1":
169
- name: punctuation.definition.tag.bbcode
170
- "2":
171
- name: punctuation.definition.tag.bbcode
172
- begin: |-
173
- (?x)(\[)(?i:size)=
174
- (?i:([0-9]{1,3})\b
175
- |([^\]]+))
176
- (\])
177
- contentName: markup.other.resized.bbcode
178
- beginCaptures:
179
- "0":
180
- name: meta.tag.bbcode
181
- "1":
182
- name: punctuation.definition.tag.bbcode
183
- "2":
184
- name: constant.numeric.size.bbcode
185
- "3":
186
- name: invalid.illegal.expected-a-size.bbcode
187
- "4":
188
- name: punctuation.definition.tag.bbcode
189
- end: (\[/)(?i:size)(\])
190
- patterns:
191
- - include: $self
192
- - name: meta.link.inline.bbcode
193
- endCaptures:
194
- "0":
195
- name: meta.tag.bbcode
196
- "1":
197
- name: punctuation.definition.tag.bbcode
198
- "2":
199
- name: punctuation.definition.tag.bbcode
200
- begin: (\[)(?i:url)=([^\]]+)(\])
201
- contentName: string.other.link.title.bbcode
202
- beginCaptures:
203
- "0":
204
- name: meta.tag.bbcode
205
- "1":
206
- name: punctuation.definition.tag.bbcode
207
- "2":
208
- name: markup.underline.link.bbcode
209
- "3":
210
- name: punctuation.definition.tag.bbcode
211
- end: (\[/)(?i:url)(\])
212
- patterns:
213
- - include: $self
214
- - name: meta.link.inline.bbcode
215
- captures:
216
- "0":
217
- name: meta.tag.bbcode
218
- "1":
219
- name: punctuation.definition.tag.bbcode
220
- "2":
221
- name: punctuation.definition.tag.bbcode
222
- begin: (\[)(?i:url)(\])
223
- contentName: markup.underline.link.bbcode
224
- end: (\[/)(?i:url)(\])
225
- patterns:
226
- - match: "[\\[]]+"
227
- - name: meta.link.inline.bbcode
228
- captures:
229
- "0":
230
- name: meta.tag.bbcode
231
- "1":
232
- name: punctuation.definition.tag.bbcode
233
- "2":
234
- name: punctuation.definition.tag.bbcode
235
- begin: (\[)(?i:email)(\])
236
- contentName: markup.underline.link.email.bbcode
237
- end: (\[/)(?i:email)(\])
238
- patterns:
239
- - match: "[\\[]]+"
240
- - name: meta.link.image.bbcode
241
- endCaptures:
242
- "0":
243
- name: meta.tag.bbcode
244
- "1":
245
- name: punctuation.definition.tag.bbcode
246
- "2":
247
- name: punctuation.definition.tag.bbcode
248
- begin: (\[)(?i:img)(:((?i:right|left|top))|([^\]]+))?(\])
249
- contentName: markup.underline.link.image.bbcode
250
- beginCaptures:
251
- "0":
252
- name: meta.tag.bbcode
253
- "1":
254
- name: punctuation.definition.tag.bbcode
255
- "3":
256
- name: constant.other.alignment.bbcode
257
- "4":
258
- name: invalid.illegal.expected-an-alignment.bbcode
259
- "5":
260
- name: punctuation.definition.tag.bbcode
261
- end: (\[/)(?i:img)(\])
262
- patterns:
263
- - match: "[\\[]]+?"
264
- - name: constant.other.smiley.bbcode
265
- captures:
266
- "3":
267
- name: punctuation.definition.constant.bbcode
268
- "5":
269
- name: punctuation.definition.constant.bbcode
270
- match: |-
271
- (?x)
272
- (
273
- (
274
- (:)
275
- (mad|rolleyes|cool|eek|confused|devious|
276
- judge|scared|eyebrow|bigdumbgrin)
277
- (:)
278
- )
279
- | (?::\)|;\)|:D|:\(|:p|:o)
280
- )
281
- foldingStopMarker: |-
282
- (?x)
283
- (\[/(?i:quote|code|list)\b.*?\]
284
- |^\s*-->
285
- |(^|\s)\}
286
- )
287
- keyEquivalent: ^~B
@@ -1,109 +0,0 @@
1
- ---
2
- name: C++
3
- fileTypes:
4
- - cc
5
- - cpp
6
- - cp
7
- - cxx
8
- - c++
9
- - C
10
- - h
11
- - hh
12
- - hpp
13
- - h++
14
- firstLineMatch: -\*- C\+\+ -\*-
15
- scopeName: source.c++
16
- uuid: 26251B18-6B1D-11D9-AFDB-000D93589AF6
17
- foldingStartMarker: "(?x)\n\
18
- \t\t /\\*\\*(?!\\*)\n\
19
- \t\t|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))\n\
20
- \t"
21
- patterns:
22
- - include: source.c
23
- - name: storage.modifier.c++
24
- match: \b(friend|explicit|private|protected|public|virtual)\b
25
- - name: keyword.control.c++
26
- match: \b(catch|namespace|operator|try|throw|using)\b
27
- - name: keyword.control.c++
28
- match: \bdelete\b(\s*\[\])?|\bnew\b(?!])
29
- - name: variable.other.readwrite.member.c++
30
- match: \b(f|m)[A-Z]\w*\b
31
- comment: common C++ instance var naming idiom -- fMemberName
32
- - name: variable.language.c++
33
- match: \b(this)\b
34
- - name: storage.type.template.c++
35
- match: \btemplate\b\s*
36
- - name: keyword.operator.cast.c++
37
- match: \b(const_cast|dynamic_cast|reinterpret_cast|static_cast)\b\s*
38
- - name: keyword.operator.c++
39
- match: \b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq)\b
40
- - name: storage.type.c++
41
- match: \b(class|wchar_t)\b
42
- - name: storage.modifier.c++
43
- match: \b(export|mutable|typename)\b
44
- - name: meta.function.destructor.c++
45
- endCaptures:
46
- "0":
47
- name: punctuation.definition.parameters.c
48
- begin: "(?x)\n\
49
- \t\t\t\t(?: ^ # begin-of-line\n\
50
- \t\t\t\t | (?: (?<!else|new|=) ) # or word + space before name\n\
51
- \t\t\t\t)\n\
52
- \t\t\t\t((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name\n\
53
- \t\t\t\t \\s*(\\() (?=[^)]*\\) # match \"(\" and use look-ahead for \")\"\n\
54
- \t\t\t\t (\\s*=\\s*0)?\\s* # optional pure modifier\n\
55
- \t\t\t\t (\\{|\\n)) # start bracket or end-of-line\n\
56
- \t\t\t"
57
- beginCaptures:
58
- "1":
59
- name: entity.name.function.c
60
- "2":
61
- name: punctuation.definition.parameters.c
62
- end: \)
63
- patterns:
64
- - include: $base
65
- - name: meta.function.destructor.prototype.c++
66
- endCaptures:
67
- "0":
68
- name: punctuation.definition.parameters.c
69
- begin: "(?x)\n\
70
- \t\t\t\t(?: ^ # begin-of-line\n\
71
- \t\t\t\t | (?: (?<!else|new|=) ) # or word + space before name\n\
72
- \t\t\t\t)\n\
73
- \t\t\t\t((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name\n\
74
- \t\t\t\t \\s*(\\() (?=[^)]*\\) # match \"(\" and use look-ahead for \")\"\n\
75
- \t\t\t\t (\\s*=\\s*0)?\\s* # optional pure modifier\n\
76
- \t\t\t\t ;) # terminating semi-colon\n\
77
- \t\t\t"
78
- beginCaptures:
79
- "1":
80
- name: entity.name.function.c
81
- "2":
82
- name: punctuation.definition.parameters.c
83
- end: \)
84
- patterns:
85
- - include: $base
86
- - name: meta.function.constructor.c++
87
- endCaptures:
88
- "0":
89
- name: punctuation.definition.parameters.c
90
- begin: "(?x)\n\
91
- \t\t\t\t(?: ^\\s*) # begin-of-line\n\
92
- \t\t\t\t((?!while|for|do|if|else|switch|catch|enumerate|r?iterate)[A-Za-z_][A-Za-z0-9_:]*) # actual name\n\
93
- \t\t\t\t \\s*(\\() (?= # match \"(\"\n\
94
- \t\t\t\t (?<arg> [^()]++ | \\( \\g<arg>*+ \\) )*+ # function arguments\n\
95
- \t\t\t\t \\) # match \")\"\n\
96
- \t\t\t\t (\\s* : (?<base> \\s* [A-Za-z_][A-Za-z0-9_]* \\( \\g<arg>*+ \\) ) (, \\g<base>)* (, (?=\\s*\\n))? )? \\s* # optional base constructors\n\
97
- \t\t\t\t (\\{|\\n)) # start bracket or end-of-line\n\
98
- \t\t\t"
99
- beginCaptures:
100
- "1":
101
- name: entity.name.function.c
102
- "2":
103
- name: punctuation.definition.parameters.c
104
- end: \)
105
- patterns:
106
- - include: $base
107
- foldingStopMarker: (?<!\*)\*\*/|^\s*\}
108
- keyEquivalent: ^~C
109
- comment: I don't think anyone uses .hp. .cp tends to be paired with .h. (I could be wrong. :) -- chris