{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/applescript.js"],"names":["module","exports","hljs","STRING","inherit","QUOTE_STRING_MODE","illegal","PARAMS","className","begin","end","contains","C_NUMBER_MODE","COMMENT_MODE_1","COMMENT","COMMENTS","HASH_COMMENT_MODE","name","aliases","keywords","keyword","literal","built_in","beginKeywords","UNDERSCORE_TITLE_MODE","concat"],"mappings":"6EAkDAA,EAAOC,QA1CP,SAAqBC,GACnB,IAAIC,EAASD,EAAKE,QAAQF,EAAKG,kBAAmB,CAChDC,QAAS,KAEPC,EAAS,CACXC,UAAW,SACXC,MAAO,MACPC,IAAK,MACLC,SAAU,CAAC,OAAQT,EAAKU,cAAeT,IAErCU,EAAiBX,EAAKY,QAAQ,KAAM,KAKpCC,EAAW,CAACF,EAJKX,EAAKY,QAAQ,SAAU,SAAU,CACpDH,SAAU,CAAC,OAAQE,KAG2BX,EAAKc,mBACrD,MAAO,CACLC,KAAM,cACNC,QAAS,CAAC,aACVC,SAAU,CACRC,QAAS,0iBACTC,QAAS,mEACTC,SAAU,sUAEZX,SAAU,CAACR,EAAQD,EAAKU,cAAe,CACrCJ,UAAW,WACXC,MAAO,kcACN,CACDD,UAAW,UACXC,MAAO,kEACN,CACDD,UAAW,UACXC,MAAO,qSACN,CACDc,cAAe,KACfjB,QAAS,YACTK,SAAU,CAACT,EAAKsB,sBAAuBjB,KACtCkB,OAAOV,GACVT,QAAS","file":"react-syntax-highlighter_languages_highlight_applescript-00b2ee4e1a03e53d3efd.js","sourcesContent":["/*\nLanguage: AppleScript\nAuthors: Nathan Grigg <nathan@nathanamy.org>, Dr. Drang <drdrang@gmail.com>\nCategory: scripting\nWebsite: https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html\n*/\n\n/** @type LanguageFn */\nfunction applescript(hljs) {\n  var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n    illegal: ''\n  });\n  var PARAMS = {\n    className: 'params',\n    begin: '\\\\(',\n    end: '\\\\)',\n    contains: ['self', hljs.C_NUMBER_MODE, STRING]\n  };\n  var COMMENT_MODE_1 = hljs.COMMENT('--', '$');\n  var COMMENT_MODE_2 = hljs.COMMENT('\\\\(\\\\*', '\\\\*\\\\)', {\n    contains: ['self', COMMENT_MODE_1] //allow nesting\n\n  });\n  var COMMENTS = [COMMENT_MODE_1, COMMENT_MODE_2, hljs.HASH_COMMENT_MODE];\n  return {\n    name: 'AppleScript',\n    aliases: ['osascript'],\n    keywords: {\n      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|0 then third through thru ' + 'timeout times to transaction try until where while whose with ' + 'without',\n      literal: 'AppleScript false linefeed return pi quote result space tab true',\n      built_in: 'alias application boolean class constant date file integer list ' + 'number real record string text ' + 'activate beep count delay launch log offset read round ' + 'run say summarize write ' + 'character characters contents day frontmost id item length ' + 'month name paragraph paragraphs rest reverse running time version ' + 'weekday word words year'\n    },\n    contains: [STRING, hljs.C_NUMBER_MODE, {\n      className: 'built_in',\n      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'\n    }, {\n      className: 'literal',\n      begin: '\\\\b(text item delimiters|current application|missing value)\\\\b'\n    }, {\n      className: 'keyword',\n      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)|POSIX file|' + 'POSIX path|(date|time) string|quoted form)\\\\b'\n    }, {\n      beginKeywords: 'on',\n      illegal: '[${=;\\\\n]',\n      contains: [hljs.UNDERSCORE_TITLE_MODE, PARAMS]\n    }].concat(COMMENTS),\n    illegal: '//|->|=>|\\\\[\\\\['\n  };\n}\n\nmodule.exports = applescript;"],"sourceRoot":""}