You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
57 lines
1.7 KiB
(function (Prism) {
|
|
|
|
var string = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
|
|
|
|
Prism.languages.css = {
|
|
'comment': /\/\*[\s\S]*?\*\//,
|
|
'atrule': {
|
|
pattern: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,
|
|
inside: {
|
|
'rule': /@[\w-]+/
|
|
// See rest below
|
|
}
|
|
},
|
|
'url': {
|
|
pattern: RegExp('url\\((?:' + string.source + '|[^\n\r()]*)\\)', 'i'),
|
|
inside: {
|
|
'function': /^url/i,
|
|
'punctuation': /^\(|\)$/
|
|
}
|
|
},
|
|
'selector': RegExp('[^{}\\s](?:[^{};"\']|' + string.source + ')*?(?=\\s*\\{)'),
|
|
'string': {
|
|
pattern: string,
|
|
greedy: true
|
|
},
|
|
'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,
|
|
'important': /!important\b/i,
|
|
'function': /[-a-z0-9]+(?=\()/i,
|
|
'punctuation': /[(){};:,]/
|
|
};
|
|
|
|
Prism.languages.css['atrule'].inside.rest = Prism.languages.css;
|
|
|
|
var markup = Prism.languages.markup;
|
|
if (markup) {
|
|
markup.tag.addInlined('style', 'css');
|
|
|
|
Prism.languages.insertBefore('inside', 'attr-value', {
|
|
'style-attr': {
|
|
pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,
|
|
inside: {
|
|
'attr-name': {
|
|
pattern: /^\s*style/i,
|
|
inside: markup.tag.inside
|
|
},
|
|
'punctuation': /^\s*=\s*['"]|['"]\s*$/,
|
|
'attr-value': {
|
|
pattern: /.+/i,
|
|
inside: Prism.languages.css
|
|
}
|
|
},
|
|
alias: 'language-css'
|
|
}
|
|
}, markup.tag);
|
|
}
|
|
|
|
}(Prism));
|