You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
939 B
28 lines
939 B
Prism.languages.oz = { |
|
'comment': { |
|
pattern: /\/\*[\s\S]*?\*\/|%.*/, |
|
greedy: true |
|
}, |
|
'string': { |
|
pattern: /"(?:[^"\\]|\\[\s\S])*"/, |
|
greedy: true |
|
}, |
|
'atom': { |
|
pattern: /'(?:[^'\\]|\\[\s\S])*'/, |
|
greedy: true, |
|
alias: 'builtin' |
|
}, |
|
'keyword': /\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/, |
|
'function': [ |
|
/\b[a-z][A-Za-z\d]*(?=\()/, |
|
{ |
|
pattern: /(\{)[A-Z][A-Za-z\d]*\b/, |
|
lookbehind: true |
|
} |
|
], |
|
'number': /\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i, |
|
'variable': /`(?:[^`\\]|\\.)+`/, |
|
'attr-name': /\b\w+(?=[ \t]*:(?![:=]))/, |
|
'operator': /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/, |
|
'punctuation': /[\[\](){}.:;?]/ |
|
};
|
|
|