prismjs
Version:
Lightweight, robust, elegant syntax highlighting. A spin-off project from Dabblet.
50 lines (48 loc) • 1.17 kB
JavaScript
Prism.languages.css = {
'comment': /\/\*[\w\W]*?\*\//,
'atrule': {
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
inside: {
'punctuation': /[;:]/
}
},
'url': /url\((?:(["'])(\\\n|\\?.)*?\1|.*?)\)/i,
'selector': /[^\{\}\s][^\{\};]*(?=\s*\{)/,
'string': /("|')(\\\n|\\?.)*?\1/,
'property': /(\b|\B)[\w-]+(?=\s*:)/i,
'important': /\B!important\b/i,
'punctuation': /[\{\};:]/,
'function': /[-a-z0-9]+(?=\()/i
};
if (Prism.languages.markup) {
Prism.languages.insertBefore('markup', 'tag', {
'style': {
pattern: /<style[\w\W]*?>[\w\W]*?<\/style>/i,
inside: {
'tag': {
pattern: /<style[\w\W]*?>|<\/style>/i,
inside: Prism.languages.markup.tag.inside
},
rest: 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);
}