20 lines
1.8 KiB
JavaScript
20 lines
1.8 KiB
JavaScript
|
Prism.languages.applescript = {
|
||
|
'comment': [
|
||
|
// Allow one level of nesting
|
||
|
/\(\*(?:\(\*[\s\S]*?\*\)|[\s\S])*?\*\)/,
|
||
|
/--.+/,
|
||
|
/#.+/
|
||
|
],
|
||
|
'string': /"(?:\\.|[^"\\\r\n])*"/,
|
||
|
'number': /(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i,
|
||
|
'operator': [
|
||
|
/[&=≠≤≥*+\-\/÷^]|[<>]=?/,
|
||
|
/\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/
|
||
|
],
|
||
|
'keyword': /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,
|
||
|
'class': {
|
||
|
pattern: /\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/,
|
||
|
alias: 'builtin'
|
||
|
},
|
||
|
'punctuation': /[{}():,¬«»《》]/
|
||
|
};
|