forked from PrismJS/prism
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprism-rip.js
32 lines (23 loc) · 849 Bytes
/
prism-rip.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Prism.languages.rip = {
'comment': /#.*/,
'keyword': /(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/,
'builtin': /@|\bSystem\b/,
'boolean': /\b(?:true|false)\b/,
'date': /\b\d{4}-\d{2}-\d{2}\b/,
'time': /\b\d{2}:\d{2}:\d{2}\b/,
'datetime': /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,
'character': /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,
'regex': {
pattern: /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,
lookbehind: true,
greedy: true
},
'symbol': /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,
'string': {
pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
greedy: true
},
'number': /[+-]?\b(?:\d+\.\d+|\d+)\b/,
'punctuation': /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,
'reference': /[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/
};