Last active
May 7, 2021 21:31
-
-
Save dansheffler/8244c6279a74bedbc9e2 to your computer and use it in GitHub Desktop.
A syntax definition for Sublime Text 3 that extends Academic Markdown to include my own wiki-style links
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>firstLineMatch</key> | |
<string>^Format:\s*(?i:complete)\s*$</string> | |
<key>foldingStartMarker</key> | |
<string>(?x) | |
(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?> | |
|<!--(?!.*-->) | |
|\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/))) | |
)</string> | |
<key>foldingStopMarker</key> | |
<string>(?x) | |
(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)> | |
|^\s*--> | |
|(^|\s)\} | |
)</string> | |
<key>keyEquivalent</key> | |
<string>^~M</string> | |
<key>name</key> | |
<string>Zettel Link</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#citekeys</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-addition</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-substitution</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-highlight</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-deletion</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-comment</string> | |
</dict> | |
<!-- MultiMarkdown bit--> | |
<dict> | |
<key>begin</key> | |
<string>^([A-Za-z0-9]+)(:)\s*</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.multimarkdown</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.separator.key-value.multimarkdown</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^$|^(?=[A-Za-z0-9]+:)</string> | |
<key>name</key> | |
<string>meta.header.multimarkdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>comment</key> | |
<string>The reason for not setting scopeName = "string.unquoted" | |
(for the parent rule) is that we do not want | |
newlines to be marked as string.unquoted</string> | |
<key>match</key> | |
<string>.+</string> | |
<key>name</key> | |
<string>string.unquoted.multimarkdown</string> | |
</dict> | |
</array> | |
</dict> | |
<!-- Include Markdown --> | |
<!-- TODO: figure out including markdown base rules --> | |
<!-- End Include Markdown --> | |
<dict> | |
<key>begin</key> | |
<string>(?x)^ | |
(?= [ ]{,3}> | |
| ([ ]{4}|\t)(?!$) | |
| [#]{1,6}\s*+ | |
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$ | |
)</string> | |
<key>comment</key> | |
<string> | |
We could also use an empty end match and set | |
applyEndPatternLast, but then we must be sure that the begin | |
pattern will only match stuff matched by the sub-patterns. | |
</string> | |
<key>end</key> | |
<string>(?x)^ | |
(?! [ ]{,3}> | |
| ([ ]{4}|\t) | |
| [#]{1,6}\s*+ | |
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$ | |
)</string> | |
<key>name</key> | |
<string>meta.block-level.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#block_quote</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#block_raw</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#heading</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#separator</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^[ ]{0,3}([*+-])(?=\s)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.list_item.markdown</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?=\S)</string> | |
<key>name</key> | |
<string>markup.list.unnumbered.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#fenced-code-blocks</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#list-paragraph</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^[ ]{0,3}([0-9]+)(\.)(?=\s)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.list_item.markdown punctuation.definition.list_item.number.markdown</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.list_item.markdown</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?=\S)</string> | |
<key>name</key> | |
<string>markup.list.numbered.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#fenced-code-blocks</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#list-paragraph</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-code-blocks</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^>]*>)(?!.*?</\1>)</string> | |
<key>comment</key> | |
<string> | |
Markdown formatting is disabled inside block-level tags. | |
</string> | |
<key>end</key> | |
<string>(?<=^</\1>$\n)</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag-kbd</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>text.html.basic</string> | |
</dict> | |
</array> | |
<key>name</key> | |
<string>meta.disable-markdown</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^>]*>)</string> | |
<key>comment</key> | |
<string>Same rule but for one line disables.</string> | |
<key>end</key> | |
<string>$\n?</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag-kbd</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>text.html.basic</string> | |
</dict> | |
</array> | |
<key>name</key> | |
<string>meta.disable-markdown</string> | |
</dict> | |
<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 | |
[ \t]* # Optional whitespace | |
$ | |
)</string> | |
<key>name</key> | |
<string>meta.link.reference.def.markdown</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(?=\S)(?![=-]{3,}(?=$))</string> | |
<key>end</key> | |
<string>^(?:\s*$|(?=[ ]{,3}>)|(?=```|~~~))|(?=[ \t]*\n)(?<=^===|^====|=====|^---|^----|-----)[ \t]*\n|(?=^#)</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>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.heading.markdown</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>^(={3,})(?=[ \t]*$)</string> | |
<key>name</key> | |
<string>markup.heading.1.markdown</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.heading.markdown</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>^(-{3,})(?=[ \t]*$)</string> | |
<key>name</key> | |
<string>markup.heading.2.markdown</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<!-- Critic markdown rules --> | |
<key>critic-substitution</key> | |
<dict> | |
<key>comment</key> | |
<string>Editorial Substitution</string> | |
<key>match</key> | |
<string>\{\~\~(.*?)\~\~\}</string> | |
<key>name</key> | |
<string>criticmarkup.substitution</string> | |
</dict> | |
<key>critic-addition</key> | |
<dict> | |
<key>comment</key> | |
<string>Editorial Addition</string> | |
<key>match</key> | |
<string>\{\+\+(.*?)\+\+[ \t]*(\[(.*?)\])?[ \t]*\}</string> | |
<key>name</key> | |
<string>criticmarkup.addition</string> | |
</dict> | |
<key>critic-deletion</key> | |
<dict> | |
<key>comment</key> | |
<string>Editorial Deletion</string> | |
<key>match</key> | |
<string>\{\-\-(.*?)\-\-[ \t]*(\[(.*?)\])?[ \t]*\}</string> | |
<key>name</key> | |
<string>criticmarkup.deletion</string> | |
</dict> | |
<key>critic-highlight</key> | |
<dict> | |
<key>highlight</key> | |
<string>Editorial Highlight</string> | |
<key>match</key> | |
<string>\{==(.*?)[ \t]*(\[(.*?)\])?[ \t]*==\}</string> | |
<key>name</key> | |
<string>criticmarkup.highlight</string> | |
</dict> | |
<key>critic-comment</key> | |
<dict> | |
<key>comment</key> | |
<string>Editorial Mark</string> | |
<key>begin</key> | |
<string>\{>></string> | |
<key>end</key> | |
<string><<\}</string> | |
<key>name</key> | |
<string>criticmarkup.comment</string> | |
</dict> | |
<!-- End Critic markdown rules --> | |
<key>citekeys</key> | |
<dict> | |
<key>comment</key> | |
<string>This should highlight citekeys and @refs</string> | |
<key>match</key> | |
<string>@[\w:-]+</string> | |
<key>name</key> | |
<string>string.other.link.description.title.markdown</string> | |
</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>block_quote</key> | |
<dict> | |
<key>begin</key> | |
<string>\G[ ]{,3}(>)[ ]?</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.blockquote.markdown</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string> | |
We terminate the block quote when seeing an empty line, a | |
separator or a line with leading > characters. The latter is | |
to “reset” the quote level for quoted lines. | |
</string> | |
<key>end</key> | |
<string>(?x)^ | |
(?= \s*$ | |
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$ | |
| [ ]{,3}> | |
)</string> | |
<key>name</key> | |
<string>markup.quote.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?x)\G | |
(?= [ ]{,3}> | |
)</string> | |
<key>end</key> | |
<string>^</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#block_quote</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>applyEndPatternLast</key> | |
<integer>1</integer> | |
<key>begin</key> | |
<string>(?x)\G | |
(?= ([ ]{4}|\t) | |
| [#]{1,6}\s*+ | |
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$ | |
)</string> | |
<key>end</key> | |
<string>^</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#block_raw</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#heading</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#separator</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?x)\G | |
(?! $ | |
| [ ]{,3}> | |
| ([ ]{4}|\t) | |
| [#]{1,6}\s*+ | |
| [ ]{,3}(?<marker>[-*_])([ ]{,2}\k<marker>){2,}[ \t]*+$ | |
)</string> | |
<key>end</key> | |
<string>$|(?<=\n)</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>text.html.basic</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>block_raw</key> | |
<dict> | |
<key>match</key> | |
<string>\G([ ]{4}|\t).*$\n?</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown</string> | |
</dict> | |
<key>bold</key> | |
<dict> | |
<key>begin</key> | |
<string>(?x) | |
(?<!\w)(\*\*|__)(?=\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> | |
)? | |
\) | |
) | |
) | |
) | |
| (?!(?<=\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>#tag-kbd</string> | |
</dict> | |
<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>#strikethrough</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-zettel</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#maths</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>strikethrough</key> | |
<dict> | |
<key>begin</key> | |
<string>(?x) | |
(?<!\w)(~~)(?=[^\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> | |
)? | |
\) | |
) | |
) | |
) | |
| (?!(?<=\S)\1). # Everything besides | |
# style closer | |
)++ | |
) | |
</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.strikethrough.markdown</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?<=\S)(\1)</string> | |
<key>name</key> | |
<string>markup.strikethrough.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>#tag-kbd</string> | |
</dict> | |
<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>#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-zettel</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#maths</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>heading</key> | |
<dict> | |
<key>begin</key> | |
<string>\G(#{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*(#*)$\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>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: | |
\! # Images start with ! | |
(\[)((?<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>inline</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#critic-addition</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-substitution</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-highlight</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-deletion</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#critic-comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#citekeys</string> | |
</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>#italic</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#strikethrough</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#line-break</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-zettel</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#maths</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> | |
<dict> | |
<key>include</key> | |
<string>#tag-kbd</string> | |
</dict> | |
</array> | |
</dict> | |
<key>italic</key> | |
<dict> | |
<key>begin</key> | |
<string>(?x) | |
(?<!\w)(\*|_)(?=\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>#tag-kbd</string> | |
</dict> | |
<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>#strikethrough</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-zettel</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#maths</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>line-break</key> | |
<dict> | |
<key>match</key> | |
<string> {2,}$</string> | |
<key>name</key> | |
<string>meta.dummy.line-break</string> | |
</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>(<)?(\b(?:https?|ftp|file|git):///?[^\s()<>\[\]]+)(>)?</string> | |
<key>name</key> | |
<string>meta.link.inet.markdown</string> | |
</dict> | |
<key>link-zettel</key> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.italic.markdown</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>variable.parameter</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.italic.markdown</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(\[\[)([^\]]+)(]])</string> | |
<key>name</key> | |
<string>meta.link.zettel.markdown</string> | |
</dict> | |
<key>maths</key> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.italic.markdown</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>variable.parameter</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.italic.markdown</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(t)(es)(t)</string> | |
<key>name</key> | |
<string>meta.link.zettel.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>list-paragraph</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G\s+(?=\S)</string> | |
<key>end</key> | |
<string>^\s*$</string> | |
<key>name</key> | |
<string>meta.paragraph.list.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>#fenced-code-blocks</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>raw</key> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.raw.markdown</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>markup.raw.inline.content.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.raw.inline.markdown</string> | |
</dict> | |
<key>separator</key> | |
<dict> | |
<key>match</key> | |
<string>\G[ ]{,3}([-*_])([ ]{,2}\1){2,}[ \t]*$\n?</string> | |
<key>name</key> | |
<string>meta.separator.markdown</string> | |
</dict> | |
<key>fenced-html</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(html|html5)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>text.html.basic</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-xml</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(xml)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>text.xml</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-diff</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(diff)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.diff</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-perl</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(perl)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.perl</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-php</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(php)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.php</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-css</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(css)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.css</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-less</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(less)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.css.less</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-java</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(java)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.java</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-c</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(c)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.c</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-c++</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(c\+\+|cpp)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.c++</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-yaml</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(yaml)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.yaml</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-sql</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(sql)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.sql</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-shell</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(sh|shell)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.shell</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-sass</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(sass|scss)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.sass</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-scala</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(scala)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.scala</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-obj-c</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(objective-c)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.objc</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-coffee</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(coffee)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.coffee</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-js</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(js|json|javascript)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-ruby</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(ruby)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.ruby</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-python</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*[`~]{3,})(py|python)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.python</string> | |
</dict> | |
</array> | |
</dict> | |
<key>fenced-undefined</key> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*(`{3,}|~{3,}))(.*?)\s*$</string> | |
<key>end</key> | |
<string>^(\1)\n</string> | |
<key>name</key> | |
<string>markup.raw.block.markdown markup.raw.block.fenced.markdown</string> | |
</dict> | |
<key>fenced-code-blocks</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#fenced-html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-xml</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-diff</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-perl</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-php</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-css</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-less</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-java</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-c</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-c++</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-yaml</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-sql</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-shell</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-sass</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-scala</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-obj-c</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-coffee</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-js</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-ruby</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-python</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#fenced-undefined</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag-kbd</key> | |
<dict> | |
<key>name</key> | |
<string>markup.kbd.markdown</string> | |
<key>match</key> | |
<string>((<)(kbd)(>))([^<]+)((</)(kbd)(>))</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>meta.tag.other.html</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.tag.begin.html</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.other.html</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.tag.end.html</string> | |
</dict> | |
<key>5</key> | |
<dict> | |
<key>name</key> | |
<string>markup.kbd.content.markdown</string> | |
</dict> | |
<key>6</key> | |
<dict> | |
<key>name</key> | |
<string>meta.tag.other.html</string> | |
</dict> | |
<key>7</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.tag.begin.html</string> | |
</dict> | |
<key>8</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.other.html</string> | |
</dict> | |
<key>9</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.tag.end.html</string> | |
</dict> | |
</dict> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>text.html.markdown.academicmarkdown.zettel_link</string> | |
<key>uuid</key> | |
<string>c8f92989-9694-4929-a187-9f169a2ab2a02</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment