ultraviolet 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. data/History.txt +5 -0
  2. data/Manifest.txt +216 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +51 -0
  5. data/bin/theme2render +104 -0
  6. data/bin/uv +162 -0
  7. data/lib/uv.rb +84 -0
  8. data/lib/uv/html_processor.rb +89 -0
  9. data/render/old/txt2tags.render +131 -0
  10. data/render/xhtml/active4d.render +105 -0
  11. data/render/xhtml/all_hallows_eve.render +69 -0
  12. data/render/xhtml/amy.render +144 -0
  13. data/render/xhtml/blackboard.render +84 -0
  14. data/render/xhtml/brilliance_black.render +575 -0
  15. data/render/xhtml/brilliance_dull.render +534 -0
  16. data/render/xhtml/cobalt.render +135 -0
  17. data/render/xhtml/dawn.render +99 -0
  18. data/render/xhtml/eiffel.render +105 -0
  19. data/render/xhtml/espresso_libre.render +96 -0
  20. data/render/xhtml/files/css/active4d.css +114 -0
  21. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  22. data/render/xhtml/files/css/amy.css +144 -0
  23. data/render/xhtml/files/css/blackboard.css +88 -0
  24. data/render/xhtml/files/css/brilliance_black.css +632 -0
  25. data/render/xhtml/files/css/brilliance_dull.css +579 -0
  26. data/render/xhtml/files/css/cobalt.css +149 -0
  27. data/render/xhtml/files/css/dawn.css +121 -0
  28. data/render/xhtml/files/css/eiffel.css +121 -0
  29. data/render/xhtml/files/css/espresso_libre.css +109 -0
  30. data/render/xhtml/files/css/idle.css +62 -0
  31. data/render/xhtml/files/css/iplastic.css +80 -0
  32. data/render/xhtml/files/css/lazy.css +73 -0
  33. data/render/xhtml/files/css/mac_classic.css +123 -0
  34. data/render/xhtml/files/css/magicwb_amiga.css +101 -0
  35. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  36. data/render/xhtml/files/css/slush_poppies.css +85 -0
  37. data/render/xhtml/files/css/spacecadet.css +51 -0
  38. data/render/xhtml/files/css/sunburst.css +180 -0
  39. data/render/xhtml/files/css/twilight.css +137 -0
  40. data/render/xhtml/files/css/zenburnesque.css +88 -0
  41. data/render/xhtml/idle.render +66 -0
  42. data/render/xhtml/iplastic.render +72 -0
  43. data/render/xhtml/lazy.render +69 -0
  44. data/render/xhtml/mac_classic.render +108 -0
  45. data/render/xhtml/magicwb_amiga.render +90 -0
  46. data/render/xhtml/pastels_on_dark.render +177 -0
  47. data/render/xhtml/slush_poppies.render +96 -0
  48. data/render/xhtml/spacecadet.render +54 -0
  49. data/render/xhtml/sunburst.render +159 -0
  50. data/render/xhtml/twilight.render +126 -0
  51. data/render/xhtml/zenburnesque.render +99 -0
  52. data/syntax/actionscript.syntax +97 -0
  53. data/syntax/active4d.syntax +276 -0
  54. data/syntax/active4d_html.syntax +311 -0
  55. data/syntax/active4d_ini.syntax +50 -0
  56. data/syntax/active4d_library.syntax +21 -0
  57. data/syntax/ada.syntax +33 -0
  58. data/syntax/antlr.syntax +128 -0
  59. data/syntax/apache.syntax +176 -0
  60. data/syntax/applescript.syntax +384 -0
  61. data/syntax/asp.syntax +70 -0
  62. data/syntax/asp_vb.net.syntax +129 -0
  63. data/syntax/bibtex.syntax +151 -0
  64. data/syntax/blog_html.syntax +41 -0
  65. data/syntax/blog_markdown.syntax +42 -0
  66. data/syntax/blog_text.syntax +27 -0
  67. data/syntax/blog_textile.syntax +27 -0
  68. data/syntax/buggy/nemerle.yaml +74 -0
  69. data/syntax/build.syntax +53 -0
  70. data/syntax/bulletin_board.syntax +287 -0
  71. data/syntax/c++.syntax +109 -0
  72. data/syntax/c.syntax +326 -0
  73. data/syntax/cake.syntax +55 -0
  74. data/syntax/camlp4.syntax +36 -0
  75. data/syntax/coldfusion.syntax +118 -0
  76. data/syntax/context_free.syntax +176 -0
  77. data/syntax/cs.syntax +59 -0
  78. data/syntax/css.syntax +190 -0
  79. data/syntax/css_experimental.syntax +1925 -0
  80. data/syntax/csv.syntax +68 -0
  81. data/syntax/d.syntax +138 -0
  82. data/syntax/diff.syntax +81 -0
  83. data/syntax/dokuwiki.syntax +204 -0
  84. data/syntax/dot.syntax +47 -0
  85. data/syntax/doxygen.syntax +43 -0
  86. data/syntax/dylan.syntax +62 -0
  87. data/syntax/eiffel.syntax +78 -0
  88. data/syntax/erlang.syntax +922 -0
  89. data/syntax/f-script.syntax +80 -0
  90. data/syntax/fortran.syntax +141 -0
  91. data/syntax/fxscript.syntax +142 -0
  92. data/syntax/greasemonkey.syntax +34 -0
  93. data/syntax/gri.syntax +83 -0
  94. data/syntax/groovy.syntax +189 -0
  95. data/syntax/gtd2_text.syntax +31 -0
  96. data/syntax/gtdalt.syntax +143 -0
  97. data/syntax/haml.syntax +88 -0
  98. data/syntax/haskell.syntax +88 -0
  99. data/syntax/html-asp.syntax +27 -0
  100. data/syntax/html.syntax +362 -0
  101. data/syntax/html_django.syntax +36 -0
  102. data/syntax/html_for_asp.net.syntax +424 -0
  103. data/syntax/html_mason.syntax +119 -0
  104. data/syntax/html_rails.syntax +40 -0
  105. data/syntax/html_tcl.syntax +26 -0
  106. data/syntax/icalendar.syntax +32 -0
  107. data/syntax/inform.syntax +48 -0
  108. data/syntax/ini.syntax +54 -0
  109. data/syntax/installer_distribution_script.syntax +77 -0
  110. data/syntax/io.syntax +81 -0
  111. data/syntax/java.syntax +211 -0
  112. data/syntax/javaproperties.syntax +20 -0
  113. data/syntax/javascript.syntax +255 -0
  114. data/syntax/javascript_+_prototype.syntax +72 -0
  115. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  116. data/syntax/jquery_javascript.syntax +114 -0
  117. data/syntax/json.syntax +136 -0
  118. data/syntax/languagedefinition.syntax +697 -0
  119. data/syntax/latex.syntax +566 -0
  120. data/syntax/latex_beamer.syntax +41 -0
  121. data/syntax/latex_log.syntax +50 -0
  122. data/syntax/latex_memoir.syntax +64 -0
  123. data/syntax/lexflex.syntax +219 -0
  124. data/syntax/lighttpd.syntax +54 -0
  125. data/syntax/lilypond.syntax +492 -0
  126. data/syntax/lisp.syntax +61 -0
  127. data/syntax/literate_haskell.syntax +24 -0
  128. data/syntax/logo.syntax +29 -0
  129. data/syntax/logtalk.syntax +152 -0
  130. data/syntax/lua.syntax +86 -0
  131. data/syntax/m.syntax +142 -0
  132. data/syntax/macports_portfile.syntax +143 -0
  133. data/syntax/mail.syntax +118 -0
  134. data/syntax/makefile.syntax +35 -0
  135. data/syntax/man.syntax +17 -0
  136. data/syntax/markdown.syntax +543 -0
  137. data/syntax/mediawiki.syntax +567 -0
  138. data/syntax/mel.syntax +92 -0
  139. data/syntax/mips.syntax +66 -0
  140. data/syntax/mod_perl.syntax +50 -0
  141. data/syntax/modula-3.syntax +47 -0
  142. data/syntax/moinmoin.syntax +189 -0
  143. data/syntax/mootools.syntax +572 -0
  144. data/syntax/movable_type.syntax +162 -0
  145. data/syntax/multimarkdown.syntax +39 -0
  146. data/syntax/objective-c++.syntax +18 -0
  147. data/syntax/objective-c.syntax +226 -0
  148. data/syntax/ocaml.syntax +764 -0
  149. data/syntax/ocamllex.syntax +167 -0
  150. data/syntax/ocamlyacc.syntax +184 -0
  151. data/syntax/old/YAML.yaml +160 -0
  152. data/syntax/old/txt2tags.yaml +139 -0
  153. data/syntax/opengl.syntax +14 -0
  154. data/syntax/pascal.syntax +77 -0
  155. data/syntax/perl.syntax +1075 -0
  156. data/syntax/php.syntax +678 -0
  157. data/syntax/plain_text.syntax +32 -0
  158. data/syntax/postscript.syntax +114 -0
  159. data/syntax/processing.syntax +106 -0
  160. data/syntax/prolog.syntax +40 -0
  161. data/syntax/property_list.syntax +645 -0
  162. data/syntax/python.syntax +865 -0
  163. data/syntax/python_django.syntax +21 -0
  164. data/syntax/qmake_project.syntax +114 -0
  165. data/syntax/qt_c++.syntax +26 -0
  166. data/syntax/quake3_config.syntax +32 -0
  167. data/syntax/r.syntax +81 -0
  168. data/syntax/r_console.syntax +16 -0
  169. data/syntax/ragel.syntax +201 -0
  170. data/syntax/rd_r_documentation.syntax +91 -0
  171. data/syntax/regexp.syntax +50 -0
  172. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  173. data/syntax/regular_expressions_python.syntax +109 -0
  174. data/syntax/release_notes.syntax +37 -0
  175. data/syntax/remind.syntax +253 -0
  176. data/syntax/restructuredtext.syntax +250 -0
  177. data/syntax/rez.syntax +80 -0
  178. data/syntax/ruby.syntax +1035 -0
  179. data/syntax/ruby_experimental.syntax +145 -0
  180. data/syntax/ruby_on_rails.syntax +88 -0
  181. data/syntax/s5.syntax +69 -0
  182. data/syntax/scheme.syntax +347 -0
  183. data/syntax/scilab.syntax +41 -0
  184. data/syntax/setext.syntax +147 -0
  185. data/syntax/shell-unix-generic.syntax +384 -0
  186. data/syntax/slate.syntax +149 -0
  187. data/syntax/smarty.syntax +63 -0
  188. data/syntax/sql.syntax +237 -0
  189. data/syntax/sql_rails.syntax +18 -0
  190. data/syntax/ssh-config.syntax +33 -0
  191. data/syntax/standard_ml.syntax +45 -0
  192. data/syntax/strings_file.syntax +39 -0
  193. data/syntax/subversion_commit_message.syntax +36 -0
  194. data/syntax/sweave.syntax +84 -0
  195. data/syntax/swig.syntax +57 -0
  196. data/syntax/tcl.syntax +152 -0
  197. data/syntax/template_toolkit.syntax +121 -0
  198. data/syntax/tex.syntax +86 -0
  199. data/syntax/tex_math.syntax +49 -0
  200. data/syntax/textile.syntax +215 -0
  201. data/syntax/tsv.syntax +50 -0
  202. data/syntax/twiki.syntax +241 -0
  203. data/syntax/txt2tags.syntax +79 -0
  204. data/syntax/vectorscript.syntax +57 -0
  205. data/syntax/xhtml_1.0.syntax +4027 -0
  206. data/syntax/xml.syntax +179 -0
  207. data/syntax/xml_strict.syntax +92 -0
  208. data/syntax/xsl.syntax +60 -0
  209. data/syntax/yaml.syntax +160 -0
  210. data/syntax/yui_javascript.syntax +176 -0
  211. data/test/test_uv.rb +0 -0
  212. metadata +270 -0
@@ -0,0 +1,143 @@
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
+ - captures:
72
+ "1":
73
+ name: keyword.other.tcl.macports
74
+ match: ^\s*(PortSystem|PortGroup)(?!\S)
75
+ comment: Base commands
76
+ - captures:
77
+ "1":
78
+ name: keyword.other.tcl.macports
79
+ 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)
80
+ comment: Procs defined with the `commands` keyword (ignore use_option-{delete,append} as it is useless)
81
+ - captures:
82
+ "1":
83
+ name: keyword.other.tcl.macports
84
+ match: ^\s*((?:(?:pre|post)-)?(?:activate|build|checksum|clean|configure|destroot|distcheck|extract|fetch|install|livecheck|main|mirror|patch|pkg|mpkg|submit|test))(?!\S)
85
+ comment: Procs defined with the `target_provides` keyword
86
+ - captures:
87
+ "1":
88
+ name: keyword.other.tcl.macports
89
+ 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|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)
90
+ comment: Procs defined with the `options` keyword
91
+ - begin: ^\s*((?:long_)?description)(?!\S)
92
+ contentName: string.unquoted.tcl.macports
93
+ beginCaptures:
94
+ "1":
95
+ name: keyword.other.tcl.macports
96
+ end: "[\\n;]"
97
+ patterns:
98
+ - include: "#escape"
99
+ - include: "#string"
100
+ - include: "#braces"
101
+ - include: "#embedded"
102
+ - include: "#variable"
103
+ comment: special-case description and long_description for backslash-newline escapes and string scoping
104
+ - name: meta.variant.tcl.macports
105
+ captures:
106
+ "1":
107
+ name: keyword.other.variant.tcl.macports
108
+ begin: ^(variant)(?!\S)
109
+ end: \n
110
+ patterns:
111
+ - name: keyword.other.variant.tcl.macports
112
+ match: (?<=\s)(?:provides|requires|conflicts)(?!\S)
113
+ - name: entity.name.function.variant.tcl.macports
114
+ match: (?<=\s)([\w-]+)
115
+ - endCaptures:
116
+ "1":
117
+ name: punctuation.terminator.variant.tcl.macports
118
+ begin: (\{)
119
+ beginCaptures:
120
+ "1":
121
+ name: punctuation.section.variant.tcl.macports
122
+ end: (\})
123
+ patterns:
124
+ - include: source.tcl.macports
125
+ - name: meta.variant.platform.tcl.macports
126
+ endCaptures:
127
+ "1":
128
+ name: punctuation.terminator.variant.platform.tcl.macports
129
+ begin: ^(platform)(?:\s+(\S+))?(?:\s+(\S+))?(?:\s+(\S+))?\s+(\{)
130
+ beginCaptures:
131
+ "1":
132
+ name: keyword.other.variant.platform.tcl.macports
133
+ "2":
134
+ name: entity.name.function.variant.platform.tcl.macports
135
+ "5":
136
+ name: punctuation.section.variant.platform.tcl.macports
137
+ end: (\})
138
+ patterns:
139
+ - include: source.tcl.macports
140
+ - name: keyword.other.tcl.macports
141
+ 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
142
+ - include: source.tcl
143
+ 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,35 @@
1
+ ---
2
+ name: Makefile
3
+ fileTypes:
4
+ - GNUmakefile
5
+ - makefile
6
+ - Makefile
7
+ scopeName: source.makefile
8
+ uuid: FF1825E8-6B1C-11D9-B883-000D93589AF6
9
+ patterns:
10
+ - name: variable.other.makefile
11
+ begin: ^(\w|[-_])+\s*\??=
12
+ end: $
13
+ patterns:
14
+ - match: \\\n
15
+ - name: string.interpolated.backtick.makefile
16
+ begin: `
17
+ end: `
18
+ patterns:
19
+ - include: source.shell
20
+ - name: comment.line.number-sign.makefile
21
+ begin: "#"
22
+ beginCaptures:
23
+ "0":
24
+ name: punctuation.definition.comment.makefile
25
+ end: $\n?
26
+ patterns:
27
+ - name: punctuation.separator.continuation.makefile
28
+ match: (?<!\\)\\$\n
29
+ - name: keyword.control.makefile
30
+ match: ^(\s*)\b(\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)\b
31
+ - name: meta.function.makefile
32
+ captures:
33
+ "1":
34
+ name: entity.name.function.makefile
35
+ 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