82 lines
2.1 KiB
JavaScript
82 lines
2.1 KiB
JavaScript
module.exports = function (e) {
|
|
var n = {
|
|
className: "variable",
|
|
variants: [
|
|
{ begin: /\$\d+/ },
|
|
{ begin: /\$\{/, end: /}/ },
|
|
{ begin: "[\\$\\@]" + e.UNDERSCORE_IDENT_RE },
|
|
],
|
|
},
|
|
a = {
|
|
endsWithParent: !0,
|
|
lexemes: "[a-z/_]+",
|
|
keywords: {
|
|
literal:
|
|
"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll",
|
|
},
|
|
relevance: 0,
|
|
illegal: "=>",
|
|
contains: [
|
|
e.HASH_COMMENT_MODE,
|
|
{
|
|
className: "string",
|
|
contains: [e.BACKSLASH_ESCAPE, n],
|
|
variants: [
|
|
{ begin: /"/, end: /"/ },
|
|
{ begin: /'/, end: /'/ },
|
|
],
|
|
},
|
|
{
|
|
begin: "([a-z]+):/",
|
|
end: "\\s",
|
|
endsWithParent: !0,
|
|
excludeEnd: !0,
|
|
contains: [n],
|
|
},
|
|
{
|
|
className: "regexp",
|
|
contains: [e.BACKSLASH_ESCAPE, n],
|
|
variants: [
|
|
{ begin: "\\s\\^", end: "\\s|{|;", returnEnd: !0 },
|
|
{ begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: !0 },
|
|
{ begin: "\\*(\\.[a-z\\-]+)+" },
|
|
{ begin: "([a-z\\-]+\\.)+\\*" },
|
|
],
|
|
},
|
|
{
|
|
className: "number",
|
|
begin: "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b",
|
|
},
|
|
{
|
|
className: "number",
|
|
begin: "\\b\\d+[kKmMgGdshdwy]*\\b",
|
|
relevance: 0,
|
|
},
|
|
n,
|
|
],
|
|
};
|
|
return {
|
|
aliases: ["nginxconf"],
|
|
contains: [
|
|
e.HASH_COMMENT_MODE,
|
|
{
|
|
begin: e.UNDERSCORE_IDENT_RE + "\\s+{",
|
|
returnBegin: !0,
|
|
end: "{",
|
|
contains: [{ className: "section", begin: e.UNDERSCORE_IDENT_RE }],
|
|
relevance: 0,
|
|
},
|
|
{
|
|
begin: e.UNDERSCORE_IDENT_RE + "\\s",
|
|
end: ";|{",
|
|
returnBegin: !0,
|
|
contains: [
|
|
{ className: "attribute", begin: e.UNDERSCORE_IDENT_RE, starts: a },
|
|
],
|
|
relevance: 0,
|
|
},
|
|
],
|
|
illegal: "[^\\s\\}]",
|
|
};
|
|
};
|