Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Side by Side Diff: lib/src/prism/components/prism-markdown.js

Issue 1418513006: update elements and fix some bugs (Closed) Base URL: git@github.com:dart-lang/polymer_elements.git@master
Patch Set: code review updates Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 Prism.languages.markdown = Prism.languages.extend('markup', {}); 1 Prism.languages.markdown = Prism.languages.extend('markup', {});
2 Prism.languages.insertBefore('markdown', 'prolog', { 2 Prism.languages.insertBefore('markdown', 'prolog', {
3 'blockquote': { 3 'blockquote': {
4 // > ... 4 // > ...
5 » » pattern: /(^|\n)>(?:[\t ]*>)*/, 5 » » pattern: /^>(?:[\t ]*>)*/m,
6 » » lookbehind: true,
7 alias: 'punctuation' 6 alias: 'punctuation'
8 }, 7 },
9 'code': [ 8 'code': [
10 { 9 {
11 // Prefixed by 4 spaces or 1 tab 10 // Prefixed by 4 spaces or 1 tab
12 » » » pattern: /(^|\n)(?: {4}|\t).+/, 11 » » » pattern: /^(?: {4}|\t).+/m,
13 » » » lookbehind: true,
14 alias: 'keyword' 12 alias: 'keyword'
15 }, 13 },
16 { 14 {
17 // `code` 15 // `code`
18 // ``code`` 16 // ``code``
19 pattern: /``.+?``|`[^`\n]+`/, 17 pattern: /``.+?``|`[^`\n]+`/,
20 alias: 'keyword' 18 alias: 'keyword'
21 } 19 }
22 ], 20 ],
23 'title': [ 21 'title': [
24 { 22 {
25 // title 1 23 // title 1
26 // ======= 24 // =======
27 25
28 // title 2 26 // title 2
29 // ------- 27 // -------
30 » » » pattern: /\w+.*\n(?:==+|--+)/, 28 » » » pattern: /\w+.*(?:\r?\n|\r)(?:==+|--+)/,
31 alias: 'important', 29 alias: 'important',
32 inside: { 30 inside: {
33 punctuation: /==+$|--+$/ 31 punctuation: /==+$|--+$/
34 } 32 }
35 }, 33 },
36 { 34 {
37 // # title 1 35 // # title 1
38 // ###### title 6 36 // ###### title 6
39 » » » pattern: /((?:^|\n)\s*)#+.+/, 37 » » » pattern: /(^\s*)#+.+/m,
40 lookbehind: true, 38 lookbehind: true,
41 alias: 'important', 39 alias: 'important',
42 inside: { 40 inside: {
43 punctuation: /^#+|#+$/ 41 punctuation: /^#+|#+$/
44 } 42 }
45 } 43 }
46 ], 44 ],
47 'hr': { 45 'hr': {
48 // *** 46 // ***
49 // --- 47 // ---
50 // * * * 48 // * * *
51 // ----------- 49 // -----------
52 » » pattern: /((?:^|\n)\s*)([*-])([\t ]*\2){2,}(?=\s*(?:\n|$))/, 50 » » pattern: /(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,
53 lookbehind: true, 51 lookbehind: true,
54 alias: 'punctuation' 52 alias: 'punctuation'
55 }, 53 },
56 'list': { 54 'list': {
57 // * item 55 // * item
58 // + item 56 // + item
59 // - item 57 // - item
60 // 1. item 58 // 1. item
61 » » pattern: /((?:^|\n)\s*)(?:[*+-]|\d+\.)(?=[\t ].)/, 59 » » pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,
62 lookbehind: true, 60 lookbehind: true,
63 alias: 'punctuation' 61 alias: 'punctuation'
64 }, 62 },
65 'url-reference': { 63 'url-reference': {
66 // [id]: http://example.com "Optional title" 64 // [id]: http://example.com "Optional title"
67 // [id]: http://example.com 'Optional title' 65 // [id]: http://example.com 'Optional title'
68 // [id]: http://example.com (Optional title) 66 // [id]: http://example.com (Optional title)
69 // [id]: <http://example.com> "Optional title" 67 // [id]: <http://example.com> "Optional title"
70 » » pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:[^>]|\\>)+>)(?:[\t ]+(?: "(?:[^"]|\\")*"|'(?:[^']|\\')*'|\((?:[^)]|\\\))*\)))?/, 68 » » pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+( ?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,
71 inside: { 69 inside: {
72 'variable': { 70 'variable': {
73 pattern: /^(!?\[)[^\]]+/, 71 pattern: /^(!?\[)[^\]]+/,
74 lookbehind: true 72 lookbehind: true
75 }, 73 },
76 » » » 'string': /(?:"(?:[^"]|\\")*"|'(?:[^']|\\')*'|\((?:[^)]| \\\))*\))$/, 74 » » » 'string': /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\ \.|[^)\\])*\))$/,
77 » » » 'punctuation': /[[\]\(\)<>:]/ 75 » » » 'punctuation': /^[\[\]!:]|[<>]/
78 }, 76 },
79 alias: 'url' 77 alias: 'url'
80 }, 78 },
81 'bold': { 79 'bold': {
82 // **strong** 80 // **strong**
83 // __strong__ 81 // __strong__
84 82
85 // Allow only one line break 83 // Allow only one line break
86 » » pattern: /(^|[^\\])(\*\*|__)(?:\n(?!\n)|.)+?\2/, 84 » » pattern: /(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
87 lookbehind: true, 85 lookbehind: true,
88 inside: { 86 inside: {
89 » » » 'punctuation': /^\*\*|^__|\*\*\s*$|__\s*$/ 87 » » » 'punctuation': /^\*\*|^__|\*\*$|__$/
90 } 88 }
91 }, 89 },
92 'italic': { 90 'italic': {
93 // *em* 91 // *em*
94 // _em_ 92 // _em_
95 93
96 // Allow only one line break 94 // Allow only one line break
97 » » pattern: /(^|[^\\])(?:\*(?:\n(?!\n)|.)+?\*|_(?:\n(?!\n)|.)+?_)/, 95 » » pattern: /(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
98 lookbehind: true, 96 lookbehind: true,
99 inside: { 97 inside: {
100 'punctuation': /^[*_]|[*_]$/ 98 'punctuation': /^[*_]|[*_]$/
101 } 99 }
102 }, 100 },
103 'url': { 101 'url': {
104 // [example](http://example.com "Optional title") 102 // [example](http://example.com "Optional title")
105 // [example] [id] 103 // [example] [id]
106 » » pattern: /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:[^"]|\\")*")?\)| ?\[[^\]\n]*\])/, 104 » » pattern: /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\) | ?\[[^\]\n]*\])/,
107 inside: { 105 inside: {
108 'variable': { 106 'variable': {
109 pattern: /(!?\[)[^\]]+(?=\]$)/, 107 pattern: /(!?\[)[^\]]+(?=\]$)/,
110 lookbehind: true 108 lookbehind: true
111 }, 109 },
112 'string': { 110 'string': {
113 » » » » pattern: /"(?:[^"]|\\")*"(?=\)$)/ 111 » » » » pattern: /"(?:\\.|[^"\\])*"(?=\)$)/
114 } 112 }
115 } 113 }
116 } 114 }
117 }); 115 });
118 116
119 Prism.languages.markdown['bold'].inside['url'] = Prism.util.clone(Prism.language s.markdown['url']); 117 Prism.languages.markdown['bold'].inside['url'] = Prism.util.clone(Prism.language s.markdown['url']);
120 Prism.languages.markdown['italic'].inside['url'] = Prism.util.clone(Prism.langua ges.markdown['url']); 118 Prism.languages.markdown['italic'].inside['url'] = Prism.util.clone(Prism.langua ges.markdown['url']);
121 Prism.languages.markdown['bold'].inside['italic'] = Prism.util.clone(Prism.langu ages.markdown['italic']); 119 Prism.languages.markdown['bold'].inside['italic'] = Prism.util.clone(Prism.langu ages.markdown['italic']);
122 Prism.languages.markdown['italic'].inside['bold'] = Prism.util.clone(Prism.langu ages.markdown['bold']); 120 Prism.languages.markdown['italic'].inside['bold'] = Prism.util.clone(Prism.langu ages.markdown['bold']);
OLDNEW
« no previous file with comments | « lib/src/prism/components/prism-makefile.min.js ('k') | lib/src/prism/components/prism-markdown.min.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698