bjeanes-ultraviolet 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. data/History.txt +29 -0
  2. data/Manifest.txt +233 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +51 -0
  5. data/bin/theme2latexrender +122 -0
  6. data/bin/theme2xhtmlrender +156 -0
  7. data/bin/uv +140 -0
  8. data/lib/uv.rb +100 -0
  9. data/lib/uv/render_processor.rb +131 -0
  10. data/lib/uv/utility.rb +67 -0
  11. data/render/latex/active4d.render +132 -0
  12. data/render/latex/all_hallows_eve.render +96 -0
  13. data/render/latex/amy.render +171 -0
  14. data/render/latex/blackboard.render +111 -0
  15. data/render/latex/brilliance_black.render +552 -0
  16. data/render/latex/brilliance_dull.render +561 -0
  17. data/render/latex/cobalt.render +162 -0
  18. data/render/latex/dawn.render +126 -0
  19. data/render/latex/eiffel.render +132 -0
  20. data/render/latex/espresso_libre.render +123 -0
  21. data/render/latex/idle.render +93 -0
  22. data/render/latex/iplastic.render +99 -0
  23. data/render/latex/lazy.render +96 -0
  24. data/render/latex/mac_classic.render +135 -0
  25. data/render/latex/magicwb_amiga.render +117 -0
  26. data/render/latex/pastels_on_dark.render +204 -0
  27. data/render/latex/slush_poppies.render +123 -0
  28. data/render/latex/spacecadet.render +81 -0
  29. data/render/latex/sunburst.render +186 -0
  30. data/render/latex/twilight.render +153 -0
  31. data/render/latex/zenburnesque.render +126 -0
  32. data/render/old/txt2tags.render +131 -0
  33. data/render/xhtml/active4d.render +140 -0
  34. data/render/xhtml/all_hallows_eve.render +104 -0
  35. data/render/xhtml/amy.render +179 -0
  36. data/render/xhtml/blackboard.render +119 -0
  37. data/render/xhtml/brilliance_black.render +560 -0
  38. data/render/xhtml/brilliance_dull.render +569 -0
  39. data/render/xhtml/cobalt.render +170 -0
  40. data/render/xhtml/dawn.render +134 -0
  41. data/render/xhtml/eiffel.render +140 -0
  42. data/render/xhtml/espresso_libre.render +131 -0
  43. data/render/xhtml/files/css/active4d.css +114 -0
  44. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  45. data/render/xhtml/files/css/amy.css +147 -0
  46. data/render/xhtml/files/css/blackboard.css +88 -0
  47. data/render/xhtml/files/css/brilliance_black.css +605 -0
  48. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  49. data/render/xhtml/files/css/cobalt.css +149 -0
  50. data/render/xhtml/files/css/dawn.css +121 -0
  51. data/render/xhtml/files/css/eiffel.css +121 -0
  52. data/render/xhtml/files/css/espresso_libre.css +109 -0
  53. data/render/xhtml/files/css/idle.css +62 -0
  54. data/render/xhtml/files/css/iplastic.css +80 -0
  55. data/render/xhtml/files/css/lazy.css +73 -0
  56. data/render/xhtml/files/css/mac_classic.css +123 -0
  57. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  58. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  59. data/render/xhtml/files/css/slush_poppies.css +85 -0
  60. data/render/xhtml/files/css/spacecadet.css +51 -0
  61. data/render/xhtml/files/css/sunburst.css +180 -0
  62. data/render/xhtml/files/css/twilight.css +137 -0
  63. data/render/xhtml/files/css/zenburnesque.css +91 -0
  64. data/render/xhtml/idle.render +101 -0
  65. data/render/xhtml/iplastic.render +107 -0
  66. data/render/xhtml/lazy.render +104 -0
  67. data/render/xhtml/mac_classic.render +143 -0
  68. data/render/xhtml/magicwb_amiga.render +125 -0
  69. data/render/xhtml/pastels_on_dark.render +212 -0
  70. data/render/xhtml/slush_poppies.render +131 -0
  71. data/render/xhtml/spacecadet.render +89 -0
  72. data/render/xhtml/sunburst.render +194 -0
  73. data/render/xhtml/twilight.render +161 -0
  74. data/render/xhtml/zenburnesque.render +134 -0
  75. data/syntax/actionscript.syntax +97 -0
  76. data/syntax/active4d.syntax +276 -0
  77. data/syntax/active4d_html.syntax +311 -0
  78. data/syntax/active4d_ini.syntax +50 -0
  79. data/syntax/active4d_library.syntax +21 -0
  80. data/syntax/ada.syntax +33 -0
  81. data/syntax/antlr.syntax +151 -0
  82. data/syntax/apache.syntax +191 -0
  83. data/syntax/applescript.syntax +384 -0
  84. data/syntax/asp.syntax +70 -0
  85. data/syntax/asp_vb.net.syntax +129 -0
  86. data/syntax/bibtex.syntax +151 -0
  87. data/syntax/blog_html.syntax +41 -0
  88. data/syntax/blog_markdown.syntax +42 -0
  89. data/syntax/blog_text.syntax +27 -0
  90. data/syntax/blog_textile.syntax +27 -0
  91. data/syntax/build.syntax +53 -0
  92. data/syntax/bulletin_board.syntax +287 -0
  93. data/syntax/c++.syntax +109 -0
  94. data/syntax/c.syntax +326 -0
  95. data/syntax/cake.syntax +55 -0
  96. data/syntax/camlp4.syntax +36 -0
  97. data/syntax/cm.syntax +32 -0
  98. data/syntax/coldfusion.syntax +119 -0
  99. data/syntax/context_free.syntax +176 -0
  100. data/syntax/cs.syntax +59 -0
  101. data/syntax/css.syntax +195 -0
  102. data/syntax/css_experimental.syntax +1925 -0
  103. data/syntax/csv.syntax +68 -0
  104. data/syntax/d.syntax +142 -0
  105. data/syntax/diff.syntax +81 -0
  106. data/syntax/dokuwiki.syntax +204 -0
  107. data/syntax/dot.syntax +47 -0
  108. data/syntax/doxygen.syntax +43 -0
  109. data/syntax/dylan.syntax +62 -0
  110. data/syntax/eiffel.syntax +78 -0
  111. data/syntax/erlang.syntax +922 -0
  112. data/syntax/f-script.syntax +80 -0
  113. data/syntax/fortran.syntax +141 -0
  114. data/syntax/fxscript.syntax +142 -0
  115. data/syntax/greasemonkey.syntax +34 -0
  116. data/syntax/gri.syntax +83 -0
  117. data/syntax/groovy.syntax +191 -0
  118. data/syntax/gtd.syntax +22 -0
  119. data/syntax/gtdalt.syntax +143 -0
  120. data/syntax/haml.syntax +88 -0
  121. data/syntax/haskell.syntax +88 -0
  122. data/syntax/html-asp.syntax +27 -0
  123. data/syntax/html.syntax +362 -0
  124. data/syntax/html_django.syntax +36 -0
  125. data/syntax/html_for_asp.net.syntax +424 -0
  126. data/syntax/html_mason.syntax +119 -0
  127. data/syntax/html_rails.syntax +40 -0
  128. data/syntax/html_tcl.syntax +26 -0
  129. data/syntax/icalendar.syntax +32 -0
  130. data/syntax/inform.syntax +48 -0
  131. data/syntax/ini.syntax +55 -0
  132. data/syntax/installer_distribution_script.syntax +77 -0
  133. data/syntax/io.syntax +81 -0
  134. data/syntax/java.syntax +211 -0
  135. data/syntax/javaproperties.syntax +20 -0
  136. data/syntax/javascript.syntax +256 -0
  137. data/syntax/javascript_+_prototype.syntax +72 -0
  138. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  139. data/syntax/jquery_javascript.syntax +114 -0
  140. data/syntax/json.syntax +136 -0
  141. data/syntax/languagedefinition.syntax +708 -0
  142. data/syntax/latex.syntax +566 -0
  143. data/syntax/latex_beamer.syntax +41 -0
  144. data/syntax/latex_log.syntax +50 -0
  145. data/syntax/latex_memoir.syntax +64 -0
  146. data/syntax/lexflex.syntax +219 -0
  147. data/syntax/lighttpd.syntax +54 -0
  148. data/syntax/lilypond.syntax +492 -0
  149. data/syntax/lisp.syntax +61 -0
  150. data/syntax/literate_haskell.syntax +24 -0
  151. data/syntax/logo.syntax +29 -0
  152. data/syntax/logtalk.syntax +152 -0
  153. data/syntax/lua.syntax +86 -0
  154. data/syntax/m.syntax +142 -0
  155. data/syntax/macports_portfile.syntax +163 -0
  156. data/syntax/mail.syntax +118 -0
  157. data/syntax/makefile.syntax +36 -0
  158. data/syntax/man.syntax +17 -0
  159. data/syntax/markdown.syntax +543 -0
  160. data/syntax/mediawiki.syntax +567 -0
  161. data/syntax/mel.syntax +92 -0
  162. data/syntax/mips.syntax +66 -0
  163. data/syntax/mod_perl.syntax +50 -0
  164. data/syntax/modula-3.syntax +47 -0
  165. data/syntax/moinmoin.syntax +189 -0
  166. data/syntax/mootools.syntax +572 -0
  167. data/syntax/movable_type.syntax +162 -0
  168. data/syntax/multimarkdown.syntax +39 -0
  169. data/syntax/objective-c++.syntax +18 -0
  170. data/syntax/objective-c.syntax +233 -0
  171. data/syntax/ocaml.syntax +764 -0
  172. data/syntax/ocamllex.syntax +167 -0
  173. data/syntax/ocamlyacc.syntax +184 -0
  174. data/syntax/opengl.syntax +14 -0
  175. data/syntax/pascal.syntax +77 -0
  176. data/syntax/perl.syntax +1115 -0
  177. data/syntax/php.syntax +1253 -0
  178. data/syntax/plain_text.syntax +32 -0
  179. data/syntax/pmwiki.syntax +113 -0
  180. data/syntax/postscript.syntax +114 -0
  181. data/syntax/processing.syntax +106 -0
  182. data/syntax/prolog.syntax +40 -0
  183. data/syntax/property_list.syntax +635 -0
  184. data/syntax/python.syntax +868 -0
  185. data/syntax/python_django.syntax +21 -0
  186. data/syntax/qmake_project.syntax +114 -0
  187. data/syntax/qt_c++.syntax +26 -0
  188. data/syntax/quake3_config.syntax +32 -0
  189. data/syntax/r.syntax +81 -0
  190. data/syntax/r_console.syntax +16 -0
  191. data/syntax/ragel.syntax +201 -0
  192. data/syntax/rd_r_documentation.syntax +91 -0
  193. data/syntax/regexp.syntax +50 -0
  194. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  195. data/syntax/regular_expressions_python.syntax +109 -0
  196. data/syntax/release_notes.syntax +46 -0
  197. data/syntax/remind.syntax +253 -0
  198. data/syntax/restructuredtext.syntax +250 -0
  199. data/syntax/rez.syntax +80 -0
  200. data/syntax/ruby.syntax +1035 -0
  201. data/syntax/ruby_experimental.syntax +145 -0
  202. data/syntax/ruby_on_rails.syntax +88 -0
  203. data/syntax/s5.syntax +69 -0
  204. data/syntax/scheme.syntax +347 -0
  205. data/syntax/scilab.syntax +41 -0
  206. data/syntax/setext.syntax +147 -0
  207. data/syntax/shell-unix-generic.syntax +384 -0
  208. data/syntax/slate.syntax +149 -0
  209. data/syntax/smarty.syntax +63 -0
  210. data/syntax/sql.syntax +237 -0
  211. data/syntax/sql_rails.syntax +18 -0
  212. data/syntax/ssh-config.syntax +33 -0
  213. data/syntax/standard_ml.syntax +121 -0
  214. data/syntax/strings_file.syntax +39 -0
  215. data/syntax/subversion_commit_message.syntax +36 -0
  216. data/syntax/sweave.syntax +84 -0
  217. data/syntax/swig.syntax +57 -0
  218. data/syntax/tcl.syntax +152 -0
  219. data/syntax/template_toolkit.syntax +121 -0
  220. data/syntax/tex.syntax +86 -0
  221. data/syntax/tex_math.syntax +49 -0
  222. data/syntax/textile.syntax +215 -0
  223. data/syntax/tsv.syntax +50 -0
  224. data/syntax/twiki.syntax +241 -0
  225. data/syntax/txt2tags.syntax +79 -0
  226. data/syntax/vectorscript.syntax +57 -0
  227. data/syntax/xhtml_1.0.syntax +4027 -0
  228. data/syntax/xml.syntax +180 -0
  229. data/syntax/xml_strict.syntax +92 -0
  230. data/syntax/xsl.syntax +60 -0
  231. data/syntax/yaml.syntax +160 -0
  232. data/syntax/yui_javascript.syntax +176 -0
  233. data/test/test_uv.rb +0 -0
  234. metadata +309 -0
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: OCamllex
3
+ fileTypes:
4
+ - mll
5
+ scopeName: source.ocamllex
6
+ repository:
7
+ actions:
8
+ patterns:
9
+ - name: meta.action.ocamllex
10
+ endCaptures:
11
+ "1":
12
+ name: punctuation.definition.action.end.ocamllex
13
+ begin: "[^\\']({)"
14
+ beginCaptures:
15
+ "1":
16
+ name: punctuation.definition.action.begin.ocamllex
17
+ end: (})
18
+ patterns:
19
+ - include: source.ocaml
20
+ comments:
21
+ patterns:
22
+ - name: comment.block.ocaml
23
+ captures:
24
+ "1":
25
+ name: comment.block.empty.ocaml
26
+ "2":
27
+ name: comment.block.empty.ocaml
28
+ match: \(\*(?:(\*)| ( )\*)\)
29
+ - name: comment.block.ocaml
30
+ begin: \(\*
31
+ end: \*\)
32
+ patterns:
33
+ - include: "#comments"
34
+ - name: comment.block.string.quoted.double.ocaml
35
+ begin: (?=[^\\])(")
36
+ end: "\""
37
+ patterns:
38
+ - name: comment.block.string.constant.character.escape.ocaml
39
+ match: \\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])
40
+ match-patterns:
41
+ patterns:
42
+ - name: meta.pattern.sub-pattern.ocamllex
43
+ endCaptures:
44
+ "1":
45
+ name: punctuation.definition.sub-pattern.end.ocamllex
46
+ begin: (\()
47
+ beginCaptures:
48
+ "1":
49
+ name: punctuation.definition.sub-pattern.begin.ocamllex
50
+ end: (\))
51
+ patterns:
52
+ - include: "#match-patterns"
53
+ - name: entity.name.type.pattern.reference.stupid-goddamn-hack.ocamllex
54
+ match: "[a-z][a-zA-Z0-9'_]"
55
+ - name: keyword.other.pattern.ocamllex
56
+ match: \bas\b
57
+ - name: constant.language.eof.ocamllex
58
+ match: eof
59
+ - name: constant.language.universal-match.ocamllex
60
+ match: _
61
+ - name: meta.pattern.character-class.ocamllex
62
+ endCaptures:
63
+ "1":
64
+ name: punctuation.definition.character-class.end.ocamllex
65
+ begin: (\[)(\^?)
66
+ beginCaptures:
67
+ "1":
68
+ name: punctuation.definition.character-class.begin.ocamllex
69
+ "2":
70
+ name: punctuation.definition.character-class.negation.ocamllex
71
+ end: (])(?!\')
72
+ patterns:
73
+ - name: punctuation.separator.character-class.range.ocamllex
74
+ match: "-"
75
+ - include: "#chars"
76
+ - name: keyword.operator.pattern.modifier.ocamllex
77
+ match: \*|\+|\?
78
+ - name: keyword.operator.pattern.alternation.ocamllex
79
+ match: \|
80
+ - include: "#chars"
81
+ - include: "#strings"
82
+ strings:
83
+ patterns:
84
+ - name: string.quoted.double.ocamllex
85
+ endCaptures:
86
+ "1":
87
+ name: punctuation.definition.string.end.ocaml
88
+ begin: (?=[^\\])(")
89
+ beginCaptures:
90
+ "1":
91
+ name: punctuation.definition.string.begin.ocaml
92
+ end: (")
93
+ patterns:
94
+ - name: punctuation.separator.string.ignore-eol.ocaml
95
+ match: \\$[ \t]*
96
+ - name: constant.character.string.escape.ocaml
97
+ match: \\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])
98
+ - name: constant.character.regexp.escape.ocaml
99
+ match: \\[\|\(\)1-9$^.*+?\[\]]
100
+ - name: invalid.illegal.character.string.escape
101
+ match: \\(?!(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\]|[\|\(\)1-9$^.*+?\[\]]|$[ \t]*))(?:.)
102
+ chars:
103
+ patterns:
104
+ - name: constant.character.ocamllex
105
+ captures:
106
+ "1":
107
+ name: punctuation.definition.char.begin.ocamllex
108
+ "4":
109
+ name: punctuation.definition.char.end.ocamllex
110
+ match: (')([^\\]|\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\]))(')
111
+ uuid: 007E5263-8E0D-4BEF-B0E1-F01AE32590E8
112
+ foldingStartMarker: "{"
113
+ patterns:
114
+ - name: meta.embedded.ocaml
115
+ endCaptures:
116
+ "1":
117
+ name: punctuation.section.embedded.ocaml.end.ocamllex
118
+ begin: ^\s*({)
119
+ beginCaptures:
120
+ "1":
121
+ name: punctuation.section.embedded.ocaml.begin.ocamllex
122
+ end: ^\s*(})
123
+ patterns:
124
+ - include: source.ocaml
125
+ - name: meta.pattern-definition.ocaml
126
+ begin: \b(let)\s+([a-z][a-zA-Z0-9'_]*)\s+=
127
+ beginCaptures:
128
+ "1":
129
+ name: keyword.other.pattern-definition.ocamllex
130
+ "2":
131
+ name: entity.name.type.pattern.stupid-goddamn-hack.ocamllex
132
+ end: ^(?:\s*let)|(?:\s*(rule|$))
133
+ patterns:
134
+ - include: "#match-patterns"
135
+ - name: meta.pattern-match.ocaml
136
+ endCaptures:
137
+ "3":
138
+ name: keyword.other.entry-definition.ocamllex
139
+ begin: (rule|and)\s+([a-z][a-zA-Z0-9_]*)\s+(=)\s+(parse)(?=\s*$)|((?<!\|)(\|)(?!\|))
140
+ beginCaptures:
141
+ "1":
142
+ name: keyword.other.ocamllex
143
+ "2":
144
+ name: entity.name.function.entrypoint.ocamllex
145
+ "3":
146
+ name: keyword.operator.ocamllex
147
+ "4":
148
+ name: keyword.other.ocamllex
149
+ "5":
150
+ name: punctuation.separator.match-pattern.ocamllex
151
+ end: (?:^\s*((and)\b|(?=\|)|$))
152
+ patterns:
153
+ - include: "#match-patterns"
154
+ - include: "#actions"
155
+ - include: "#strings"
156
+ - include: "#comments"
157
+ - name: keyword.operator.symbol.ocamllex
158
+ match: "="
159
+ - name: meta.paren-group.ocamllex
160
+ begin: \(
161
+ end: \)
162
+ patterns:
163
+ - include: $self
164
+ - name: invalid.illegal.unrecognized-character.ocamllex
165
+ match: "(\xE2\x80\x99|\xE2\x80\x98|\xE2\x80\x9C|\xE2\x80\x9D)"
166
+ foldingStopMarker: "}"
167
+ keyEquivalent: ^~O
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: OCamlyacc
3
+ fileTypes:
4
+ - mly
5
+ scopeName: source.ocamlyacc
6
+ repository:
7
+ declaration-matches:
8
+ patterns:
9
+ - name: meta.token.declaration.ocamlyacc
10
+ begin: (%)(token)
11
+ beginCaptures:
12
+ "1":
13
+ name: keyword.other.decorator.token.ocamlyacc
14
+ "2":
15
+ name: keyword.other.token.ocamlyacc
16
+ end: ^\s*($|(^\s*(?=%)))
17
+ patterns:
18
+ - include: "#symbol-types"
19
+ - name: entity.name.type.token.ocamlyacc
20
+ match: "[A-Z][A-Za-z0-9_]*"
21
+ - include: "#comments"
22
+ - name: meta.token.associativity.ocamlyacc
23
+ begin: (%)(left|right|nonassoc)
24
+ beginCaptures:
25
+ "1":
26
+ name: keyword.other.decorator.token.associativity.ocamlyacc
27
+ "2":
28
+ name: keyword.other.token.associativity.ocamlyacc
29
+ end: (^\s*$)|(^\s*(?=%))
30
+ patterns:
31
+ - name: entity.name.type.token.ocamlyacc
32
+ match: "[A-Z][A-Za-z0-9_]*"
33
+ - name: entity.name.function.non-terminal.reference.ocamlyacc
34
+ match: "[a-z][A-Za-z0-9_]*"
35
+ - include: "#comments"
36
+ - name: meta.start-symbol.ocamlyacc
37
+ begin: (%)(start)
38
+ beginCaptures:
39
+ "1":
40
+ name: keyword.other.decorator.start-symbol.ocamlyacc
41
+ "2":
42
+ name: keyword.other.start-symbol.ocamlyacc
43
+ end: (^\s*$)|(^\s*(?=%))
44
+ patterns:
45
+ - name: entity.name.function.non-terminal.reference.ocamlyacc
46
+ match: "[a-z][A-Za-z0-9_]*"
47
+ - include: "#comments"
48
+ - name: meta.symbol-type.ocamlyacc
49
+ begin: (%)(type)
50
+ beginCaptures:
51
+ "1":
52
+ name: keyword.other.decorator.symbol-type.ocamlyacc
53
+ "2":
54
+ name: keyword.other.symbol-type.ocamlyacc
55
+ end: $\s*(?!%)
56
+ patterns:
57
+ - include: "#symbol-types"
58
+ - name: entity.name.type.token.reference.ocamlyacc
59
+ match: "[A-Z][A-Za-z0-9_]*"
60
+ - name: entity.name.function.non-terminal.reference.ocamlyacc
61
+ match: "[a-z][A-Za-z0-9_]*"
62
+ - include: "#comments"
63
+ references:
64
+ patterns:
65
+ - name: entity.name.function.non-terminal.reference.ocamlyacc
66
+ match: "[a-z][a-zA-Z0-9_]*"
67
+ - name: entity.name.type.token.reference.ocamlyacc
68
+ match: "[A-Z][a-zA-Z0-9_]*"
69
+ precs:
70
+ patterns:
71
+ - name: meta.precidence.declaration
72
+ captures:
73
+ "1":
74
+ name: keyword.other.decorator.precedence.ocamlyacc
75
+ "2":
76
+ name: keyword.other.precedence.ocamlyacc
77
+ "4":
78
+ name: entity.name.function.non-terminal.reference.ocamlyacc
79
+ "5":
80
+ name: entity.name.type.token.reference.ocamlyacc
81
+ match: (%)(prec)\s+(([a-z][a-zA-Z0-9_]*)|(([A-Z][a-zA-Z0-9_]*)))
82
+ comments:
83
+ patterns:
84
+ - name: comment.block.ocamlyacc
85
+ begin: /\*
86
+ end: \*/
87
+ patterns:
88
+ - include: "#comments"
89
+ - name: comment.block.string.quoted.double.ocamlyacc
90
+ begin: (?=[^\\])(")
91
+ end: "\""
92
+ patterns:
93
+ - name: comment.block.string.constant.character.escape.ocamlyacc
94
+ match: \\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])
95
+ semantic-actions:
96
+ patterns:
97
+ - name: meta.action.semantic.ocamlyacc
98
+ endCaptures:
99
+ "1":
100
+ name: punctuation.definition.action.semantic.ocamlyacc
101
+ begin: "[^\\']({)"
102
+ beginCaptures:
103
+ "1":
104
+ name: punctuation.definition.action.semantic.ocamlyacc
105
+ end: (})
106
+ patterns:
107
+ - include: source.ocaml
108
+ rules:
109
+ patterns:
110
+ - name: meta.non-terminal.ocamlyacc
111
+ endCaptures:
112
+ "0":
113
+ name: punctuation.separator.rule.ocamlyacc
114
+ begin: "[a-z][a-zA-Z_]*"
115
+ beginCaptures:
116
+ "0":
117
+ name: entity.name.function.non-terminal.ocamlyacc
118
+ end: ;
119
+ patterns:
120
+ - include: "#rule-patterns"
121
+ symbol-types:
122
+ patterns:
123
+ - name: meta.token.type-declaration.ocamlyacc
124
+ endCaptures:
125
+ "0":
126
+ name: punctuation.definition.type-declaration.end.ocamlyacc
127
+ begin: <
128
+ beginCaptures:
129
+ "0":
130
+ name: punctuation.definition.type-declaration.begin.ocamlyacc
131
+ end: ">"
132
+ patterns:
133
+ - include: source.ocaml
134
+ rule-patterns:
135
+ patterns:
136
+ - name: meta.rule-match.ocaml
137
+ begin: ((?<!\||:)(\||:)(?!\||:))
138
+ beginCaptures:
139
+ "0":
140
+ name: punctuation.separator.rule.ocamlyacc
141
+ end: \s*(?=\||;)
142
+ patterns:
143
+ - include: "#precs"
144
+ - include: "#semantic-actions"
145
+ - include: "#references"
146
+ - include: "#comments"
147
+ uuid: 1B59327E-9B82-4B78-9411-BC02067DBDF9
148
+ foldingStartMarker: "%{|%%"
149
+ patterns:
150
+ - name: meta.header.ocamlyacc
151
+ endCaptures:
152
+ "1":
153
+ name: punctuation.section.header.end.ocamlyacc
154
+ begin: (%{)\s*$
155
+ beginCaptures:
156
+ "1":
157
+ name: punctuation.section.header.begin.ocamlyacc
158
+ end: ^\s*(%})
159
+ patterns:
160
+ - include: source.ocaml
161
+ - name: meta.declarations.ocamlyacc
162
+ begin: (?<=%})\s*$
163
+ end: (?:^)(?=%%)
164
+ patterns:
165
+ - include: "#comments"
166
+ - include: "#declaration-matches"
167
+ - name: meta.rules.ocamlyacc
168
+ endCaptures:
169
+ "1":
170
+ name: punctuation.section.rules.end.ocamlyacc
171
+ begin: (%%)\s*$
172
+ beginCaptures:
173
+ "1":
174
+ name: punctuation.section.rules.begin.ocamlyacc
175
+ end: ^\s*(%%)
176
+ patterns:
177
+ - include: "#comments"
178
+ - include: "#rules"
179
+ - include: source.ocaml
180
+ - include: "#comments"
181
+ - name: invalid.illegal.unrecognized-character.ocaml
182
+ match: "(\xE2\x80\x99|\xE2\x80\x98|\xE2\x80\x9C|\xE2\x80\x9D)"
183
+ foldingStopMarker: "%}|%%"
184
+ keyEquivalent: ^~O
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: OpenGL
3
+ scopeName: source.open-gl
4
+ uuid: D5C78F2A-43D6-4598-BB92-1761EDF2C768
5
+ patterns:
6
+ - name: support.type.open-gl
7
+ match: \b(GL(u?int(ptr)?|float|enum|boolean|bitfield|u?byte|u?short|sizei(ptr)?|clamp[fd]|double|void|char))\b
8
+ - name: support.constant.open-gl
9
+ match: \b(GL(_(R(GB(_SCALE(_(EXT|ARB))?|A(_(MODE|UNSIGNED_DOT_PRODUCT_MAPPING_NV))?)?|IGHT|E(GISTER_COMBINERS_NV|S(CALE_NORMAL(_EXT)?|TART_SUN|AMPLE_(REPLICATE_SGIX|ZERO_FILL_SGIX|DECIMATE_SGIX))|NDER(_MODE|ER)?|CLAIM_MEMORY_HINT_PGI|TURN|D(_(M(IN_CLAMP_INGR|AX_CLAMP_INGR)|BI(T(S|_EXT)|AS)|SCALE)|UCE(_EXT)?)?|P(EAT|L(ICATE_BORDER(_HP)?|ACE(MENT_CODE_(SUN|ARRAY_(S(TRIDE_SUN|UN)|TYPE_SUN|POINTER_SUN))|_(MIDDLE_SUN|OLDEST_SUN|EXT))?))|F(ERENCE_PLANE_(SGIX|EQUATION_SGIX)|LECTION_MAP(_(NV|EXT|ARB))?)|AD_(BUFFER|ONLY(_ARB)?|WRITE(_ARB)?))|ASTER_POSITION_UNCLIPPED_IBM)?|G(RE(EN(_(M(IN_CLAMP_INGR|AX_CLAMP_INGR)|BI(T(S|_EXT)|AS)|SCALE))?|ATER)|E(NERATE_MIPMAP(_(SGIS|HINT(_SGIS)?))?|OMETRY_DEFORMATION_SGIX|QUAL)|L(OBAL_ALPHA_(SUN|FACTOR_SUN)|EXT_(VERSION|FUNCTION_POINTERS|LEGACY)))|X(_EXT|OR)|M(I(RROR(_CLAMP_(TO_(BORDER_EXT|EDGE_(EXT|ATI))|EXT|ATI)|ED_REPEAT(_ARB)?)|N(MAX(_(SINK(_EXT)?|EXT|FORMAT(_EXT)?))?|_(PBUFFER_VIEWPORT_DIMS_APPLE|EXT|WEIGHTED_ATI))?)|O(D(ULATE(_(S(IGNED_ADD_ATI|UBTRACT_ATI)|ADD_ATI))?|ELVIEW(_(MATRIX|STACK_DEPTH|PROJECTION_NV))?)|V_EXT)|UL(_EXT|T(ISAMPLE(_(BIT(_ARB)?|SGIS|EXT|FILTER_HINT_NV|ARB))?)?)|VP_MATRIX_EXT|A(GNITUDE_(BIAS_NV|SCALE_NV)|X(_(RECTANGLE_TEXTURE_SIZE_(EXT|ARB)|GENERAL_COMBINERS_NV|MODELVIEW_STACK_DEPTH|S(HININESS_NV|POT_EXPONENT_NV)|NAME_STACK_DEPTH|C(O(MBINED_TEXTURE_IMAGE_UNITS(_ARB)?|NVOLUTION_(HEIGHT(_EXT)?|WIDTH(_EXT)?)|LOR_MATRIX_STACK_DEPTH(_SGI)?)|UBE_MAP_TEXTURE_SIZE(_(EXT|ARB))?|LI(P(MAP_(DEPTH_SGIX|VIRTUAL_DEPTH_SGIX)|_PLANES)|ENT_ATTRIB_STACK_DEPTH))|T(RACK_MATRI(X_STACK_DEPTH_NV|CES_NV)|EXTURE_(MAX_ANISOTROPY_EXT|S(TACK_DEPTH|IZE)|COORDS(_ARB)?|IMAGE_UNITS(_ARB)?|UNITS(_ARB)?|LOD_BIAS(_EXT)?))|OPTIMIZED_VERTEX_SHADER_(IN(STRUCTIONS_EXT|VARIANTS_EXT)|VARIANTS_EXT|LOCAL(S_EXT|_CONSTANTS_EXT))|D(RAW_BUFFERS(_ARB)?|EFORMATION_ORDER_SGIX)|P(RO(GRAM_(MATRI(X_STACK_DEPTH_ARB|CES_ARB)|NATIVE_(TE(X_IN(STRUCTIONS_ARB|DIRECTIONS_ARB)|MPORARIES_ARB)|INSTRUCTIONS_ARB|PARAMETERS_ARB|A(TTRIBS_ARB|DDRESS_REGISTERS_ARB|LU_INSTRUCTIONS_ARB))|TE(X_IN(STRUCTIONS_ARB|DIRECTIONS_ARB)|MPORARIES_ARB)|INSTRUCTIONS_ARB|PARAMETERS_ARB|ENV_PARAMETERS_ARB|LOCAL_PARAMETERS_ARB|A(TTRIBS_ARB|DDRESS_REGISTERS_ARB|LU_INSTRUCTIONS_ARB))|JECTION_STACK_DEPTH)|N_TRIANGLES_TESSELATION_LEVEL_ATI(X)?|IXEL_MAP_TABLE)|E(XT|VAL_ORDER|LEMENTS_(INDICES(_EXT)?|VERTICES(_EXT)?))|V(IEWPORT_DIMS|ERTEX_(SHADER_(IN(STRUCTIONS_EXT|VARIANTS_EXT)|VARIANTS_EXT|LOCAL(S_EXT|_CONSTANTS_EXT))|HINT_PGI|TEXTURE_IMAGE_UNITS(_ARB)?|UNI(TS_ARB|FORM_COMPONENTS(_ARB)?)|A(RRAY_RANGE_ELEMENT_(NV|APPLE)|TTRIBS(_ARB)?))|ARYING_FLOATS(_ARB)?)|F(RA(GMENT_(UNIFORM_COMPONENTS(_ARB)?|LIGHTS_SGIX)|MEZOOM_FACTOR_SGIX)|OG_FUNC_POINTS_SGIS)|WEIGHTED_ATI|LI(GHTS|ST_NESTING)|A(SYNC_(READ_PIXELS_SGIX|HISTOGRAM_SGIX|TEX_IMAGE_SGIX|DRAW_PIXELS_SGIX)|CTIVE_LIGHTS_SGIX|TTRIB_STACK_DEPTH)))?|T(RIX_(MODE|EXT)|_(S(HININESS_BIT_PGI|PECULAR_BIT_PGI)|COLOR_INDEXES_BIT_PGI|DIFFUSE_BIT_PGI|EMISSION_BIT_PGI|AMBIENT_(BIT_PGI|AND_DIFFUSE_BIT_PGI))|ERIAL_SIDE_HINT_PGI)|D_EXT|P_(STENCIL|COLOR)))|B(GR(_EXT|A(_EXT)?)?|YTE|I(NORMAL_ARRAY_(STRIDE_EXT|TYPE_EXT|POINTER_EXT|EXT)|TMAP(_TOKEN)?|AS_B(Y_NEGATIVE_ONE_HALF_NV|IT_EXT))|OOL(_ARB)?|UFFER_(MAP(_POINTER(_ARB)?|PED(_ARB)?)|SIZE(_ARB)?|OBJECT_APPLE|USAGE(_ARB)?|ACCESS(_ARB)?)|L(UE(_(M(IN_CLAMP_INGR|AX_CLAMP_INGR)|BI(T(S|_EXT)|AS)|SCALE))?|END(_(SRC(_(RGB(_EXT)?|ALPHA(_EXT)?))?|COLOR(_EXT)?|DST(_(RGB(_EXT)?|ALPHA(_EXT)?))?|EQUATION(_(RGB_EXT|EXT|ALPHA_EXT))?))?)|ACK(_(RIGHT|NORMALS_HINT_PGI|LEFT))?)|S(RC_(COLOR|ALPHA(_SATURATE)?)|MOOTH(_(POINT_SIZE_(RANGE|GRANULARITY)|LINE_WIDTH_(RANGE|GRANULARITY)))?|H(ININESS|ORT|A(R(PEN_TEXTURE_FUNC_POINTS_SGIS|ED_TEXTURE_PALETTE_EXT)|D(ING_LANGUAGE_VERSION|OW_ATTENUATION_EXT|E(R_(SOURCE_LENGTH|CONSISTENT_NV|TYPE|O(BJECT_ARB|PERATION_NV))|_MODEL))))|C(REEN_COORDINATES_REND|ISSOR_(B(IT|OX)|TEST)|AL(E_BY_(TWO_NV|ONE_HALF_NV|FOUR_NV)|AR_EXT))|T(R(ICT_(SCISSOR_HINT_PGI|DEPTHFUNC_HINT_PGI|LIGHTING_HINT_PGI)|EAM_(READ(_ARB)?|COPY(_ARB)?|DRAW(_ARB)?))|ORAGE_(SHARED_APPLE|C(LIENT_APPLE|ACHED_APPLE)|PRIVATE_APPLE)|E(REO|NCIL(_(REF|B(ITS|UFFER_BIT|ACK_(REF|PASS_DEPTH_(PASS(_ATI)?|FAIL(_ATI)?)|VALUE_MASK|F(UNC(_ATI)?|AIL(_ATI)?)|WRITEMASK))|CLEAR_VALUE|TEST(_TWO_SIDE_EXT)?|INDEX|PASS_DEPTH_(PASS|FAIL)|VALUE_MASK|F(UNC|AIL)|WRITEMASK))?)|A(CK_(OVERFLOW|UNDERFLOW)|TIC_(READ(_ARB)?|COPY(_ARB)?|DRAW(_ARB)?)))|I(GNED_(RGB(_(NV|UNSIGNED_ALPHA_NV)|A_NV)|HILO_NV|NEGATE_NV|I(NTENSITY_NV|DENTITY_NV)|LUMINANCE_(NV|ALPHA_NV)|ALPHA_NV)|NGLE_COLOR(_EXT)?)|UB(_EXT|TRACT(_ARB)?|PIXEL_BITS)|P(RITE_(MODE_SGIX|SGIX|TRANSLATION_SGIX|OBJECT_ALIGNED_SGIX|EYE_ALIGNED_SGIX|AXI(S_SGIX|AL_SGIX))|HERE_MAP|OT_(CUTOFF|DIRECTION|EXPONENT)|ECULAR)|E(CONDARY_(COLOR_(NV|ARRAY(_(BUFFER_BINDING(_ARB)?|S(TRIDE(_EXT)?|IZE(_EXT)?)|TYPE(_EXT)?|POINTER(_EXT)?|EXT|LIST_(STRIDE_IBM|IBM)))?)|INTERPOLATOR_EXT)|T|PARATE_SPECULAR_COLOR(_EXT)?|LECT(ION_BUFFER_(SIZE|POINTER))?)|WIZZLE_ST(R(_(DR_EXT|EXT)|Q_(DQ_EXT|EXT))|Q_(DQ_EXT|EXT))|A(MPLE(R_CUBE(_ARB)?|S(_(SGIS|PASSED(_ARB)?|EXT|ARB))?|_(MASK_(SGIS|INVERT_(SGIS|EXT)|EXT|VALUE_(SGIS|EXT))|BUFFERS(_(SGIS|EXT|ARB))?|COVERAGE(_(INVERT(_ARB)?|VALUE(_ARB)?|ARB))?|PATTERN_(SGIS|EXT)|ALPHA_TO_(MASK_(SGIS|EXT)|COVERAGE(_ARB)?|ONE(_(SGIS|EXT|ARB))?)))|TURATE_BIT_EXT))?|H(I(STOGRAM(_(RED_SIZE(_EXT)?|GREEN_SIZE(_EXT)?|BLUE_SIZE(_EXT)?|SINK(_EXT)?|EXT|FORMAT(_EXT)?|WIDTH(_EXT)?|LUMINANCE_SIZE(_EXT)?|ALPHA_SIZE(_EXT)?))?|NT_BIT|_(BIAS_NV|SCALE_NV)|LO_NV)|ALF_(BI(T_EXT|AS_N(ORMAL_NV|EGATE_NV))|APPLE))|Y(CRCB(_SGIX|A_SGIX)|_EXT)|N(ICEST|O(R(MAL(_(MAP(_(NV|EXT|ARB))?|BIT_PGI|ARRAY(_(BUFFER_BINDING(_ARB)?|STRIDE(_EXT)?|COUNT_EXT|TYPE(_EXT)?|P(OINTER(_EXT)?|ARALLEL_POINTERS_INTEL)|EXT|LIST_(STRIDE_IBM|IBM)))?)|IZE(D_RANGE_EXT)?))?|NE|_ERROR|TEQUAL|OP)|UM_(GENERAL_COMBINERS_NV|COMPRESSED_TEXTURE_FORMATS(_ARB)?|IN(STRUCTIONS_(TOTAL_EXT|PER_PASS_EXT)|PUT_INTERPOLATOR_COMPONENTS_EXT)|PASSES_EXT|FRAGMENT_(REGISTERS_EXT|CONSTANTS_EXT)|LOOPBACK_COMPONENTS_EXT)|E(GAT(IVE_(X_EXT|Y_EXT|Z_EXT|ONE_EXT|W_EXT)|E_BIT_EXT)|VER|AREST(_(MIPMAP_(NEAREST|LINEAR)|CLIPMAP_(NEAREST_SGIX|LINEAR_SGIX)))?)|A(ME_STACK_DEPTH|ND|TIVE_GRAPHICS_(BEGIN_HINT_PGI|HANDLE_PGI|END_HINT_PGI)))|C(MYK(_EXT|A_EXT)|ND_EXT|CW|O(M(BINE(R_(M(UX_SUM_NV|APPING_NV)|BIAS_NV|S(CALE_NV|UM_OUTPUT_NV)|C(OMPONENT_USAGE_NV|D_(OUTPUT_NV|DOT_PRODUCT_NV))|INPUT_NV|AB_(OUTPUT_NV|DOT_PRODUCT_NV))|_(RGB(_(EXT|ARB))?|EXT|A(RB|LPHA(_(EXT|ARB))?)))?|P(RESSED_(RGB(_ARB|A(_ARB)?)?|TEXTURE_FORMATS(_ARB)?|INTENSITY(_ARB)?|LUMINANCE(_A(RB|LPHA(_ARB)?))?|ALPHA(_ARB)?)|_BIT_EXT|ILE(_(STATUS|AND_EXECUTE))?|ARE_R_TO_TEXTURE(_ARB)?))|N(S(T(_EYE_NV|ANT(_(BORDER(_HP)?|COLOR(_EXT)?|EXT|A(RB|TTENUATION|LPHA(_EXT)?)))?)|ERVE_MEMORY_HINT_PGI)|VOLUTION_(BORDER_(MODE(_EXT)?|COLOR(_HP)?)|H(INT_SGIX|EIGHT(_EXT)?)|F(ILTER_(BIAS(_EXT)?|SCALE(_EXT)?)|ORMAT(_EXT)?)|WIDTH(_EXT)?))|ORD_REPLACE(_(NV|ARB))?|PY(_(INVERTED|PIXEL_TOKEN))?|EFF|LOR(_(MAT(RIX(_S(GI|TACK_DEPTH(_SGI)?))?|ERIAL(_(PARAMETER|FACE))?)|BUFFER_BIT|SUM(_(CLAMP_NV|EXT|ARB))?|CLEAR_VALUE|TABLE(_(RED_SIZE(_SGI)?|GREEN_SIZE(_SGI)?|B(IAS(_SGI)?|LUE_SIZE(_SGI)?)|S(GI|CALE(_SGI)?)|INTENSITY_SIZE(_SGI)?|FORMAT(_SGI)?|WIDTH(_SGI)?|LUMINANCE_SIZE(_SGI)?|ALPHA_SIZE(_SGI)?))?|INDEX(ES)?|FLOAT_APPLE|WRITEMASK|LOGIC_OP|A(RRAY(_(BUFFER_BINDING(_ARB)?|S(TRIDE(_EXT)?|IZE(_EXT)?)|COUNT_EXT|TYPE(_EXT)?|P(OINTER(_EXT)?|ARALLEL_POINTERS_INTEL)|EXT|LIST_(STRIDE_IBM|IBM)))?|LPHA_PAIRING_EXT)))?)|U(RRENT_(RASTER_(NORMAL_SGIX|COLOR|TEXTURE_COORDS|INDEX|DISTANCE|POSITION(_VALID)?)|MATRIX_(STACK_DEPTH_(NV|ARB)|NV|ARB)|BI(NORMAL_EXT|T)|SECONDARY_COLOR(_EXT)?|NORMAL|COLOR|T(EXTURE_COORDS|ANGENT_EXT)|INDEX|PROGRAM|VERTEX_(EXT|WEIGHT_EXT|ATTRIB(_ARB)?)|QUERY(_ARB)?|FOG_COORD(INATE(_EXT)?)?|WEIGHT_ARB|ATTRIB_NV)|BIC_(HP|EXT)|LL_(MODES_NV|VERTEX_(IBM|OBJECT_POSITION_EXT|E(XT|YE_POSITION_EXT))|F(RAGMENT_NV|ACE(_MODE)?)))|W|L(I(P_(NEAR_HINT_PGI|VOLUME_CLIPPING_HINT_EXT|FAR_HINT_PGI)|ENT_(PIXEL_STORE_BIT|VERTEX_ARRAY_BIT|A(CTIVE_TEXTURE(_ARB)?|TTRIB_STACK_DEPTH|LL_ATTRIB_BITS)))|EAR|AMP(_TO_(BORDER(_(SGIS|ARB))?|EDGE(_SGIS)?))?)|ALLIGRAPHIC_FRAGMENT_SGIX)|T(R(IANGLE(S|_(STRIP|FAN|LIST_SUN))|UE|A(NS(POSE_(MODELVIEW_MATRIX(_ARB)?|NV|C(OLOR_MATRIX(_ARB)?|URRENT_MATRIX_ARB)|TEXTURE_MATRIX(_ARB)?|PROJECTION_MATRIX(_ARB)?)|FORM_(BIT|HINT_APPLE))|CK_MATRIX_(NV|TRANSFORM_NV)))|EXT(_FRAGMENT_SHADER_ATI|URE(_(R(E(SIDENT(_EXT)?|CTANGLE_(EXT|ARB)|D_SIZE(_EXT)?)|ANGE_(POINTER_APPLE|LENGTH_APPLE))|G(REEN_SIZE(_EXT)?|E(N_(R|MODE|S|T|Q)|QUAL_R_SGIX))|M(IN(_(FILTER|LOD(_SGIS)?)|IMIZE_STORAGE_APPLE)|ULTI_BUFFER_HINT_SGIX|A(G_(SIZE_NV|FILTER)|X_(L(OD(_SGIS)?|EVEL(_SGIS)?)|ANISOTROPY_EXT)|T(RIX|ERIAL_(PARAMETER_EXT|FACE_EXT))))|B(I(NDING_(RECTANGLE_(EXT|ARB)|CUBE_MAP(_(EXT|ARB))?)|T)|ORDER(_(COLOR|VALUES_NV))?|LUE_SIZE(_EXT)?|ASE_LEVEL(_SGIS)?)|S(HADER_NV|T(ORAGE_HINT_APPLE|ACK_DEPTH))|H(I_SIZE_NV|EIGHT)|NORMAL_EXT|C(O(MP(RESS(ION_HINT(_ARB)?|ED(_(IMAGE_SIZE(_ARB)?|ARB))?)|ONENTS|ARE_(MODE(_ARB)?|SGIX|OPERATOR_SGIX|F(UNC(_ARB)?|AIL_VALUE_ARB)))|NSTANT_DATA_SUNX|ORD_ARRAY(_(BUFFER_BINDING(_ARB)?|S(TRIDE(_EXT)?|IZE(_EXT)?)|COUNT_EXT|TYPE(_EXT)?|P(OINTER(_EXT)?|ARALLEL_POINTERS_INTEL)|EXT|LIST_(STRIDE_IBM|IBM)))?|LOR_(TABLE_SGI|WRITEMASK_SGIS))|UBE_MAP(_(NEGATIVE_(X(_(EXT|ARB))?|Y(_(EXT|ARB))?|Z(_(EXT|ARB))?)|POSITIVE_(X(_(EXT|ARB))?|Y(_(EXT|ARB))?|Z(_(EXT|ARB))?)|EXT|ARB))?|LIPMAP_(CENTER_SGIX|OFFSET_SGIX|DEPTH_SGIX|VIRTUAL_DEPTH_SGIX|FRAME_SGIX|LOD_OFFSET_SGIX))|TOO_LARGE_EXT|IN(TE(RNAL_FORMAT|NSITY_SIZE(_EXT)?)|DEX_SIZE_EXT)|D(S_SIZE_NV|T_SIZE_NV|E(PTH(_(SIZE(_ARB)?|EXT))?|FORMATION_SGIX))|P(R(IORITY(_EXT)?|E_SPECULAR_HP)|OST_SPECULAR_HP)|ENV(_(MODE|BIAS_SGIX|COLOR))?|FILTER_CONTROL(_EXT)?|W(RAP_(R(_EXT)?|S|T|Q_SGIS)|IDTH)|L(IGHT(_EXT|ING_MODE_HP)|O(_SIZE_NV|D_BIAS(_(R_SGIX|S_SGIX|T_SGIX|EXT))?)|UMINANCE_SIZE(_EXT)?|EQUAL_R_SGIX)|A(PPLICATION_MODE_EXT|LPHA_SIZE(_EXT)?)))?)|A(BLE_TOO_LARGE(_EXT)?|NGENT_ARRAY_(STRIDE_EXT|TYPE_EXT|POINTER_EXT|EXT)))?|I(GNORE_BORDER(_HP)?|MAGE_(ROTATE_(ORIGIN_(X_HP|Y_HP)|ANGLE_HP)|M(IN_FILTER_HP|AG_FILTER_HP)|SCALE_(X_HP|Y_HP)|CUBIC_WEIGHT_HP|TRANSLATE_(X_HP|Y_HP))|N(STRUMENT_(MEASUREMENTS_SGIX|BUFFER_POINTER_SGIX)|CR(_WRAP(_EXT)?)?|T(E(R(POLATE(_(EXT|ARB))?|LACE_(READ_INGR|SGIX))|NSITY(_EXT)?))?|DEX_(M(ODE|ATERIAL_(PARAMETER_EXT|EXT|FACE_EXT))|BIT(S|_PGI)|SHIFT|CLEAR_VALUE|TEST_(REF_EXT|EXT|FUNC_EXT)|OFFSET|WRITEMASK|LOGIC_OP|ARRAY(_(BUFFER_BINDING(_ARB)?|STRIDE(_EXT)?|COUNT_EXT|TYPE(_EXT)?|POINTER(_EXT)?|EXT|LIST_(STRIDE_IBM|IBM)))?)|V(ER(SE_(NV|TRANSPOSE_NV)|T(ED_SCREEN_W_REND)?)|A(RIANT_(DATATYPE_EXT|EXT|VALUE_EXT)|LID_(OPERATION|ENUM|VALUE)))|FO_LOG_LENGTH)|DENTITY_NV)|Z(_EXT|OOM_(X|Y)|ERO)|O(R(_(REVERSE|INVERTED)|DER)?|BJECT_(S(HADER_SOURCE_LENGTH_ARB|UBTYPE_ARB)|COMPILE_STATUS_ARB|TYPE_ARB|INFO_LOG_LENGTH_ARB|D(ISTANCE_TO_(POINT_SGIS|LINE_SGIS)|ELETE_STATUS_ARB)|P(OINT_SGIS|LANE)|VALIDATE_STATUS_ARB|LIN(E(_SGIS|AR)|K_STATUS_ARB)|A(CTIVE_(UNIFORM(S_ARB|_MAX_LENGTH_ARB)|ATTRIBUTE(S_ARB|_MAX_LENGTH_ARB))|TTACHED_OBJECTS_ARB))|NE(_MINUS_(SRC_(COLOR|ALPHA)|CONSTANT_(COLOR(_EXT)?|ALPHA(_EXT)?)|DST_(COLOR|ALPHA)))?|CCLUSION_TEST_(RESULT_HP|HP)|UT(_OF_MEMORY|PUT_(VERTEX_EXT|FOG_EXT))|P_(R(OUND_EXT|ECIP_(SQRT_EXT|EXT))|M(IN_EXT|OV_EXT|UL(_EXT|TIPLY_MATRIX_EXT)|A(X_EXT|DD_EXT))|S(UB_EXT|ET_(GE_EXT|LT_EXT))|NEGATE_EXT|C(ROSS_PRODUCT_EXT|LAMP_EXT)|INDEX_EXT|POWER_EXT|F(RAC_EXT|LOOR_EXT)|ADD_EXT)|FFSET_(HILO_(TEXTURE_RECTANGLE_NV|PROJECTIVE_TEXTURE_RECTANGLE_NV)|TEXTURE_(RECTANGLE_(SCALE_NV|NV)|MATRIX_NV|BIAS_NV|SCALE_NV)|PROJECTIVE_TEXTURE_RECTANGLE_(SCALE_NV|NV)))|D(RAW_(BUFFER|PIXEL(S_APPLE|_TOKEN))|S(_(BIAS_NV|SCALE_NV)|T_(COLOR|ALPHA)|DT_(MAG_(NV|INTENSITY_NV|VIB_NV)|NV))|YNAMIC_(READ(_ARB)?|COPY(_ARB)?|DRAW(_ARB)?)|T_(BIAS_NV|SCALE_NV)|I(S(CARD_NV|TANCE_ATTENUATION_(SGIS|EXT))|THER|FFUSE)|O(MAIN|NT_CARE|T_PRODUCT_(REFLECT_CUBE_MAP_NV|NV|CONST_EYE_REFLECT_CUBE_MAP_NV|TEXTURE_(RECTANGLE_NV|CUBE_MAP_NV)|D(IFFUSE_CUBE_MAP_NV|EPTH_REPLACE_NV)|PASS_THROUGH_NV|AFFINE_DEPTH_REPLACE_NV)|UBLE(BUFFER)?)|UAL_TEXTURE_SELECT_SGIS|E(C(R(_WRAP(_EXT)?)?|AL)|TAIL_TEXTURE_(MODE_SGIS|FUNC_POINTS_SGIS|LEVEL_SGIS)|P(TH(_(RANGE|B(I(TS|AS)|OUNDS_(TEST_EXT|EXT)|UFFER_BIT)|SCALE|C(OMPONENT|L(EAR_VALUE|AMP_NV))|TE(XTURE_MODE(_ARB)?|ST)|PASS_INSTRUMENT_(MAX_SGIX|SGIX|COUNTERS_SGIX)|FUNC|WRITEMASK))?|ENDENT_RGB_TEXTURE_CUBE_MAP_NV)|FORMATIONS_MASK_SGIX|LETE_STATUS))|U(N(SIGNED_(BYTE|SHORT|I(N(T|VERT_NV)|DENTITY_NV))|PACK_(R(OW_LENGTH|ESAMPLE_SGIX)|S(UBSAMPLE_RATE_SGIX|KIP_(ROWS|IMAGES(_EXT)?|PIXELS|VOLUMES_SGIS)|WAP_BYTES)|C(MYK_HINT_EXT|ONSTANT_DATA_SUNX|LIENT_STORAGE_APPLE)|IMAGE_(HEIGHT(_EXT)?|DEPTH_SGIS)|LSB_FIRST|ALIGNMENT))|PPER_LEFT)|P(R(IMARY_COLOR(_(NV|EXT|ARB))?|O(GRAM_(RESIDENT_NV|BINDING_ARB|STRING_(NV|ARB)|NA(ME_ARB|TIVE_(TE(X_IN(STRUCTIONS_ARB|DIRECTIONS_ARB)|MPORARIES_ARB)|INSTRUCTIONS_ARB|PARAMETERS_ARB|A(TTRIBS_ARB|DDRESS_REGISTERS_ARB|LU_INSTRUCTIONS_ARB)))|T(E(X_IN(STRUCTIONS_ARB|DIRECTIONS_ARB)|MPORARIES_ARB)|ARGET_NV)|INSTRUCTIONS_ARB|OBJECT_ARB|UNDER_NATIVE_LIMITS_ARB|PARAMETER(S_ARB|_NV)|ERROR_(STRING_ARB|POSITION_(NV|ARB))|FORMAT_A(RB|SCII_ARB)|LENGTH_(NV|ARB)|A(TTRIBS_ARB|DDRESS_REGISTERS_ARB|LU_INSTRUCTIONS_ARB))|XY_(HISTOGRAM(_EXT)?|COLOR_TABLE(_SGI)?|TEXTURE_(RECTANGLE_(EXT|ARB)|C(OLOR_TABLE_SGI|UBE_MAP(_(EXT|ARB))?))|POST_(CO(NVOLUTION_COLOR_TABLE(_SGI)?|LOR_MATRIX_COLOR_TABLE(_SGI)?)|IMAGE_TRANSFORM_COLOR_TABLE_HP))|JECTION(_(MATRIX|STACK_DEPTH))?)|E(VIOUS(_(TEXTURE_INPUT_NV|EXT|ARB))?|FER_DOUBLEBUFFER_HINT_PGI))|HONG_(HINT_WIN|WIN)|N_TRIANGLES_(NORMAL_MODE_(QUADRATIC_ATI(X)?|LINEAR_ATI(X)?|ATI(X)?)|TESSELATION_LEVEL_ATI(X)?|POINT_MODE_(CUBIC_ATI(X)?|LINEAR_ATI(X)?|ATI(X)?)|ATI(X)?)|IXEL_(GROUP_COLOR_SGIS|M(IN_FILTER_EXT|ODE_BIT|A(G_FILTER_EXT|P_(R_TO_R(_SIZE)?|G_TO_G(_SIZE)?|B_TO_B(_SIZE)?|S_TO_S(_SIZE)?|I_TO_(R(_SIZE)?|G(_SIZE)?|B(_SIZE)?|I(_SIZE)?|A(_SIZE)?)|A_TO_A(_SIZE)?)))|CUBIC_WEIGHT_EXT|T(ILE_(GRID_(HEIGHT_SGIX|DEPTH_SGIX|WIDTH_SGIX)|BEST_ALIGNMENT_SGIX|HEIGHT_SGIX|CACHE_(SIZE_SGIX|INCREMENT_SGIX)|WIDTH_SGIX)|EX(_GEN_(MODE_SGIX|SGIX)|TURE_SGIS))|FRAGMENT_(RGB_SOURCE_SGIS|ALPHA_SOURCE_SGIS))|O(S(T_(CO(NVOLUTION_(RED_(BIAS(_EXT)?|SCALE(_EXT)?)|GREEN_(BIAS(_EXT)?|SCALE(_EXT)?)|BLUE_(BIAS(_EXT)?|SCALE(_EXT)?)|COLOR_TABLE(_SGI)?|ALPHA_(BIAS(_EXT)?|SCALE(_EXT)?))|LOR_MATRIX_(RED_(BIAS(_SGI)?|SCALE(_SGI)?)|GREEN_(BIAS(_SGI)?|SCALE(_SGI)?)|BLUE_(BIAS(_SGI)?|SCALE(_SGI)?)|COLOR_TABLE(_SGI)?|ALPHA_(BIAS(_SGI)?|SCALE(_SGI)?)))|TEXTURE_FILTER_(BIAS_(RANGE_SGIX|SGIX)|SCALE_(RANGE_SGIX|SGIX))|IMAGE_TRANSFORM_COLOR_TABLE_HP)|ITION)|INT(S|_(BIT|S(MOOTH(_HINT)?|IZE(_(RANGE|GRANULARITY|M(IN(_(SGIS|EXT|ARB))?|AX(_(SGIS|EXT|ARB))?)))?|PRITE(_(R_MODE_NV|NV|COORD_ORIGIN|ARB))?)|CULL_(MODE_ATI|C(ENTER_ATI|LIP_ATI))|TOKEN|DISTANCE_ATTENUATION(_ARB)?|FADE_THRESHOLD_SIZE(_(SGIS|EXT|ARB))?))?|LYGON(_(MODE|BIT|S(MOOTH(_HINT)?|TIPPLE(_BIT)?)|TOKEN|OFFSET_(BIAS_EXT|UNITS|POINT|EXT|F(ILL|ACTOR(_EXT)?)|LINE)))?)|ER(SPECTIVE_CORRECTION_HINT|_STAGE_CONSTANTS_NV|TURB_EXT)|A(RALLEL_ARRAYS_INTEL|SS_THROUGH_(NV|TOKEN)|CK_(R(OW_LENGTH|ESAMPLE_SGIX)|S(UBSAMPLE_RATE_SGIX|KIP_(ROWS|IMAGES(_EXT)?|PIXELS|VOLUMES_SGIS)|WAP_BYTES)|CMYK_HINT_EXT|IMAGE_(HEIGHT(_EXT)?|DEPTH_SGIS)|LSB_FIRST|ALIGNMENT)))|E(X(TENSIONS|P(AND_N(ORMAL_NV|EGATE_NV))?)|M(BOSS_(MAP_NV|CONSTANT_NV|LIGHT_NV)|ISSION)|YE_(RADIAL_NV|DISTANCE_TO_(POINT_SGIS|LINE_SGIS)|P(OINT_SGIS|LANE(_ABSOLUTE_NV)?)|LINE(_SGIS|AR))|NABLE_BIT|_TIMES_F_NV|IGHTH_BIT_EXT|DGE(_FLAG(_ARRAY(_(BUFFER_BINDING(_ARB)?|STRIDE(_EXT)?|COUNT_EXT|POINTER(_EXT)?|EXT|LIST_(STRIDE_IBM|IBM)))?)?|FLAG_BIT_PGI)|VAL_BIT|QU(IV|AL)|LEMENT_(BUFFER_BINDING_APPLE|ARRAY_(BUFFER(_(BINDING(_ARB)?|ARB))?|TYPE_APPLE|POINTER_APPLE|APPLE)))|V(I(BRANCE_(BIAS_NV|SCALE_NV)|EWPORT(_BIT)?)|E(R(SION|TEX_(BLEND_ARB|S(HADER(_(BINDING_EXT|IN(STRUCTIONS_EXT|VARIANTS_EXT)|OPTIMIZED_EXT|EXT|VARIANTS_EXT|LOCAL(S_EXT|_CONSTANTS_EXT)|ARB))?|TATE_PROGRAM_NV)|CONSISTENT_HINT_PGI|DATA_HINT_PGI|PR(OGRAM_(BINDING_NV|NV|TWO_SIDE(_(NV|ARB))?|POINT_SIZE(_(NV|ARB))?|ARB)|ECLIP_(SGIX|HINT_SGIX))|WEIGHT(_ARRAY_(S(TRIDE_EXT|IZE_EXT)|TYPE_EXT|POINTER_EXT|EXT)|ING_EXT)|A(RRAY(_(RANGE_(NV|POINTER_(NV|APPLE)|VALID_NV|WITHOUT_FLUSH_NV|LENGTH_(NV|APPLE)|APPLE)|B(INDING_APPLE|UFFER_BINDING(_ARB)?)|S(T(RIDE(_EXT)?|ORAGE_HINT_APPLE)|IZE(_EXT)?)|COUNT_EXT|TYPE(_EXT)?|P(OINTER(_EXT)?|ARALLEL_POINTERS_INTEL)|EXT|LIST_(STRIDE_IBM|IBM)))?|TTRIB_ARRAY_(BUFFER_BINDING(_ARB)?|S(TRIDE(_ARB)?|IZE(_ARB)?)|NORMALIZED(_ARB)?|TYPE(_ARB)?|POINTER(_ARB)?|ENABLED(_ARB)?))))|NDOR|CTOR_EXT)|A(RIA(BLE_(G_NV|B_NV|C_NV|D_NV|E_NV|F_NV|A_NV)|NT_(DATATYPE_EXT|EXT|VALUE_EXT|ARRAY_(STRIDE_EXT|TYPE_EXT|POINTER_EXT|EXT)))|LIDATE_STATUS))|KEEP|Q(U(ERY_(RESULT(_A(RB|VAILABLE(_ARB)?))?|COUNTER_BITS(_ARB)?)|A(RTER_BIT_EXT|D(RATIC_ATTENUATION|S|_(STRIP|TEXTURE_SELECT_SGIS)))))?|F(R(ONT(_(RIGHT|FACE|LEFT|AND_BACK))?|A(GMENT_(MATERIAL_EXT|SHADER(_(DERIVATIVE_HINT|EXT|ARB))?|NORMAL_EXT|COLOR_(MATERIAL_(SGIX|PARAMETER_SGIX|FACE_SGIX)|EXT)|DEPTH(_EXT)?|PROGRAM_ARB|LIGHT(_MODEL_(NORMAL_INTERPOLATION_SGIX|TWO_SIDE_SGIX|LOCAL_VIEWER_SGIX|AMBIENT_SGIX)|ING_SGIX))|MEZOOM_(SGIX|FACTOR_SGIX)))|ILL|O(RCE_BLUE_TO_ONE_NV|G(_(MODE|BIT|S(CALE_(SGIX|VALUE_SGIX)|TART|PECULAR_TEXTURE_WIN)|HINT|CO(ORD(_(SRC|ARRAY(_(BUFFER_BINDING(_ARB)?|STRIDE|TYPE|POINTER))?)|INATE(_(SOURCE(_EXT)?|EXT|ARRAY(_(BUFFER_BINDING(_ARB)?|STRIDE(_EXT)?|TYPE(_EXT)?|POINTER(_EXT)?|EXT|LIST_(STRIDE_IBM|IBM)))?))?)?|LOR)|INDEX|OFFSET_(SGIX|VALUE_SGIX)|D(ISTANCE_MODE_NV|ENSITY)|END|FUNC_(SGIS|POINTS_SGIS)))?)|U(NC_(REVERSE_SUBTRACT(_EXT)?|SUBTRACT(_EXT)?|ADD(_EXT)?)|LL_(RANGE_EXT|STIPPLE_HINT_PGI))|E(NCE_APPLE|EDBACK(_BUFFER_(SIZE|TYPE|POINTER))?)|L(OAT|AT)|A(STEST|LSE))|W(R(ITE_ONLY(_ARB)?|AP_BORDER_SUN)|_EXT|IDE_LINE_HINT_PGI|EIGHT_(SUM_UNITY_ARB|ARRAY_(BUFFER_BINDING(_ARB)?|S(TRIDE_ARB|IZE_ARB)|TYPE_ARB|POINTER_ARB|ARB)))|L(I(GHT(_(MODEL_(SPECULAR_VECTOR_APPLE|COLOR_CONTROL(_EXT)?|TWO_SIDE|LOCAL_VIEWER|AMBIENT)|ENV_MODE_SGIX)|ING(_BIT)?)|ST_(MODE|B(IT|ASE)|INDEX|PRIORITY_SGIX)|N(E(S|_(RESET_TOKEN|BIT|S(MOOTH(_HINT)?|T(RIP|IPPLE(_(REPEAT|PATTERN))?))|TOKEN|WIDTH(_(RANGE|GRANULARITY))?|LOOP)|AR(_(MIPMAP_(NEAREST|LINEAR)|SHARPEN_(SGIS|COLOR_SGIS|ALPHA_SGIS)|CLIPMAP_(NEAREST_SGIX|LINEAR_SGIX)|DETAIL_(SGIS|COLOR_SGIS|ALPHA_SGIS)|ATTENUATION))?)?|K_STATUS))|O(GIC_OP(_MODE)?|CAL_(CONSTANT_(DATATYPE_EXT|EXT|VALUE_EXT)|EXT)|_(BIAS_NV|SCALE_NV)|WER_LEFT|AD)|UMINANCE(_ALPHA)?|E(RP_EXT|SS|QUAL|FT))|A(RRAY_(BUFFER(_(BINDING(_ARB)?|ARB))?|ELEMENT_LOCK_(COUNT_EXT|FIRST_EXT))|MBIENT(_AND_DIFFUSE)?|BGR(_EXT)?|SYNC_(READ_PIXELS_SGIX|MARKER_SGIX|HISTOGRAM_SGIX|TEX_IMAGE_SGIX|DRAW_PIXELS_SGIX)|ND(_(REVERSE|INVERTED))?|C(CUM(_(RED_BITS|GREEN_BITS|B(UFFER_BIT|LUE_BITS)|CLEAR_VALUE|ALPHA_BITS))?|TIVE_(STENCIL_FACE_EXT|TEXTURE(_ARB)?|UNIFORM(S|_MAX_LENGTH)|VERTEX_UNITS_ARB|ATTRIBUTE(S|_MAX_LENGTH)))|TT(RIB(_(STACK_DEPTH|ARRAY_(S(TRIDE_NV|IZE_NV)|TYPE_NV))|UTE_ARRAY_POINTER_NV)|ENUATION_EXT|ACHED_SHADERS)|DD(_(SIGNED(_(EXT|ARB))?|EXT))?|U(X_BUFFERS|TO_NORMAL)|VERAGE_(HP|EXT)|L(IASED_(POINT_SIZE_RANGE|LINE_WIDTH_RANGE)|PHA(_(M(IN_(SGIX|CLAMP_INGR)|AX_(SGIX|CLAMP_INGR))|B(I(TS|AS)|LEND_EQUATION_ATI)|SCALE|TEST(_(REF|FUNC))?))?|WAYS(_(SOFT_HINT_PGI|FAST_HINT_PGI))?|L(_ATTRIB_BITS|OW_DRAW_(MEM_HINT_PGI|OBJ_HINT_PGI|FRG_HINT_PGI|WIN_HINT_PGI)))))|UT_(R(GB(A)?|IGHT_BUTTON|ED)|G(REEN|AME_MODE_(REFRESH_RATE|HEIGHT|DISPLAY_CHANGED|P(IXEL_DEPTH|OSSIBLE)|WIDTH|ACTIVE))|XLIB_IMPLEMENTATION|M(IDDLE_BUTTON|ULTISAMPLE|ENU_(N(OT_IN_USE|UM_ITEMS)|IN_USE)|ACOSX_IMPLEMENTATION)|BLUE|S(CREEN_(HEIGHT(_MM)?|WIDTH(_MM)?)|T(ROKE_(ROMAN|MONO_ROMAN)|E(REO|NCIL))|INGLE)|H(IDDEN|AS_(MOUSE|SPACEBALL|TABLET|OVERLAY|DIAL_AND_BUTTON_BOX|JOYSTICK|KEYBOARD))|N(O(RMAL(_DAMAGED)?|T_VISIBLE)|UM_(MOUSE_BUTTONS|BUTTON_BOX_BUTTONS|SPACEBALL_BUTTONS|TABLET_BUTTONS|DIALS))|CURSOR_(RIGHT_(SIDE|ARROW)|BOTTOM_(RIGHT_CORNER|SIDE|LEFT_CORNER)|SPRAY|HELP|NONE|C(ROSSHAIR|YCLE)|T(OP_(RIGHT_CORNER|SIDE|LEFT_CORNER)|EXT)|IN(HERIT|FO)|DESTROY|UP_DOWN|FULL_CROSSHAIR|WAIT|LEFT_(RIGHT|SIDE|ARROW))|TRANSPARENT_INDEX|IN(IT_(DISPLAY_MODE|WINDOW_(X|HEIGHT|Y|WIDTH))|DEX)|O(VERLAY(_(DAMAGED|POSSIBLE))?|WNS_JOYSTICK)|D(ISPLAY_MODE_POSSIBLE|O(UBLE|WN)|E(PTH|VICE_(IGNORE_KEY_REPEAT|KEY_REPEAT)))|UP|JOYSTICK_(BUTTON(S|_(B|C|D|A))|POLL_RATE|AXES)|PARTIALLY_RETAINED|E(NTERED|LAPSED_TIME)|VI(SIBLE|DEO_RESIZE_(X(_DELTA)?|HEIGHT(_DELTA)?|Y(_DELTA)?|IN_USE|POSSIBLE|WIDTH(_DELTA)?))|KEY_(R(IGHT|EPEAT_(O(N|FF)|DEFAULT))|HOME|INSERT|DOWN|UP|PAGE_(DOWN|UP)|END|LEFT)|FULLY_(RETAINED|COVERED)|WIN(GDIAPI_DEFINED|DOW_(R(GBA|ED_SIZE)|GREEN_SIZE|X|B(UFFER_SIZE|LUE_SIZE)|STE(REO|NCIL_SIZE)|HEIGHT|Y|NUM_(SAMPLES|CHILDREN)|C(OLORMAP_SIZE|URSOR)|D(OUBLEBUFFER|EPTH_SIZE)|PARENT|FORMAT_ID|WIDTH|A(CCUM_(RED_SIZE|GREEN_SIZE|BLUE_SIZE|ALPHA_SIZE)|LPHA_SIZE)))|L(UMINANCE|EFT(_BUTTON)?|AYER_IN_USE)|A(C(CUM|TIVE_(SHIFT|CTRL|ALT))|PI(_VERSION|ENTRY_DEFINED)|LPHA))))\b
10
+ - name: support.function.open-gl
11
+ match: \b(gl(R(otate(d|f)|e(s(izeBuffersMESA|et(Minmax(EXT)?|Histogram(EXT)?))|nderMode|ct(s(v)?|i(v)?|d(v)?|f(v)?)|placementCode(u(s(SUN|vSUN)|i(SUN|Normal3fVertex3f(SUN|vSUN)|Color(3fVertex3f(SUN|vSUN)|4(ubVertex3f(SUN|vSUN)|fNormal3fVertex3f(SUN|vSUN)))|TexCoord2f(Normal3fVertex3f(SUN|vSUN)|Color4fNormal3fVertex3f(SUN|vSUN)|Vertex3f(SUN|vSUN))|vSUN|Vertex3f(SUN|vSUN))|b(SUN|vSUN))|PointerSUN)|questResidentProgramsNV|ferencePlaneSGIX|ad(Buffer|InstrumentsSGIX|Pixels))|asterPos(2(s(v)?|i(v)?|d(v)?|f(v)?)|3(s(v)?|i(v)?|d(v)?|f(v)?)|4(s(v)?|i(v)?|d(v)?|f(v)?)))|G(e(n(Buffers(ARB)?|SymbolsEXT|Textures(EXT)?|Programs(NV|ARB)|Vertex(ShadersEXT|ArraysAPPLE)|Queries(ARB)?|F(encesAPPLE|ragmentShadersEXT)|Lists|AsyncMarkersSGIX)|t(M(inmax(Parameter(iv(EXT)?|fv(EXT)?)|EXT)?|a(terial(iv|fv)|p(iv|dv|fv)))|B(ooleanv|uffer(SubData(ARB)?|P(ointerv(ARB)?|arameteriv(ARB)?)))|S(ha(der(iv|Source(ARB)?|InfoLog)|rpenTexFuncSGIS)|tring|eparableFilter(EXT)?)|H(istogram(Parameter(iv(EXT)?|fv(EXT)?)|EXT)?|andleARB)|C(o(nvolution(Parameter(iv(EXT)?|fv(EXT)?)|Filter(EXT)?)|lorTable(SGI|Parameter(iv(SGI|EXT)?|fv(SGI|EXT)?)|EXT)?|m(pressedTexImage(ARB)?|biner(StageParameterfvNV|InputParameter(ivNV|fvNV)|OutputParameter(ivNV|fvNV))))|lipPlane)|T(ex(Gen(iv|dv|fv)|Image|Parameter(iv|fv|PointervAPPLE)|Env(iv|fv)|FilterFuncSGIS|LevelParameter(iv|fv))|rackMatrixivNV)|I(n(strumentsSGIX|tegerv|variant(BooleanvEXT|IntegervEXT|FloatvEXT)|foLogARB)|mageTransformParameter(ivHP|fvHP))|ObjectParameter(ivARB|fvARB)|D(oublev|etailTexFuncSGIS)|Uniform(iv(ARB)?|fv(ARB)?|Location(ARB)?)|P(ixel(Map(u(sv|iv)|fv)|TexGenParameter(ivSGIS|fvSGIS))|o(interv(EXT)?|lygonStipple)|rogram(iv(NV|ARB)?|String(NV|ARB)|InfoLog|Parameter(dvNV|fvNV)|EnvParameter(dvARB|fvARB)|LocalParameter(dvARB|fvARB)))|Error|V(ertexAttrib(iv(NV|ARB)?|dv(NV|ARB)?|fv(NV|ARB)?|Pointerv(NV|ARB)?)|ariant(BooleanvEXT|IntegervEXT|PointervEXT|FloatvEXT))|Query(iv(ARB)?|Object(iv(ARB)?|uiv(ARB)?))|F(inalCombinerInputParameter(ivNV|fvNV)|ogFuncSGIS|loatv|ragment(Material(ivSGIX|fvSGIX)|Light(ivSGIX|fvSGIX)))|L(i(stParameter(ivSGIX|fvSGIX)|ght(iv|fv))|ocalConstant(BooleanvEXT|IntegervEXT|FloatvEXT))|A(ctive(Uniform(ARB)?|Attrib(ARB)?)|tt(ached(Shaders|ObjectsARB)|ribLocation(ARB)?))))|lobalAlphaFactor(sSUN|iSUN|dSUN|u(sSUN|iSUN|bSUN)|fSUN|bSUN))|M(inmax(EXT)?|ult(Matrix(d|f)|i(ModeDraw(ElementsIBM|ArraysIBM)|TexCoord(1(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|2(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|3(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|4(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?))|Draw(RangeElementArrayAPPLE|Element(s(EXT)?|ArrayAPPLE)|Arrays(EXT)?))|TransposeMatrix(d(ARB)?|f(ARB)?))|a(t(erial(i(v)?|f(v)?)|rixMode)|p(Grid(1(d|f)|2(d|f))|1(d|f)|Buffer(ARB)?|2(d|f)|VertexAttrib(1(dAPPLE|fAPPLE)|2(dAPPLE|fAPPLE)))))|B(i(n(ormal(3(s(vEXT|EXT)|i(vEXT|EXT)|d(vEXT|EXT)|f(vEXT|EXT)|b(vEXT|EXT))|PointerEXT)|d(MaterialParameterEXT|Buffer(ARB)?|Tex(GenParameterEXT|ture(UnitParameterEXT|EXT)?)|P(arameterEXT|rogram(NV|ARB))|Vertex(ShaderEXT|ArrayAPPLE)|FragmentShaderEXT|LightParameterEXT|AttribLocation(ARB)?))|tmap)|uffer(SubData(ARB)?|Data(ARB)?)|egin(VertexShaderEXT|Query(ARB)?|FragmentShaderEXT)?|lend(Color(EXT)?|Equation(Separate(EXT|ATI)|EXT)?|Func(Separate(EXT)?)?))|S(ha(de(Model|r(Source(ARB)?|Op(1EXT|2EXT|3EXT)))|rpenTexFuncSGIS)|c(issor|ale(d|f))|t(opInstrumentsSGIX|encil(Mask(Separate)?|Op(Separate(ATI)?)?|Func(Separate(ATI)?)?)|artInstrumentsSGIX)|priteParameter(i(SGIX|vSGIX)|f(SGIX|vSGIX))|e(condaryColor(3(s(v(EXT)?|EXT)?|i(v(EXT)?|EXT)?|d(v(EXT)?|EXT)?|u(s(v(EXT)?|EXT)?|i(v(EXT)?|EXT)?|b(v(EXT)?|EXT)?)|f(v(EXT)?|EXT)?|b(v(EXT)?|EXT)?)|Pointer(EXT|ListIBM)?)|t(InvariantEXT|F(enceAPPLE|ragmentShaderConstantEXT)|LocalConstantEXT)|parableFilter2D(EXT)?|lectBuffer)|w(izzleEXT|apAPPLE)|ample(Ma(sk(SGIS|EXT)|pEXT)|Coverage(ARB)?|Pa(ss(ARB)?|ttern(SGIS|EXT))))|Hi(stogram(EXT)?|nt(PGI)?)|N(ormal(3(s(v)?|i(v)?|d(v)?|f(v|Vertex3f(SUN|vSUN))?|b(v)?)|Pointer(vINTEL|EXT|ListIBM)?)|ewList)|C(o(nvolution(Parameter(i(v(EXT)?|EXT)?|f(v(EXT)?|EXT)?)|Filter(1D(EXT)?|2D(EXT)?))|py(Co(nvolutionFilter(1D(EXT)?|2D(EXT)?)|lor(SubTable(EXT)?|Table(SGI)?))|Tex(SubImage(1D(EXT)?|2D(EXT)?|3D(EXT)?)|Image(1D(EXT)?|2D(EXT)?))|Pixels)|lor(Ma(sk|terial)|SubTable(EXT)?|Table(SGI|Parameter(iv(SGI)?|fv(SGI)?)|EXT)?|3(s(v)?|i(v)?|d(v)?|u(s(v)?|i(v)?|b(v)?)|f(v|Vertex3f(SUN|vSUN))?|b(v)?)|4(s(v)?|i(v)?|d(v)?|u(s(v)?|i(v)?|b(v|Vertex(2f(SUN|vSUN)|3f(SUN|vSUN)))?)|f(Normal3fVertex3f(SUN|vSUN)|v)?|b(v)?)|Pointer(vINTEL|EXT|ListIBM)?|FragmentOp(1EXT|2EXT|3EXT))|m(p(ileShader(ARB)?|ressedTex(SubImage(1D(ARB)?|2D(ARB)?|3D(ARB)?)|Image(1D(ARB)?|2D(ARB)?|3D(ARB)?)))|biner(StageParameterfvNV|InputNV|OutputNV|Parameter(i(NV|vNV)|f(NV|vNV)))))|ull(Parameter(dvEXT|fvEXT)|Face)|l(i(pPlane|entActiveTexture(ARB)?)|ear(Stencil|Color|Index|Depth|Accum)?)|allList(s)?|reate(Shader(ObjectARB)?|Program(ObjectARB)?))|u(Get(String|NurbsProperty|TessProperty)|B(uild(1DMipmap(s(CTX)?|Levels(CTX)?)|2DMipmap(s(CTX)?|Levels(CTX)?)|3DMipmap(s(CTX)?|Levels(CTX)?))|egin(Surface|Curve|Trim|Polygon))|t(Re(shape(Func|Window)|portErrors|move(MenuItem|Overlay))|G(et(M(odifiers|enu)|Color|ProcAddress|Window)?|ameMode(Get|String))|M(o(tionFunc|useFunc)|enuStat(usFunc|eFunc)|ainLoop)|B(itmap(Character|Width|Length)|uttonBoxFunc)|S(how(Overlay|Window)|t(opVideoResizing|roke(Character|Width|Length))|olid(Sphere|C(one|ube)|T(orus|e(trahedron|apot))|Icosahedron|Octahedron|Dodecahedron)|urfaceTexture|p(ecial(UpFunc|Func)|aceball(RotateFunc|MotionFunc|ButtonFunc))|et(Menu|C(olor|ursor)|upVideoResizing|IconTitle|KeyRepeat|Window(Title)?)|wapBuffers)|Hide(Overlay|Window)|C(h(eckLoop|angeTo(MenuEntry|SubMenu))|opyColormap|reate(Menu|SubWindow|Window))|T(imerFunc|ablet(MotionFunc|ButtonFunc))|I(nit(Display(Mode|String)|Window(Size|Position))?|conifyWindow|dleFunc|gnoreKeyRepeat)|OverlayDisplayFunc|D(i(splayFunc|alsFunc)|e(stroy(Menu|Window)|tachMenu|viceGet))|UseLayer|JoystickFunc|P(o(s(t(Redisplay|OverlayRedisplay|Window(Redisplay|OverlayRedisplay))|itionWindow)|pWindow)|ushWindow|assiveMotionFunc)|E(stablishOverlay|nt(erGameMode|ryFunc)|xtensionSupported)|Vi(sibilityFunc|deo(Resize(Get)?|Pan))|Keyboard(UpFunc|Func)|F(orceJoystickFunc|ullScreen)|W(MCloseFunc|i(ndowStatusFunc|re(Sphere|C(one|ube)|T(orus|e(trahedron|apot))|Icosahedron|Octahedron|Dodecahedron))|arpPointer)|L(eaveGameMode|ayerGet)|A(ttachMenu|dd(MenuEntry|SubMenu)))|S(caleImage(CTX)?|phere)|N(urbs(Surface|C(urve|allback(Data(EXT)?)?)|Property)|e(w(NurbsRenderer(CTX)?|Tess(CTX)?|Quadric(CTX)?)|xtContour))|C(heckExtension|ylinder)|Tess(Begin(Contour|Polygon)|Normal|Callback|Property|End(Contour|Polygon)|Vertex)|Ortho2D(CTX)?|D(isk|elete(NurbsRenderer|Tess|Quadric))|UnProject(4)?|P(ickMatrix(CTX)?|erspective(CTX)?|wlCurve|artialDisk|roject)|E(nd(Surface|Curve|Trim|Polygon)|rrorString)|Quadric(Normals|Callback|Texture|Orientation|DrawStyle)|Lo(okAt(CTX)?|adSamplingMatrices))|T(e(st(ObjectAPPLE|FenceAPPLE)|x(Gen(i(v)?|d(v)?|f(v)?)|ture(RangeAPPLE|MaterialEXT|NormalEXT|ColorMaskSGIS|LightEXT)|SubImage(1D(EXT)?|2D(EXT)?|3D(EXT)?|4DSGIS)|Coord(1(s(v)?|i(v)?|d(v)?|f(v)?)|2(s(v)?|i(v)?|d(v)?|f(Normal3fVertex3f(SUN|vSUN)|Color(3fVertex3f(SUN|vSUN)|4(ubVertex3f(SUN|vSUN)|fNormal3fVertex3f(SUN|vSUN)))|v|Vertex3f(SUN|vSUN))?)|3(s(v)?|i(v)?|d(v)?|f(v)?)|4(s(v)?|i(v)?|d(v)?|f(Color4fNormal3fVertex4f(SUN|vSUN)|v|Vertex4f(SUN|vSUN))?)|Pointer(vINTEL|EXT|ListIBM)?)|Image(1D|2D|3D(EXT)?|4DSGIS)|Parameter(i(v)?|f(v)?)|Env(i(v)?|f(v)?)|FilterFuncSGIS))|a(ngent(3(s(vEXT|EXT)|i(vEXT|EXT)|d(vEXT|EXT)|f(vEXT|EXT)|b(vEXT|EXT))|PointerEXT)|gSampleBufferSGIX)|ra(nslate(d|f)|ckMatrixNV)|bufferMask3DFX)|I(s(Buffer(ARB)?|Shader|Texture(EXT)?|Program(NV|ARB)?|Enabled|V(ertexA(ttribEnabledAPPLE|rrayAPPLE)|ariantEnabledEXT)|Query(ARB)?|FenceAPPLE|List|AsyncMarkerSGIX)|n(s(trumentsBufferSGIX|ertComponentEXT)|terleavedArrays|itNames|dex(s(v)?|Ma(sk|terialEXT)|i(v)?|d(v)?|ub(v)?|f(v)?|Pointer(EXT|ListIBM)?|FuncEXT))|glooInterfaceSGIX|mageTransformParameter(i(HP|vHP)|f(HP|vHP)))|Ortho|D(isable(ClientState|V(ertexAttribA(PPLE|rray(ARB)?)|ariantClientStateEXT))?|e(ta(ch(Shader|ObjectARB)|ilTexFuncSGIS)|pth(Range|Mask|BoundsEXT|Func)|form(SGIX|ationMap3(dSGIX|fSGIX))|lete(Buffers(ARB)?|Shader|Textures(EXT)?|ObjectARB|Program(s(NV|ARB))?|Vertex(ShaderEXT|ArraysAPPLE)|Queries(ARB)?|F(encesAPPLE|ragmentShaderEXT)|Lists|AsyncMarkersSGIX))|raw(RangeElement(s(EXT)?|ArrayAPPLE)|Buffer(s(ARB)?)?|Pixels|Element(s|ArrayAPPLE)|Arrays(EXT)?))|U(seProgram(ObjectARB)?|n(iform(1(i(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|Matrix(2fv(ARB)?|3fv(ARB)?|4fv(ARB)?)|2(i(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|3(i(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|4(i(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?))|lockArraysEXT|mapBuffer(ARB)?))|P(ixel(Map(u(sv|iv)|fv)|Store(i|f)|T(exGen(SGIX|Parameter(i(SGIS|vSGIS)|f(SGIS|vSGIS)))|ransf(ormParameter(i(vEXT|EXT)|f(vEXT|EXT))|er(i|f)))|Zoom)|o(int(Size|Parameter(i(NV|v(NV)?)?|f(v(ARB)?|ARB)?))|p(Matrix|Name|ClientAttrib|Attrib)|l(ygon(Mode|Stipple|Offset(EXT)?)|l(InstrumentsSGIX|AsyncSGIX)))|NTriangles(iATI(X)?|fATI(X)?)|ush(Matrix|Name|ClientAttrib|Attrib)|assT(hrough|exCoordEXT)|r(ioritizeTextures(EXT)?|ogram(StringARB|Parameter(s4(dvNV|fvNV)|4(d(NV|vNV)|f(NV|vNV)))|EnvParameter4(d(vARB|ARB)|f(vARB|ARB))|LocalParameter4(d(vARB|ARB)|f(vARB|ARB)))))|E(n(d(VertexShaderEXT|Query(ARB)?|FragmentShaderEXT|List)?|able(ClientState|V(ertexAttribA(PPLE|rray(ARB)?)|ariantClientStateEXT))?)|dgeFlag(v|Pointer(EXT|ListIBM)?)?|val(Mesh(1|2)|Coord(1(d(v)?|f(v)?)|2(d(v)?|f(v)?))|Point(1|2))|lementPointerAPPLE|x(tractComponentEXT|ecuteProgramNV))|V(iewport|ertex(BlendARB|2(s(v)?|i(v)?|d(v)?|f(v)?)|3(s(v)?|i(v)?|d(v)?|f(v)?)|4(s(v)?|i(v)?|d(v)?|f(v)?)|Pointer(vINTEL|EXT|ListIBM)?|Weight(f(vEXT|EXT)|PointerEXT)|A(ttrib(s(1(svNV|dvNV|fvNV)|2(svNV|dvNV|fvNV)|3(svNV|dvNV|fvNV)|4(svNV|dvNV|ubvNV|fvNV))|1(s(NV|v(NV|ARB)?|ARB)?|d(NV|v(NV|ARB)?|ARB)?|f(NV|v(NV|ARB)?|ARB)?)|2(s(NV|v(NV|ARB)?|ARB)?|d(NV|v(NV|ARB)?|ARB)?|f(NV|v(NV|ARB)?|ARB)?)|3(s(NV|v(NV|ARB)?|ARB)?|d(NV|v(NV|ARB)?|ARB)?|f(NV|v(NV|ARB)?|ARB)?)|4(s(NV|v(NV|ARB)?|ARB)?|iv(ARB)?|d(NV|v(NV|ARB)?|ARB)?|N(sv(ARB)?|iv(ARB)?|u(sv(ARB)?|iv(ARB)?|b(v(ARB)?|ARB)?)|bv(ARB)?)|u(sv(ARB)?|iv(ARB)?|b(NV|v(NV|ARB)?))|f(NV|v(NV|ARB)?|ARB)?|bv(ARB)?)|Pointer(NV|ARB)?)|rray(Range(NV|APPLE)|ParameteriAPPLE)))|a(lidateProgram(ARB)?|riant(svEXT|ivEXT|dvEXT|u(svEXT|ivEXT|bvEXT)|fvEXT|PointerEXT|bvEXT)))|F(in(ish(RenderAPPLE|TextureSUNX|ObjectAPPLE|FenceAPPLE|AsyncSGIX)?|alCombinerInputNV)|og(i(v)?|Coord(d(v(EXT)?|EXT)?|f(v(EXT)?|EXT)?|Pointer(EXT|ListIBM)?)|f(v)?|FuncSGIS)|eedbackBuffer|lush(R(enderAPPLE|asterSGIX)|VertexArrayRange(NV|APPLE))?|r(ontFace|ustum|a(gment(Material(i(SGIX|vSGIX)|f(SGIX|vSGIX))|ColorMaterialSGIX|Light(Model(i(SGIX|vSGIX)|f(SGIX|vSGIX))|i(SGIX|vSGIX)|f(SGIX|vSGIX)))|meZoomSGIX)))|W(indowPos(2(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?)|3(s(v(ARB)?|ARB)?|i(v(ARB)?|ARB)?|d(v(ARB)?|ARB)?|f(v(ARB)?|ARB)?))|eight(svARB|ivARB|dvARB|u(svARB|ivARB|bvARB)|fvARB|PointerARB|bvARB)|riteMaskEXT)|L(i(st(Base|Parameter(i(SGIX|vSGIX)|f(SGIX|vSGIX)))|n(e(Stipple|Width)|kProgram(ARB)?)|ght(Model(i(v)?|f(v)?)|i(v)?|f(v)?|EnviSGIX))|o(ckArraysEXT|ad(Matrix(d|f)|Name|TransposeMatrix(d(ARB)?|f(ARB)?)|Identity(DeformationMapSGIX)?|ProgramNV)|gicOp))|A(syncMarkerSGIX|c(cum|tive(StencilFaceEXT|Texture(ARB)?))|ttach(Shader|ObjectARB)|pplyTextureEXT|lphaF(unc|ragmentOp(1EXT|2EXT|3EXT))|r(e(TexturesResident(EXT)?|ProgramsResidentNV)|rayElement(EXT)?))))\b
12
+ - name: meta.open-gl
13
+ match: \b(gl|GL)\w+
14
+ comment: for completions -- robbo
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: Pascal
3
+ fileTypes:
4
+ - pas
5
+ - p
6
+ scopeName: source.pascal
7
+ uuid: F42FA544-6B1C-11D9-9517-000D93589AF6
8
+ foldingStartMarker: \b(?i:(function|package|procedure|try|type))\b
9
+ patterns:
10
+ - name: keyword.control.pascal
11
+ match: \b(?i:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\b
12
+ - name: meta.function.prototype.pascal
13
+ captures:
14
+ "1":
15
+ name: storage.type.prototype.pascal
16
+ "2":
17
+ name: entity.name.function.prototype.pascal
18
+ match: \b(?i:(function|procedure))\b\s+(\w+(\.\w+)?)(\(.*?\))?;\s*(?=(?i:attribute|forward|external))
19
+ - name: meta.function.pascal
20
+ captures:
21
+ "1":
22
+ name: storage.type.function.pascal
23
+ "2":
24
+ name: entity.name.function.pascal
25
+ match: \b(?i:(function|procedure))\b\s+(\w+(\.\w+)?)
26
+ - name: constant.numeric.pascal
27
+ 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
28
+ - name: comment.line.double-dash.pascal.one
29
+ captures:
30
+ "1":
31
+ name: punctuation.definition.comment.pascal
32
+ match: (--).*$\n?
33
+ - name: comment.line.double-slash.pascal.two
34
+ captures:
35
+ "1":
36
+ name: punctuation.definition.comment.pascal
37
+ match: (//).*$\n?
38
+ - name: comment.block.pascal.one
39
+ captures:
40
+ "0":
41
+ name: punctuation.definition.comment.pascal
42
+ begin: \(\*
43
+ end: \*\)
44
+ - name: comment.block.pascal.two
45
+ captures:
46
+ "0":
47
+ name: punctuation.definition.comment.pascal
48
+ begin: \{
49
+ end: \}
50
+ - name: string.quoted.double.pascal
51
+ endCaptures:
52
+ "0":
53
+ name: punctuation.definition.string.end.pascal
54
+ begin: "\""
55
+ beginCaptures:
56
+ "0":
57
+ name: punctuation.definition.string.begin.pascal
58
+ end: "\""
59
+ patterns:
60
+ - name: constant.character.escape.pascal
61
+ match: \\.
62
+ comment: Double quoted strings are an extension and (generally) support C-style escape sequences.
63
+ - name: string.quoted.single.pascal
64
+ endCaptures:
65
+ "0":
66
+ name: punctuation.definition.string.end.pascal
67
+ begin: "'"
68
+ applyEndPatternLast: 1
69
+ beginCaptures:
70
+ "0":
71
+ name: punctuation.definition.string.begin.pascal
72
+ end: "'"
73
+ patterns:
74
+ - name: constant.character.escape.apostrophe.pascal
75
+ match: "''"
76
+ foldingStopMarker: \b(?i:(end))\b
77
+ keyEquivalent: ^~P
@@ -0,0 +1,1115 @@
1
+ ---
2
+ name: Perl
3
+ fileTypes:
4
+ - pl
5
+ - pm
6
+ - pod
7
+ - t
8
+ - PL
9
+ firstLineMatch: ^#!.*\bperl\b
10
+ scopeName: source.perl
11
+ repository:
12
+ nested_ltgt:
13
+ captures:
14
+ "1":
15
+ name: punctuation.section.scope.perl
16
+ begin: <
17
+ end: ">"
18
+ patterns:
19
+ - include: "#nested_ltgt"
20
+ escaped_char:
21
+ name: constant.character.escape.perl
22
+ match: \\.
23
+ nested_brackets:
24
+ captures:
25
+ "1":
26
+ name: punctuation.section.scope.perl
27
+ begin: \[
28
+ end: \]
29
+ patterns:
30
+ - include: "#escaped_char"
31
+ - include: "#nested_brackets"
32
+ nested_braces:
33
+ captures:
34
+ "1":
35
+ name: punctuation.section.scope.perl
36
+ begin: \{
37
+ end: \}
38
+ patterns:
39
+ - include: "#escaped_char"
40
+ - include: "#nested_braces"
41
+ line_comment:
42
+ patterns:
43
+ - name: meta.comment.full-line.perl
44
+ captures:
45
+ "1":
46
+ name: comment.line.number-sign.perl
47
+ "2":
48
+ name: punctuation.definition.comment.perl
49
+ match: ^((#).*$\n?)
50
+ - name: comment.line.number-sign.perl
51
+ captures:
52
+ "1":
53
+ name: punctuation.definition.comment.perl
54
+ match: (#).*$\n?
55
+ nested_parens_interpolated:
56
+ captures:
57
+ "1":
58
+ name: punctuation.section.scope.perl
59
+ begin: \(
60
+ end: \)
61
+ patterns:
62
+ - include: "#escaped_char"
63
+ - include: "#variable"
64
+ - include: "#nested_parens_interpolated"
65
+ nested_parens:
66
+ captures:
67
+ "1":
68
+ name: punctuation.section.scope.perl
69
+ begin: \(
70
+ end: \)
71
+ patterns:
72
+ - include: "#escaped_char"
73
+ - include: "#nested_parens"
74
+ nested_brackets_interpolated:
75
+ captures:
76
+ "1":
77
+ name: punctuation.section.scope.perl
78
+ begin: \[
79
+ end: \]
80
+ patterns:
81
+ - include: "#escaped_char"
82
+ - include: "#variable"
83
+ - include: "#nested_brackets_interpolated"
84
+ nested_braces_interpolated:
85
+ captures:
86
+ "1":
87
+ name: punctuation.section.scope.perl
88
+ begin: \{
89
+ end: \}
90
+ patterns:
91
+ - include: "#escaped_char"
92
+ - include: "#variable"
93
+ - include: "#nested_braces_interpolated"
94
+ nested_ltgt_interpolated:
95
+ captures:
96
+ "1":
97
+ name: punctuation.section.scope.perl
98
+ begin: <
99
+ end: ">"
100
+ patterns:
101
+ - include: "#variable"
102
+ - include: "#nested_ltgt_interpolated"
103
+ variable:
104
+ patterns:
105
+ - name: variable.other.regexp.match.perl
106
+ captures:
107
+ "1":
108
+ name: punctuation.definition.variable.perl
109
+ match: (\$)&(?![A-Za-z0-9_])
110
+ - name: variable.other.regexp.pre-match.perl
111
+ captures:
112
+ "1":
113
+ name: punctuation.definition.variable.perl
114
+ match: (\$)`(?![A-Za-z0-9_])
115
+ - name: variable.other.regexp.post-match.perl
116
+ captures:
117
+ "1":
118
+ name: punctuation.definition.variable.perl
119
+ match: (\$)'(?![A-Za-z0-9_])
120
+ - name: variable.other.regexp.last-paren-match.perl
121
+ captures:
122
+ "1":
123
+ name: punctuation.definition.variable.perl
124
+ match: (\$)\+(?![A-Za-z0-9_])
125
+ - name: variable.other.readwrite.list-separator.perl
126
+ captures:
127
+ "1":
128
+ name: punctuation.definition.variable.perl
129
+ match: (\$)"(?![A-Za-z0-9_])
130
+ - name: variable.other.predefined.program-name.perl
131
+ captures:
132
+ "1":
133
+ name: punctuation.definition.variable.perl
134
+ match: (\$)0(?![A-Za-z0-9_])
135
+ - name: variable.other.predefined.perl
136
+ captures:
137
+ "1":
138
+ name: punctuation.definition.variable.perl
139
+ match: (\$)[_ab\*\.\/\|,\\;#%=\-~^:?!\$<>\(\)\[\]@](?![A-Za-z0-9_])
140
+ - name: variable.other.subpattern.perl
141
+ captures:
142
+ "1":
143
+ name: punctuation.definition.variable.perl
144
+ match: (\$)[0-9]+(?![A-Za-z0-9_])
145
+ - name: variable.other.readwrite.global.perl
146
+ captures:
147
+ "1":
148
+ name: punctuation.definition.variable.perl
149
+ match: ([\$\@\%](#)?)([a-zA-Zx7f-xff\$]|::)([a-zA-Z0-9_x7f-xff\$]|::)*\b
150
+ - name: variable.other.readwrite.global.perl
151
+ captures:
152
+ "1":
153
+ name: punctuation.definition.variable.perl
154
+ "2":
155
+ name: punctuation.definition.variable.perl
156
+ match: (\$\{)(?:[a-zA-Zx7f-xff\$]|::)(?:[a-zA-Z0-9_x7f-xff\$]|::)*(\})
157
+ - name: variable.other.readwrite.global.special.perl
158
+ captures:
159
+ "1":
160
+ name: punctuation.definition.variable.perl
161
+ match: ([\$\@\%](#)?)[0-9_]\b
162
+ uuid: EDBFE125-6B1C-11D9-9189-000D93589AF6
163
+ foldingStartMarker: (/\*|(\{|\[|\()\s*$)
164
+ patterns:
165
+ - include: "#line_comment"
166
+ - name: comment.block.documentation.perl
167
+ captures:
168
+ "0":
169
+ name: punctuation.definition.comment.perl
170
+ begin: ^=
171
+ end: ^=cut
172
+ - include: "#variable"
173
+ - endCaptures:
174
+ "1":
175
+ name: string.regexp.compile.perl
176
+ "2":
177
+ name: punctuation.definition.string.perl
178
+ "3":
179
+ name: keyword.control.regexp-option.perl
180
+ begin: \b(?=qr\s*[^\s\w])
181
+ applyEndPatternLast: 1
182
+ end: ((([egimosx]*)))(?=(\s+\S|\s*[;\,\#\{\}\)]|$))
183
+ patterns:
184
+ - name: string.regexp.compile.nested_braces.perl
185
+ captures:
186
+ "0":
187
+ name: punctuation.definition.string.perl
188
+ "1":
189
+ name: support.function.perl
190
+ begin: (qr)\s*\{
191
+ end: \}
192
+ patterns:
193
+ - include: "#escaped_char"
194
+ - include: "#variable"
195
+ - include: "#nested_braces_interpolated"
196
+ - name: string.regexp.compile.nested_brackets.perl
197
+ captures:
198
+ "0":
199
+ name: punctuation.definition.string.perl
200
+ "1":
201
+ name: support.function.perl
202
+ begin: (qr)\s*\[
203
+ end: \]
204
+ patterns:
205
+ - include: "#escaped_char"
206
+ - include: "#variable"
207
+ - include: "#nested_brackets_interpolated"
208
+ - name: string.regexp.compile.nested_ltgt.perl
209
+ captures:
210
+ "0":
211
+ name: punctuation.definition.string.perl
212
+ "1":
213
+ name: support.function.perl
214
+ begin: (qr)\s*<
215
+ end: ">"
216
+ patterns:
217
+ - include: "#escaped_char"
218
+ - include: "#variable"
219
+ - include: "#nested_ltgt_interpolated"
220
+ - name: string.regexp.compile.nested_parens.perl
221
+ captures:
222
+ "0":
223
+ name: punctuation.definition.string.perl
224
+ "1":
225
+ name: support.function.perl
226
+ begin: (qr)\s*\(
227
+ end: \)
228
+ patterns:
229
+ - include: "#escaped_char"
230
+ - include: "#variable"
231
+ - include: "#nested_parens_interpolated"
232
+ - name: string.regexp.compile.single-quote.perl
233
+ captures:
234
+ "0":
235
+ name: punctuation.definition.string.perl
236
+ "1":
237
+ name: support.function.perl
238
+ begin: (qr)\s*\'
239
+ end: \'
240
+ patterns:
241
+ - include: "#escaped_char"
242
+ - name: string.regexp.compile.simple-delimiter.perl
243
+ captures:
244
+ "0":
245
+ name: punctuation.definition.string.perl
246
+ "1":
247
+ name: support.function.perl
248
+ begin: (qr)\s*([^\s\w\'\{\[\(\<])
249
+ end: \2
250
+ patterns:
251
+ - include: "#escaped_char"
252
+ - include: "#variable"
253
+ - include: "#nested_parens_interpolated"
254
+ comment: string.regexp.compile.perl
255
+ - endCaptures:
256
+ "1":
257
+ name: string.regexp.replace.perl
258
+ "2":
259
+ name: punctuation.definition.string.perl
260
+ "3":
261
+ name: keyword.control.regexp-option.perl
262
+ begin: \b(?=(s)(\s+\S|\s*[;\,\#\{\}\(\)\[<]|$))
263
+ applyEndPatternLast: 1
264
+ end: ((([egimosx]*)))(?=(\s+\S|\s*[;\,\#\{\}\)\]>]|$))
265
+ patterns:
266
+ - name: string.regexp.nested_braces.perl
267
+ captures:
268
+ "0":
269
+ name: punctuation.definition.string.perl
270
+ "1":
271
+ name: support.function.perl
272
+ begin: (s)\s*\{
273
+ end: \}
274
+ patterns:
275
+ - include: "#escaped_char"
276
+ - include: "#nested_braces"
277
+ - name: string.regexp.nested_brackets.perl
278
+ captures:
279
+ "0":
280
+ name: punctuation.definition.string.perl
281
+ "1":
282
+ name: support.function.perl
283
+ begin: (s)\s*\[
284
+ end: \]
285
+ patterns:
286
+ - include: "#escaped_char"
287
+ - include: "#nested_brackets"
288
+ - name: string.regexp.nested_ltgt.perl
289
+ captures:
290
+ "0":
291
+ name: punctuation.definition.string.perl
292
+ "1":
293
+ name: support.function.perl
294
+ begin: (s)\s*<
295
+ end: ">"
296
+ patterns:
297
+ - include: "#escaped_char"
298
+ - include: "#nested_ltgt"
299
+ - name: string.regexp.nested_parens.perl
300
+ captures:
301
+ "0":
302
+ name: punctuation.definition.string.perl
303
+ "1":
304
+ name: support.function.perl
305
+ begin: (s)\s*\(
306
+ end: \)
307
+ patterns:
308
+ - include: "#escaped_char"
309
+ - include: "#nested_parens"
310
+ - name: string.regexp.format.nested_braces.perl
311
+ captures:
312
+ "0":
313
+ name: punctuation.definition.string.perl
314
+ begin: \{
315
+ end: \}
316
+ patterns:
317
+ - include: "#escaped_char"
318
+ - include: "#variable"
319
+ - include: "#nested_braces_interpolated"
320
+ - name: string.regexp.format.nested_brackets.perl
321
+ captures:
322
+ "0":
323
+ name: punctuation.definition.string.perl
324
+ begin: \[
325
+ end: \]
326
+ patterns:
327
+ - include: "#escaped_char"
328
+ - include: "#variable"
329
+ - include: "#nested_brackets_interpolated"
330
+ - name: string.regexp.format.nested_ltgt.perl
331
+ captures:
332
+ "0":
333
+ name: punctuation.definition.string.perl
334
+ begin: <
335
+ end: ">"
336
+ patterns:
337
+ - include: "#escaped_char"
338
+ - include: "#variable"
339
+ - include: "#nested_ltgt_interpolated"
340
+ - name: string.regexp.format.nested_parens.perl
341
+ captures:
342
+ "0":
343
+ name: punctuation.definition.string.perl
344
+ begin: \(
345
+ end: \)
346
+ patterns:
347
+ - include: "#escaped_char"
348
+ - include: "#variable"
349
+ - include: "#nested_parens_interpolated"
350
+ - name: string.regexp.format.single_quote.perl
351
+ captures:
352
+ "0":
353
+ name: punctuation.definition.string.perl
354
+ begin: "'"
355
+ end: "'"
356
+ patterns:
357
+ - name: constant.character.escape.perl
358
+ match: \\['\\]
359
+ - name: string.regexp.format.simple_delimiter.perl
360
+ captures:
361
+ "0":
362
+ name: punctuation.definition.string.perl
363
+ begin: ([^\s\w\[({<;])
364
+ end: \1
365
+ patterns:
366
+ - include: "#escaped_char"
367
+ - include: "#variable"
368
+ - match: \s+
369
+ comment: string.regexp.replace.perl
370
+ - endCaptures:
371
+ "1":
372
+ name: string.regexp.replace.perl
373
+ "2":
374
+ name: punctuation.definition.string.perl
375
+ "3":
376
+ name: keyword.control.regexp-option.perl
377
+ begin: \b(?=s([^\s\w\[({<]).*\1([egimos]*)([\}\)\;\,]|\s+))
378
+ end: ((([egimos]*)))(?=([\}\)\;\,]|\s+|$))
379
+ patterns:
380
+ - name: string.regexp.replaceXXX.simple_delimiter.perl
381
+ captures:
382
+ "0":
383
+ name: punctuation.definition.string.perl
384
+ "1":
385
+ name: support.function.perl
386
+ begin: (s\s*)([^\s\w\[({<])
387
+ end: (?=\2)
388
+ patterns:
389
+ - include: "#escaped_char"
390
+ - name: string.regexp.replaceXXX.format.single_quote.perl
391
+ captures:
392
+ "0":
393
+ name: punctuation.definition.string.perl
394
+ begin: "'"
395
+ end: "'"
396
+ patterns:
397
+ - name: constant.character.escape.perl.perl
398
+ match: \\['\\]
399
+ - name: string.regexp.replaceXXX.format.simple_delimiter.perl
400
+ captures:
401
+ "0":
402
+ name: punctuation.definition.string.perl
403
+ begin: ([^\s\w\[({<])
404
+ end: \1
405
+ patterns:
406
+ - include: "#escaped_char"
407
+ - include: "#variable"
408
+ comment: string.regexp.replaceXXX
409
+ - endCaptures:
410
+ "1":
411
+ name: string.regexp.replace.perl
412
+ "2":
413
+ name: punctuation.definition.string.perl
414
+ "3":
415
+ name: keyword.control.regexp-option.perl
416
+ begin: \b(?=(?<!\\)s\s*([^\s\w\[({<]))
417
+ end: \2((([egimos]*x[egimos]*)))\b
418
+ patterns:
419
+ - name: string.regexp.replace.extended.simple_delimiter.perl
420
+ captures:
421
+ "0":
422
+ name: punctuation.definition.string.perl
423
+ "1":
424
+ name: support.function.perl
425
+ begin: (s)\s*(.)
426
+ end: (?=\2)
427
+ patterns:
428
+ - include: "#escaped_char"
429
+ - name: string.regexp.replace.extended.simple_delimiter.perl
430
+ captures:
431
+ "0":
432
+ name: punctuation.definition.string.perl
433
+ begin: "'"
434
+ end: "'(?=[egimos]*x[egimos]*)\\b"
435
+ patterns:
436
+ - include: "#escaped_char"
437
+ - name: string.regexp.replace.extended.simple_delimiter.perl
438
+ captures:
439
+ "0":
440
+ name: punctuation.definition.string.perl
441
+ begin: (.)
442
+ end: \1(?=[egimos]*x[egimos]*)\b
443
+ patterns:
444
+ - include: "#escaped_char"
445
+ - include: "#variable"
446
+ comment: string.regexp.replace.extended
447
+ - name: constant.other.key.perl
448
+ match: \b\w+\s*(?==>)
449
+ - name: constant.other.bareword.perl
450
+ match: (?<={)\s*\w+\s*(?=})
451
+ - name: string.regexp.find.perl
452
+ captures:
453
+ "1":
454
+ name: punctuation.definition.string.perl
455
+ "5":
456
+ name: punctuation.definition.string.perl
457
+ match: (?<!\\)((~\s*)?\/)(.*?)(?<!\\)(\\{2})*(\/)
458
+ - name: string.regexp.find.extended.perl
459
+ endCaptures:
460
+ "1":
461
+ name: keyword.control.regexp-option.perl
462
+ captures:
463
+ "0":
464
+ name: punctuation.definition.string.perl
465
+ begin: (?<!\\)(\~\s*\/)
466
+ end: \/([cgimos]*x[cgimos]*)\b
467
+ patterns:
468
+ - include: "#escaped_char"
469
+ - include: "#variable"
470
+ - name: meta.class.perl
471
+ captures:
472
+ "1":
473
+ name: keyword.control.perl
474
+ "2":
475
+ name: entity.name.type.class.perl
476
+ "3":
477
+ name: comment.line.number-sign.perl
478
+ "4":
479
+ name: punctuation.definition.comment.perl
480
+ match: ^\s*(package)\s+(\S+)\s*((#).*)?$\n?
481
+ - name: meta.function.perl
482
+ captures:
483
+ "1":
484
+ name: storage.type.sub.perl
485
+ "2":
486
+ name: entity.name.function.perl
487
+ "3":
488
+ name: storage.type.method.perl
489
+ match: ^\s*(sub)\s+([-a-zA-Z0-9_]+)\s*(\([\$\@\*;]*\))?
490
+ - name: meta.function.perl
491
+ captures:
492
+ "1":
493
+ name: entity.name.function.perl
494
+ "2":
495
+ name: punctuation.definition.parameters.perl
496
+ "3":
497
+ name: variable.parameter.function.perl
498
+ match: ^\s*(BEGIN|END|DESTROY)\b
499
+ - name: meta.leading-tabs
500
+ begin: ^(?=(\t| {4}))
501
+ end: (?=[^\t\s])
502
+ patterns:
503
+ - captures:
504
+ "1":
505
+ name: meta.odd-tab
506
+ "2":
507
+ name: meta.even-tab
508
+ match: (\t| {4})(\t| {4})?
509
+ - name: string.regexp.find-m.perl
510
+ captures:
511
+ "1":
512
+ name: support.function.perl
513
+ "2":
514
+ name: punctuation.definition.string.perl
515
+ "5":
516
+ name: punctuation.definition.string.perl
517
+ match: \b(m)\s*(?<!\\)([^\[\{\(A-Za-z0-9\s])(.*?)(?<!\\)(\\{2})*(\2)
518
+ - name: string.regexp.find-m-paren.perl
519
+ endCaptures:
520
+ "0":
521
+ name: punctuation.definition.string.end.perl
522
+ begin: \b(m)\s*(?<!\\)\(
523
+ beginCaptures:
524
+ "0":
525
+ name: punctuation.definition.string.begin.perl
526
+ end: \)
527
+ patterns:
528
+ - include: "#escaped_char"
529
+ - include: "#nested_parens_interpolated"
530
+ - include: "#variable"
531
+ - name: string.regexp.find-m-brace.perl
532
+ endCaptures:
533
+ "0":
534
+ name: punctuation.definition.string.end.perl
535
+ begin: \b(m)\s*(?<!\\)\{
536
+ beginCaptures:
537
+ "0":
538
+ name: punctuation.definition.string.begin.perl
539
+ end: \}
540
+ patterns:
541
+ - include: "#escaped_char"
542
+ - include: "#nested_braces_interpolated"
543
+ - include: "#variable"
544
+ - name: string.regexp.find-m-bracket.perl
545
+ endCaptures:
546
+ "0":
547
+ name: punctuation.definition.string.end.perl
548
+ begin: \b(m)\s*(?<!\\)\[
549
+ beginCaptures:
550
+ "0":
551
+ name: punctuation.definition.string.begin.perl
552
+ end: \]
553
+ patterns:
554
+ - include: "#escaped_char"
555
+ - include: "#nested_brackets_interpolated"
556
+ - include: "#variable"
557
+ - name: string.regexp.find-m-ltgt.perl
558
+ endCaptures:
559
+ "0":
560
+ name: punctuation.definition.string.end.perl
561
+ begin: \b(m)\s*(?<!\\)\<
562
+ beginCaptures:
563
+ "0":
564
+ name: punctuation.definition.string.begin.perl
565
+ end: \>
566
+ patterns:
567
+ - include: "#escaped_char"
568
+ - include: "#nested_ltgt_interpolated"
569
+ - include: "#variable"
570
+ - name: string.regexp.replace.perl
571
+ captures:
572
+ "8":
573
+ name: punctuation.definition.string.perl
574
+ "1":
575
+ name: support.function.perl
576
+ "2":
577
+ name: punctuation.definition.string.perl
578
+ "5":
579
+ name: punctuation.definition.string.perl
580
+ match: \b(s|tr|y)\s*([^A-Za-z0-9\s])(.*?)(?<!\\)(\\{2})*(\2)(.*?)(?<!\\)(\\{2})*(\2)
581
+ - name: constant.language.perl
582
+ match: \b(__FILE__|__LINE__|__PACKAGE__)\b
583
+ - name: keyword.control.perl
584
+ match: \b(continue|die|do|else|elsif|exit|for|foreach|goto|if|last|next|redo|return|select|unless|until|wait|while|switch|case|package|require|use|eval)\b
585
+ - name: storage.modifier.perl
586
+ match: \b(my|our|local)\b
587
+ - name: keyword.operator.filetest.perl
588
+ match: (?<!\w)\-[rwx0RWXOezsfdlpSbctugkTBMAC]\b
589
+ - name: keyword.operator.logical.perl
590
+ match: \b(and|or|xor|as)\b
591
+ - name: keyword.operator.comparison.perl
592
+ match: (<=>| =>|->)
593
+ - captures:
594
+ "0":
595
+ name: punctuation.definition.string.perl
596
+ "1":
597
+ name: string.unquoted.heredoc.doublequote.perl
598
+ "2":
599
+ name: punctuation.definition.heredoc.perl
600
+ begin: ((<<) *"HTML").*\n?
601
+ contentName: text.html.embedded.perl
602
+ end: (^HTML$)
603
+ patterns:
604
+ - include: "#escaped_char"
605
+ - include: "#variable"
606
+ - include: text.html.basic
607
+ - captures:
608
+ "0":
609
+ name: punctuation.definition.string.perl
610
+ "1":
611
+ name: string.unquoted.heredoc.doublequote.perl
612
+ "2":
613
+ name: punctuation.definition.heredoc.perl
614
+ begin: ((<<) *"XML").*\n?
615
+ contentName: text.xml.embedded.perl
616
+ end: (^XML$)
617
+ patterns:
618
+ - include: "#escaped_char"
619
+ - include: "#variable"
620
+ - include: text.xml
621
+ - captures:
622
+ "0":
623
+ name: punctuation.definition.string.perl
624
+ "1":
625
+ name: string.unquoted.heredoc.doublequote.perl
626
+ "2":
627
+ name: punctuation.definition.heredoc.perl
628
+ begin: ((<<) *"CSS").*\n?
629
+ contentName: text.css.embedded.perl
630
+ end: (^CSS$)
631
+ patterns:
632
+ - include: "#escaped_char"
633
+ - include: "#variable"
634
+ - include: source.css
635
+ - captures:
636
+ "0":
637
+ name: punctuation.definition.string.perl
638
+ "1":
639
+ name: string.unquoted.heredoc.doublequote.perl
640
+ "2":
641
+ name: punctuation.definition.heredoc.perl
642
+ begin: ((<<) *"JAVASCRIPT").*\n?
643
+ contentName: text.js.embedded.perl
644
+ end: (^JAVASCRIPT$)
645
+ patterns:
646
+ - include: "#escaped_char"
647
+ - include: "#variable"
648
+ - include: source.js
649
+ - captures:
650
+ "0":
651
+ name: punctuation.definition.string.perl
652
+ "1":
653
+ name: string.unquoted.heredoc.doublequote.perl
654
+ "2":
655
+ name: punctuation.definition.heredoc.perl
656
+ begin: ((<<) *"SQL").*\n?
657
+ contentName: source.sql.embedded.perl
658
+ end: (^SQL$)
659
+ patterns:
660
+ - include: "#escaped_char"
661
+ - include: "#variable"
662
+ - include: source.sql
663
+ - captures:
664
+ "0":
665
+ name: punctuation.definition.string.perl
666
+ "1":
667
+ name: string.unquoted.heredoc.doublequote.perl
668
+ "2":
669
+ name: punctuation.definition.heredoc.perl
670
+ begin: ((<<) *"POSTSCRIPT").*\n?
671
+ contentName: text.postscript.embedded.perl
672
+ end: (^POSTSCRIPT$)
673
+ patterns:
674
+ - include: "#escaped_char"
675
+ - include: "#variable"
676
+ - include: source.postscript
677
+ - captures:
678
+ "0":
679
+ name: punctuation.definition.string.perl
680
+ "1":
681
+ name: string.unquoted.heredoc.doublequote.perl
682
+ "2":
683
+ name: punctuation.definition.heredoc.perl
684
+ begin: ((<<) *"([^"]*)").*\n?
685
+ contentName: string.unquoted.heredoc.doublequote.perl
686
+ end: (^\3$)
687
+ patterns:
688
+ - include: "#escaped_char"
689
+ - include: "#variable"
690
+ - captures:
691
+ "0":
692
+ name: punctuation.definition.string.perl
693
+ "1":
694
+ name: string.unquoted.heredoc.quote.perl
695
+ "2":
696
+ name: punctuation.definition.heredoc.perl
697
+ begin: ((<<) *'HTML').*\n?
698
+ contentName: text.html.embedded.perl
699
+ end: (^HTML$)
700
+ patterns:
701
+ - include: text.html.basic
702
+ - captures:
703
+ "0":
704
+ name: punctuation.definition.string.perl
705
+ "1":
706
+ name: string.unquoted.heredoc.quote.perl
707
+ "2":
708
+ name: punctuation.definition.heredoc.perl
709
+ begin: ((<<) *'XML').*\n?
710
+ contentName: text.xml.embedded.perl
711
+ end: (^XML$)
712
+ patterns:
713
+ - include: text.xml
714
+ - captures:
715
+ "0":
716
+ name: punctuation.definition.string.perl
717
+ "1":
718
+ name: string.unquoted.heredoc.quote.perl
719
+ "2":
720
+ name: punctuation.definition.heredoc.perl
721
+ begin: ((<<) *'CSS').*\n?
722
+ contentName: text.css.embedded.perl
723
+ end: (^CSS$)
724
+ patterns:
725
+ - include: source.css
726
+ - captures:
727
+ "0":
728
+ name: punctuation.definition.string.perl
729
+ "1":
730
+ name: string.unquoted.heredoc.quote.perl
731
+ "2":
732
+ name: punctuation.definition.heredoc.perl
733
+ begin: ((<<) *'JAVASCRIPT').*\n?
734
+ contentName: text.js.embedded.perl
735
+ end: (^JAVASCRIPT$)
736
+ patterns:
737
+ - include: source.js
738
+ - captures:
739
+ "0":
740
+ name: punctuation.definition.string.perl
741
+ "1":
742
+ name: string.unquoted.heredoc.quote.perl
743
+ "2":
744
+ name: punctuation.definition.heredoc.perl
745
+ begin: ((<<) *'SQL').*\n?
746
+ contentName: source.sql.embedded.perl
747
+ end: (^SQL$)
748
+ patterns:
749
+ - include: source.sql
750
+ - captures:
751
+ "0":
752
+ name: punctuation.definition.string.perl
753
+ "1":
754
+ name: string.unquoted.heredoc.quote.perl
755
+ "2":
756
+ name: punctuation.definition.heredoc.perl
757
+ begin: ((<<) *'POSTSCRIPT').*\n?
758
+ contentName: source.postscript.embedded.perl
759
+ end: (^POSTSCRIPT)
760
+ patterns:
761
+ - include: source.postscript
762
+ - captures:
763
+ "0":
764
+ name: punctuation.definition.string.perl
765
+ "1":
766
+ name: string.unquoted.heredoc.quote.perl
767
+ "2":
768
+ name: punctuation.definition.heredoc.perl
769
+ begin: ((<<) *'([^']*)').*\n?
770
+ contentName: string.unquoted.heredoc.quote.perl
771
+ end: (^\3$)
772
+ - captures:
773
+ "0":
774
+ name: punctuation.definition.string.perl
775
+ "1":
776
+ name: string.unquoted.heredoc.backtick.perl
777
+ "2":
778
+ name: punctuation.definition.heredoc.perl
779
+ begin: ((<<) *`([^`]*)`).*\n?
780
+ contentName: string.unquoted.heredoc.backtick.perl
781
+ end: (^\3$)
782
+ patterns:
783
+ - include: "#escaped_char"
784
+ - include: "#variable"
785
+ - captures:
786
+ "0":
787
+ name: punctuation.definition.string.perl
788
+ "1":
789
+ name: string.unquoted.heredoc.perl
790
+ "2":
791
+ name: punctuation.definition.heredoc.perl
792
+ begin: ((<<) *HTML\b).*\n?
793
+ contentName: text.html.embedded.perl
794
+ end: (^HTML$)
795
+ patterns:
796
+ - include: "#escaped_char"
797
+ - include: "#variable"
798
+ - include: text.html.basic
799
+ - captures:
800
+ "0":
801
+ name: punctuation.definition.string.perl
802
+ "1":
803
+ name: string.unquoted.heredoc.perl
804
+ "2":
805
+ name: punctuation.definition.heredoc.perl
806
+ begin: ((<<) *XML\b).*\n?
807
+ contentName: text.xml.embedded.perl
808
+ end: (^XML$)
809
+ patterns:
810
+ - include: "#escaped_char"
811
+ - include: "#variable"
812
+ - include: text.xml
813
+ - captures:
814
+ "0":
815
+ name: punctuation.definition.string.perl
816
+ "1":
817
+ name: string.unquoted.heredoc.perl
818
+ "2":
819
+ name: punctuation.definition.heredoc.perl
820
+ begin: ((<<) *SQL\b).*\n?
821
+ contentName: source.sql.embedded.perl
822
+ end: (^SQL$)
823
+ patterns:
824
+ - include: "#escaped_char"
825
+ - include: "#variable"
826
+ - include: source.sql
827
+ - captures:
828
+ "0":
829
+ name: punctuation.definition.string.perl
830
+ "1":
831
+ name: string.unquoted.heredoc.perl
832
+ "2":
833
+ name: punctuation.definition.heredoc.perl
834
+ begin: ((<<) *POSTSCRIPT\b).*\n?
835
+ contentName: source.postscript.embedded.perl
836
+ end: (^POSTSCRIPT)
837
+ patterns:
838
+ - include: "#escaped_char"
839
+ - include: "#variable"
840
+ - include: source.postscript
841
+ - captures:
842
+ "0":
843
+ name: punctuation.definition.string.perl
844
+ "1":
845
+ name: string.unquoted.heredoc.perl
846
+ "2":
847
+ name: punctuation.definition.heredoc.perl
848
+ begin: ((<<) *((?![=\d\$ ])[^;,'"`\s)]*)).*\n?
849
+ contentName: string.unquoted.heredoc.perl
850
+ end: (^\3$)
851
+ patterns:
852
+ - include: "#escaped_char"
853
+ - include: "#variable"
854
+ - name: string.quoted.other.qq.perl
855
+ endCaptures:
856
+ "0":
857
+ name: punctuation.definition.string.end.perl
858
+ begin: \bqq\s*([^\(\{\[\<\w\s])
859
+ beginCaptures:
860
+ "0":
861
+ name: punctuation.definition.string.begin.perl
862
+ end: \1
863
+ patterns:
864
+ - include: "#escaped_char"
865
+ - include: "#variable"
866
+ - name: string.interpolated.qx.perl
867
+ endCaptures:
868
+ "0":
869
+ name: punctuation.definition.string.end.perl
870
+ begin: \bqx\s*([^'\(\{\[\<\w\s])
871
+ beginCaptures:
872
+ "0":
873
+ name: punctuation.definition.string.begin.perl
874
+ end: \1
875
+ patterns:
876
+ - include: "#escaped_char"
877
+ - include: "#variable"
878
+ - name: string.interpolated.qx.single-quote.perl
879
+ endCaptures:
880
+ "0":
881
+ name: punctuation.definition.string.end.perl
882
+ begin: \bqx\s*'
883
+ beginCaptures:
884
+ "0":
885
+ name: punctuation.definition.string.begin.perl
886
+ end: "'"
887
+ patterns:
888
+ - include: "#escaped_char"
889
+ - name: string.quoted.double.perl
890
+ endCaptures:
891
+ "0":
892
+ name: punctuation.definition.string.end.perl
893
+ begin: "\""
894
+ beginCaptures:
895
+ "0":
896
+ name: punctuation.definition.string.begin.perl
897
+ end: "\""
898
+ patterns:
899
+ - include: "#escaped_char"
900
+ - include: "#variable"
901
+ - name: string.quoted.other.q.perl
902
+ endCaptures:
903
+ "0":
904
+ name: punctuation.definition.string.end.perl
905
+ begin: \bqw?\s*([^\(\{\[\<\w\s])
906
+ beginCaptures:
907
+ "0":
908
+ name: punctuation.definition.string.begin.perl
909
+ end: \1
910
+ patterns:
911
+ - include: "#escaped_char"
912
+ - name: string.quoted.single.perl
913
+ endCaptures:
914
+ "0":
915
+ name: punctuation.definition.string.end.perl
916
+ begin: "'"
917
+ beginCaptures:
918
+ "0":
919
+ name: punctuation.definition.string.begin.perl
920
+ end: "'"
921
+ patterns:
922
+ - name: constant.character.escape.perl
923
+ match: \\['\\]
924
+ - name: string.interpolated.perl
925
+ endCaptures:
926
+ "0":
927
+ name: punctuation.definition.string.end.perl
928
+ begin: `
929
+ beginCaptures:
930
+ "0":
931
+ name: punctuation.definition.string.begin.perl
932
+ end: `
933
+ patterns:
934
+ - include: "#escaped_char"
935
+ - include: "#variable"
936
+ - name: string.quoted.other.qq-paren.perl
937
+ endCaptures:
938
+ "0":
939
+ name: punctuation.definition.string.end.perl
940
+ begin: \bqq\s*\(
941
+ beginCaptures:
942
+ "0":
943
+ name: punctuation.definition.string.begin.perl
944
+ end: \)
945
+ patterns:
946
+ - include: "#escaped_char"
947
+ - include: "#nested_parens_interpolated"
948
+ - include: "#variable"
949
+ - name: string.quoted.other.qq-brace.perl
950
+ endCaptures:
951
+ "0":
952
+ name: punctuation.definition.string.end.perl
953
+ begin: \bqq\s*\{
954
+ beginCaptures:
955
+ "0":
956
+ name: punctuation.definition.string.begin.perl
957
+ end: \}
958
+ patterns:
959
+ - include: "#escaped_char"
960
+ - include: "#nested_braces_interpolated"
961
+ - include: "#variable"
962
+ - name: string.quoted.other.qq-bracket.perl
963
+ endCaptures:
964
+ "0":
965
+ name: punctuation.definition.string.end.perl
966
+ begin: \bqq\s*\[
967
+ beginCaptures:
968
+ "0":
969
+ name: punctuation.definition.string.begin.perl
970
+ end: \]
971
+ patterns:
972
+ - include: "#escaped_char"
973
+ - include: "#nested_brackets_interpolated"
974
+ - include: "#variable"
975
+ - name: string.quoted.other.qq-ltgt.perl
976
+ endCaptures:
977
+ "0":
978
+ name: punctuation.definition.string.end.perl
979
+ begin: \bqq\s*\<
980
+ beginCaptures:
981
+ "0":
982
+ name: punctuation.definition.string.begin.perl
983
+ end: \>
984
+ patterns:
985
+ - include: "#escaped_char"
986
+ - include: "#nested_ltgt_interpolated"
987
+ - include: "#variable"
988
+ - name: string.interpolated.qx-paren.perl
989
+ endCaptures:
990
+ "0":
991
+ name: punctuation.definition.string.end.perl
992
+ begin: \bqx\s*\(
993
+ beginCaptures:
994
+ "0":
995
+ name: punctuation.definition.string.begin.perl
996
+ end: \)
997
+ patterns:
998
+ - include: "#escaped_char"
999
+ - include: "#nested_parens_interpolated"
1000
+ - include: "#variable"
1001
+ - name: string.interpolated.qx-brace.perl
1002
+ endCaptures:
1003
+ "0":
1004
+ name: punctuation.definition.string.end.perl
1005
+ begin: \bqx\s*\{
1006
+ beginCaptures:
1007
+ "0":
1008
+ name: punctuation.definition.string.begin.perl
1009
+ end: \}
1010
+ patterns:
1011
+ - include: "#escaped_char"
1012
+ - include: "#nested_braces_interpolated"
1013
+ - include: "#variable"
1014
+ - name: string.interpolated.qx-bracket.perl
1015
+ endCaptures:
1016
+ "0":
1017
+ name: punctuation.definition.string.end.perl
1018
+ begin: \bqx\s*\[
1019
+ beginCaptures:
1020
+ "0":
1021
+ name: punctuation.definition.string.begin.perl
1022
+ end: \]
1023
+ patterns:
1024
+ - include: "#escaped_char"
1025
+ - include: "#nested_brackets_interpolated"
1026
+ - include: "#variable"
1027
+ - name: string.interpolated.qx-ltgt.perl
1028
+ endCaptures:
1029
+ "0":
1030
+ name: punctuation.definition.string.end.perl
1031
+ begin: \bqx\s*\<
1032
+ beginCaptures:
1033
+ "0":
1034
+ name: punctuation.definition.string.begin.perl
1035
+ end: \>
1036
+ patterns:
1037
+ - include: "#escaped_char"
1038
+ - include: "#nested_ltgt_interpolated"
1039
+ - include: "#variable"
1040
+ - name: string.quoted.other.q-paren.perl
1041
+ endCaptures:
1042
+ "0":
1043
+ name: punctuation.definition.string.end.perl
1044
+ begin: \bqw?\s*\(
1045
+ beginCaptures:
1046
+ "0":
1047
+ name: punctuation.definition.string.begin.perl
1048
+ end: \)
1049
+ patterns:
1050
+ - include: "#escaped_char"
1051
+ - include: "#nested_parens"
1052
+ - name: string.quoted.other.q-brace.perl
1053
+ endCaptures:
1054
+ "0":
1055
+ name: punctuation.definition.string.end.perl
1056
+ begin: \bqw?\s*\{
1057
+ beginCaptures:
1058
+ "0":
1059
+ name: punctuation.definition.string.begin.perl
1060
+ end: \}
1061
+ patterns:
1062
+ - include: "#escaped_char"
1063
+ - include: "#nested_braces"
1064
+ - name: string.quoted.other.q-bracket.perl
1065
+ endCaptures:
1066
+ "0":
1067
+ name: punctuation.definition.string.end.perl
1068
+ begin: \bqw?\s*\[
1069
+ beginCaptures:
1070
+ "0":
1071
+ name: punctuation.definition.string.begin.perl
1072
+ end: \]
1073
+ patterns:
1074
+ - include: "#escaped_char"
1075
+ - include: "#nested_brackets"
1076
+ - name: string.quoted.other.q-ltgt.perl
1077
+ endCaptures:
1078
+ "0":
1079
+ name: punctuation.definition.string.end.perl
1080
+ begin: \bqw?\s*\<
1081
+ beginCaptures:
1082
+ "0":
1083
+ name: punctuation.definition.string.begin.perl
1084
+ end: \>
1085
+ patterns:
1086
+ - include: "#escaped_char"
1087
+ - include: "#nested_ltgt"
1088
+ - name: string.unquoted.program-block.perl
1089
+ endCaptures:
1090
+ "0":
1091
+ name: punctuation.definition.string.end.perl
1092
+ begin: ^__\w+__
1093
+ beginCaptures:
1094
+ "0":
1095
+ name: punctuation.definition.string.begin.perl
1096
+ end: $
1097
+ - name: meta.format.perl
1098
+ begin: \b(format)\s+([A-Za-z]+)\s*=
1099
+ beginCaptures:
1100
+ "1":
1101
+ name: support.function.perl
1102
+ "2":
1103
+ name: entity.name.function.format.perl
1104
+ end: ^\.\s*$
1105
+ patterns:
1106
+ - include: "#line_comment"
1107
+ - include: "#variable"
1108
+ - name: support.function.perl
1109
+ match: \b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|format|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|print|printf|push|q|qq|quotemeta|qw|qx|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y|q|qw|qq|qx)\b
1110
+ foldingStopMarker: (\*/|^\s*(\}|\]|\)))
1111
+ keyEquivalent: ^~P
1112
+ comment: |
1113
+
1114
+ TODO: Include RegExp syntax
1115
+