diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/dts.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) |
fix build issues and add typedoc
Diffstat (limited to 'node_modules/highlight.js/lib/languages/dts.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/dts.js | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/dts.js b/node_modules/highlight.js/lib/languages/dts.js new file mode 100644 index 000000000..5773076ff --- /dev/null +++ b/node_modules/highlight.js/lib/languages/dts.js @@ -0,0 +1,123 @@ +module.exports = function(hljs) { + var STRINGS = { + className: 'string', + variants: [ + hljs.inherit(hljs.QUOTE_STRING_MODE, { begin: '((u8?|U)|L)?"' }), + { + begin: '(u8?|U)?R"', end: '"', + contains: [hljs.BACKSLASH_ESCAPE] + }, + { + begin: '\'\\\\?.', end: '\'', + illegal: '.' + } + ] + }; + + var NUMBERS = { + className: 'number', + variants: [ + { begin: '\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)' }, + { begin: hljs.C_NUMBER_RE } + ], + relevance: 0 + }; + + var PREPROCESSOR = { + className: 'meta', + begin: '#', end: '$', + keywords: {'meta-keyword': 'if else elif endif define undef ifdef ifndef'}, + contains: [ + { + begin: /\\\n/, relevance: 0 + }, + { + beginKeywords: 'include', end: '$', + keywords: {'meta-keyword': 'include'}, + contains: [ + hljs.inherit(STRINGS, {className: 'meta-string'}), + { + className: 'meta-string', + begin: '<', end: '>', + illegal: '\\n' + } + ] + }, + STRINGS, + hljs.C_LINE_COMMENT_MODE, + hljs.C_BLOCK_COMMENT_MODE + ] + }; + + var DTS_REFERENCE = { + className: 'variable', + begin: '\\&[a-z\\d_]*\\b' + }; + + var DTS_KEYWORD = { + className: 'meta-keyword', + begin: '/[a-z][a-z\\d-]*/' + }; + + var DTS_LABEL = { + className: 'symbol', + begin: '^\\s*[a-zA-Z_][a-zA-Z\\d_]*:' + }; + + var DTS_CELL_PROPERTY = { + className: 'params', + begin: '<', + end: '>', + contains: [ + NUMBERS, + DTS_REFERENCE + ] + }; + + var DTS_NODE = { + className: 'class', + begin: /[a-zA-Z_][a-zA-Z\d_@]*\s{/, + end: /[{;=]/, + returnBegin: true, + excludeEnd: true + }; + + var DTS_ROOT_NODE = { + className: 'class', + begin: '/\\s*{', + end: '};', + relevance: 10, + contains: [ + DTS_REFERENCE, + DTS_KEYWORD, + DTS_LABEL, + DTS_NODE, + DTS_CELL_PROPERTY, + hljs.C_LINE_COMMENT_MODE, + hljs.C_BLOCK_COMMENT_MODE, + NUMBERS, + STRINGS + ] + }; + + return { + keywords: "", + contains: [ + DTS_ROOT_NODE, + DTS_REFERENCE, + DTS_KEYWORD, + DTS_LABEL, + DTS_NODE, + DTS_CELL_PROPERTY, + hljs.C_LINE_COMMENT_MODE, + hljs.C_BLOCK_COMMENT_MODE, + NUMBERS, + STRINGS, + PREPROCESSOR, + { + begin: hljs.IDENT_RE + '::', + keywords: "" + } + ] + }; +};
\ No newline at end of file |