|
1 | 1 | (function(Prism) {
|
2 | 2 | Prism.languages.sass = Prism.languages.extend('css', {
|
3 | 3 | // Sass comments don't need to be closed, only indented
|
4 |
| - 'comment': /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m |
| 4 | + 'comment': { |
| 5 | + pattern: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m, |
| 6 | + lookbehind: true |
| 7 | + } |
5 | 8 | });
|
6 | 9 |
|
7 | 10 | Prism.languages.insertBefore('sass', 'atrule', {
|
|
10 | 13 | // Includes support for = and + shortcuts
|
11 | 14 | pattern: /^(?:[ \t]*)[@+=].+/m,
|
12 | 15 | inside: {
|
13 |
| - 'atrule': /^(?:[ \t]*)(?:@[\w-]+|[+=])/m |
| 16 | + 'atrule': /(?:@[\w-]+|[+=])/m |
14 | 17 | }
|
15 | 18 | }
|
16 | 19 | });
|
17 | 20 | delete Prism.languages.sass.atrule;
|
18 | 21 |
|
19 | 22 |
|
20 | 23 | var variable = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i;
|
21 |
| - var operator = /[-+]{1,2}|==?|!=|\|?\||\?|\*|\/|%/; |
| 24 | + var operator = /[-+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/; |
22 | 25 |
|
23 | 26 | Prism.languages.insertBefore('sass', 'property', {
|
24 | 27 | // We want to consume the whole line
|
25 | 28 | 'variable-line': {
|
26 |
| - pattern: /(^|(?:\r?\n|\r))[ \t]*\$.+/, |
27 |
| - lookbehind: true, |
| 29 | + pattern: /^[ \t]*\$.+/m, |
28 | 30 | inside: {
|
29 | 31 | 'punctuation': /:/,
|
30 | 32 | 'variable': variable,
|
|
33 | 35 | },
|
34 | 36 | // We want to consume the whole line
|
35 | 37 | 'property-line': {
|
36 |
| - pattern: /(^|(?:\r?\n|\r))[ \t]*(?:[^:\s]+[ ]*:.*|:[^:\s]+.*)/i, |
37 |
| - lookbehind: true, |
| 38 | + pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m, |
38 | 39 | inside: {
|
39 | 40 | 'property': [
|
40 | 41 | /[^:\s]+(?=\s*:)/,
|
|
58 | 59 | delete Prism.languages.sass.selector;
|
59 | 60 | Prism.languages.insertBefore('sass', 'punctuation', {
|
60 | 61 | 'selector': {
|
61 |
| - pattern: /([ \t]*).+(?:,(?:\r?\n|\r)\1[ \t]+.+)*/, |
| 62 | + pattern: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/, |
62 | 63 | lookbehind: true
|
63 | 64 | }
|
64 | 65 | });
|
|
0 commit comments