1 | Prism.languages.supercollider = {
|
2 | 'comment': {
|
3 | pattern: /\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,
|
4 | greedy: true
|
5 | },
|
6 | 'string': {
|
7 | pattern: /(^|[^\\])"(?:[^"\\]|\\[\s\S])*"/,
|
8 | lookbehind: true,
|
9 | greedy: true
|
10 | },
|
11 | 'char': {
|
12 | pattern: /\$(?:[^\\\r\n]|\\.)/,
|
13 | greedy: true
|
14 | },
|
15 | 'symbol': {
|
16 | pattern: /(^|[^\\])'(?:[^'\\]|\\[\s\S])*'|\\\w+/,
|
17 | lookbehind: true,
|
18 | greedy: true
|
19 | },
|
20 |
|
21 | 'keyword': /\b(?:_|arg|classvar|const|nil|var|while)\b/,
|
22 | 'boolean': /\b(?:false|true)\b/,
|
23 |
|
24 | 'label': {
|
25 | pattern: /\b[a-z_]\w*(?=\s*:)/,
|
26 | alias: 'property'
|
27 | },
|
28 |
|
29 | 'number': /\b(?:inf|pi|0x[0-9a-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(?:pi)?|\d+r[0-9a-zA-Z]+(?:\.[0-9a-zA-Z]+)?|\d+[sb]{1,4}\d*)\b/,
|
30 | 'class-name': /\b[A-Z]\w*\b/,
|
31 |
|
32 | 'operator': /\.{2,3}|#(?![[{])|&&|[!=]==?|\+>>|\+{1,3}|-[->]|=>|>>|\?\?|@\|?@|\|(?:@|[!=]=)?\||!\?|<[!=>]|\*{1,2}|<{2,3}\*?|[-!%&/<>?@|=`]/,
|
33 | 'punctuation': /[{}()[\].:,;]|#[[{]/
|
34 | };
|
35 |
|
36 | Prism.languages.sclang = Prism.languages.supercollider;
|