Prism.languages.supercollider = { 'comment': { pattern: /\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//, greedy: true }, 'string': { pattern: /(^|[^\\])"(?:[^"\\]|\\[\s\S])*"/, lookbehind: true, greedy: true }, 'char': { pattern: /\$(?:[^\\\r\n]|\\.)/, greedy: true }, 'symbol': { pattern: /(^|[^\\])'(?:[^'\\]|\\[\s\S])*'|\\\w+/, lookbehind: true, greedy: true }, 'keyword': /\b(?:_|arg|classvar|const|nil|var|while)\b/, 'boolean': /\b(?:false|true)\b/, 'label': { pattern: /\b[a-z_]\w*(?=\s*:)/, alias: 'property' }, '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/, 'class-name': /\b[A-Z]\w*\b/, 'operator': /\.{2,3}|#(?![[{])|&&|[!=]==?|\+>>|\+{1,3}|-[->]|=>|>>|\?\?|@\|?@|\|(?:@|[!=]=)?\||!\?|<[!=>]|\*{1,2}|<{2,3}\*?|[-!%&/<>?@|=`]/, 'punctuation': /[{}()[\].:,;]|#[[{]/ }; Prism.languages.sclang = Prism.languages.supercollider;