UNPKG

highlight-ts

Version:

Highlight.JS in TypeScript (and ES6).

106 lines 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); // Common regexps exports.IDENT_RE = '[a-zA-Z]\\w*'; exports.UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\w*'; exports.NUMBER_RE = '\\b\\d+(\\.\\d+)?'; exports.C_NUMBER_RE = '(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)'; // 0x..., 0..., decimal, float exports.BINARY_NUMBER_RE = '\\b(0b[01]+)'; // 0b... exports.RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~'; // Common modes exports.BACKSLASH_ESCAPE = { begin: '\\\\[\\s\\S]', relevance: 0 }; exports.APOS_STRING_MODE = { className: 'string', begin: '\'', end: '\'', illegal: '\\n', contains: [exports.BACKSLASH_ESCAPE] }; exports.QUOTE_STRING_MODE = { className: 'string', begin: '"', end: '"', illegal: '\\n', contains: [exports.BACKSLASH_ESCAPE] }; exports.PHRASAL_WORDS_MODE = { begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ }; function COMMENT(begin, end, inherits) { if (inherits === void 0) { inherits = {}; } var mode = tslib_1.__assign({ className: 'comment', begin: begin, end: end, contains: [] }, inherits); var contains = mode.contains; if (contains) { contains.push(exports.PHRASAL_WORDS_MODE); contains.push({ className: 'doctag', begin: '(?:TODO|FIXME|NOTE|BUG|XXX):', relevance: 0 }); } return mode; } exports.COMMENT = COMMENT; ; exports.C_LINE_COMMENT_MODE = COMMENT('//', '$'); exports.C_BLOCK_COMMENT_MODE = COMMENT('/\\*', '\\*/'); exports.HASH_COMMENT_MODE = COMMENT('#', '$'); exports.NUMBER_MODE = { className: 'number', begin: exports.NUMBER_RE, relevance: 0 }; exports.C_NUMBER_MODE = { className: 'number', begin: exports.C_NUMBER_RE, relevance: 0 }; exports.BINARY_NUMBER_MODE = { className: 'number', begin: exports.BINARY_NUMBER_RE, relevance: 0 }; exports.CSS_NUMBER_MODE = { className: 'number', begin: exports.NUMBER_RE + '(' + '%|em|ex|ch|rem' + '|vw|vh|vmin|vmax' + '|cm|mm|in|pt|pc|px' + '|deg|grad|rad|turn' + '|s|ms' + '|Hz|kHz' + '|dpi|dpcm|dppx' + ')?', relevance: 0 }; exports.REGEXP_MODE = { className: 'regexp', begin: /\//, end: /\/[gimuy]*/, illegal: /\n/, contains: [ exports.BACKSLASH_ESCAPE, { begin: /\[/, end: /\]/, relevance: 0, contains: [exports.BACKSLASH_ESCAPE] } ] }; exports.TITLE_MODE = { className: 'title', begin: exports.IDENT_RE, relevance: 0 }; exports.UNDERSCORE_TITLE_MODE = { className: 'title', begin: exports.UNDERSCORE_IDENT_RE, relevance: 0 }; exports.METHOD_GUARD = { // excludes method names from keyword processing begin: '\\.\\s*' + exports.UNDERSCORE_IDENT_RE, relevance: 0 }; //# sourceMappingURL=common.js.map