51 lines
No EOL
1.2 KiB
JavaScript
51 lines
No EOL
1.2 KiB
JavaScript
Prism.languages.css = {
|
|
'comment': /\/\*[\s\S]*?\*\//,
|
|
'atrule': {
|
|
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
|
|
inside: {
|
|
'rule': /@[\w-]+/
|
|
// See rest below
|
|
}
|
|
},
|
|
'url': /url\((?:(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
|
|
'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
|
|
'string': {
|
|
pattern: /("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
|
|
greedy: true
|
|
},
|
|
'property': /(\b|\B)[\w-]+(?=\s*:)/i,
|
|
'important': /\B!important\b/i,
|
|
'function': /[-a-z0-9]+(?=\()/i,
|
|
'punctuation': /[(){};:]/
|
|
};
|
|
|
|
Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
|
|
|
|
if (Prism.languages.markup) {
|
|
Prism.languages.insertBefore('markup', 'tag', {
|
|
'style': {
|
|
pattern: /(<style[\s\S]*?>)[\s\S]*?(?=<\/style>)/i,
|
|
lookbehind: true,
|
|
inside: Prism.languages.css,
|
|
alias: 'language-css'
|
|
}
|
|
});
|
|
|
|
Prism.languages.insertBefore('inside', 'attr-value', {
|
|
'style-attr': {
|
|
pattern: /\s*style=("|').*?\1/i,
|
|
inside: {
|
|
'attr-name': {
|
|
pattern: /^\s*style/i,
|
|
inside: Prism.languages.markup.tag.inside
|
|
},
|
|
'punctuation': /^\s*=\s*['"]|['"]\s*$/,
|
|
'attr-value': {
|
|
pattern: /.+/i,
|
|
inside: Prism.languages.css
|
|
}
|
|
},
|
|
alias: 'language-css'
|
|
}
|
|
}, Prism.languages.markup.tag);
|
|
} |