| exports.ids = ["react-syntax-highlighter_languages_highlight_d"]; |
| exports.modules = { |
| |
| /***/ "./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/d.js": |
| /*!********************************************************************************************!*\ |
| !*** ./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/d.js ***! |
| \********************************************************************************************/ |
| /*! no static exports found */ |
| /***/ (function(module, exports) { |
| |
| /* |
| Language: D |
| Author: Aleksandar Ruzicic <aleksandar@ruzicic.info> |
| Description: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity. |
| Version: 1.0a |
| Website: https://dlang.org |
| Date: 2012-04-08 |
| */ |
| |
| /** |
| * Known issues: |
| * |
| * - invalid hex string literals will be recognized as a double quoted strings |
| * but 'x' at the beginning of string will not be matched |
| * |
| * - delimited string literals are not checked for matching end delimiter |
| * (not possible to do with js regexp) |
| * |
| * - content of token string is colored as a string (i.e. no keyword coloring inside a token string) |
| * also, content of token string is not validated to contain only valid D tokens |
| * |
| * - special token sequence rule is not strictly following D grammar (anything following #line |
| * up to the end of line is matched as special token sequence) |
| */ |
| |
| /** @type LanguageFn */ |
| function d(hljs) { |
| /** |
| * Language keywords |
| * |
| * @type {Object} |
| */ |
| var D_KEYWORDS = { |
| $pattern: hljs.UNDERSCORE_IDENT_RE, |
| keyword: |
| 'abstract alias align asm assert auto body break byte case cast catch class ' + |
| 'const continue debug default delete deprecated do else enum export extern final ' + |
| 'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' + |
| 'interface invariant is lazy macro mixin module new nothrow out override package ' + |
| 'pragma private protected public pure ref return scope shared static struct ' + |
| 'super switch synchronized template this throw try typedef typeid typeof union ' + |
| 'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' + |
| '__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__', |
| built_in: |
| 'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' + |
| 'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' + |
| 'wstring', |
| literal: |
| 'false null true' |
| }; |
| |
| /** |
| * Number literal regexps |
| * |
| * @type {String} |
| */ |
| var decimal_integer_re = '(0|[1-9][\\d_]*)', |
| decimal_integer_nosus_re = '(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)', |
| binary_integer_re = '0[bB][01_]+', |
| hexadecimal_digits_re = '([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)', |
| hexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re, |
| |
| decimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')', |
| decimal_float_re = '(' + decimal_integer_nosus_re + '(\\.\\d*|' + decimal_exponent_re + ')|' + |
| '\\d+\\.' + decimal_integer_nosus_re + decimal_integer_nosus_re + '|' + |
| '\\.' + decimal_integer_re + decimal_exponent_re + '?' + |
| ')', |
| hexadecimal_float_re = '(0[xX](' + |
| hexadecimal_digits_re + '\\.' + hexadecimal_digits_re + '|'+ |
| '\\.?' + hexadecimal_digits_re + |
| ')[pP][+-]?' + decimal_integer_nosus_re + ')', |
| |
| integer_re = '(' + |
| decimal_integer_re + '|' + |
| binary_integer_re + '|' + |
| hexadecimal_integer_re + |
| ')', |
| |
| float_re = '(' + |
| hexadecimal_float_re + '|' + |
| decimal_float_re + |
| ')'; |
| |
| /** |
| * Escape sequence supported in D string and character literals |
| * |
| * @type {String} |
| */ |
| var escape_sequence_re = '\\\\(' + |
| '[\'"\\?\\\\abfnrtv]|' + // common escapes |
| 'u[\\dA-Fa-f]{4}|' + // four hex digit unicode codepoint |
| '[0-7]{1,3}|' + // one to three octal digit ascii char code |
| 'x[\\dA-Fa-f]{2}|' + // two hex digit ascii char code |
| 'U[\\dA-Fa-f]{8}' + // eight hex digit unicode codepoint |
| ')|' + |
| '&[a-zA-Z\\d]{2,};'; // named character entity |
| |
| /** |
| * D integer number literals |
| * |
| * @type {Object} |
| */ |
| var D_INTEGER_MODE = { |
| className: 'number', |
| begin: '\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?', |
| relevance: 0 |
| }; |
| |
| /** |
| * [D_FLOAT_MODE description] |
| * @type {Object} |
| */ |
| var D_FLOAT_MODE = { |
| className: 'number', |
| begin: '\\b(' + |
| float_re + '([fF]|L|i|[fF]i|Li)?|' + |
| integer_re + '(i|[fF]i|Li)' + |
| ')', |
| relevance: 0 |
| }; |
| |
| /** |
| * D character literal |
| * |
| * @type {Object} |
| */ |
| var D_CHARACTER_MODE = { |
| className: 'string', |
| begin: '\'(' + escape_sequence_re + '|.)', end: '\'', |
| illegal: '.' |
| }; |
| |
| /** |
| * D string escape sequence |
| * |
| * @type {Object} |
| */ |
| var D_ESCAPE_SEQUENCE = { |
| begin: escape_sequence_re, |
| relevance: 0 |
| }; |
| |
| /** |
| * D double quoted string literal |
| * |
| * @type {Object} |
| */ |
| var D_STRING_MODE = { |
| className: 'string', |
| begin: '"', |
| contains: [D_ESCAPE_SEQUENCE], |
| end: '"[cwd]?' |
| }; |
| |
| /** |
| * D wysiwyg and delimited string literals |
| * |
| * @type {Object} |
| */ |
| var D_WYSIWYG_DELIMITED_STRING_MODE = { |
| className: 'string', |
| begin: '[rq]"', |
| end: '"[cwd]?', |
| relevance: 5 |
| }; |
| |
| /** |
| * D alternate wysiwyg string literal |
| * |
| * @type {Object} |
| */ |
| var D_ALTERNATE_WYSIWYG_STRING_MODE = { |
| className: 'string', |
| begin: '`', |
| end: '`[cwd]?' |
| }; |
| |
| /** |
| * D hexadecimal string literal |
| * |
| * @type {Object} |
| */ |
| var D_HEX_STRING_MODE = { |
| className: 'string', |
| begin: 'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?', |
| relevance: 10 |
| }; |
| |
| /** |
| * D delimited string literal |
| * |
| * @type {Object} |
| */ |
| var D_TOKEN_STRING_MODE = { |
| className: 'string', |
| begin: 'q"\\{', |
| end: '\\}"' |
| }; |
| |
| /** |
| * Hashbang support |
| * |
| * @type {Object} |
| */ |
| var D_HASHBANG_MODE = { |
| className: 'meta', |
| begin: '^#!', |
| end: '$', |
| relevance: 5 |
| }; |
| |
| /** |
| * D special token sequence |
| * |
| * @type {Object} |
| */ |
| var D_SPECIAL_TOKEN_SEQUENCE_MODE = { |
| className: 'meta', |
| begin: '#(line)', |
| end: '$', |
| relevance: 5 |
| }; |
| |
| /** |
| * D attributes |
| * |
| * @type {Object} |
| */ |
| var D_ATTRIBUTE_MODE = { |
| className: 'keyword', |
| begin: '@[a-zA-Z_][a-zA-Z_\\d]*' |
| }; |
| |
| /** |
| * D nesting comment |
| * |
| * @type {Object} |
| */ |
| var D_NESTING_COMMENT_MODE = hljs.COMMENT( |
| '\\/\\+', |
| '\\+\\/', |
| { |
| contains: ['self'], |
| relevance: 10 |
| } |
| ); |
| |
| return { |
| name: 'D', |
| keywords: D_KEYWORDS, |
| contains: [ |
| hljs.C_LINE_COMMENT_MODE, |
| hljs.C_BLOCK_COMMENT_MODE, |
| D_NESTING_COMMENT_MODE, |
| D_HEX_STRING_MODE, |
| D_STRING_MODE, |
| D_WYSIWYG_DELIMITED_STRING_MODE, |
| D_ALTERNATE_WYSIWYG_STRING_MODE, |
| D_TOKEN_STRING_MODE, |
| D_FLOAT_MODE, |
| D_INTEGER_MODE, |
| D_CHARACTER_MODE, |
| D_HASHBANG_MODE, |
| D_SPECIAL_TOKEN_SEQUENCE_MODE, |
| D_ATTRIBUTE_MODE |
| ] |
| }; |
| } |
| |
| module.exports = d; |
| |
| |
| /***/ }) |
| |
| };; |
| //# sourceMappingURL=react-syntax-highlighter_languages_highlight_d.render-page.js.map |