|
4 | 4 | "If you want to provide a fix or improvement, please create a pull request against the original repository.", |
5 | 5 | "Once accepted there, we are happy to receive an update request." |
6 | 6 | ], |
7 | | - "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/4504240cdb13a4640f64fc98a0adb858226a879e", |
| 7 | + "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/83a1940ab00b770392c3ae71b92e80cca2960613", |
8 | 8 | "name": "Markdown", |
9 | 9 | "scopeName": "text.html.markdown", |
10 | 10 | "patterns": [ |
|
165 | 165 | { |
166 | 166 | "include": "#fenced_code_block_dart" |
167 | 167 | }, |
| 168 | + { |
| 169 | + "include": "#fenced_code_block_handlebars" |
| 170 | + }, |
168 | 171 | { |
169 | 172 | "include": "#fenced_code_block_unknown" |
170 | 173 | }, |
|
186 | 189 | "begin": "(^|\\G)[ ]{0,3}(>) ?", |
187 | 190 | "captures": { |
188 | 191 | "2": { |
189 | | - "name": "beginning.punctuation.definition.quote.markdown" |
| 192 | + "name": "punctuation.definition.quote.begin.markdown" |
190 | 193 | } |
191 | 194 | }, |
192 | 195 | "name": "markup.quote.markdown", |
|
1685 | 1688 | } |
1686 | 1689 | ] |
1687 | 1690 | }, |
| 1691 | + "fenced_code_block_handlebars": { |
| 1692 | + "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)(\\s+[^`~]*)?$)", |
| 1693 | + "name": "markup.fenced_code.block.markdown", |
| 1694 | + "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", |
| 1695 | + "beginCaptures": { |
| 1696 | + "3": { |
| 1697 | + "name": "punctuation.definition.markdown" |
| 1698 | + }, |
| 1699 | + "5": { |
| 1700 | + "name": "fenced_code.block.language" |
| 1701 | + }, |
| 1702 | + "6": { |
| 1703 | + "name": "fenced_code.block.language.attributes" |
| 1704 | + } |
| 1705 | + }, |
| 1706 | + "endCaptures": { |
| 1707 | + "3": { |
| 1708 | + "name": "punctuation.definition.markdown" |
| 1709 | + } |
| 1710 | + }, |
| 1711 | + "patterns": [ |
| 1712 | + { |
| 1713 | + "begin": "(^|\\G)(\\s*)(.*)", |
| 1714 | + "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", |
| 1715 | + "contentName": "meta.embedded.block.handlebars", |
| 1716 | + "patterns": [ |
| 1717 | + { |
| 1718 | + "include": "text.html.handlebars" |
| 1719 | + } |
| 1720 | + ] |
| 1721 | + } |
| 1722 | + ] |
| 1723 | + }, |
1688 | 1724 | "fenced_code_block_unknown": { |
1689 | 1725 | "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`~]*)?$)", |
1690 | 1726 | "beginCaptures": { |
|
1912 | 1948 | "name": "punctuation.definition.string.end.markdown" |
1913 | 1949 | } |
1914 | 1950 | }, |
1915 | | - "match": "(?x)\n \\s* # Leading whitespace\n (\\[)(.+?)(\\])(:) # Reference name\n [ \\t]* # Optional whitespace\n (<?)(\\S+?)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in quotes…\n | ((\").+?(\")) # or in parens.\n )? # Title is optional\n \\s* # Optional whitespace\n $\n", |
| 1951 | + "match": "(?x)\n \\s* # Leading whitespace\n (\\[)([\\w ]+?)(\\])(:) # Reference name\n [ \\t]* # Optional whitespace\n (<?)(\\S+?)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in quotes…\n | ((\").+?(\")) # or in parens.\n )? # Title is optional\n \\s* # Optional whitespace\n $\n", |
1916 | 1952 | "name": "meta.link.reference.def.markdown" |
1917 | 1953 | }, |
1918 | 1954 | "list_paragraph": { |
|
1934 | 1970 | "lists": { |
1935 | 1971 | "patterns": [ |
1936 | 1972 | { |
1937 | | - "begin": "(^|\\G)([ ]{0,3})([*+-])([ ]{1,3}|\\t)", |
| 1973 | + "begin": "(^|\\G)([ ]{0,3})([*+-])([ \\t])", |
1938 | 1974 | "beginCaptures": { |
1939 | 1975 | "3": { |
1940 | | - "name": "beginning.punctuation.definition.list.markdown" |
| 1976 | + "name": "punctuation.definition.list.begin.markdown" |
1941 | 1977 | } |
1942 | 1978 | }, |
1943 | 1979 | "comment": "Currently does not support un-indented second lines.", |
|
1950 | 1986 | "include": "#list_paragraph" |
1951 | 1987 | } |
1952 | 1988 | ], |
1953 | | - "while": "((^|\\G)([ ]{4}|\\t))|(^[ \\t]*$)" |
| 1989 | + "while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)" |
1954 | 1990 | }, |
1955 | 1991 | { |
1956 | | - "begin": "(^|\\G)([ ]{0,3})([0-9]+\\.)([ ]{1,3}|\\t)", |
| 1992 | + "begin": "(^|\\G)([ ]{0,3})([0-9]+\\.)([ \\t])", |
1957 | 1993 | "beginCaptures": { |
1958 | 1994 | "3": { |
1959 | | - "name": "beginning.punctuation.definition.list.markdown" |
| 1995 | + "name": "punctuation.definition.list.begin.markdown" |
1960 | 1996 | } |
1961 | 1997 | }, |
1962 | 1998 | "name": "markup.list.numbered.markdown", |
|
1968 | 2004 | "include": "#list_paragraph" |
1969 | 2005 | } |
1970 | 2006 | ], |
1971 | | - "while": "((^|\\G)([ ]{4}|\\t))|(^[ \\t]*$)" |
| 2007 | + "while": "((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)" |
1972 | 2008 | } |
1973 | 2009 | ] |
1974 | 2010 | }, |
|
1994 | 2030 | "while": "(^|\\G)([ ]{4}|\\t)" |
1995 | 2031 | }, |
1996 | 2032 | "separator": { |
1997 | | - "match": "(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?", |
| 2033 | + "match": "(^|\\G)[ ]{0,3}([*-_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?", |
1998 | 2034 | "name": "meta.separator.markdown" |
1999 | 2035 | } |
2000 | 2036 | } |
|
2049 | 2085 | }, |
2050 | 2086 | { |
2051 | 2087 | "include": "#link-ref-literal" |
| 2088 | + }, |
| 2089 | + { |
| 2090 | + "include": "#link-ref-shortcut" |
2052 | 2091 | } |
2053 | 2092 | ], |
2054 | 2093 | "repository": { |
|
2058 | 2097 | "name": "meta.other.valid-ampersand.markdown" |
2059 | 2098 | }, |
2060 | 2099 | "bold": { |
2061 | | - "begin": "(?x)\n ((?<!\\w)\\*\\*\\b|\\b__)(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=__\\b|\\*\\*)\\1 # Close\n )\n", |
| 2100 | + "begin": "(?x)\n (\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__)(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whitespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whitespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=__\\b|\\*\\*)\\1 # Close\n )\n", |
2062 | 2101 | "captures": { |
2063 | 2102 | "1": { |
2064 | 2103 | "name": "punctuation.definition.bold.markdown" |
|
2115 | 2154 | }, |
2116 | 2155 | { |
2117 | 2156 | "include": "#link-ref" |
| 2157 | + }, |
| 2158 | + { |
| 2159 | + "include": "#link-ref-shortcut" |
2118 | 2160 | } |
2119 | 2161 | ] |
2120 | 2162 | }, |
|
2200 | 2242 | "name": "meta.image.reference.markdown" |
2201 | 2243 | }, |
2202 | 2244 | "italic": { |
2203 | | - "begin": "(?x) (\\*\\b|\\b_)(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whtiespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whtiespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | \\1\\1 # Must be bold closer\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=_\\b|\\*)\\1 # Close\n )\n", |
| 2245 | + "begin": "(?x) (\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_)(?=\\S) # Open\n (?=\n (\n <[^>]*+> # HTML tags\n | (?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>\n # Raw\n | \\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+ # Escapes\n | \\[\n (\n (?<square> # Named group\n [^\\[\\]\\\\] # Match most chars\n | \\\\. # Escaped chars\n | \\[ \\g<square>*+ \\] # Nested brackets\n )*+\n \\]\n (\n ( # Reference Link\n [ ]? # Optional space\n \\[[^\\]]*+\\] # Ref name\n )\n | ( # Inline Link\n \\( # Opening paren\n [ \\t]*+ # Optional whtiespace\n <?(.*?)>? # URL\n [ \\t]*+ # Optional whtiespace\n ( # Optional Title\n (?<title>['\"])\n (.*?)\n \\k<title>\n )?\n \\)\n )\n )\n )\n | \\1\\1 # Must be bold closer\n | (?!(?<=\\S)\\1). # Everything besides\n # style closer\n )++\n (?<=\\S)(?=_\\b|\\*)\\1 # Close\n )\n", |
2204 | 2246 | "captures": { |
2205 | 2247 | "1": { |
2206 | 2248 | "name": "punctuation.definition.italic.markdown" |
|
2254 | 2296 | }, |
2255 | 2297 | { |
2256 | 2298 | "include": "#link-ref" |
| 2299 | + }, |
| 2300 | + { |
| 2301 | + "include": "#link-ref-shortcut" |
2257 | 2302 | } |
2258 | 2303 | ] |
2259 | 2304 | }, |
|
2307 | 2352 | "7": { |
2308 | 2353 | "name": "markup.underline.link.markdown" |
2309 | 2354 | }, |
2310 | | - "8": { |
| 2355 | + "9": { |
2311 | 2356 | "name": "punctuation.definition.link.markdown" |
2312 | 2357 | }, |
2313 | | - "9": { |
| 2358 | + "10": { |
2314 | 2359 | "name": "string.other.link.description.title.markdown" |
2315 | 2360 | }, |
2316 | | - "10": { |
| 2361 | + "11": { |
2317 | 2362 | "name": "punctuation.definition.string.begin.markdown" |
2318 | 2363 | }, |
2319 | | - "11": { |
| 2364 | + "12": { |
2320 | 2365 | "name": "punctuation.definition.string.end.markdown" |
2321 | 2366 | }, |
2322 | | - "12": { |
| 2367 | + "13": { |
2323 | 2368 | "name": "string.other.link.description.title.markdown" |
2324 | 2369 | }, |
2325 | | - "13": { |
| 2370 | + "14": { |
2326 | 2371 | "name": "punctuation.definition.string.begin.markdown" |
2327 | 2372 | }, |
2328 | | - "14": { |
| 2373 | + "15": { |
2329 | 2374 | "name": "punctuation.definition.string.end.markdown" |
2330 | 2375 | }, |
2331 | | - "15": { |
| 2376 | + "16": { |
2332 | 2377 | "name": "punctuation.definition.metadata.markdown" |
2333 | 2378 | } |
2334 | 2379 | }, |
2335 | | - "match": "(?x)\n (\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (<?)(.*?)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n", |
| 2380 | + "match": "(?x)\n (\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])\n # Match the link text.\n (\\() # Opening paren for url\n (<?)((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*)(>?) # The url\n [ \\t]* # Optional whitespace\n (?:\n ((\\().+?(\\))) # Match title in parens…\n | ((\").+?(\")) # or in quotes.\n )? # Title is optional\n \\s* # Optional whitespace\n (\\))\n", |
2336 | 2381 | "name": "meta.link.inline.markdown" |
2337 | 2382 | }, |
2338 | 2383 | "link-ref": { |
|
2380 | 2425 | "match": "(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])", |
2381 | 2426 | "name": "meta.link.reference.literal.markdown" |
2382 | 2427 | }, |
| 2428 | + "link-ref-shortcut": { |
| 2429 | + "captures": { |
| 2430 | + "1": { |
| 2431 | + "name": "punctuation.definition.string.begin.markdown" |
| 2432 | + }, |
| 2433 | + "2": { |
| 2434 | + "name": "string.other.link.title.markdown" |
| 2435 | + }, |
| 2436 | + "4": { |
| 2437 | + "name": "punctuation.definition.string.end.markdown" |
| 2438 | + } |
| 2439 | + }, |
| 2440 | + "match": "(\\[)(\\S+?)(\\])", |
| 2441 | + "name": "meta.link.reference.markdown" |
| 2442 | + }, |
2383 | 2443 | "raw": { |
2384 | 2444 | "captures": { |
2385 | 2445 | "1": { |
|
0 commit comments