| Index: lib/src/prism/components/prism-sass.js
|
| diff --git a/lib/src/prism/components/prism-sass.js b/lib/src/prism/components/prism-sass.js
|
| index 9115684fa309d0009ff690330ef2b256784711fb..0a34c00e7430812f8441c11bc80fefa3dc4e556a 100644
|
| --- a/lib/src/prism/components/prism-sass.js
|
| +++ b/lib/src/prism/components/prism-sass.js
|
| @@ -1,7 +1,10 @@
|
| (function(Prism) {
|
| Prism.languages.sass = Prism.languages.extend('css', {
|
| // Sass comments don't need to be closed, only indented
|
| - 'comment': /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m
|
| + 'comment': {
|
| + pattern: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,
|
| + lookbehind: true
|
| + }
|
| });
|
|
|
| Prism.languages.insertBefore('sass', 'atrule', {
|
| @@ -10,7 +13,7 @@
|
| // Includes support for = and + shortcuts
|
| pattern: /^(?:[ \t]*)[@+=].+/m,
|
| inside: {
|
| - 'atrule': /^(?:[ \t]*)(?:@[\w-]+|[+=])/m
|
| + 'atrule': /(?:@[\w-]+|[+=])/m
|
| }
|
| }
|
| });
|
| @@ -18,13 +21,18 @@
|
|
|
|
|
| var variable = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i;
|
| - var operator = /[-+]{1,2}|==?|!=|\|?\||\?|\*|\/|%/;
|
| + var operator = [
|
| + /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,
|
| + {
|
| + pattern: /(\s+)-(?=\s)/,
|
| + lookbehind: true
|
| + }
|
| + ];
|
|
|
| Prism.languages.insertBefore('sass', 'property', {
|
| // We want to consume the whole line
|
| 'variable-line': {
|
| - pattern: /(^|(?:\r?\n|\r))[ \t]*\$.+/,
|
| - lookbehind: true,
|
| + pattern: /^[ \t]*\$.+/m,
|
| inside: {
|
| 'punctuation': /:/,
|
| 'variable': variable,
|
| @@ -33,8 +41,7 @@
|
| },
|
| // We want to consume the whole line
|
| 'property-line': {
|
| - pattern: /(^|(?:\r?\n|\r))[ \t]*(?:[^:\s]+[ ]*:.*|:[^:\s]+.*)/i,
|
| - lookbehind: true,
|
| + pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,
|
| inside: {
|
| 'property': [
|
| /[^:\s]+(?=\s*:)/,
|
| @@ -58,7 +65,7 @@
|
| delete Prism.languages.sass.selector;
|
| Prism.languages.insertBefore('sass', 'punctuation', {
|
| 'selector': {
|
| - pattern: /([ \t]*).+(?:,(?:\r?\n|\r)\1[ \t]+.+)*/,
|
| + pattern: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,
|
| lookbehind: true
|
| }
|
| });
|
|
|