rmthemegen 0.0.47 → 0.0.48

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 (237) hide show
  1. data/.rvmrc +1 -1
  2. data/lib/rmthemegen.rb +154 -1
  3. data/test/create_syntax.rb +2 -5
  4. metadata +24 -257
  5. data/vendor/ultraviolet-0.10.2/History.txt +0 -25
  6. data/vendor/ultraviolet-0.10.2/Manifest.txt +0 -233
  7. data/vendor/ultraviolet-0.10.2/README.txt +0 -52
  8. data/vendor/ultraviolet-0.10.2/Rakefile +0 -51
  9. data/vendor/ultraviolet-0.10.2/bin/theme2latexrender +0 -122
  10. data/vendor/ultraviolet-0.10.2/bin/theme2xhtmlrender +0 -156
  11. data/vendor/ultraviolet-0.10.2/bin/uv +0 -140
  12. data/vendor/ultraviolet-0.10.2/lib/uv.rb +0 -94
  13. data/vendor/ultraviolet-0.10.2/lib/uv/render_processor.rb +0 -131
  14. data/vendor/ultraviolet-0.10.2/lib/uv/utility.rb +0 -206
  15. data/vendor/ultraviolet-0.10.2/render/latex/active4d.render +0 -132
  16. data/vendor/ultraviolet-0.10.2/render/latex/all_hallows_eve.render +0 -96
  17. data/vendor/ultraviolet-0.10.2/render/latex/amy.render +0 -171
  18. data/vendor/ultraviolet-0.10.2/render/latex/blackboard.render +0 -111
  19. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_black.render +0 -552
  20. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_dull.render +0 -561
  21. data/vendor/ultraviolet-0.10.2/render/latex/cobalt.render +0 -162
  22. data/vendor/ultraviolet-0.10.2/render/latex/dawn.render +0 -126
  23. data/vendor/ultraviolet-0.10.2/render/latex/eiffel.render +0 -132
  24. data/vendor/ultraviolet-0.10.2/render/latex/espresso_libre.render +0 -123
  25. data/vendor/ultraviolet-0.10.2/render/latex/idle.render +0 -93
  26. data/vendor/ultraviolet-0.10.2/render/latex/iplastic.render +0 -99
  27. data/vendor/ultraviolet-0.10.2/render/latex/lazy.render +0 -96
  28. data/vendor/ultraviolet-0.10.2/render/latex/mac_classic.render +0 -135
  29. data/vendor/ultraviolet-0.10.2/render/latex/magicwb_amiga.render +0 -117
  30. data/vendor/ultraviolet-0.10.2/render/latex/pastels_on_dark.render +0 -204
  31. data/vendor/ultraviolet-0.10.2/render/latex/slush_poppies.render +0 -123
  32. data/vendor/ultraviolet-0.10.2/render/latex/spacecadet.render +0 -81
  33. data/vendor/ultraviolet-0.10.2/render/latex/sunburst.render +0 -186
  34. data/vendor/ultraviolet-0.10.2/render/latex/twilight.render +0 -153
  35. data/vendor/ultraviolet-0.10.2/render/latex/zenburnesque.render +0 -126
  36. data/vendor/ultraviolet-0.10.2/render/old/txt2tags.render +0 -131
  37. data/vendor/ultraviolet-0.10.2/render/xhtml/active4d.render +0 -140
  38. data/vendor/ultraviolet-0.10.2/render/xhtml/all_hallows_eve.render +0 -104
  39. data/vendor/ultraviolet-0.10.2/render/xhtml/amy.render +0 -179
  40. data/vendor/ultraviolet-0.10.2/render/xhtml/blackboard.render +0 -119
  41. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_black.render +0 -560
  42. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_dull.render +0 -569
  43. data/vendor/ultraviolet-0.10.2/render/xhtml/cobalt.render +0 -170
  44. data/vendor/ultraviolet-0.10.2/render/xhtml/dawn.render +0 -134
  45. data/vendor/ultraviolet-0.10.2/render/xhtml/eiffel.render +0 -140
  46. data/vendor/ultraviolet-0.10.2/render/xhtml/espresso_libre.render +0 -131
  47. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/active4d.css +0 -114
  48. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/all_hallows_eve.css +0 -72
  49. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/amy.css +0 -147
  50. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/blackboard.css +0 -88
  51. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_black.css +0 -605
  52. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_dull.css +0 -599
  53. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/cobalt.css +0 -149
  54. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/dawn.css +0 -121
  55. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/eiffel.css +0 -121
  56. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/espresso_libre.css +0 -109
  57. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/idle.css +0 -62
  58. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/iplastic.css +0 -80
  59. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/lazy.css +0 -73
  60. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/mac_classic.css +0 -123
  61. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/magicwb_amiga.css +0 -104
  62. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/pastels_on_dark.css +0 -188
  63. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/slush_poppies.css +0 -85
  64. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/spacecadet.css +0 -51
  65. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/sunburst.css +0 -180
  66. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/twilight.css +0 -137
  67. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/zenburnesque.css +0 -91
  68. data/vendor/ultraviolet-0.10.2/render/xhtml/idle.render +0 -101
  69. data/vendor/ultraviolet-0.10.2/render/xhtml/iplastic.render +0 -107
  70. data/vendor/ultraviolet-0.10.2/render/xhtml/lazy.render +0 -104
  71. data/vendor/ultraviolet-0.10.2/render/xhtml/mac_classic.render +0 -143
  72. data/vendor/ultraviolet-0.10.2/render/xhtml/magicwb_amiga.render +0 -125
  73. data/vendor/ultraviolet-0.10.2/render/xhtml/pastels_on_dark.render +0 -212
  74. data/vendor/ultraviolet-0.10.2/render/xhtml/slush_poppies.render +0 -131
  75. data/vendor/ultraviolet-0.10.2/render/xhtml/spacecadet.render +0 -89
  76. data/vendor/ultraviolet-0.10.2/render/xhtml/sunburst.render +0 -194
  77. data/vendor/ultraviolet-0.10.2/render/xhtml/twilight.render +0 -161
  78. data/vendor/ultraviolet-0.10.2/render/xhtml/zenburnesque.render +0 -134
  79. data/vendor/ultraviolet-0.10.2/syntax/actionscript.syntax +0 -97
  80. data/vendor/ultraviolet-0.10.2/syntax/active4d.syntax +0 -276
  81. data/vendor/ultraviolet-0.10.2/syntax/active4d_html.syntax +0 -311
  82. data/vendor/ultraviolet-0.10.2/syntax/active4d_ini.syntax +0 -50
  83. data/vendor/ultraviolet-0.10.2/syntax/active4d_library.syntax +0 -21
  84. data/vendor/ultraviolet-0.10.2/syntax/ada.syntax +0 -33
  85. data/vendor/ultraviolet-0.10.2/syntax/antlr.syntax +0 -151
  86. data/vendor/ultraviolet-0.10.2/syntax/apache.syntax +0 -191
  87. data/vendor/ultraviolet-0.10.2/syntax/applescript.syntax +0 -384
  88. data/vendor/ultraviolet-0.10.2/syntax/asp.syntax +0 -70
  89. data/vendor/ultraviolet-0.10.2/syntax/asp_vb.net.syntax +0 -129
  90. data/vendor/ultraviolet-0.10.2/syntax/bibtex.syntax +0 -151
  91. data/vendor/ultraviolet-0.10.2/syntax/blog_html.syntax +0 -41
  92. data/vendor/ultraviolet-0.10.2/syntax/blog_markdown.syntax +0 -42
  93. data/vendor/ultraviolet-0.10.2/syntax/blog_text.syntax +0 -27
  94. data/vendor/ultraviolet-0.10.2/syntax/blog_textile.syntax +0 -27
  95. data/vendor/ultraviolet-0.10.2/syntax/build.syntax +0 -53
  96. data/vendor/ultraviolet-0.10.2/syntax/bulletin_board.syntax +0 -287
  97. data/vendor/ultraviolet-0.10.2/syntax/c++.syntax +0 -109
  98. data/vendor/ultraviolet-0.10.2/syntax/c.syntax +0 -326
  99. data/vendor/ultraviolet-0.10.2/syntax/cake.syntax +0 -55
  100. data/vendor/ultraviolet-0.10.2/syntax/camlp4.syntax +0 -36
  101. data/vendor/ultraviolet-0.10.2/syntax/cm.syntax +0 -32
  102. data/vendor/ultraviolet-0.10.2/syntax/coldfusion.syntax +0 -119
  103. data/vendor/ultraviolet-0.10.2/syntax/context_free.syntax +0 -176
  104. data/vendor/ultraviolet-0.10.2/syntax/cs.syntax +0 -59
  105. data/vendor/ultraviolet-0.10.2/syntax/css.syntax +0 -195
  106. data/vendor/ultraviolet-0.10.2/syntax/css_experimental.syntax +0 -1925
  107. data/vendor/ultraviolet-0.10.2/syntax/csv.syntax +0 -68
  108. data/vendor/ultraviolet-0.10.2/syntax/d.syntax +0 -142
  109. data/vendor/ultraviolet-0.10.2/syntax/diff.syntax +0 -81
  110. data/vendor/ultraviolet-0.10.2/syntax/dokuwiki.syntax +0 -204
  111. data/vendor/ultraviolet-0.10.2/syntax/dot.syntax +0 -47
  112. data/vendor/ultraviolet-0.10.2/syntax/doxygen.syntax +0 -43
  113. data/vendor/ultraviolet-0.10.2/syntax/dylan.syntax +0 -62
  114. data/vendor/ultraviolet-0.10.2/syntax/eiffel.syntax +0 -78
  115. data/vendor/ultraviolet-0.10.2/syntax/erlang.syntax +0 -922
  116. data/vendor/ultraviolet-0.10.2/syntax/f-script.syntax +0 -80
  117. data/vendor/ultraviolet-0.10.2/syntax/fortran.syntax +0 -141
  118. data/vendor/ultraviolet-0.10.2/syntax/fxscript.syntax +0 -142
  119. data/vendor/ultraviolet-0.10.2/syntax/greasemonkey.syntax +0 -34
  120. data/vendor/ultraviolet-0.10.2/syntax/gri.syntax +0 -83
  121. data/vendor/ultraviolet-0.10.2/syntax/groovy.syntax +0 -191
  122. data/vendor/ultraviolet-0.10.2/syntax/gtd.syntax +0 -22
  123. data/vendor/ultraviolet-0.10.2/syntax/gtdalt.syntax +0 -143
  124. data/vendor/ultraviolet-0.10.2/syntax/haml.syntax +0 -88
  125. data/vendor/ultraviolet-0.10.2/syntax/haskell.syntax +0 -88
  126. data/vendor/ultraviolet-0.10.2/syntax/html-asp.syntax +0 -27
  127. data/vendor/ultraviolet-0.10.2/syntax/html.syntax +0 -362
  128. data/vendor/ultraviolet-0.10.2/syntax/html_django.syntax +0 -36
  129. data/vendor/ultraviolet-0.10.2/syntax/html_for_asp.net.syntax +0 -424
  130. data/vendor/ultraviolet-0.10.2/syntax/html_mason.syntax +0 -119
  131. data/vendor/ultraviolet-0.10.2/syntax/html_rails.syntax +0 -40
  132. data/vendor/ultraviolet-0.10.2/syntax/html_tcl.syntax +0 -26
  133. data/vendor/ultraviolet-0.10.2/syntax/icalendar.syntax +0 -32
  134. data/vendor/ultraviolet-0.10.2/syntax/inform.syntax +0 -48
  135. data/vendor/ultraviolet-0.10.2/syntax/ini.syntax +0 -55
  136. data/vendor/ultraviolet-0.10.2/syntax/installer_distribution_script.syntax +0 -77
  137. data/vendor/ultraviolet-0.10.2/syntax/io.syntax +0 -81
  138. data/vendor/ultraviolet-0.10.2/syntax/java.syntax +0 -211
  139. data/vendor/ultraviolet-0.10.2/syntax/javaproperties.syntax +0 -20
  140. data/vendor/ultraviolet-0.10.2/syntax/javascript.syntax +0 -256
  141. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype.syntax +0 -72
  142. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  143. data/vendor/ultraviolet-0.10.2/syntax/jquery_javascript.syntax +0 -114
  144. data/vendor/ultraviolet-0.10.2/syntax/json.syntax +0 -136
  145. data/vendor/ultraviolet-0.10.2/syntax/languagedefinition.syntax +0 -708
  146. data/vendor/ultraviolet-0.10.2/syntax/latex.syntax +0 -566
  147. data/vendor/ultraviolet-0.10.2/syntax/latex_beamer.syntax +0 -41
  148. data/vendor/ultraviolet-0.10.2/syntax/latex_log.syntax +0 -50
  149. data/vendor/ultraviolet-0.10.2/syntax/latex_memoir.syntax +0 -64
  150. data/vendor/ultraviolet-0.10.2/syntax/lexflex.syntax +0 -219
  151. data/vendor/ultraviolet-0.10.2/syntax/lighttpd.syntax +0 -54
  152. data/vendor/ultraviolet-0.10.2/syntax/lilypond.syntax +0 -492
  153. data/vendor/ultraviolet-0.10.2/syntax/lisp.syntax +0 -61
  154. data/vendor/ultraviolet-0.10.2/syntax/literate_haskell.syntax +0 -24
  155. data/vendor/ultraviolet-0.10.2/syntax/logo.syntax +0 -29
  156. data/vendor/ultraviolet-0.10.2/syntax/logtalk.syntax +0 -152
  157. data/vendor/ultraviolet-0.10.2/syntax/lua.syntax +0 -86
  158. data/vendor/ultraviolet-0.10.2/syntax/m.syntax +0 -142
  159. data/vendor/ultraviolet-0.10.2/syntax/macports_portfile.syntax +0 -163
  160. data/vendor/ultraviolet-0.10.2/syntax/mail.syntax +0 -118
  161. data/vendor/ultraviolet-0.10.2/syntax/makefile.syntax +0 -36
  162. data/vendor/ultraviolet-0.10.2/syntax/man.syntax +0 -17
  163. data/vendor/ultraviolet-0.10.2/syntax/markdown.syntax +0 -543
  164. data/vendor/ultraviolet-0.10.2/syntax/mediawiki.syntax +0 -567
  165. data/vendor/ultraviolet-0.10.2/syntax/mel.syntax +0 -92
  166. data/vendor/ultraviolet-0.10.2/syntax/mips.syntax +0 -66
  167. data/vendor/ultraviolet-0.10.2/syntax/mod_perl.syntax +0 -50
  168. data/vendor/ultraviolet-0.10.2/syntax/modula-3.syntax +0 -47
  169. data/vendor/ultraviolet-0.10.2/syntax/moinmoin.syntax +0 -189
  170. data/vendor/ultraviolet-0.10.2/syntax/mootools.syntax +0 -572
  171. data/vendor/ultraviolet-0.10.2/syntax/movable_type.syntax +0 -162
  172. data/vendor/ultraviolet-0.10.2/syntax/multimarkdown.syntax +0 -39
  173. data/vendor/ultraviolet-0.10.2/syntax/objective-c++.syntax +0 -18
  174. data/vendor/ultraviolet-0.10.2/syntax/objective-c.syntax +0 -233
  175. data/vendor/ultraviolet-0.10.2/syntax/ocaml.syntax +0 -764
  176. data/vendor/ultraviolet-0.10.2/syntax/ocamllex.syntax +0 -167
  177. data/vendor/ultraviolet-0.10.2/syntax/ocamlyacc.syntax +0 -184
  178. data/vendor/ultraviolet-0.10.2/syntax/opengl.syntax +0 -14
  179. data/vendor/ultraviolet-0.10.2/syntax/pascal.syntax +0 -77
  180. data/vendor/ultraviolet-0.10.2/syntax/perl.syntax +0 -1115
  181. data/vendor/ultraviolet-0.10.2/syntax/php.syntax +0 -1253
  182. data/vendor/ultraviolet-0.10.2/syntax/plain_text.syntax +0 -32
  183. data/vendor/ultraviolet-0.10.2/syntax/pmwiki.syntax +0 -113
  184. data/vendor/ultraviolet-0.10.2/syntax/postscript.syntax +0 -114
  185. data/vendor/ultraviolet-0.10.2/syntax/processing.syntax +0 -106
  186. data/vendor/ultraviolet-0.10.2/syntax/prolog.syntax +0 -40
  187. data/vendor/ultraviolet-0.10.2/syntax/property_list.syntax +0 -635
  188. data/vendor/ultraviolet-0.10.2/syntax/python.syntax +0 -868
  189. data/vendor/ultraviolet-0.10.2/syntax/python_django.syntax +0 -21
  190. data/vendor/ultraviolet-0.10.2/syntax/qmake_project.syntax +0 -114
  191. data/vendor/ultraviolet-0.10.2/syntax/qt_c++.syntax +0 -26
  192. data/vendor/ultraviolet-0.10.2/syntax/quake3_config.syntax +0 -32
  193. data/vendor/ultraviolet-0.10.2/syntax/r.syntax +0 -81
  194. data/vendor/ultraviolet-0.10.2/syntax/r_console.syntax +0 -16
  195. data/vendor/ultraviolet-0.10.2/syntax/ragel.syntax +0 -201
  196. data/vendor/ultraviolet-0.10.2/syntax/rd_r_documentation.syntax +0 -91
  197. data/vendor/ultraviolet-0.10.2/syntax/regexp.syntax +0 -50
  198. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_oniguruma.syntax +0 -107
  199. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_python.syntax +0 -109
  200. data/vendor/ultraviolet-0.10.2/syntax/release_notes.syntax +0 -46
  201. data/vendor/ultraviolet-0.10.2/syntax/remind.syntax +0 -253
  202. data/vendor/ultraviolet-0.10.2/syntax/restructuredtext.syntax +0 -250
  203. data/vendor/ultraviolet-0.10.2/syntax/rez.syntax +0 -80
  204. data/vendor/ultraviolet-0.10.2/syntax/ruby.syntax +0 -1035
  205. data/vendor/ultraviolet-0.10.2/syntax/ruby_experimental.syntax +0 -145
  206. data/vendor/ultraviolet-0.10.2/syntax/ruby_on_rails.syntax +0 -88
  207. data/vendor/ultraviolet-0.10.2/syntax/s5.syntax +0 -69
  208. data/vendor/ultraviolet-0.10.2/syntax/scheme.syntax +0 -347
  209. data/vendor/ultraviolet-0.10.2/syntax/scilab.syntax +0 -41
  210. data/vendor/ultraviolet-0.10.2/syntax/setext.syntax +0 -147
  211. data/vendor/ultraviolet-0.10.2/syntax/shell-unix-generic.syntax +0 -384
  212. data/vendor/ultraviolet-0.10.2/syntax/slate.syntax +0 -149
  213. data/vendor/ultraviolet-0.10.2/syntax/smarty.syntax +0 -63
  214. data/vendor/ultraviolet-0.10.2/syntax/sql.syntax +0 -237
  215. data/vendor/ultraviolet-0.10.2/syntax/sql_rails.syntax +0 -18
  216. data/vendor/ultraviolet-0.10.2/syntax/ssh-config.syntax +0 -33
  217. data/vendor/ultraviolet-0.10.2/syntax/standard_ml.syntax +0 -121
  218. data/vendor/ultraviolet-0.10.2/syntax/strings_file.syntax +0 -39
  219. data/vendor/ultraviolet-0.10.2/syntax/subversion_commit_message.syntax +0 -36
  220. data/vendor/ultraviolet-0.10.2/syntax/sweave.syntax +0 -84
  221. data/vendor/ultraviolet-0.10.2/syntax/swig.syntax +0 -57
  222. data/vendor/ultraviolet-0.10.2/syntax/tcl.syntax +0 -152
  223. data/vendor/ultraviolet-0.10.2/syntax/template_toolkit.syntax +0 -121
  224. data/vendor/ultraviolet-0.10.2/syntax/tex.syntax +0 -86
  225. data/vendor/ultraviolet-0.10.2/syntax/tex_math.syntax +0 -49
  226. data/vendor/ultraviolet-0.10.2/syntax/textile.syntax +0 -215
  227. data/vendor/ultraviolet-0.10.2/syntax/tsv.syntax +0 -50
  228. data/vendor/ultraviolet-0.10.2/syntax/twiki.syntax +0 -241
  229. data/vendor/ultraviolet-0.10.2/syntax/txt2tags.syntax +0 -79
  230. data/vendor/ultraviolet-0.10.2/syntax/vectorscript.syntax +0 -57
  231. data/vendor/ultraviolet-0.10.2/syntax/xhtml_1.0.syntax +0 -4027
  232. data/vendor/ultraviolet-0.10.2/syntax/xml.syntax +0 -180
  233. data/vendor/ultraviolet-0.10.2/syntax/xml_strict.syntax +0 -92
  234. data/vendor/ultraviolet-0.10.2/syntax/xsl.syntax +0 -60
  235. data/vendor/ultraviolet-0.10.2/syntax/yaml.syntax +0 -160
  236. data/vendor/ultraviolet-0.10.2/syntax/yui_javascript.syntax +0 -176
  237. data/vendor/ultraviolet-0.10.2/test/test_uv.rb +0 -0
@@ -1,764 +0,0 @@
1
- ---
2
- name: OCaml
3
- fileTypes:
4
- - ml
5
- - mli
6
- scopeName: source.ocaml
7
- repository:
8
- moduleref:
9
- patterns:
10
- - name: meta.module-reference.ocaml
11
- beginCaptures:
12
- "1":
13
- name: support.other.module.ocaml
14
- "2":
15
- name: punctuation.separator.module-reference.ocaml
16
- match: \b([A-Z][a-zA-Z0-9'_]*)(\.)
17
- variables:
18
- patterns:
19
- - name: variable.parameter.unit.ocaml
20
- match: \(\)
21
- - include: "#constants"
22
- - include: "#moduleref"
23
- - name: variable.parameter.labeled.ocaml
24
- begin: (~)([a-z][a-zA-Z0-9'_]*)(\s*:\s*)?
25
- beginCaptures:
26
- "1":
27
- name: punctuation.definition.labeled-parameter.ocaml
28
- "2":
29
- name: entity.name.tag.label.ocaml
30
- "3":
31
- name: punctuation.separator.label.ocaml
32
- end: \s
33
- patterns:
34
- - include: "#variables"
35
- - name: variable.parameter.optional.ocaml
36
- captures:
37
- "1":
38
- name: punctuation.definition.optional-parameter.ocaml
39
- "2":
40
- name: entity.name.tag.label.optional.ocaml
41
- match: (\?)([a-z][a-zA-Z0-9_]*)
42
- - name: variable.parameter.optional.ocaml
43
- endCaptures:
44
- "1":
45
- name: punctuation.definition.optional-parameter.ocaml
46
- begin: (\?)(\()([a-z_][a-zA-Z0-9'_]*)\s*(=)
47
- beginCaptures:
48
- "1":
49
- name: punctuation.definition.optional-parameter.ocaml
50
- "2":
51
- name: punctuation.definition.optional-parameter.ocaml
52
- "3":
53
- name: entity.name.tag.label.optional.ocaml
54
- "4":
55
- name: punctuation.separator.optional-parameter-assignment.ocaml
56
- end: (\))
57
- patterns:
58
- - include: $self
59
- - name: meta.parameter.type-constrained.ocaml
60
- endCaptures:
61
- "1":
62
- name: punctuation.section.type-constraint.ocaml
63
- begin: (\()(?=(~[a-z][a-zA-Z0-9_]*:|("(\\"|[^"])*")|[^\(\)~"])+(?<!:)(:>|:(?![:=])))
64
- beginCaptures:
65
- "1":
66
- name: punctuation.section.type-constraint.ocaml
67
- end: (\))
68
- patterns:
69
- - name: storage.type.ocaml
70
- begin: (?<!:)(:>|:(?![:=]))
71
- beginCaptures:
72
- "1":
73
- name: punctuation.separator.type-constraint.ocaml
74
- end: (?=\))
75
- patterns:
76
- - name: meta.paren.group
77
- begin: \(
78
- end: \)
79
- - include: "#variables"
80
- - include: "#comments"
81
- - name: meta.paren-group.ocaml
82
- begin: \(
83
- end: \)
84
- patterns:
85
- - include: "#variables"
86
- - name: variable.parameter.tuple.ocaml
87
- endCaptures:
88
- "1":
89
- name: punctuation.definition.tuple.ocaml
90
- begin: (\()
91
- beginCaptures:
92
- "1":
93
- name: punctuation.definition.tuple.ocaml
94
- end: (\))
95
- patterns:
96
- - include: "#matchpatterns"
97
- - include: "#variables"
98
- - name: punctuation.separator.tuple.ocaml
99
- match: ","
100
- - name: variable.parameter.record.ocaml
101
- endCaptures:
102
- "1":
103
- name: punctuation.definition.record.ocaml
104
- begin: (\{)
105
- beginCaptures:
106
- "1":
107
- name: punctuation.definition.record.ocaml
108
- end: (\})
109
- patterns:
110
- - include: "#moduleref"
111
- - name: meta.recordfield.match.ocaml
112
- endCaptures:
113
- "1":
114
- name: punctuation.separator.record.ocaml
115
- begin: \b([a-z][a-zA-Z0-9'_]*)\s*(=)
116
- beginCaptures:
117
- "1":
118
- name: entity.name.tag.record.ocaml
119
- "2":
120
- name: punctuation.separator.record.field-assignment.ocaml
121
- end: (;)|(?=\})
122
- patterns:
123
- - include: "#matchpatterns"
124
- - include: "#storagetypes"
125
- - name: variable.parameter.ocaml
126
- match: \b[a-z_][a-zA-Z0-9'_]*
127
- typedefs:
128
- patterns:
129
- - name: punctuation.separator.variant-definition.ocaml
130
- match: \|
131
- - include: "#comments"
132
- - name: meta.paren-group.ocaml
133
- begin: \(
134
- end: \)
135
- patterns:
136
- - include: "#typedefs"
137
- - name: keyword.other.ocaml
138
- match: \bof\b
139
- - include: "#storagetypes"
140
- - name: storage.type.ocaml
141
- match: (?<=\s|\()['a-z_][a-zA-Z0-9_]*\b
142
- - name: meta.module.type.ocaml
143
- captures:
144
- "1":
145
- name: support.other.module.ocaml
146
- "2":
147
- name: storage.type.module.ocaml
148
- match: \b((?:[A-Z][a-zA-Z0-9'_]*)(?:\.[A-Z][a-zA-Z0-9'_]+)*)(\.[a-zA-Z0-9'_]+)
149
- - name: meta.polymorphic-variant.definition.ocaml
150
- endCaptures:
151
- "1":
152
- name: punctuation.definition.polymorphic-variant.ocaml
153
- begin: (\[(>|<)?)
154
- beginCaptures:
155
- "1":
156
- name: punctuation.definition.polymorphic-variant.ocaml
157
- end: (\])
158
- patterns:
159
- - include: "#typedefs"
160
- - include: $self
161
- - name: punctuation.separator.algebraic-type.ocaml
162
- match: \|
163
- storagetypes:
164
- patterns:
165
- - name: storage.type.ocaml
166
- match: \b(int|char|float|string|list|array|bool|unit|exn|option|int32|int64|nativeint|format4|lazy_t)\b
167
- - name: storage.type.variant.polymorphic.ocaml
168
- match: "#[a-z_][a-zA-Z0-9_]*"
169
- module-signature:
170
- patterns:
171
- - name: meta.module.signature.val.ocaml
172
- begin: (val)\s+([a-z_][a-zA-Z0-9_']*)\s*(:)
173
- beginCaptures:
174
- "1":
175
- name: keyword.other.ocaml
176
- "2":
177
- name: entity.name.type.value-signature.ocaml
178
- "3":
179
- name: punctuation.separator.type-constraint.ocaml
180
- end: (?=\b(type|val|external|class|module|end)\b)|^\s*$
181
- patterns:
182
- - name: variable.parameter.optional.ocaml
183
- captures:
184
- "1":
185
- name: punctuation.definition.optional-parameter.ocaml
186
- "2":
187
- name: entity.name.tag.label.optional.ocaml
188
- "3":
189
- name: punctuation.separator.optional-parameter.ocaml
190
- match: (\?)([a-z][a-zA-Z0-9_]*)\s*(:)
191
- - name: variable.parameter.labeled.ocaml
192
- begin: (~)([a-z][a-zA-Z0-9'_]*)\s*(:)\s*
193
- beginCaptures:
194
- "1":
195
- name: punctuation.definition.labeled-parameter.ocaml
196
- "2":
197
- name: entity.name.tag.label.ocaml
198
- "3":
199
- name: punctuation.separator.label.ocaml
200
- end: \s
201
- patterns:
202
- - include: "#variables"
203
- - include: "#typedefs"
204
- - name: meta.module.signature.external.ocaml
205
- begin: (external)\s+([a-z_][a-zA-Z0-9_']*)\s*(:)
206
- beginCaptures:
207
- "1":
208
- name: keyword.other.ocaml
209
- "2":
210
- name: entity.name.type.external-signature.ocaml
211
- "3":
212
- name: punctuation.separator.type-constraint.ocaml
213
- end: (?=\b(type|val|external|class|module|end)\b)|^\s*$
214
- patterns:
215
- - name: variable.parameter.optional.ocaml
216
- captures:
217
- "1":
218
- name: punctuation.definition.optional-parameter.ocaml
219
- "2":
220
- name: entity.name.tag.label.optional.ocaml
221
- "3":
222
- name: punctuation.separator.optional-parameter.ocaml
223
- match: (\?)([a-z][a-zA-Z0-9_]*)\s*(:)
224
- - name: variable.parameter.labeled.ocaml
225
- begin: (~)([a-z][a-zA-Z0-9'_]*)\s*(:)\s*
226
- beginCaptures:
227
- "1":
228
- name: punctuation.definition.labeled-parameter.ocaml
229
- "2":
230
- name: entity.name.tag.label.ocaml
231
- "3":
232
- name: punctuation.separator.label.ocaml
233
- end: \s
234
- patterns:
235
- - include: "#variables"
236
- - include: "#strings"
237
- - include: "#typedefs"
238
- matchpatterns:
239
- patterns:
240
- - name: constant.language.universal-match.ocaml
241
- match: \b_\b
242
- - name: punctuation.separator.match-pattern.ocaml
243
- match: \|(?=\s*\S)
244
- - name: meta.match-option.ocaml
245
- endCaptures:
246
- "1":
247
- name: punctuation.definition.match-option.ocaml
248
- begin: (\()(?=(?!=.*?->).*?\|)
249
- beginCaptures:
250
- "1":
251
- name: punctuation.definition.match-option.ocaml
252
- end: (\))
253
- patterns:
254
- - name: punctuation.separator.match-option.ocaml
255
- match: \|
256
- - include: "#matchpatterns"
257
- - include: "#moduleref"
258
- - include: "#constants"
259
- - include: "#variables"
260
- - include: $self
261
- comments:
262
- patterns:
263
- - name: comment.block.ocaml
264
- captures:
265
- "1":
266
- name: comment.block.empty.ocaml
267
- match: \(\*\*?(\*)\)
268
- - name: comment.block.ocaml
269
- begin: \(\*
270
- end: \*\)
271
- patterns:
272
- - include: "#comments"
273
- - name: comment.block.ocamlyacc
274
- begin: /\*
275
- end: \*/
276
- patterns:
277
- - include: "#comments"
278
- - name: comment.block.string.quoted.double.ocaml
279
- begin: (?=[^\\])(")
280
- end: "\""
281
- patterns:
282
- - name: comment.block.string.constant.character.escape.ocaml
283
- match: \\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])
284
- lists:
285
- patterns:
286
- - name: meta.list.ocaml
287
- endCaptures:
288
- "1":
289
- name: punctuation.definition.list.end.ocaml
290
- begin: (\[)(?!\||<|>)
291
- beginCaptures:
292
- "1":
293
- name: punctuation.definition.list.begin.ocaml
294
- end: (?<!\||>)(])
295
- patterns:
296
- - include: "#lists"
297
- - include: $self
298
- strings:
299
- patterns:
300
- - name: string.quoted.double.ocaml
301
- endCaptures:
302
- "1":
303
- name: punctuation.definition.string.end.ocaml
304
- begin: (?=[^\\])(")
305
- beginCaptures:
306
- "1":
307
- name: punctuation.definition.string.begin.ocaml
308
- end: (")
309
- patterns:
310
- - name: punctuation.separator.string.ignore-eol.ocaml
311
- match: \\$[ \t]*
312
- - name: constant.character.string.escape.ocaml
313
- match: \\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\])
314
- - name: constant.character.regexp.escape.ocaml
315
- match: \\[\|\(\)1-9$^.*+?\[\]]
316
- - name: invalid.illegal.character.string.escape
317
- match: \\(?!(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\d\d|[bnrt'"\\]|[\|\(\)1-9$^.*+?\[\]]|$[ \t]*))(?:.)
318
- constants:
319
- patterns:
320
- - name: constant.language.pseudo-variable.ocaml
321
- captures:
322
- "1":
323
- name: meta.empty-typing-pair.ocaml
324
- "2":
325
- name: meta.empty-typing-pair.parens.ocaml
326
- "3":
327
- name: meta.empty-typing-pair.ocaml
328
- match: (?:\[\s*(\])|\((\))|\(\s*(\)))
329
- - name: constant.language.boolean.ocaml
330
- match: \b(true|false)\b
331
- - name: constant.numeric.floating-point.ocaml
332
- match: \b-?[0-9][0-9_]*((\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))
333
- - name: constant.numeric.integer.nativeint.ocaml
334
- match: \b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))n
335
- - name: constant.numeric.integer.int64.ocaml
336
- match: \b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))L
337
- - name: constant.numeric.integer.int32.ocaml
338
- match: \b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))l
339
- - name: constant.numeric.integer.ocaml
340
- match: \b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))
341
- - name: constant.character.ocaml
342
- match: "'(.|\\\\(x[a-fA-F0-9][a-fA-F0-9]|[0-2]\\d\\d|[bnrt'\"\\\\]))'"
343
- arrays:
344
- patterns:
345
- - name: meta.array.ocaml
346
- endCaptures:
347
- "1":
348
- name: punctuation.definition.array.end.ocaml
349
- begin: (\[\|)
350
- beginCaptures:
351
- "1":
352
- name: punctuation.definition.array.begin.ocaml
353
- end: (\|])
354
- patterns:
355
- - include: "#arrays"
356
- - include: $self
357
- uuid: F816FA69-6EE8-11D9-BF2D-000D93589AF6
358
- foldingStartMarker: (\b(module|class|)\s.*?=\s*$|\bbegin|sig|struct|(object(\s*\(_?[a-z]+\))?)\s*$|\bwhile\s.*?\bdo\s*$|^let(?:\s+rec)?\s+[a-z_][a-zA-Z0-9_]*\s+(?!=)\S)
359
- patterns:
360
- - name: meta.module.binding
361
- captures:
362
- "1":
363
- name: keyword.other.module-binding.ocaml
364
- "2":
365
- name: keyword.other.module-definition.ocaml
366
- "3":
367
- name: support.other.module.ocaml
368
- "4":
369
- name: punctuation.separator.module-binding.ocmal
370
- match: \b(let)\s+(module)\s+([A-Z][a-zA-Z0-9'_]*)\s*(=)
371
- - name: meta.function.ocaml
372
- endCaptures:
373
- "1":
374
- name: punctuation.separator.function.type-constraint.ocaml
375
- "2":
376
- name: storage.type.ocaml
377
- "3":
378
- name: keyword.operator.ocaml
379
- "4":
380
- name: keyword.operator.ocaml
381
- begin: \b(let|and)\s+(?!\(\*)((rec\s+)([a-z_][a-zA-Z0-9_']*)\b|([a-z_][a-zA-Z0-9_']*|\([^)]+\))(?=\s)((?=\s*=\s*(?=fun(?:ction)\b))|(?!\s*=)))
382
- beginCaptures:
383
- "1":
384
- name: keyword.other.function-definition.ocaml
385
- "3":
386
- name: keyword.other.funtion-definition.ocaml
387
- "4":
388
- name: entity.name.function.ocaml
389
- "5":
390
- name: entity.name.function.ocaml
391
- end: (?:(:)\s*([^=]+))?(?:(=)|(=)\s*(?=fun(?:ction)\b))
392
- patterns:
393
- - include: "#variables"
394
- - name: meta.function.anonymous.ocaml
395
- endCaptures:
396
- "1":
397
- name: punctuation.definition.function.anonymous.ocaml
398
- begin: (\()(?=fun\s)
399
- beginCaptures:
400
- "1":
401
- name: punctuation.definition.function.anonymous.ocaml
402
- end: (\))
403
- patterns:
404
- - name: meta.function.anonymous.definition.ocaml
405
- endCaptures:
406
- "1":
407
- name: punctuation.separator.function-definition.ocaml
408
- begin: (?<=\()(fun)\s
409
- beginCaptures:
410
- "1":
411
- name: keyword.other.function-definition.ocaml
412
- end: (->)
413
- patterns:
414
- - include: "#variables"
415
- - include: $self
416
- - name: meta.type-definition-group.ocaml
417
- begin: ^\s*(?=type\s)
418
- end: \b(?=let|end)|^\s*$
419
- patterns:
420
- - name: meta.type-definition.ocaml
421
- begin: \b(type|and)\s+([^=]*)(=)?
422
- beginCaptures:
423
- "1":
424
- name: keyword.other.type-definition.ocaml
425
- "2":
426
- name: storage.type.user-defined.ocaml
427
- "3":
428
- name: punctuation.separator.type-definition.ocaml
429
- end: (?=\b(type|and|let|end)\b)|(?=^\s*$)
430
- patterns:
431
- - include: "#typedefs"
432
- - name: meta.pattern-match.ocaml
433
- endCaptures:
434
- "1":
435
- name: punctuation.separator.match-definition.ocaml
436
- "2":
437
- name: keyword.control.match-condition.ocaml
438
- begin: \b(with|function)(?=(\s*$|.*->))\b|((?<!\|)(\|)(?!\|)(?=.*->))
439
- beginCaptures:
440
- "1":
441
- name: keyword.control.match-definition.ocaml
442
- "2":
443
- name: keyword.other.function-definition.ocaml
444
- "3":
445
- name: keyword.control.match-definition.ocaml
446
- end: (?:(->)|\b(when)\b|\s(?=\|))
447
- patterns:
448
- - include: "#matchpatterns"
449
- - name: meta.class.type-definition.ocaml
450
- captures:
451
- "1":
452
- name: keyword.other.class-type-definition.ocaml
453
- "2":
454
- name: entity.name.type.class-type.ocaml
455
- "4":
456
- name: storage.type.user-defined.ocaml
457
- match: ^[ \t]*(class\s+type\s+)((\[\s*('[A-Za-z][a-zA-Z0-9_']*(?:\s*,\s*'[A-Za-z][a-zA-Z0-9_']*)*)\s*\]\s+)?[a-z_][a-zA-Z0-9'_]*)
458
- - name: meta.class.ocaml
459
- endCaptures:
460
- "1":
461
- name: keyword.operator.ocaml
462
- begin: ^[ \t]*(class)(?:\s+(?!(?:virtual)\s+))((\[\s*('[A-Za-z][a-zA-Z0-9_']*(?:\s*,\s*'[A-Za-z][a-zA-Z0-9_']*)*)\s*\]\s+)?[a-z_][a-zA-Z0-9'_]*)
463
- beginCaptures:
464
- "1":
465
- name: keyword.other.class-definition.ocaml
466
- "2":
467
- name: entity.name.type.class.ocaml
468
- "4":
469
- name: storage.type.user-defined.ocaml
470
- end: (=)
471
- patterns:
472
- - include: "#variables"
473
- - name: meta.class.virtual.ocaml
474
- endCaptures:
475
- "1":
476
- name: keyword.operator.ocaml
477
- begin: ^[ \t]*(class\s+virtual\s+)((\[\s*('[A-Za-z][a-zA-Z0-9_']*(?:\s*,\s*'[A-Za-z][a-zA-Z0-9_']*)*)\s*\]\s+)?[a-z_][a-zA-Z0-9'_]*)
478
- beginCaptures:
479
- "1":
480
- name: keyword.other.class-definition.ocaml
481
- "2":
482
- name: entity.name.type.class.ocaml
483
- "4":
484
- name: storage.type.user-defined.ocaml
485
- end: (=)
486
- patterns:
487
- - include: "#variables"
488
- - name: meta.class.virtual.type-definition.ocaml
489
- captures:
490
- "1":
491
- name: keyword.other.class-type-definition.ocaml
492
- "2":
493
- name: entity.name.type.class-type.ocaml
494
- "4":
495
- name: storage.type.user-defined.ocaml
496
- match: ^[ \t]*(class\s+type\s+virtual)((\[\s*('[A-Za-z][a-zA-Z0-9_']*(?:\s*,\s*'[A-Za-z][a-zA-Z0-9_']*)*)\s*\]\s+)?[a-z_][a-zA-Z0-9'_]*)
497
- - name: meta.record.ocaml
498
- endCaptures:
499
- "1":
500
- name: punctuation.definition.record.ocaml
501
- begin: (\{)
502
- beginCaptures:
503
- "1":
504
- name: punctuation.definition.record.ocaml
505
- end: (\})
506
- patterns:
507
- - name: keyword.other.language.ocaml
508
- match: \bwith\b
509
- - name: meta.record.definition.ocaml
510
- endCaptures:
511
- "1":
512
- name: keyword.operator.ocaml
513
- begin: (\bmutable\s+)?\b([a-z_][a-zA-Z0-9_']*)\s*(:)
514
- beginCaptures:
515
- "1":
516
- name: keyword.other.storage.modifier.ocaml
517
- "2":
518
- name: source.ocaml
519
- "3":
520
- name: punctuation.definition.record.ocaml
521
- end: (;|(?=}))
522
- patterns:
523
- - include: "#typedefs"
524
- - include: $self
525
- - name: meta.object.ocaml
526
- endCaptures:
527
- "1":
528
- name: keyword.control.object.ocaml
529
- "2":
530
- name: punctuation.terminator.expression.ocaml
531
- begin: \b(object)\s*(?:(\()(_?[a-z]+)(\)))?\s*$
532
- beginCaptures:
533
- "1":
534
- name: keyword.other.object-definition.ocaml
535
- "2":
536
- name: punctuation.definition.self-binding.ocaml
537
- "3":
538
- name: entity.name.type.self-binding.ocaml
539
- "4":
540
- name: punctuation.definition.self-binding.ocaml
541
- end: \b(end)\b
542
- patterns:
543
- - name: meta.method.ocaml
544
- endCaptures:
545
- "1":
546
- name: keyword.operator.ocaml
547
- begin: \b(method)\s+(virtual\s+)?(private\s+)?([a-z_][a-zA-Z0-9'_]*)
548
- beginCaptures:
549
- "1":
550
- name: keyword.other.method-definition.ocaml
551
- "2":
552
- name: keyword.other.method-definition.ocaml
553
- "3":
554
- name: keyword.other.method-restriction.ocaml
555
- "4":
556
- name: entity.name.function.method.ocaml
557
- end: (=|:)
558
- patterns:
559
- - include: "#variables"
560
- - name: meta.object.type-constraint.ocaml
561
- endCaptures:
562
- "1":
563
- name: storage.type.polymorphic-variant.ocaml
564
- "2":
565
- name: storage.type.ocaml
566
- "3":
567
- name: storage.type.user-defined.ocaml
568
- begin: (constraint)\s+([a-z_'][a-zA-Z0-9'_]*)\s+(=)
569
- beginCaptures:
570
- "1":
571
- name: keyword.other.language.ocaml
572
- "2":
573
- name: storage.type.user-defined.ocaml
574
- "3":
575
- name: keyword.operator.ocaml
576
- end: (#[a-z_][a-zA-Z0-9'_]*)|(int|char|float|string|list|array|bool|unit|exn|option|int32|int64|nativeint|format4|lazy_t)|([a-z_][a-zA-Z0-9'_]*)\s*$
577
- - include: $self
578
- - name: meta.method-call.ocaml
579
- captures:
580
- "1":
581
- name: punctuation.separator.method-call.ocaml
582
- match: (?<=\w|\)|')(#)[a-z_][a-zA-Z0-9'_]*
583
- - name: meta.module.ocaml
584
- captures:
585
- "1":
586
- name: keyword.other.module-definition.ocaml
587
- "2":
588
- name: entity.name.type.module.ocaml
589
- "3":
590
- name: punctuation.separator.module-definition.ocaml
591
- "4":
592
- name: entity.name.type.module-type.ocaml
593
- match: ^[ \t]*(module)\s+([A-Z_][a-zA-Z0-9'_]*)(?:\s*(:)\s*([A-Z][a-zA-Z0-9'_]*)?)?
594
- - name: meta.module.type.ocaml
595
- captures:
596
- "1":
597
- name: keyword.other.module-type-definition.ocaml
598
- "2":
599
- name: entity.name.type.module-type.ocaml
600
- match: ^[ \t]*(module\s+type\s+)([A-Z][a-zA-Z0-9'_]*)
601
- - name: meta.module.signature.ocaml
602
- endCaptures:
603
- "1":
604
- name: keyword.other.module.signature.ocaml
605
- "2":
606
- name: punctuation.terminator.expression.ocaml
607
- "3":
608
- name: keyword.operator.ocaml
609
- begin: \b(sig)\b
610
- beginCaptures:
611
- "1":
612
- name: keyword.other.module.signature.ocaml
613
- end: \b(end)\b
614
- patterns:
615
- - include: "#module-signature"
616
- - include: $self
617
- - name: meta.module.structure.ocaml
618
- endCaptures:
619
- "1":
620
- name: keyword.other.module.structure.ocaml
621
- begin: \b(struct)\b
622
- beginCaptures:
623
- "1":
624
- name: keyword.other.module.structure.ocaml
625
- end: \b(end)\b
626
- patterns:
627
- - include: $self
628
- - include: "#moduleref"
629
- - name: meta.module.open.ocaml
630
- begin: \b(open)\s+([A-Z][a-zA-Z0-9'_]*)(?=(\.[A-Z][a-zA-Z0-9_]*)*)
631
- beginCaptures:
632
- "1":
633
- name: keyword.other.ocaml
634
- "2":
635
- name: support.other.module.ocaml
636
- end: (\s|$)
637
- patterns:
638
- - name: support.other.module.ocaml
639
- captures:
640
- "1":
641
- name: punctuation.separator.module-reference.ocaml
642
- match: (\.)([A-Z][a-zA-Z0-9'_]*)
643
- - name: meta.exception.ocaml
644
- captures:
645
- "1":
646
- name: keyword.other.ocaml
647
- "2":
648
- name: entity.name.type.exception.ocaml
649
- match: \b(exception)\s+([A-Z][a-zA-Z0-9'_]*)\b
650
- - name: source.camlp4.embedded.ocaml
651
- endCaptures:
652
- "1":
653
- name: punctuation.definition.camlp4-stream.ocaml
654
- begin: (?=(\[<)(?![^\[]+?[^>]]))
655
- end: (>])
656
- patterns:
657
- - include: source.camlp4.ocaml
658
- - include: "#strings"
659
- - include: "#constants"
660
- - include: "#comments"
661
- - include: "#lists"
662
- - include: "#arrays"
663
- - name: meta.type-constraint.ocaml
664
- endCaptures:
665
- "1":
666
- name: punctuation.separator.type-constraint.ocaml
667
- "2":
668
- name: storage.type.ocaml
669
- "3":
670
- name: punctuation.section.type-constraint.ocaml
671
- begin: (\()(?=(~[a-z][a-zA-Z0-9_]*:|("(\\"|[^"])*")|[^\(\)~"])+(?<!:)(:>|:(?![:=])))
672
- beginCaptures:
673
- "1":
674
- name: punctuation.section.type-constraint.ocaml
675
- end: (?<!:)(:>|:(?![:=]))(.*?)(\))
676
- patterns:
677
- - include: $self
678
- - name: keyword.other.directive.ocaml
679
- match: ^[ \t]*#[a-zA-Z]+
680
- - name: keyword.other.directive.line-number.ocaml
681
- match: ^[ \t]*#[0-9]*
682
- - include: "#storagetypes"
683
- - name: keyword.other.storage.modifier.ocaml
684
- match: \b(mutable|ref)\b
685
- - name: entity.name.type.variant.polymorphic.ocaml
686
- match: `[A-Za-z][a-zA-Z0-9'_]*\b
687
- - name: entity.name.type.variant.ocaml
688
- match: \b[A-Z][a-zA-Z0-9'_]*\b
689
- - name: keyword.operator.symbol.ocaml
690
- match: "!=|:=|>|<"
691
- - name: keyword.operator.infix.floating-point.ocaml
692
- match: "[*+/-]\\."
693
- - name: keyword.operator.prefix.floating-point.ocaml
694
- match: ~-\.
695
- - name: punctuation.definition.list.constructor.ocaml
696
- match: "::"
697
- - name: punctuation.terminator.expression.ocaml
698
- match: ;;
699
- - name: punctuation.separator.ocaml
700
- match: ;
701
- - name: punctuation.separator.function-return.ocaml
702
- match: ->
703
- - name: keyword.operator.infix.ocaml
704
- match: "[=<>@^&+\\-*/$%|][|!$%&*+./:<=>?@^~-]*"
705
- - name: keyword.operator.prefix.ocaml
706
- match: \bnot\b|!|[!\?~][!$%&*+./:<=>?@^~-]+
707
- - name: entity.name.tag.label.ocaml
708
- captures:
709
- "1":
710
- name: punctuation.separator.argument-label.ocaml
711
- match: ~[a-z][a-z0-9'_]*(:)?
712
- - name: meta.begin-end-group.ocaml
713
- endCaptures:
714
- "1":
715
- name: keyword.control.begin-end.ocaml
716
- begin: \b(begin)\b
717
- beginCaptures:
718
- "1":
719
- name: keyword.control.begin-end.ocaml
720
- end: \b(end)\b
721
- patterns:
722
- - include: $self
723
- - name: meta.for-loop.ocaml
724
- endCaptures:
725
- "1":
726
- name: keyword.control.for-loop.ocaml
727
- begin: \b(for)\b
728
- beginCaptures:
729
- "1":
730
- name: keyword.control.for-loop.ocaml
731
- end: \b(done)\b
732
- patterns:
733
- - name: keyword.control.loop.ocaml
734
- match: \bdo\b
735
- - include: $self
736
- - name: meta.while-loop.ocaml
737
- endCaptures:
738
- "1":
739
- name: keyword.control.while-loop.ocaml
740
- begin: \b(while)\b
741
- beginCaptures:
742
- "1":
743
- name: keyword.control.while-loop.ocaml
744
- end: \b(done)\b
745
- patterns:
746
- - name: keyword.control.loop.ocaml
747
- match: \bdo\b
748
- - include: $self
749
- - name: meta.paren-group.ocaml
750
- begin: \(
751
- end: \)
752
- patterns:
753
- - include: $self
754
- - name: keyword.operator.ocaml
755
- match: \b(and|land|lor|lsl|lsr|lxor|mod|or)\b
756
- - name: keyword.control.ocaml
757
- match: \b(downto|if|else|match|then|to|when|with|try)\b
758
- - name: keyword.other.ocaml
759
- match: \b(as|assert|class|constraint|exception|functor|in|include|inherit|initializer|lazy|let|mod|module|mutable|new|object|open|private|rec|sig|struct|type|val|virtual)\b
760
- - include: "#module-signature"
761
- - name: invalid.illegal.unrecognized-character.ocaml
762
- match: "(\xE2\x80\x99|\xE2\x80\x98|\xE2\x80\x9C|\xE2\x80\x9D)"
763
- foldingStopMarker: (\bend(\s+in)?[ \t]*(;{1,2}|=)?|\bdone;?|^\s*;;|^\s*in)[ \t]*$
764
- keyEquivalent: ^~O