Skip to content

Commit 28759d0

Browse files
committed
Sass: Fix comments, operators and selectors and simplified patterns
1 parent 35b8c50 commit 28759d0

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

components/prism-sass.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
(function(Prism) {
22
Prism.languages.sass = Prism.languages.extend('css', {
33
// 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+
}
58
});
69

710
Prism.languages.insertBefore('sass', 'atrule', {
@@ -10,21 +13,20 @@
1013
// Includes support for = and + shortcuts
1114
pattern: /^(?:[ \t]*)[@+=].+/m,
1215
inside: {
13-
'atrule': /^(?:[ \t]*)(?:@[\w-]+|[+=])/m
16+
'atrule': /(?:@[\w-]+|[+=])/m
1417
}
1518
}
1619
});
1720
delete Prism.languages.sass.atrule;
1821

1922

2023
var variable = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i;
21-
var operator = /[-+]{1,2}|==?|!=|\|?\||\?|\*|\/|%/;
24+
var operator = /[-+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/;
2225

2326
Prism.languages.insertBefore('sass', 'property', {
2427
// We want to consume the whole line
2528
'variable-line': {
26-
pattern: /(^|(?:\r?\n|\r))[ \t]*\$.+/,
27-
lookbehind: true,
29+
pattern: /^[ \t]*\$.+/m,
2830
inside: {
2931
'punctuation': /:/,
3032
'variable': variable,
@@ -33,8 +35,7 @@
3335
},
3436
// We want to consume the whole line
3537
'property-line': {
36-
pattern: /(^|(?:\r?\n|\r))[ \t]*(?:[^:\s]+[ ]*:.*|:[^:\s]+.*)/i,
37-
lookbehind: true,
38+
pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,
3839
inside: {
3940
'property': [
4041
/[^:\s]+(?=\s*:)/,
@@ -58,7 +59,7 @@
5859
delete Prism.languages.sass.selector;
5960
Prism.languages.insertBefore('sass', 'punctuation', {
6061
'selector': {
61-
pattern: /([ \t]*).+(?:,(?:\r?\n|\r)\1[ \t]+.+)*/,
62+
pattern: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,
6263
lookbehind: true
6364
}
6465
});

components/prism-sass.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)