aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/nginx.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/nginx.js')
-rw-r--r--node_modules/highlight.js/lib/languages/nginx.js92
1 files changed, 92 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/nginx.js b/node_modules/highlight.js/lib/languages/nginx.js
new file mode 100644
index 000000000..2b14b0431
--- /dev/null
+++ b/node_modules/highlight.js/lib/languages/nginx.js
@@ -0,0 +1,92 @@
+module.exports = function(hljs) {
+ var VAR = {
+ className: 'variable',
+ variants: [
+ {begin: /\$\d+/},
+ {begin: /\$\{/, end: /}/},
+ {begin: '[\\$\\@]' + hljs.UNDERSCORE_IDENT_RE}
+ ]
+ };
+ var DEFAULT = {
+ endsWithParent: true,
+ 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: [
+ hljs.HASH_COMMENT_MODE,
+ {
+ className: 'string',
+ contains: [hljs.BACKSLASH_ESCAPE, VAR],
+ variants: [
+ {begin: /"/, end: /"/},
+ {begin: /'/, end: /'/}
+ ]
+ },
+ // this swallows entire URLs to avoid detecting numbers within
+ {
+ begin: '([a-z]+):/', end: '\\s', endsWithParent: true, excludeEnd: true,
+ contains: [VAR]
+ },
+ {
+ className: 'regexp',
+ contains: [hljs.BACKSLASH_ESCAPE, VAR],
+ variants: [
+ {begin: "\\s\\^", end: "\\s|{|;", returnEnd: true},
+ // regexp locations (~, ~*)
+ {begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: true},
+ // *.example.com
+ {begin: "\\*(\\.[a-z\\-]+)+"},
+ // sub.example.*
+ {begin: "([a-z\\-]+\\.)+\\*"}
+ ]
+ },
+ // IP
+ {
+ className: 'number',
+ begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b'
+ },
+ // units
+ {
+ className: 'number',
+ begin: '\\b\\d+[kKmMgGdshdwy]*\\b',
+ relevance: 0
+ },
+ VAR
+ ]
+ };
+
+ return {
+ aliases: ['nginxconf'],
+ contains: [
+ hljs.HASH_COMMENT_MODE,
+ {
+ begin: hljs.UNDERSCORE_IDENT_RE + '\\s+{', returnBegin: true,
+ end: '{',
+ contains: [
+ {
+ className: 'section',
+ begin: hljs.UNDERSCORE_IDENT_RE
+ }
+ ],
+ relevance: 0
+ },
+ {
+ begin: hljs.UNDERSCORE_IDENT_RE + '\\s', end: ';|{', returnBegin: true,
+ contains: [
+ {
+ className: 'attribute',
+ begin: hljs.UNDERSCORE_IDENT_RE,
+ starts: DEFAULT
+ }
+ ],
+ relevance: 0
+ }
+ ],
+ illegal: '[^\\s\\}]'
+ };
+}; \ No newline at end of file