diff options
Diffstat (limited to 'node_modules/highlight.js/lib/languages/nginx.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/nginx.js | 92 |
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 |