aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/dts.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/highlight.js/lib/languages/dts.js')
-rw-r--r--node_modules/highlight.js/lib/languages/dts.js123
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