3
'url': /url\((["']?).*?\1\)/i,
4
'string': /("|')(?:[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/,
5
'interpolation': null, // See below
6
'func': null, // See below
7
'important': /\B!(?:important|optional)\b/i,
9
pattern: /(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/,
12
'hexcode': /#[\da-f]{3,6}/i,
13
'number': /\b\d+(?:\.\d+)?%?/,
14
'boolean': /\b(?:true|false)\b/,
16
// We want non-word chars around "-" because it is
17
// accepted in property names.
18
/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/
20
'punctuation': /[{}()\[\];:,]/
23
inside['interpolation'] = {
24
pattern: /\{[^\r\n}:]+\}/,
26
inside: Prism.util.clone(inside)
29
pattern: /[\w-]+\([^)]*\).*/,
32
rest: Prism.util.clone(inside)
36
Prism.languages.stylus = {
38
pattern: /(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*)/,
41
'atrule-declaration': {
42
pattern: /(^\s*)@.+/m,
49
'variable-declaration': {
50
pattern: /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m,
59
pattern: /(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m,
67
// A property/value pair cannot end with a comma or a brace
68
// It cannot have indented content unless it ended with a semicolon
69
'property-declaration': {
70
pattern: /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m,
76
'interpolation': inside.interpolation
85
// A selector can contain parentheses only as part of a pseudo-element
86
// It can span multiple lines.
87
// It must end with a comma or an accolade or have indented content.
89
pattern: /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m,
92
'interpolation': inside.interpolation,
93
'punctuation': /[{},]/
98
'string': inside.string,
99
'interpolation': inside.interpolation,
100
'punctuation': /[{}()\[\];:.]/
b'\\ No newline at end of file'