| Prism.languages.css = { |
| 'comment': /\/\*[\w\W]*?\*\//, |
| 'atrule': { |
| pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i, |
| inside: { |
| 'rule': /@[\w-]+/ |
| // See rest below |
| } |
| }, |
| 'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, |
| 'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/, |
| 'string': { |
| pattern: /("|')(\\(?:\r\n|[\w\W])|(?!\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[\w\W]*?>)[\w\W]*?(?=<\/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); |
| } |