/usr/lib/nodejs/highlight/applescript.js is in node-highlight 7.4+ds-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | module.exports = function(hljs) {
var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: ''});
var TITLE = {
className: 'title', begin: hljs.UNDERSCORE_IDENT_RE
};
var PARAMS = {
className: 'params',
begin: '\\(', end: '\\)',
contains: ['self', hljs.C_NUMBER_MODE, STRING]
};
var COMMENTS = [
{
className: 'comment',
begin: '--', end: '$',
},
{
className: 'comment',
begin: '\\(\\*', end: '\\*\\)',
contains: ['self', {begin: '--', end: '$'}] //allow nesting
},
hljs.HASH_COMMENT_MODE
];
return {
keywords: {
keyword:
'about above after against and around as at back before beginning ' +
'behind below beneath beside between but by considering ' +
'contain contains continue copy div does eighth else end equal ' +
'equals error every exit fifth first for fourth from front ' +
'get given global if ignoring in into is it its last local me ' +
'middle mod my ninth not of on onto or over prop property put ref ' +
'reference repeat returning script second set seventh since ' +
'sixth some tell tenth that the then third through thru ' +
'timeout times to transaction try until where while whose with ' +
'without',
constant:
'AppleScript false linefeed return pi quote result space tab true',
type:
'alias application boolean class constant date file integer list ' +
'number real record string text',
command:
'activate beep count delay launch log offset read round ' +
'run say summarize write',
property:
'character characters contents day frontmost id item length ' +
'month name paragraph paragraphs rest reverse running time version ' +
'weekday word words year'
},
contains: [
STRING,
hljs.C_NUMBER_MODE,
{
className: 'type',
begin: '\\bPOSIX file\\b'
},
{
className: 'command',
begin:
'\\b(clipboard info|the clipboard|info for|list (disks|folder)|' +
'mount volume|path to|(close|open for) access|(get|set) eof|' +
'current date|do shell script|get volume settings|random number|' +
'set volume|system attribute|system info|time to GMT|' +
'(load|run|store) script|scripting components|' +
'ASCII (character|number)|localized string|' +
'choose (application|color|file|file name|' +
'folder|from list|remote application|URL)|' +
'display (alert|dialog))\\b|^\\s*return\\b'
},
{
className: 'constant',
begin:
'\\b(text item delimiters|current application|missing value)\\b'
},
{
className: 'keyword',
begin:
'\\b(apart from|aside from|instead of|out of|greater than|' +
"isn't|(doesn't|does not) (equal|come before|come after|contain)|" +
'(greater|less) than( or equal)?|(starts?|ends|begins?) with|' +
'contained by|comes (before|after)|a (ref|reference))\\b'
},
{
className: 'property',
begin:
'\\b(POSIX path|(date|time) string|quoted form)\\b'
},
{
className: 'function_start',
beginWithKeyword: true,
keywords: 'on',
illegal: '[${=;\\n]',
contains: [TITLE, PARAMS]
}
].concat(COMMENTS),
illegal: '//'
};
};
|