hyperbolist-ultraviolet 0.10.201

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 (241) hide show
  1. data/History.txt +25 -0
  2. data/Manifest.txt +233 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +34 -0
  5. data/VERSION +1 -0
  6. data/bin/theme2latexrender +122 -0
  7. data/bin/theme2xhtmlrender +156 -0
  8. data/bin/uv +140 -0
  9. data/lib/uv.rb +100 -0
  10. data/lib/uv/render_processor.rb +131 -0
  11. data/lib/uv/utility.rb +67 -0
  12. data/mm/manual.mm +808 -0
  13. data/render/latex/active4d.render +132 -0
  14. data/render/latex/all_hallows_eve.render +96 -0
  15. data/render/latex/amy.render +171 -0
  16. data/render/latex/blackboard.render +111 -0
  17. data/render/latex/brilliance_black.render +552 -0
  18. data/render/latex/brilliance_dull.render +561 -0
  19. data/render/latex/cobalt.render +162 -0
  20. data/render/latex/dawn.render +126 -0
  21. data/render/latex/eiffel.render +132 -0
  22. data/render/latex/espresso_libre.render +123 -0
  23. data/render/latex/idle.render +93 -0
  24. data/render/latex/iplastic.render +99 -0
  25. data/render/latex/lazy.render +96 -0
  26. data/render/latex/mac_classic.render +135 -0
  27. data/render/latex/magicwb_amiga.render +117 -0
  28. data/render/latex/pastels_on_dark.render +204 -0
  29. data/render/latex/slush_poppies.render +123 -0
  30. data/render/latex/spacecadet.render +81 -0
  31. data/render/latex/sunburst.render +186 -0
  32. data/render/latex/twilight.render +153 -0
  33. data/render/latex/zenburnesque.render +126 -0
  34. data/render/old/txt2tags.render +131 -0
  35. data/render/xhtml/active4d.render +140 -0
  36. data/render/xhtml/all_hallows_eve.render +104 -0
  37. data/render/xhtml/amy.render +179 -0
  38. data/render/xhtml/blackboard.render +119 -0
  39. data/render/xhtml/brilliance_black.render +560 -0
  40. data/render/xhtml/brilliance_dull.render +569 -0
  41. data/render/xhtml/cobalt.render +170 -0
  42. data/render/xhtml/dawn.render +134 -0
  43. data/render/xhtml/eiffel.render +140 -0
  44. data/render/xhtml/espresso_libre.render +131 -0
  45. data/render/xhtml/files/css/active4d.css +114 -0
  46. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  47. data/render/xhtml/files/css/amy.css +147 -0
  48. data/render/xhtml/files/css/blackboard.css +88 -0
  49. data/render/xhtml/files/css/brilliance_black.css +605 -0
  50. data/render/xhtml/files/css/brilliance_dull.css +599 -0
  51. data/render/xhtml/files/css/cobalt.css +149 -0
  52. data/render/xhtml/files/css/dawn.css +121 -0
  53. data/render/xhtml/files/css/eiffel.css +121 -0
  54. data/render/xhtml/files/css/espresso_libre.css +109 -0
  55. data/render/xhtml/files/css/idle.css +62 -0
  56. data/render/xhtml/files/css/iplastic.css +80 -0
  57. data/render/xhtml/files/css/lazy.css +73 -0
  58. data/render/xhtml/files/css/mac_classic.css +123 -0
  59. data/render/xhtml/files/css/magicwb_amiga.css +104 -0
  60. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  61. data/render/xhtml/files/css/slush_poppies.css +85 -0
  62. data/render/xhtml/files/css/spacecadet.css +51 -0
  63. data/render/xhtml/files/css/sunburst.css +180 -0
  64. data/render/xhtml/files/css/twilight.css +137 -0
  65. data/render/xhtml/files/css/vibrant_ink.css +120 -0
  66. data/render/xhtml/files/css/zenburnesque.css +91 -0
  67. data/render/xhtml/idle.render +101 -0
  68. data/render/xhtml/iplastic.render +107 -0
  69. data/render/xhtml/lazy.render +104 -0
  70. data/render/xhtml/mac_classic.render +143 -0
  71. data/render/xhtml/magicwb_amiga.render +125 -0
  72. data/render/xhtml/pastels_on_dark.render +212 -0
  73. data/render/xhtml/slush_poppies.render +131 -0
  74. data/render/xhtml/spacecadet.render +89 -0
  75. data/render/xhtml/sunburst.render +194 -0
  76. data/render/xhtml/twilight.render +161 -0
  77. data/render/xhtml/vibrant_ink.render +149 -0
  78. data/render/xhtml/zenburnesque.render +134 -0
  79. data/syntax/actionscript.syntax +97 -0
  80. data/syntax/active4d.syntax +276 -0
  81. data/syntax/active4d_html.syntax +311 -0
  82. data/syntax/active4d_ini.syntax +50 -0
  83. data/syntax/active4d_library.syntax +21 -0
  84. data/syntax/ada.syntax +33 -0
  85. data/syntax/antlr.syntax +151 -0
  86. data/syntax/apache.syntax +191 -0
  87. data/syntax/applescript.syntax +384 -0
  88. data/syntax/asp.syntax +70 -0
  89. data/syntax/asp_vb.net.syntax +129 -0
  90. data/syntax/bibtex.syntax +151 -0
  91. data/syntax/blog_html.syntax +41 -0
  92. data/syntax/blog_markdown.syntax +42 -0
  93. data/syntax/blog_text.syntax +27 -0
  94. data/syntax/blog_textile.syntax +27 -0
  95. data/syntax/buggy/nemerle.syntax +74 -0
  96. data/syntax/build.syntax +53 -0
  97. data/syntax/bulletin_board.syntax +287 -0
  98. data/syntax/c++.syntax +109 -0
  99. data/syntax/c.syntax +326 -0
  100. data/syntax/cake.syntax +55 -0
  101. data/syntax/camlp4.syntax +36 -0
  102. data/syntax/cm.syntax +32 -0
  103. data/syntax/coldfusion.syntax +119 -0
  104. data/syntax/context_free.syntax +176 -0
  105. data/syntax/cs.syntax +59 -0
  106. data/syntax/css.syntax +195 -0
  107. data/syntax/css_experimental.syntax +1925 -0
  108. data/syntax/csv.syntax +68 -0
  109. data/syntax/d.syntax +142 -0
  110. data/syntax/diff.syntax +81 -0
  111. data/syntax/dokuwiki.syntax +204 -0
  112. data/syntax/dot.syntax +47 -0
  113. data/syntax/doxygen.syntax +43 -0
  114. data/syntax/dylan.syntax +62 -0
  115. data/syntax/eiffel.syntax +78 -0
  116. data/syntax/erlang.syntax +922 -0
  117. data/syntax/f-script.syntax +80 -0
  118. data/syntax/fortran.syntax +141 -0
  119. data/syntax/fxscript.syntax +142 -0
  120. data/syntax/greasemonkey.syntax +34 -0
  121. data/syntax/gri.syntax +83 -0
  122. data/syntax/groovy.syntax +191 -0
  123. data/syntax/gtd.syntax +22 -0
  124. data/syntax/gtdalt.syntax +143 -0
  125. data/syntax/haml.syntax +88 -0
  126. data/syntax/haskell.syntax +88 -0
  127. data/syntax/html-asp.syntax +27 -0
  128. data/syntax/html.syntax +362 -0
  129. data/syntax/html_django.syntax +36 -0
  130. data/syntax/html_for_asp.net.syntax +424 -0
  131. data/syntax/html_mason.syntax +119 -0
  132. data/syntax/html_rails.syntax +40 -0
  133. data/syntax/html_tcl.syntax +26 -0
  134. data/syntax/icalendar.syntax +32 -0
  135. data/syntax/inform.syntax +48 -0
  136. data/syntax/ini.syntax +55 -0
  137. data/syntax/installer_distribution_script.syntax +77 -0
  138. data/syntax/io.syntax +81 -0
  139. data/syntax/java.syntax +211 -0
  140. data/syntax/javaproperties.syntax +20 -0
  141. data/syntax/javascript.syntax +256 -0
  142. data/syntax/javascript_+_prototype.syntax +72 -0
  143. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  144. data/syntax/jquery_javascript.syntax +114 -0
  145. data/syntax/json.syntax +136 -0
  146. data/syntax/languagedefinition.syntax +708 -0
  147. data/syntax/latex.syntax +566 -0
  148. data/syntax/latex_beamer.syntax +41 -0
  149. data/syntax/latex_log.syntax +50 -0
  150. data/syntax/latex_memoir.syntax +64 -0
  151. data/syntax/lexflex.syntax +219 -0
  152. data/syntax/lighttpd.syntax +54 -0
  153. data/syntax/lilypond.syntax +492 -0
  154. data/syntax/lisp.syntax +61 -0
  155. data/syntax/literate_haskell.syntax +24 -0
  156. data/syntax/logo.syntax +29 -0
  157. data/syntax/logtalk.syntax +152 -0
  158. data/syntax/lua.syntax +86 -0
  159. data/syntax/m.syntax +142 -0
  160. data/syntax/macports_portfile.syntax +163 -0
  161. data/syntax/mail.syntax +118 -0
  162. data/syntax/makefile.syntax +36 -0
  163. data/syntax/man.syntax +17 -0
  164. data/syntax/markdown.syntax +543 -0
  165. data/syntax/mediawiki.syntax +567 -0
  166. data/syntax/mel.syntax +92 -0
  167. data/syntax/mips.syntax +66 -0
  168. data/syntax/mod_perl.syntax +50 -0
  169. data/syntax/modula-3.syntax +47 -0
  170. data/syntax/moinmoin.syntax +189 -0
  171. data/syntax/mootools.syntax +572 -0
  172. data/syntax/movable_type.syntax +162 -0
  173. data/syntax/multimarkdown.syntax +39 -0
  174. data/syntax/objective-c++.syntax +18 -0
  175. data/syntax/objective-c.syntax +233 -0
  176. data/syntax/ocaml.syntax +764 -0
  177. data/syntax/ocamllex.syntax +167 -0
  178. data/syntax/ocamlyacc.syntax +184 -0
  179. data/syntax/old/YAML.yaml +160 -0
  180. data/syntax/old/txt2tags.yaml +139 -0
  181. data/syntax/opengl.syntax +14 -0
  182. data/syntax/pascal.syntax +77 -0
  183. data/syntax/perl.syntax +1115 -0
  184. data/syntax/php.syntax +1253 -0
  185. data/syntax/plain_text.syntax +32 -0
  186. data/syntax/pmwiki.syntax +113 -0
  187. data/syntax/postscript.syntax +114 -0
  188. data/syntax/processing.syntax +106 -0
  189. data/syntax/prolog.syntax +40 -0
  190. data/syntax/property_list.syntax +635 -0
  191. data/syntax/python.syntax +868 -0
  192. data/syntax/python_django.syntax +21 -0
  193. data/syntax/qmake_project.syntax +114 -0
  194. data/syntax/qt_c++.syntax +26 -0
  195. data/syntax/quake3_config.syntax +32 -0
  196. data/syntax/r.syntax +81 -0
  197. data/syntax/r_console.syntax +16 -0
  198. data/syntax/ragel.syntax +201 -0
  199. data/syntax/rd_r_documentation.syntax +91 -0
  200. data/syntax/regexp.syntax +50 -0
  201. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  202. data/syntax/regular_expressions_python.syntax +109 -0
  203. data/syntax/release_notes.syntax +46 -0
  204. data/syntax/remind.syntax +253 -0
  205. data/syntax/restructuredtext.syntax +250 -0
  206. data/syntax/rez.syntax +80 -0
  207. data/syntax/ruby.syntax +1035 -0
  208. data/syntax/ruby_experimental.syntax +145 -0
  209. data/syntax/ruby_on_rails.syntax +88 -0
  210. data/syntax/s5.syntax +69 -0
  211. data/syntax/scheme.syntax +347 -0
  212. data/syntax/scilab.syntax +41 -0
  213. data/syntax/setext.syntax +147 -0
  214. data/syntax/shell-unix-generic.syntax +384 -0
  215. data/syntax/slate.syntax +149 -0
  216. data/syntax/smarty.syntax +63 -0
  217. data/syntax/sql.syntax +237 -0
  218. data/syntax/sql_rails.syntax +18 -0
  219. data/syntax/ssh-config.syntax +33 -0
  220. data/syntax/standard_ml.syntax +121 -0
  221. data/syntax/strings_file.syntax +39 -0
  222. data/syntax/subversion_commit_message.syntax +36 -0
  223. data/syntax/sweave.syntax +84 -0
  224. data/syntax/swig.syntax +57 -0
  225. data/syntax/tcl.syntax +152 -0
  226. data/syntax/template_toolkit.syntax +121 -0
  227. data/syntax/tex.syntax +86 -0
  228. data/syntax/tex_math.syntax +49 -0
  229. data/syntax/textile.syntax +215 -0
  230. data/syntax/tsv.syntax +50 -0
  231. data/syntax/twiki.syntax +241 -0
  232. data/syntax/txt2tags.syntax +79 -0
  233. data/syntax/vectorscript.syntax +57 -0
  234. data/syntax/xhtml_1.0.syntax +4027 -0
  235. data/syntax/xml.syntax +180 -0
  236. data/syntax/xml_strict.syntax +92 -0
  237. data/syntax/xsl.syntax +60 -0
  238. data/syntax/yaml.syntax +160 -0
  239. data/syntax/yui_javascript.syntax +176 -0
  240. data/test/test_uv.rb +0 -0
  241. metadata +315 -0
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: MacPorts Portfile
3
+ fileTypes: []
4
+
5
+ scopeName: source.tcl.macports
6
+ repository:
7
+ escape:
8
+ name: constant.character.escape.tcl
9
+ match: \\(\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\n)
10
+ comment: imported from Tcl grammar
11
+ bare-string:
12
+ endCaptures:
13
+ "1":
14
+ name: invalid.illegal.tcl
15
+ begin: (?:^|(?<=\s))"
16
+ end: "\"(\\S*)"
17
+ patterns:
18
+ - include: "#escape"
19
+ - include: "#variable"
20
+ comment: imported from Tcl grammar
21
+ braces:
22
+ endCaptures:
23
+ "1":
24
+ name: invalid.illegal.tcl
25
+ begin: (?:^|(?<=\s))\{
26
+ end: \}(\S*)
27
+ patterns:
28
+ - name: constant.character.escape.tcl
29
+ match: \\[{}\n]
30
+ - include: "#inner-braces"
31
+ comment: imported from Tcl grammar
32
+ inner-braces:
33
+ begin: \{
34
+ end: \}
35
+ patterns:
36
+ - name: constant.character.escape.tcl
37
+ match: \\[{}\n]
38
+ - include: "#inner-braces"
39
+ comment: imported from Tcl grammar
40
+ variable:
41
+ name: variable.other.tcl
42
+ captures:
43
+ "1":
44
+ name: punctuation.definition.variable.tcl
45
+ match: (\$)([a-zA-Z0-9_:]+(\([^\)]+\))?|\{[^\}]*\})
46
+ comment: imported from Tcl grammar
47
+ string:
48
+ name: string.quoted.double.tcl
49
+ begin: (?:^|(?<=\s))(?=")
50
+ applyEndPatternLast: 1
51
+ end: ""
52
+ patterns:
53
+ - include: "#bare-string"
54
+ comment: imported from Tcl grammar
55
+ embedded:
56
+ name: source.tcl.embedded
57
+ endCaptures:
58
+ "0":
59
+ name: punctuation.section.embedded.end.tcl
60
+ begin: \[
61
+ beginCaptures:
62
+ "0":
63
+ name: punctuation.section.embedded.begin.tcl
64
+ end: \]
65
+ patterns:
66
+ - include: source.tcl.macports
67
+ comment: imported from Tcl grammar
68
+ uuid: 33EC56FE-2BD4-4B73-A6CD-73395F4E5E58
69
+ foldingStartMarker: \{\s*$
70
+ patterns:
71
+ - begin: ^\s*(PortGroup)\s+ruby(?!\S)
72
+ beginCaptures:
73
+ "1":
74
+ name: keyword.other.tcl.macports
75
+ end: $.^
76
+ patterns:
77
+ - include: $base
78
+ - name: keyword.other.tcl.macports
79
+ match: ^\s*ruby\.setup(?!\S)
80
+ comment: special case for ruby PortGroup
81
+ - begin: ^\s*(PortGroup)\s+perl5(?!\S)
82
+ beginCaptures:
83
+ "1":
84
+ name: keyword.other.tcl.macports
85
+ end: $.^
86
+ patterns:
87
+ - include: $base
88
+ - name: keyword.other.tcl.macports
89
+ match: ^\s*perl5\.setup(?!\S)
90
+ comment: special case for the perl5 PortGroup
91
+ - captures:
92
+ "1":
93
+ name: keyword.other.tcl.macports
94
+ match: ^\s*(PortSystem|PortGroup)(?!\S)
95
+ comment: Base commands
96
+ - captures:
97
+ "1":
98
+ name: keyword.other.tcl.macports
99
+ match: ^\s*(use_(?:configure|build|automake|autoconf|xmkmf|libtool|destroot|extract|cvs|svn|patch|test)|(?:configure|build|automake|autoconf|xmkmf|libtool|destroot|extract|cvs|svn|patch|test)\.(?:dir|(?:pre_|post_)?args|env|type|cmd)(?:-(?:delete|append))?)(?!\S)
100
+ comment: Procs defined with the `commands` keyword (ignore use_option-{delete,append} as it is useless)
101
+ - captures:
102
+ "1":
103
+ name: keyword.other.tcl.macports
104
+ match: ^\s*((?:(?:pre|post)-)?(?:activate|build|checksum|clean|configure|destroot|distcheck|extract|fetch|install|livecheck|main|mirror|patch|pkg|mpkg|submit|test))(?!\S)
105
+ comment: Procs defined with the `target_provides` keyword
106
+ - captures:
107
+ "1":
108
+ name: keyword.other.tcl.macports
109
+ match: ^\s*((?:build\.target|categories|checksum\.skip|checksums|cvs\.(?:date|module|password|root|tag)|default_variants|depends_(?:build|lib|run)|destroot\.(?:clean|destdir|keepdirs|target|umask)|dist_subdir|distcheck\.check|distfiles|distname|distpath|epoch|extract\.(?:only|suffix)|fetch\.(?:password|type|use_epsv|user)|filesdir|gnustep\.domain|homepage|install\.(?:group|user)|libpath|livecheck\.(?:check|md5|name|distname|regex|url|version)|maintainers|(?:master|patch)_sites(?:\.mirror_subdir)?|name|os\.(?:arch|endian|platform|version)|patchfiles|platforms|portdbpath|portname|prefix|revision|sources_conf|startupitem\.(?:create|executable|init|logevents|logfile|name|pidfile|requires|restart|start|stop|type)|svn\.(?:tag|url)|test\.(?:run|target)|use_bzip2|use_zip|version|workdir|worksrcdir|xcode\.(?:build\.settings|configuration|destroot\.(?:path|settings|type)|project|target)|zope\.need_subdir)(?:-(?:delete|append))?)(?!\S)
110
+ comment: Procs defined with the `options` keyword
111
+ - begin: ^\s*((?:long_)?description)(?!\S)
112
+ contentName: string.unquoted.tcl.macports
113
+ beginCaptures:
114
+ "1":
115
+ name: keyword.other.tcl.macports
116
+ end: "[\\n;]"
117
+ patterns:
118
+ - include: "#escape"
119
+ - include: "#string"
120
+ - include: "#braces"
121
+ - include: "#embedded"
122
+ - include: "#variable"
123
+ comment: special-case description and long_description for backslash-newline escapes and string scoping
124
+ - name: meta.variant.tcl.macports
125
+ captures:
126
+ "1":
127
+ name: keyword.other.variant.tcl.macports
128
+ begin: ^(variant)(?!\S)
129
+ end: \n
130
+ patterns:
131
+ - name: keyword.other.variant.tcl.macports
132
+ match: (?<=\s)(?:provides|requires|conflicts)(?!\S)
133
+ - name: entity.name.function.variant.tcl.macports
134
+ match: (?<=\s)([\w-]+)
135
+ - endCaptures:
136
+ "1":
137
+ name: punctuation.terminator.variant.tcl.macports
138
+ begin: (\{)
139
+ beginCaptures:
140
+ "1":
141
+ name: punctuation.section.variant.tcl.macports
142
+ end: (\})
143
+ patterns:
144
+ - include: source.tcl.macports
145
+ - name: meta.variant.platform.tcl.macports
146
+ endCaptures:
147
+ "1":
148
+ name: punctuation.terminator.variant.platform.tcl.macports
149
+ begin: ^(platform)(?:\s+(\S+))?(?:\s+(\S+))?(?:\s+(\S+))?\s+(\{)
150
+ beginCaptures:
151
+ "1":
152
+ name: keyword.other.variant.platform.tcl.macports
153
+ "2":
154
+ name: entity.name.function.variant.platform.tcl.macports
155
+ "5":
156
+ name: punctuation.section.variant.platform.tcl.macports
157
+ end: (\})
158
+ patterns:
159
+ - include: source.tcl.macports
160
+ - name: keyword.other.tcl.macports
161
+ match: (?<=^|[\[{;])\s*(adduser|addgroup|dirSize|binaryInPath|archiveTypeIsSupported|variant_isset|xinstall|system|reinplace|flock|readdir|strsed|mkstemp|mktemp|existsuser|existsgroup|nextuid|nextgid|md5|find|filemap|rpm-vercomp|rmd160|sha1|compat|umask|sudo|mkfifo|unixsocketpair|mkchannelfromfd|pipe|curl|readline|rl_history|getuid|geteuid|setuid|seteuid|name_to_uid|uid_to_name|ldelete|delete|include)\b
162
+ - include: source.tcl
163
+ foldingStopMarker: ^\s*\}
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: Mail
3
+ fileTypes:
4
+ - mail
5
+ firstLineMatch: "^From: .*(?=\\w+@[\\w-]+\\.\\w+)"
6
+ scopeName: text.mail.markdown
7
+ repository:
8
+ reference:
9
+ name: constant.other.reference.mail
10
+ captures:
11
+ "0":
12
+ name: punctuation.definition.constant.mail
13
+ begin: <
14
+ end: ">"
15
+ patterns:
16
+ - include: "#string"
17
+ - include: "#comment"
18
+ - include: "#domain_literal"
19
+ - include: "#atom"
20
+ encoded_text:
21
+ name: meta.encoded-text.mail
22
+ captures:
23
+ "1":
24
+ name: constant.other.charset.mail
25
+ "2":
26
+ name: constant.other.encoding.mail
27
+ match: =\?(.*?)(?:\*[^?]+)?\?([QB])\?(.*?)\?=
28
+ any:
29
+ patterns:
30
+ - include: "#group"
31
+ - include: "#reference"
32
+ - include: "#string"
33
+ - include: "#comment"
34
+ - include: "#domain_literal"
35
+ - include: "#atom"
36
+ domain_literal:
37
+ name: meta.domain-literal.mail
38
+ begin: \[
39
+ end: \]
40
+ patterns:
41
+ - include: "#quote_pair"
42
+ - include: "#group"
43
+ - include: "#reference"
44
+ - include: "#string"
45
+ - include: "#comment"
46
+ - include: "#atom"
47
+ quote_pair:
48
+ name: constant.other.escape.mail
49
+ match: \\.
50
+ group:
51
+ name: meta.group.mail
52
+ begin: ":(?=.*;)"
53
+ end: ;
54
+ patterns:
55
+ - include: "#reference"
56
+ - include: "#string"
57
+ - include: "#comment"
58
+ - include: "#domain_literal"
59
+ - include: "#atom"
60
+ comment: "this is to group addresses, RFC822 says that these \xE2\x80\x9Cmust occur in matched pairs,\xE2\x80\x9D but e.g. the date header uses : as a time separator."
61
+ comment:
62
+ name: comment.line.parentheses.mail
63
+ captures:
64
+ "0":
65
+ name: punctuation.definition.comment.mail
66
+ begin: \(
67
+ end: \)
68
+ patterns:
69
+ - include: "#quote_pair"
70
+ - include: "#comment"
71
+ string:
72
+ name: string.quoted.double.mail
73
+ endCaptures:
74
+ "0":
75
+ name: punctuation.definition.string.end.mail
76
+ begin: "\""
77
+ beginCaptures:
78
+ "0":
79
+ name: punctuation.definition.string.begin.mail
80
+ end: "\""
81
+ patterns:
82
+ - include: "#quote_pair"
83
+ - include: "#encoded_text"
84
+ atom:
85
+ name: string.unquoted.atom.mail
86
+ match: "[^ \\t\\v\\n()<>@,;:\\\\\".\\[\\]]+"
87
+ uuid: 15615A0C-37B0-4B3F-9105-53ED536AFBB4
88
+ patterns:
89
+ - name: meta.header.mail
90
+ begin: ((?i:subject))(:)\s*
91
+ contentName: entity.name.section.mail
92
+ beginCaptures:
93
+ "1":
94
+ name: keyword.other.mail
95
+ "2":
96
+ name: punctuation.separator.key-value.mail
97
+ end: ^(?![ \t\v])
98
+ - name: meta.header.mail
99
+ begin: ([\x{21}-\x{39}\x{3B}-\x{7E}]+)(:)\s*
100
+ beginCaptures:
101
+ "1":
102
+ name: keyword.other.mail
103
+ "2":
104
+ name: punctuation.separator.key-value.mail
105
+ end: ^(?![ \t\v])
106
+ patterns:
107
+ - include: "#string"
108
+ - include: "#comment"
109
+ - include: "#reference"
110
+ - include: "#atom"
111
+ - name: text.html.markdown
112
+ begin: ^(?![A-Za-z0-9]+:)
113
+ end: ^(?=not)possible$
114
+ patterns:
115
+ - name: meta.separator.signature.mail
116
+ match: ^-- $\n
117
+ - include: text.html.markdown
118
+ keyEquivalent: ^~M
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: Makefile
3
+ fileTypes:
4
+ - GNUmakefile
5
+ - makefile
6
+ - Makefile
7
+ - OCamlMakefile
8
+ scopeName: source.makefile
9
+ uuid: FF1825E8-6B1C-11D9-B883-000D93589AF6
10
+ patterns:
11
+ - name: variable.other.makefile
12
+ begin: ^(\w|[-_])+\s*\??=
13
+ end: $
14
+ patterns:
15
+ - match: \\\n
16
+ - name: string.interpolated.backtick.makefile
17
+ begin: `
18
+ end: `
19
+ patterns:
20
+ - include: source.shell
21
+ - name: comment.line.number-sign.makefile
22
+ begin: "#"
23
+ beginCaptures:
24
+ "0":
25
+ name: punctuation.definition.comment.makefile
26
+ end: $\n?
27
+ patterns:
28
+ - name: punctuation.separator.continuation.makefile
29
+ match: (?<!\\)\\$\n
30
+ - name: keyword.control.makefile
31
+ match: ^(\s*)\b(\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)\b
32
+ - name: meta.function.makefile
33
+ captures:
34
+ "1":
35
+ name: entity.name.function.makefile
36
+ match: ^([^\t ]+:(?!\=))\s*.*
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: Man
3
+ fileTypes:
4
+ - man
5
+ scopeName: text.man
6
+ uuid: E8BAC30A-16BF-498D-941D-73FBAED37891
7
+ foldingStartMarker: ^[A-Z](?:(?:\S+\s\S+)+|\S+)$
8
+ patterns:
9
+ - name: markup.heading.man
10
+ match: ^[A-Z](?:(?:\S+\s\S+)+|\S+)$
11
+ - name: markup.underline.link.man
12
+ match: ((https?|ftp|file|txmt)://|mailto:)[-:@a-zA-Z0-9_.~%+/?=&#]+(?<![.?:])
13
+ - name: markup.underline.link.internal.man
14
+ match: ([\w\.]+\(\d[a-z]?\))
15
+ - name: meta.foldingStopMarker.man
16
+ match: ^_{2,}$
17
+ foldingStopMarker: ^_{2,}$
@@ -0,0 +1,543 @@
1
+ ---
2
+ name: Markdown
3
+ fileTypes:
4
+ - markdown
5
+ - mdown
6
+ - markdn
7
+ - md
8
+ scopeName: text.html.markdown
9
+ repository:
10
+ image-inline:
11
+ name: meta.image.inline.markdown
12
+ captures:
13
+ "6":
14
+ name: punctuation.definition.metadata.markdown
15
+ "11":
16
+ name: punctuation.definition.string.markdown
17
+ "7":
18
+ name: punctuation.definition.link.markdown
19
+ "12":
20
+ name: punctuation.definition.string.markdown
21
+ "8":
22
+ name: markup.underline.link.image.markdown
23
+ "13":
24
+ name: string.other.link.description.title.markdown
25
+ "9":
26
+ name: punctuation.definition.link.markdown
27
+ "14":
28
+ name: punctuation.definition.string.markdown
29
+ "15":
30
+ name: punctuation.definition.string.markdown
31
+ "16":
32
+ name: punctuation.definition.metadata.markdown
33
+ "1":
34
+ name: punctuation.definition.string.begin.markdown
35
+ "2":
36
+ name: string.other.link.description.markdown
37
+ "3":
38
+ name: punctuation.definition.string.end.markdown
39
+ "10":
40
+ name: string.other.link.description.title.markdown
41
+ "5":
42
+ name: invalid.illegal.whitespace.markdown
43
+ match: "(?x:\n\
44
+ \t\t\t\t\\!\t\t\t\t\t\t\t# Images start with !\n\
45
+ \t\t\t\t(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\t\n\
46
+ \t\t\t\t\t\t\t\t\t\t\t# Match the link text.\n\
47
+ \t\t\t\t([ ])?\t\t\t\t\t\t# Space not allowed\n\
48
+ \t\t\t\t(\\()\t\t\t\t\t\t# Opening paren for url\n\
49
+ \t\t\t\t\t(<?)(\\S+?)(>?)\t\t\t# The url\n\
50
+ \t\t\t\t\t[ \\t]*\t\t\t\t\t# Optional whitespace\n\
51
+ \t\t\t\t\t(?:\n\
52
+ \t\t\t\t\t\t ((\\().+?(\\)))\t\t# Match title in parens\xE2\x80\xA6\n\
53
+ \t\t\t\t\t\t| ((\").+?(\"))\t\t# or in quotes.\n\
54
+ \t\t\t\t\t)?\t\t\t\t\t\t# Title is optional\n\
55
+ \t\t\t\t\t\\s*\t\t\t\t\t\t# Optional whitespace\n\
56
+ \t\t\t\t(\\))\n\
57
+ \t\t\t )"
58
+ image-ref:
59
+ name: meta.image.reference.markdown
60
+ captures:
61
+ "6":
62
+ name: constant.other.reference.link.markdown
63
+ "7":
64
+ name: punctuation.definition.constant.markdown
65
+ "1":
66
+ name: punctuation.definition.string.begin.markdown
67
+ "2":
68
+ name: string.other.link.description.markdown
69
+ "4":
70
+ name: punctuation.definition.string.begin.markdown
71
+ "5":
72
+ name: punctuation.definition.constant.markdown
73
+ match: \!(\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)(.*?)(\])
74
+ escape:
75
+ name: constant.character.escape.markdown
76
+ match: \\[-`*_#+.!(){}\[\]\\>]
77
+ bracket:
78
+ name: meta.other.valid-bracket.markdown
79
+ match: <(?![a-z/?\$!])
80
+ comment: "\n\
81
+ \t\t\t\tMarkdown will convert this for us. We match it so that the\n\
82
+ \t\t\t\tHTML grammar will not mark it up as invalid.\n\
83
+ \t\t\t"
84
+ list-paragraph:
85
+ patterns:
86
+ - name: meta.paragraph.list.markdown
87
+ begin: \G\s+(?=\S)
88
+ end: ^\s*$
89
+ patterns:
90
+ - include: "#inline"
91
+ link-ref-literal:
92
+ name: meta.link.reference.literal.markdown
93
+ captures:
94
+ "6":
95
+ name: punctuation.definition.constant.end.markdown
96
+ "1":
97
+ name: punctuation.definition.string.begin.markdown
98
+ "2":
99
+ name: string.other.link.title.markdown
100
+ "4":
101
+ name: punctuation.definition.string.end.markdown
102
+ "5":
103
+ name: punctuation.definition.constant.begin.markdown
104
+ match: (\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)(\])
105
+ link-email:
106
+ name: meta.link.email.lt-gt.markdown
107
+ captures:
108
+ "1":
109
+ name: punctuation.definition.link.markdown
110
+ "2":
111
+ name: markup.underline.link.markdown
112
+ "4":
113
+ name: punctuation.definition.link.markdown
114
+ match: (<)((?:mailto:)?[-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(>)
115
+ inline:
116
+ patterns:
117
+ - include: "#escape"
118
+ - include: "#ampersand"
119
+ - include: "#bracket"
120
+ - include: "#raw"
121
+ - include: "#bold"
122
+ - include: "#italic"
123
+ - include: "#line-break"
124
+ - include: "#image-inline"
125
+ - include: "#link-inline"
126
+ - include: "#link-inet"
127
+ - include: "#link-email"
128
+ - include: "#image-ref"
129
+ - include: "#link-ref-literal"
130
+ - include: "#link-ref"
131
+ block_quote:
132
+ name: markup.quote.markdown
133
+ begin: \G[ ]{,3}(>)(?!$)[ ]?
134
+ beginCaptures:
135
+ "1":
136
+ name: punctuation.definition.blockquote.markdown
137
+ end: |-
138
+ (?x)^
139
+ (?= \s*$
140
+ | [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
141
+ | [ ]{,3}>.
142
+ )
143
+ patterns:
144
+ - begin: |-
145
+ (?x)\G
146
+ (?= [ ]{,3}>.
147
+ )
148
+ end: ^
149
+ patterns:
150
+ - include: "#block_quote"
151
+ - begin: |-
152
+ (?x)\G
153
+ (?= ([ ]{4}|\t)
154
+ | [#]{1,6}\s*+
155
+ | [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
156
+ )
157
+ applyEndPatternLast: 1
158
+ end: ^
159
+ patterns:
160
+ - include: "#block_raw"
161
+ - include: "#heading"
162
+ - include: "#separator"
163
+ - begin: |-
164
+ (?x)\G
165
+ (?! $
166
+ | [ ]{,3}>.
167
+ | ([ ]{4}|\t)
168
+ | [#]{1,6}\s*+
169
+ | [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
170
+ )
171
+ end: $|(?<=\n)
172
+ patterns:
173
+ - include: "#inline"
174
+ comment: "\n\
175
+ \t\t\t\tWe terminate the block quote when seeing an empty line, a\n\
176
+ \t\t\t\tseparator or a line with leading > characters. The latter is\n\
177
+ \t\t\t\tto \xE2\x80\x9Creset\xE2\x80\x9D the quote level for quoted lines.\n\
178
+ \t\t\t"
179
+ link-ref:
180
+ name: meta.link.reference.markdown
181
+ captures:
182
+ "6":
183
+ name: constant.other.reference.link.markdown
184
+ "7":
185
+ name: punctuation.definition.constant.end.markdown
186
+ "1":
187
+ name: punctuation.definition.string.begin.markdown
188
+ "2":
189
+ name: string.other.link.title.markdown
190
+ "4":
191
+ name: punctuation.definition.string.end.markdown
192
+ "5":
193
+ name: punctuation.definition.constant.begin.markdown
194
+ match: (\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)([^\]]*+)(\])
195
+ block_raw:
196
+ name: markup.raw.block.markdown
197
+ match: \G([ ]{4}|\t).*$\n?
198
+ separator:
199
+ name: meta.separator.markdown
200
+ match: \G[ ]{,3}([-*_])([ ]{,2}\1){2,}[ \t]*$\n?
201
+ link-inline:
202
+ name: meta.link.inline.markdown
203
+ captures:
204
+ "6":
205
+ name: punctuation.definition.metadata.markdown
206
+ "11":
207
+ name: punctuation.definition.string.begin.markdown
208
+ "7":
209
+ name: punctuation.definition.link.markdown
210
+ "12":
211
+ name: punctuation.definition.string.end.markdown
212
+ "8":
213
+ name: markup.underline.link.markdown
214
+ "13":
215
+ name: string.other.link.description.title.markdown
216
+ "9":
217
+ name: punctuation.definition.link.markdown
218
+ "14":
219
+ name: punctuation.definition.string.begin.markdown
220
+ "15":
221
+ name: punctuation.definition.string.end.markdown
222
+ "16":
223
+ name: punctuation.definition.metadata.markdown
224
+ "1":
225
+ name: punctuation.definition.string.begin.markdown
226
+ "2":
227
+ name: string.other.link.title.markdown
228
+ "4":
229
+ name: punctuation.definition.string.end.markdown
230
+ "10":
231
+ name: string.other.link.description.title.markdown
232
+ "5":
233
+ name: invalid.illegal.whitespace.markdown
234
+ match: "(?x:\n\
235
+ \t\t\t\t(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\t\n\
236
+ \t\t\t\t\t\t\t\t\t\t\t# Match the link text.\n\
237
+ \t\t\t\t([ ])?\t\t\t\t\t\t# Space not allowed\n\
238
+ \t\t\t\t(\\()\t\t\t\t\t\t# Opening paren for url\n\
239
+ \t\t\t\t\t(<?)(.*?)(>?)\t\t\t# The url\n\
240
+ \t\t\t\t\t[ \\t]*\t\t\t\t\t# Optional whitespace\n\
241
+ \t\t\t\t\t(?:\n\
242
+ \t\t\t\t\t\t ((\\().+?(\\)))\t\t# Match title in parens\xE2\x80\xA6\n\
243
+ \t\t\t\t\t\t| ((\").+?(\"))\t\t# or in quotes.\n\
244
+ \t\t\t\t\t)?\t\t\t\t\t\t# Title is optional\n\
245
+ \t\t\t\t\t\\s*\t\t\t\t\t\t# Optional whitespace\n\
246
+ \t\t\t\t(\\))\n\
247
+ \t\t\t )"
248
+ bold:
249
+ name: markup.bold.markdown
250
+ captures:
251
+ "1":
252
+ name: punctuation.definition.bold.markdown
253
+ begin: "(?x)\n\
254
+ \t\t\t\t\t\t(\\*\\*|__)(?=\\S)\t\t\t\t\t\t\t\t# Open\n\
255
+ \t\t\t\t\t\t(?=\n\
256
+ \t\t\t\t\t\t\t(\n\
257
+ \t\t\t\t\t\t\t <[^>]*+>\t\t\t\t\t\t\t# HTML tags\n\
258
+ \t\t\t\t\t\t\t | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n\
259
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# Raw\n\
260
+ \t\t\t\t\t\t\t | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+\t\t\t# Escapes\n\
261
+ \t\t\t\t\t\t\t | \\[\n\
262
+ \t\t\t\t\t\t\t\t(\t\t\t\t\n\
263
+ \t\t\t\t\t\t\t\t (?<square>\t\t\t\t\t# Named group\n\
264
+ \t\t\t\t\t\t\t\t\t\t\t[^\\[\\]\\\\]\t\t\t\t# Match most chars\n\
265
+ \t\t\t\t\t\t\t\t | \\\\.\t\t\t\t\t\t# Escaped chars\n\
266
+ \t\t\t\t\t\t\t\t | \\[ \\g<square>*+ \\]\t\t# Nested brackets\n\
267
+ \t\t\t\t\t\t\t\t )*+\n\
268
+ \t\t\t\t\t\t\t\t\t\\]\n\
269
+ \t\t\t\t\t\t\t\t\t(\n\
270
+ \t\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t# Reference Link\n\
271
+ \t\t\t\t\t\t\t\t\t\t\t[ ]?\t\t\t\t\t# Optional space\n\
272
+ \t\t\t\t\t\t\t\t\t\t\t\\[[^\\]]*+\\]\t\t\t\t# Ref name\n\
273
+ \t\t\t\t\t\t\t\t\t\t)\n\
274
+ \t\t\t\t\t\t\t\t\t | (\t\t\t\t\t\t\t# Inline Link\n\
275
+ \t\t\t\t\t\t\t\t\t\t\t\\(\t\t\t\t\t\t# Opening paren\n\
276
+ \t\t\t\t\t\t\t\t\t\t\t\t[ \\t]*+\t\t\t\t# Optional whtiespace\n\
277
+ \t\t\t\t\t\t\t\t\t\t\t\t<?(.*?)>?\t\t\t# URL\n\
278
+ \t\t\t\t\t\t\t\t\t\t\t\t[ \\t]*+\t\t\t\t# Optional whtiespace\n\
279
+ \t\t\t\t\t\t\t\t\t\t\t\t(\t\t\t\t\t# Optional Title\n\
280
+ \t\t\t\t\t\t\t\t\t\t\t\t\t(?<title>['\"])\n\
281
+ \t\t\t\t\t\t\t\t\t\t\t\t\t(.*?)\n\
282
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\\k<title>\n\
283
+ \t\t\t\t\t\t\t\t\t\t\t\t)?\n\
284
+ \t\t\t\t\t\t\t\t\t\t\t\\)\n\
285
+ \t\t\t\t\t\t\t\t\t\t)\n\
286
+ \t\t\t\t\t\t\t\t\t)\n\
287
+ \t\t\t\t\t\t\t\t)\n\
288
+ \t\t\t\t\t\t\t | (?!(?<=\\S)\\1).\t\t\t\t\t\t# Everything besides\n\
289
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# style closer\n\
290
+ \t\t\t\t\t\t\t)++\n\
291
+ \t\t\t\t\t\t\t(?<=\\S)\\1\t\t\t\t\t\t\t\t# Close\n\
292
+ \t\t\t\t\t\t)\n\
293
+ \t\t\t\t\t"
294
+ end: (?<=\S)(\1)
295
+ patterns:
296
+ - begin: (?=<[^>]*?>)
297
+ applyEndPatternLast: 1
298
+ end: (?<=>)
299
+ patterns:
300
+ - include: text.html.basic
301
+ - include: "#escape"
302
+ - include: "#ampersand"
303
+ - include: "#bracket"
304
+ - include: "#raw"
305
+ - include: "#italic"
306
+ - include: "#image-inline"
307
+ - include: "#link-inline"
308
+ - include: "#link-inet"
309
+ - include: "#link-email"
310
+ - include: "#image-ref"
311
+ - include: "#link-ref-literal"
312
+ - include: "#link-ref"
313
+ heading:
314
+ name: markup.heading.markdown
315
+ captures:
316
+ "1":
317
+ name: punctuation.definition.heading.markdown
318
+ begin: \G(#{1,6})(?!#)\s*(?=\S)
319
+ contentName: entity.name.section.markdown
320
+ end: \s*(#*)$\n?
321
+ patterns:
322
+ - include: "#inline"
323
+ link-inet:
324
+ name: meta.link.inet.markdown
325
+ captures:
326
+ "1":
327
+ name: punctuation.definition.link.markdown
328
+ "2":
329
+ name: markup.underline.link.markdown
330
+ "3":
331
+ name: punctuation.definition.link.markdown
332
+ match: (<)((?:https?|ftp)://.*?)(>)
333
+ raw:
334
+ name: markup.raw.inline.markdown
335
+ captures:
336
+ "1":
337
+ name: punctuation.definition.raw.markdown
338
+ "3":
339
+ name: punctuation.definition.raw.markdown
340
+ match: (`+)([^`]|(?!(?<!`)\1(?!`))`)*+(\1)
341
+ italic:
342
+ name: markup.italic.markdown
343
+ captures:
344
+ "1":
345
+ name: punctuation.definition.italic.markdown
346
+ begin: "(?x)\n\
347
+ \t\t\t\t\t\t(\\*|_)(?=\\S)\t\t\t\t\t\t\t\t# Open\n\
348
+ \t\t\t\t\t\t(?=\n\
349
+ \t\t\t\t\t\t\t(\n\
350
+ \t\t\t\t\t\t\t <[^>]*+>\t\t\t\t\t\t\t# HTML tags\n\
351
+ \t\t\t\t\t\t\t | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n\
352
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# Raw\n\
353
+ \t\t\t\t\t\t\t | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+\t\t\t# Escapes\n\
354
+ \t\t\t\t\t\t\t | \\[\n\
355
+ \t\t\t\t\t\t\t\t(\t\t\t\t\n\
356
+ \t\t\t\t\t\t\t\t (?<square>\t\t\t\t\t# Named group\n\
357
+ \t\t\t\t\t\t\t\t\t\t\t[^\\[\\]\\\\]\t\t\t\t# Match most chars\n\
358
+ \t\t\t\t\t\t\t\t | \\\\.\t\t\t\t\t\t# Escaped chars\n\
359
+ \t\t\t\t\t\t\t\t | \\[ \\g<square>*+ \\]\t\t# Nested brackets\n\
360
+ \t\t\t\t\t\t\t\t )*+\n\
361
+ \t\t\t\t\t\t\t\t\t\\]\n\
362
+ \t\t\t\t\t\t\t\t\t(\n\
363
+ \t\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t# Reference Link\n\
364
+ \t\t\t\t\t\t\t\t\t\t\t[ ]?\t\t\t\t\t# Optional space\n\
365
+ \t\t\t\t\t\t\t\t\t\t\t\\[[^\\]]*+\\]\t\t\t\t# Ref name\n\
366
+ \t\t\t\t\t\t\t\t\t\t)\n\
367
+ \t\t\t\t\t\t\t\t\t | (\t\t\t\t\t\t\t# Inline Link\n\
368
+ \t\t\t\t\t\t\t\t\t\t\t\\(\t\t\t\t\t\t# Opening paren\n\
369
+ \t\t\t\t\t\t\t\t\t\t\t\t[ \\t]*+\t\t\t\t# Optional whtiespace\n\
370
+ \t\t\t\t\t\t\t\t\t\t\t\t<?(.*?)>?\t\t\t# URL\n\
371
+ \t\t\t\t\t\t\t\t\t\t\t\t[ \\t]*+\t\t\t\t# Optional whtiespace\n\
372
+ \t\t\t\t\t\t\t\t\t\t\t\t(\t\t\t\t\t# Optional Title\n\
373
+ \t\t\t\t\t\t\t\t\t\t\t\t\t(?<title>['\"])\n\
374
+ \t\t\t\t\t\t\t\t\t\t\t\t\t(.*?)\n\
375
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\\k<title>\n\
376
+ \t\t\t\t\t\t\t\t\t\t\t\t)?\n\
377
+ \t\t\t\t\t\t\t\t\t\t\t\\)\n\
378
+ \t\t\t\t\t\t\t\t\t\t)\n\
379
+ \t\t\t\t\t\t\t\t\t)\n\
380
+ \t\t\t\t\t\t\t\t)\n\
381
+ \t\t\t\t\t\t\t | \\1\\1\t\t\t\t\t\t\t\t# Must be bold closer\n\
382
+ \t\t\t\t\t\t\t | (?!(?<=\\S)\\1).\t\t\t\t\t\t# Everything besides\n\
383
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t# style closer\n\
384
+ \t\t\t\t\t\t\t)++\n\
385
+ \t\t\t\t\t\t\t(?<=\\S)\\1\t\t\t\t\t\t\t\t# Close\n\
386
+ \t\t\t\t\t\t)\n\
387
+ \t\t\t\t\t"
388
+ end: (?<=\S)(\1)((?!\1)|(?=\1\1))
389
+ patterns:
390
+ - begin: (?=<[^>]*?>)
391
+ applyEndPatternLast: 1
392
+ end: (?<=>)
393
+ patterns:
394
+ - include: text.html.basic
395
+ - include: "#escape"
396
+ - include: "#ampersand"
397
+ - include: "#bracket"
398
+ - include: "#raw"
399
+ - include: "#bold"
400
+ - include: "#image-inline"
401
+ - include: "#link-inline"
402
+ - include: "#link-inet"
403
+ - include: "#link-email"
404
+ - include: "#image-ref"
405
+ - include: "#link-ref-literal"
406
+ - include: "#link-ref"
407
+ line-break:
408
+ name: meta.dummy.line-break
409
+ match: " {2,}$"
410
+ ampersand:
411
+ name: meta.other.valid-ampersand.markdown
412
+ match: "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)"
413
+ comment: "\n\
414
+ \t\t\t\tMarkdown will convert this for us. We match it so that the\n\
415
+ \t\t\t\tHTML grammar will not mark it up as invalid.\n\
416
+ \t\t\t"
417
+ uuid: 0A1D9874-B448-11D9-BD50-000D93B6E43C
418
+ foldingStartMarker: |-
419
+ (?x)
420
+ (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?>
421
+ |<!--(?!.*-->)
422
+ |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
423
+ )
424
+ patterns:
425
+ - name: meta.block-level.markdown
426
+ begin: |-
427
+ (?x)^
428
+ (?= [ ]{,3}>.
429
+ | ([ ]{4}|\t)
430
+ | [#]{1,6}\s*+
431
+ | [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
432
+ )
433
+ end: |-
434
+ (?x)^
435
+ (?! [ ]{,3}>.
436
+ | ([ ]{4}|\t)
437
+ | [#]{1,6}\s*+
438
+ | [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$
439
+ )
440
+ patterns:
441
+ - include: "#block_quote"
442
+ - include: "#block_raw"
443
+ - include: "#heading"
444
+ - include: "#separator"
445
+ comment: "\n\
446
+ \t\t\t\tWe could also use an empty end match and set\n\
447
+ \t\t\t\tapplyEndPatternLast, but then we must be sure that the begin\n\
448
+ \t\t\t\tpattern will only match stuff matched by the sub-patterns.\n\
449
+ \t\t\t"
450
+ - name: markup.list.unnumbered
451
+ captures:
452
+ "1":
453
+ name: punctuation.definition.list_item.markdown
454
+ begin: ^[ ]{0,3}([*+-])(?=\s)
455
+ end: ^(?=\S)
456
+ patterns:
457
+ - include: "#list-paragraph"
458
+ - name: markup.list.numbered
459
+ captures:
460
+ "1":
461
+ name: punctuation.definition.list_item.markdown
462
+ begin: ^[ ]{0,3}[0-9]+(\.)(?=\s)
463
+ end: ^(?=\S)
464
+ patterns:
465
+ - include: "#list-paragraph"
466
+ - name: meta.disable-markdown
467
+ begin: ^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b)(?!.*?</\1>)
468
+ end: (?<=^</\1>$\n)
469
+ patterns:
470
+ - include: text.html.basic
471
+ comment: "\n\
472
+ \t\t\t\tMarkdown formatting is disabled inside block-level tags.\n\
473
+ \t\t\t"
474
+ - name: meta.disable-markdown
475
+ begin: ^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b)
476
+ end: $\n?
477
+ patterns:
478
+ - include: text.html.basic
479
+ comment: Same rule but for one line disables.
480
+ - name: meta.link.reference.def.markdown
481
+ captures:
482
+ "6":
483
+ name: markup.underline.link.markdown
484
+ "11":
485
+ name: string.other.link.description.title.markdown
486
+ "7":
487
+ name: punctuation.definition.link.markdown
488
+ "12":
489
+ name: punctuation.definition.string.begin.markdown
490
+ "8":
491
+ name: string.other.link.description.title.markdown
492
+ "13":
493
+ name: punctuation.definition.string.end.markdown
494
+ "9":
495
+ name: punctuation.definition.string.begin.markdown
496
+ "1":
497
+ name: punctuation.definition.constant.markdown
498
+ "2":
499
+ name: constant.other.reference.link.markdown
500
+ "3":
501
+ name: punctuation.definition.constant.markdown
502
+ "4":
503
+ name: punctuation.separator.key-value.markdown
504
+ "10":
505
+ name: punctuation.definition.string.end.markdown
506
+ "5":
507
+ name: punctuation.definition.link.markdown
508
+ match: "(?x:\n\
509
+ \t\t\t\t\\s*\t\t\t\t\t\t# Leading whitespace\n\
510
+ \t\t\t\t(\\[)(.+?)(\\])(:)\t\t# Reference name\n\
511
+ \t\t\t\t[ \\t]*\t\t\t\t\t# Optional whitespace\n\
512
+ \t\t\t\t(<?)(\\S+?)(>?)\t\t\t# The url\n\
513
+ \t\t\t\t[ \\t]*\t\t\t\t\t# Optional whitespace\n\
514
+ \t\t\t\t(?:\n\
515
+ \t\t\t\t\t ((\\().+?(\\)))\t\t# Match title in quotes\xE2\x80\xA6\n\
516
+ \t\t\t\t\t| ((\").+?(\"))\t\t# or in parens.\n\
517
+ \t\t\t\t)?\t\t\t\t\t\t# Title is optional\n\
518
+ \t\t\t\t\\s*\t\t\t\t\t\t# Optional whitespace\n\
519
+ \t\t\t\t$\n\
520
+ \t\t\t)"
521
+ - name: meta.paragraph.markdown
522
+ begin: ^(?=\S)(?![=-]{3,}(?=$))
523
+ end: ^(?:\s*$|(?=[ ]{,3}>.))|(?=[ \t]*\n)(?<=^===|^====|=====|^---|^----|-----)[ \t]*\n
524
+ patterns:
525
+ - include: "#inline"
526
+ - include: text.html.basic
527
+ - name: markup.heading.1.markdown
528
+ captures:
529
+ "1":
530
+ name: punctuation.definition.heading.markdown
531
+ match: ^(={3,})(?=[ \t]*$)
532
+ - name: markup.heading.2.markdown
533
+ captures:
534
+ "1":
535
+ name: punctuation.definition.heading.markdown
536
+ match: ^(-{3,})(?=[ \t]*$)
537
+ foldingStopMarker: |-
538
+ (?x)
539
+ (</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>
540
+ |^\s*-->
541
+ |(^|\s)\}
542
+ )
543
+ keyEquivalent: ^~M