123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- (function (Prism) {
- Prism.languages.tremor = {
- 'comment': {
- pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,
- lookbehind: true
- },
- 'interpolated-string': null, // see below
- 'extractor': {
- pattern: /\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,
- greedy: true,
- inside: {
- 'regex': {
- pattern: /(^re)\|[\s\S]+/,
- lookbehind: true
- },
- 'function': /^\w+/,
- 'value': /\|[\s\S]+/
- }
- },
- 'identifier': {
- pattern: /`[^`]*`/,
- greedy: true
- },
- 'function': /\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,
- 'keyword': /\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,
- 'boolean': /\b(?:false|null|true)\b/i,
- 'number': /\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,
- 'pattern-punctuation': {
- pattern: /%(?=[({[])/,
- alias: 'punctuation'
- },
- 'operator': /[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\b/,
- 'punctuation': /::|[;\[\]()\{\},.:]/,
- };
- var interpolationPattern = /#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;
- Prism.languages.tremor['interpolated-string'] = {
- pattern: RegExp(
- /(^|[^\\])/.source +
- '(?:' +
- '"""(?:' + /[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source + '|' + interpolationPattern + ')*"""' +
- '|' +
- '"(?:' + /[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source + '|' + interpolationPattern + ')*"' +
- ')'
- ),
- lookbehind: true,
- greedy: true,
- inside: {
- 'interpolation': {
- pattern: RegExp(interpolationPattern),
- inside: {
- 'punctuation': /^#\{|\}$/,
- 'expression': {
- pattern: /[\s\S]+/,
- inside: Prism.languages.tremor
- }
- }
- },
- 'string': /[\s\S]+/
- }
- };
- Prism.languages.troy = Prism.languages['tremor'];
- Prism.languages.trickle = Prism.languages['tremor'];
- }(Prism));
|