mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-25 20:57:12 +00:00
1203 lines
30 KiB
XML
1203 lines
30 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>fileTypes</key>
|
|
<array>
|
|
<string>md</string>
|
|
<string>mdown</string>
|
|
<string>markdown</string>
|
|
<string>markdn</string>
|
|
</array>
|
|
<key>keyEquivalent</key>
|
|
<string>^~M</string>
|
|
<key>name</key>
|
|
<string>Markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#frontMatter</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#block</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>block</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#separator</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#heading</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#blockquote</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#lists</string>
|
|
</dict>
|
|
{{languageIncludes}}
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#fenced_code_block_unknown</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#raw_block</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-def</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#html</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#paragraph</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>blockquote</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)[ ]{0,3}(>) ?</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>beginning.punctuation.definition.quote.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>markup.quote.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#block</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>(^|\G)\s*(>) ?</string>
|
|
</dict>
|
|
<key>heading</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?:^|\G)[ ]{0,3}(#{1,6})\s*(?=[\S[^#]])</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.heading.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>entity.name.section.markdown</string>
|
|
<key>end</key>
|
|
<string>\s*(#{1,6})?$\n?</string>
|
|
<key>name</key>
|
|
<string>markup.heading.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#inline</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>heading-setext</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>^(={3,})(?=[ \t]*$\n?)</string>
|
|
<key>name</key>
|
|
<string>markup.heading.setext.1.markdown</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>^(-{3,})(?=[ \t]*$\n?)</string>
|
|
<key>name</key>
|
|
<string>markup.heading.setext.2.markdown</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>html</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)\s*(<!--)</string>
|
|
<key>end</key>
|
|
<string>(-->)</string>
|
|
<key>name</key>
|
|
<string>comment.block.html</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.html</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.html</string>
|
|
</dict>
|
|
</dict>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)\s*(?=<(script|style|pre)(\s|$|>)(?!.*?</(script|style|pre)>))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(\s*|$)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>^\s*(?!</(script|style|pre)>)</string>
|
|
</dict>
|
|
</array>
|
|
<key>end</key>
|
|
<string>(?=</(script|style|pre)>)</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)\s*(?=</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(\s|$|/?>))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>^(?!\s*$)</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)\s*(?=(<[a-zA-Z0-9\-](/?>|\s.*?>)|</[a-zA-Z0-9\-]>)\s*$)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>^(?!\s*$)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>link-def</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.markdown</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>12</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>13</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.other.reference.link.markdown</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.key-value.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.underline.link.markdown</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^(?x:
|
|
\s* # Leading whitespace
|
|
(\[)(.+?)(\])(:) # Reference name
|
|
[ \t]* # Optional whitespace
|
|
(<?)(\S+?)(>?) # The url
|
|
[ \t]* # Optional whitespace
|
|
(?:
|
|
((\().+?(\))) # Match title in quotes…
|
|
| ((").+?(")) # or in parens.
|
|
)? # Title is optional
|
|
\s* # Optional whitespace
|
|
$
|
|
)</string>
|
|
<key>name</key>
|
|
<string>meta.link.reference.def.markdown</string>
|
|
</dict>
|
|
<key>list_paragraph</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)(?=\S)(?![*+-]\s|[0-9]+\.\s)</string>
|
|
<key>name</key>
|
|
<string>meta.paragraph.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#heading-setext</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>(^|\G)(?!\s*$|#|[ ]{0,3}([-*_][ ]{2,}){3,}[ \t]*$\n?|>|[ ]{0,3}[*+-]|[ ]{0,3}[0-9]+\.)</string>
|
|
</dict>
|
|
<key>lists</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)([ ]{0,3})([*+-])([ ]{1,3}|\t)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>beginning.punctuation.definition.list.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>Currently does not support un-indented second lines.</string>
|
|
<key>name</key>
|
|
<string>markup.list.unnumbered.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#list_paragraph</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#block</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>((^|\G)([ ]{4}|\t))|(^[ \t]*$)</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)([ ]{0,3})([0-9]+\.)([ ]{1,3}|\t)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>beginning.punctuation.definition.list.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>markup.list.numbered.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#list_paragraph</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#block</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>((^|\G)([ ]{4}|\t))|(^[ \t]*$)</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>paragraph</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)[ ]{0,3}(?=\S)</string>
|
|
<key>name</key>
|
|
<string>meta.paragraph.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#heading-setext</string>
|
|
</dict>
|
|
</array>
|
|
<key>while</key>
|
|
<string>(^|\G)((?=\s*[-=]{3,}\s*$)|[ ]{4,}(?=\S))</string>
|
|
</dict>
|
|
{{languageDefinitions}}
|
|
<key>fenced_code_block_unknown</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.fenced_code.block.markdown</string>
|
|
<key>begin</key>
|
|
<string>(^|\G)(\s*)([`~]{3,})\s*(?=([^`~]*)?$)</string>
|
|
<key>end</key>
|
|
<string>(^|\G)(\2|\s{0,3})(\3)\s*$</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>fenced_code.block.language</string>
|
|
</dict>
|
|
</dict>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
</dict>
|
|
<key>raw_block</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^|\G)([ ]{4}|\t)</string>
|
|
<key>name</key>
|
|
<string>markup.raw.block.markdown</string>
|
|
<key>while</key>
|
|
<string>(^|\G)([ ]{4}|\t)</string>
|
|
</dict>
|
|
<key>separator</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(^|\G)[ ]{0,3}([*-_])([ ]{0,2}\2){2,}[ \t]*$\n?</string>
|
|
<key>name</key>
|
|
<string>meta.separator.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
</dict>
|
|
<key>inline</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#ampersand</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bracket</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bold</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#italic</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#raw</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-ref</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-email</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inet</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref-literal</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>ampersand</key>
|
|
<dict>
|
|
<key>comment</key>
|
|
<string>
|
|
Markdown will convert this for us. We match it so that the
|
|
HTML grammar will not mark it up as invalid.
|
|
</string>
|
|
<key>match</key>
|
|
<string>&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)</string>
|
|
<key>name</key>
|
|
<string>meta.other.valid-ampersand.markdown</string>
|
|
</dict>
|
|
<key>bold</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)
|
|
(\*\*|__)(?=\S) # Open
|
|
(?=
|
|
(
|
|
<[^>]*+> # HTML tags
|
|
| (?<raw>`+)([^`]|(?!(?<!`)\k<raw>(?!`))`)*+\k<raw>
|
|
# Raw
|
|
| \\[\\`*_{}\[\]()#.!+\->]?+ # Escapes
|
|
| \[
|
|
(
|
|
(?<square> # Named group
|
|
[^\[\]\\] # Match most chars
|
|
| \\. # Escaped chars
|
|
| \[ \g<square>*+ \] # Nested brackets
|
|
)*+
|
|
\]
|
|
(
|
|
( # Reference Link
|
|
[ ]? # Optional space
|
|
\[[^\]]*+\] # Ref name
|
|
)
|
|
| ( # Inline Link
|
|
\( # Opening paren
|
|
[ \t]*+ # Optional whitespace
|
|
<?(.*?)>? # URL
|
|
[ \t]*+ # Optional whitespace
|
|
( # Optional Title
|
|
(?<title>['"])
|
|
(.*?)
|
|
\k<title>
|
|
)?
|
|
\)
|
|
)
|
|
)
|
|
)
|
|
| (?!(?<=\S)\1). # Everything besides
|
|
# style closer
|
|
)++
|
|
(?<=\S)\1 # Close
|
|
)
|
|
</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.bold.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?<=\S)(\1)</string>
|
|
<key>name</key>
|
|
<string>markup.bold.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>(?=<[^>]*?>)</string>
|
|
<key>end</key>
|
|
<string>(?<=>)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#ampersand</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bracket</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#raw</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#italic</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inet</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-email</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-ref</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>bracket</key>
|
|
<dict>
|
|
<key>comment</key>
|
|
<string>
|
|
Markdown will convert this for us. We match it so that the
|
|
HTML grammar will not mark it up as invalid.
|
|
</string>
|
|
<key>match</key>
|
|
<string><(?![a-z/?\$!])</string>
|
|
<key>name</key>
|
|
<string>meta.other.valid-bracket.markdown</string>
|
|
</dict>
|
|
<key>escape</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\[-`*_#+.!(){}\[\]\\>]</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.markdown</string>
|
|
</dict>
|
|
<key>image-inline</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.markdown</string>
|
|
</dict>
|
|
<key>12</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.markdown</string>
|
|
</dict>
|
|
<key>13</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>14</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.markdown</string>
|
|
</dict>
|
|
<key>15</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.markdown</string>
|
|
</dict>
|
|
<key>16</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.metadata.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>invalid.illegal.whitespace.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.metadata.markdown</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.underline.link.image.markdown</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?x:
|
|
(\!\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])
|
|
# Match the link text.
|
|
([ ])? # Space not allowed
|
|
(\() # Opening paren for url
|
|
(<?)(\S+?)(>?) # The url
|
|
[ \t]* # Optional whitespace
|
|
(?:
|
|
((\().+?(\))) # Match title in parens…
|
|
| ((").+?(")) # or in quotes.
|
|
)? # Title is optional
|
|
\s* # Optional whitespace
|
|
(\))
|
|
)</string>
|
|
<key>name</key>
|
|
<string>meta.image.inline.markdown</string>
|
|
</dict>
|
|
<key>image-ref</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.other.reference.link.markdown</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\!\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)(.*?)(\])</string>
|
|
<key>name</key>
|
|
<string>meta.image.reference.markdown</string>
|
|
</dict>
|
|
<key>italic</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)
|
|
(\*|_)(?=\S) # Open
|
|
(?=
|
|
(
|
|
<[^>]*+> # HTML tags
|
|
| (?<raw>`+)([^`]|(?!(?<!`)\k<raw>(?!`))`)*+\k<raw>
|
|
# Raw
|
|
| \\[\\`*_{}\[\]()#.!+\->]?+ # Escapes
|
|
| \[
|
|
(
|
|
(?<square> # Named group
|
|
[^\[\]\\] # Match most chars
|
|
| \\. # Escaped chars
|
|
| \[ \g<square>*+ \] # Nested brackets
|
|
)*+
|
|
\]
|
|
(
|
|
( # Reference Link
|
|
[ ]? # Optional space
|
|
\[[^\]]*+\] # Ref name
|
|
)
|
|
| ( # Inline Link
|
|
\( # Opening paren
|
|
[ \t]*+ # Optional whtiespace
|
|
<?(.*?)>? # URL
|
|
[ \t]*+ # Optional whtiespace
|
|
( # Optional Title
|
|
(?<title>['"])
|
|
(.*?)
|
|
\k<title>
|
|
)?
|
|
\)
|
|
)
|
|
)
|
|
)
|
|
| \1\1 # Must be bold closer
|
|
| (?!(?<=\S)\1). # Everything besides
|
|
# style closer
|
|
)++
|
|
(?<=\S)\1 # Close
|
|
)
|
|
</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.italic.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?<=\S)(\1)((?!\1)|(?=\1\1))</string>
|
|
<key>name</key>
|
|
<string>markup.italic.markdown</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<integer>1</integer>
|
|
<key>begin</key>
|
|
<string>(?=<[^>]*?>)</string>
|
|
<key>end</key>
|
|
<string>(?<=>)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>text.html.basic</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#escape</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#ampersand</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bracket</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#raw</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bold</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inline</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-inet</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-email</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#image-ref</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref-literal</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#link-ref</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>link-email</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.underline.link.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(<)((?:mailto:)?[-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(>)</string>
|
|
<key>name</key>
|
|
<string>meta.link.email.lt-gt.markdown</string>
|
|
</dict>
|
|
<key>link-inet</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.underline.link.markdown</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(<)((?:https?|ftp)://.*?)(>)</string>
|
|
<key>name</key>
|
|
<string>meta.link.inet.markdown</string>
|
|
</dict>
|
|
<key>link-inline</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>12</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>13</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.description.title.markdown</string>
|
|
</dict>
|
|
<key>14</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>15</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>16</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.metadata.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.title.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>invalid.illegal.whitespace.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.metadata.markdown</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>markup.underline.link.markdown</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.link.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?x:
|
|
(\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])
|
|
# Match the link text.
|
|
([ ])? # Space not allowed
|
|
(\() # Opening paren for url
|
|
(<?)(.*?)(>?) # The url
|
|
[ \t]* # Optional whitespace
|
|
(?:
|
|
((\().+?(\))) # Match title in parens…
|
|
| ((").+?(")) # or in quotes.
|
|
)? # Title is optional
|
|
\s* # Optional whitespace
|
|
(\))
|
|
)</string>
|
|
<key>name</key>
|
|
<string>meta.link.inline.markdown</string>
|
|
</dict>
|
|
<key>link-ref</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.title.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.begin.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.other.reference.link.markdown</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.end.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])(\[)([^\]]*+)(\])</string>
|
|
<key>name</key>
|
|
<string>meta.link.reference.markdown</string>
|
|
</dict>
|
|
<key>link-ref-literal</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.markdown</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.other.link.title.markdown</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.markdown</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.begin.markdown</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.constant.end.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\[)((?<square>[^\[\]\\]|\\.|\[\g<square>*+\])*+)(\])[ ]?(\[)(\])</string>
|
|
<key>name</key>
|
|
<string>meta.link.reference.literal.markdown</string>
|
|
</dict>
|
|
<key>raw</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.raw.markdown</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.raw.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(`+)([^`]|(?!(?<!`)\1(?!`))`)*+(\1)</string>
|
|
<key>name</key>
|
|
<string>markup.inline.raw.markdown</string>
|
|
</dict>
|
|
</dict>
|
|
</dict>
|
|
<key>frontMatter</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\A-{3}\s*$</string>
|
|
<key>while</key>
|
|
<string>^(?!(-{3}|\.{3})\s*$)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.yaml</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>text.html.markdown</string>
|
|
<key>uuid</key>
|
|
<string>0A1D9874-B448-11D9-BD50-000D93B6E43C</string>
|
|
</dict>
|
|
</plist>
|