aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-supercollider.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-supercollider.js')
-rw-r--r--public/prism/prism-supercollider.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/public/prism/prism-supercollider.js b/public/prism/prism-supercollider.js
new file mode 100644
index 0000000..b31d2ce
--- /dev/null
+++ b/public/prism/prism-supercollider.js
@@ -0,0 +1,39 @@
+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;