diff options
Diffstat (limited to 'public/prism/prism-squirrel.js')
| -rw-r--r-- | public/prism/prism-squirrel.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/public/prism/prism-squirrel.js b/public/prism/prism-squirrel.js new file mode 100644 index 0000000..b146b1b --- /dev/null +++ b/public/prism/prism-squirrel.js @@ -0,0 +1,48 @@ +Prism.languages.squirrel = Prism.languages.extend('clike', { + comment: [ + Prism.languages.clike['comment'][0], + { + pattern: /(^|[^\\:])(?:\/\/|#).*/, + lookbehind: true, + greedy: true, + }, + ], + string: { + pattern: /(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/, + lookbehind: true, + greedy: true, + }, + + 'class-name': { + pattern: /(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/, + lookbehind: true, + inside: { + punctuation: /\./, + }, + }, + keyword: + /\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/, + + number: /\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/, + operator: /\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/, + punctuation: /[(){}\[\],;.]/, +}); + +Prism.languages.insertBefore('squirrel', 'string', { + char: { + pattern: /(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/, + lookbehind: true, + greedy: true, + }, +}); + +Prism.languages.insertBefore('squirrel', 'operator', { + 'attribute-punctuation': { + pattern: /<\/|\/>/, + alias: 'important', + }, + lambda: { + pattern: /@(?=\()/, + alias: 'operator', + }, +}); |
