| Index: lib/src/prism/components/prism-markdown.js
|
| diff --git a/lib/src/prism/components/prism-markdown.js b/lib/src/prism/components/prism-markdown.js
|
| index 94a71546a1a5bb553f45da97ca8db1863d73d0d1..f089f1516702da469fb0e9f9791fc791c12830a2 100644
|
| --- a/lib/src/prism/components/prism-markdown.js
|
| +++ b/lib/src/prism/components/prism-markdown.js
|
| @@ -2,15 +2,13 @@ Prism.languages.markdown = Prism.languages.extend('markup', {});
|
| Prism.languages.insertBefore('markdown', 'prolog', {
|
| 'blockquote': {
|
| // > ...
|
| - pattern: /(^|\n)>(?:[\t ]*>)*/,
|
| - lookbehind: true,
|
| + pattern: /^>(?:[\t ]*>)*/m,
|
| alias: 'punctuation'
|
| },
|
| 'code': [
|
| {
|
| // Prefixed by 4 spaces or 1 tab
|
| - pattern: /(^|\n)(?: {4}|\t).+/,
|
| - lookbehind: true,
|
| + pattern: /^(?: {4}|\t).+/m,
|
| alias: 'keyword'
|
| },
|
| {
|
| @@ -27,7 +25,7 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
|
|
| // title 2
|
| // -------
|
| - pattern: /\w+.*\n(?:==+|--+)/,
|
| + pattern: /\w+.*(?:\r?\n|\r)(?:==+|--+)/,
|
| alias: 'important',
|
| inside: {
|
| punctuation: /==+$|--+$/
|
| @@ -36,7 +34,7 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| {
|
| // # title 1
|
| // ###### title 6
|
| - pattern: /((?:^|\n)\s*)#+.+/,
|
| + pattern: /(^\s*)#+.+/m,
|
| lookbehind: true,
|
| alias: 'important',
|
| inside: {
|
| @@ -49,7 +47,7 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| // ---
|
| // * * *
|
| // -----------
|
| - pattern: /((?:^|\n)\s*)([*-])([\t ]*\2){2,}(?=\s*(?:\n|$))/,
|
| + pattern: /(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,
|
| lookbehind: true,
|
| alias: 'punctuation'
|
| },
|
| @@ -58,7 +56,7 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| // + item
|
| // - item
|
| // 1. item
|
| - pattern: /((?:^|\n)\s*)(?:[*+-]|\d+\.)(?=[\t ].)/,
|
| + pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,
|
| lookbehind: true,
|
| alias: 'punctuation'
|
| },
|
| @@ -67,14 +65,14 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| // [id]: http://example.com 'Optional title'
|
| // [id]: http://example.com (Optional title)
|
| // [id]: <http://example.com> "Optional title"
|
| - pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:[^>]|\\>)+>)(?:[\t ]+(?:"(?:[^"]|\\")*"|'(?:[^']|\\')*'|\((?:[^)]|\\\))*\)))?/,
|
| + pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,
|
| inside: {
|
| 'variable': {
|
| pattern: /^(!?\[)[^\]]+/,
|
| lookbehind: true
|
| },
|
| - 'string': /(?:"(?:[^"]|\\")*"|'(?:[^']|\\')*'|\((?:[^)]|\\\))*\))$/,
|
| - 'punctuation': /[[\]\(\)<>:]/
|
| + 'string': /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,
|
| + 'punctuation': /^[\[\]!:]|[<>]/
|
| },
|
| alias: 'url'
|
| },
|
| @@ -83,10 +81,10 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| // __strong__
|
|
|
| // Allow only one line break
|
| - pattern: /(^|[^\\])(\*\*|__)(?:\n(?!\n)|.)+?\2/,
|
| + pattern: /(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
|
| lookbehind: true,
|
| inside: {
|
| - 'punctuation': /^\*\*|^__|\*\*\s*$|__\s*$/
|
| + 'punctuation': /^\*\*|^__|\*\*$|__$/
|
| }
|
| },
|
| 'italic': {
|
| @@ -94,7 +92,7 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| // _em_
|
|
|
| // Allow only one line break
|
| - pattern: /(^|[^\\])(?:\*(?:\n(?!\n)|.)+?\*|_(?:\n(?!\n)|.)+?_)/,
|
| + pattern: /(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
|
| lookbehind: true,
|
| inside: {
|
| 'punctuation': /^[*_]|[*_]$/
|
| @@ -103,14 +101,14 @@ Prism.languages.insertBefore('markdown', 'prolog', {
|
| 'url': {
|
| // [example](http://example.com "Optional title")
|
| // [example] [id]
|
| - pattern: /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:[^"]|\\")*")?\)| ?\[[^\]\n]*\])/,
|
| + pattern: /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,
|
| inside: {
|
| 'variable': {
|
| pattern: /(!?\[)[^\]]+(?=\]$)/,
|
| lookbehind: true
|
| },
|
| 'string': {
|
| - pattern: /"(?:[^"]|\\")*"(?=\)$)/
|
| + pattern: /"(?:\\.|[^"\\])*"(?=\)$)/
|
| }
|
| }
|
| }
|
|
|