87 lines
2.2 KiB
JavaScript
87 lines
2.2 KiB
JavaScript
module.exports = function (e) {
|
|
var n = {
|
|
begin: /[A-Z\_\.\-]+\s*:/,
|
|
returnBegin: !0,
|
|
end: ";",
|
|
endsWithParent: !0,
|
|
contains: [
|
|
{
|
|
className: "attribute",
|
|
begin: /\S/,
|
|
end: ":",
|
|
excludeEnd: !0,
|
|
starts: {
|
|
endsWithParent: !0,
|
|
excludeEnd: !0,
|
|
contains: [
|
|
{
|
|
begin: /[\w-]+\(/,
|
|
returnBegin: !0,
|
|
contains: [
|
|
{ className: "built_in", begin: /[\w-]+/ },
|
|
{
|
|
begin: /\(/,
|
|
end: /\)/,
|
|
contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE],
|
|
},
|
|
],
|
|
},
|
|
e.CSS_NUMBER_MODE,
|
|
e.QUOTE_STRING_MODE,
|
|
e.APOS_STRING_MODE,
|
|
e.C_BLOCK_COMMENT_MODE,
|
|
{ className: "number", begin: "#[0-9A-Fa-f]+" },
|
|
{ className: "meta", begin: "!important" },
|
|
],
|
|
},
|
|
},
|
|
],
|
|
};
|
|
return {
|
|
case_insensitive: !0,
|
|
illegal: /[=\/|'\$]/,
|
|
contains: [
|
|
e.C_BLOCK_COMMENT_MODE,
|
|
{ className: "selector-id", begin: /#[A-Za-z0-9_-]+/ },
|
|
{ className: "selector-class", begin: /\.[A-Za-z0-9_-]+/ },
|
|
{ className: "selector-attr", begin: /\[/, end: /\]/, illegal: "$" },
|
|
{ className: "selector-pseudo", begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/ },
|
|
{
|
|
begin: "@(font-face|page)",
|
|
lexemes: "[a-z-]+",
|
|
keywords: "font-face page",
|
|
},
|
|
{
|
|
begin: "@",
|
|
end: "[{;]",
|
|
illegal: /:/,
|
|
contains: [
|
|
{ className: "keyword", begin: /\w+/ },
|
|
{
|
|
begin: /\s/,
|
|
endsWithParent: !0,
|
|
excludeEnd: !0,
|
|
relevance: 0,
|
|
contains: [
|
|
e.APOS_STRING_MODE,
|
|
e.QUOTE_STRING_MODE,
|
|
e.CSS_NUMBER_MODE,
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
className: "selector-tag",
|
|
begin: "[a-zA-Z-][a-zA-Z0-9_-]*",
|
|
relevance: 0,
|
|
},
|
|
{
|
|
begin: "{",
|
|
end: "}",
|
|
illegal: /\S/,
|
|
contains: [e.C_BLOCK_COMMENT_MODE, n],
|
|
},
|
|
],
|
|
};
|
|
};
|