55' name' : ' LiveCode Script'
66' fileTypes' : [
77 ' livecodescript'
8+ ' irev'
9+ ' lc'
810]
9- ' firstLineMatch' : ' ^#!.*\\ b(livecode)|^#\\ s*-\\ *-[^*]*mode:\\ s*livecodescript[^*]*-\\ *-'
11+ ' firstLineMatch' : ' ^<\\ ?rev\\ b|<\\ ?lc\\ b|<\\ ?livecode\\ b|#!.*\\ b(livecode)|^#\\ s*-\\ *-[^*]*mode:\\ s*livecodescript[^*]*-\\ *-|script \" ([A-Za-z_0-9]*)\" '
12+ ' injectionSelector' : ' text'
1013' patterns' : [
1114 {
1215 include : " #language"
1316 }
17+ {
18+ begin : " <\\ ?rev|<\\ ?lc|<\\ ?livecode"
19+ end : " \\ ?>"
20+ patterns : [
21+ {
22+ include : " #revigniter"
23+ }
24+ {
25+ include : " #language"
26+ }
27+ ]
28+ }
29+ {
30+ begin : " (((?<=\\ ?>)<)|<)\\ ?(?i:rev|lc|livecode)?"
31+ beginCaptures :
32+ " 0" :
33+ name : " punctuation.section.embedded.begin.livecodescript"
34+ " 2" :
35+ name : " meta.consecutive-tags.livecodescript"
36+ comment : " Catches embeded livecodescript code."
37+ end : " (\\ ?)>"
38+ endCaptures :
39+ " 0" :
40+ name : " punctuation.section.embedded.end.livecodescript"
41+ " 1" :
42+ name : " source.livecodescript"
43+ name : " source.livecodescript.embedded.line.html"
44+ patterns : [
45+ {
46+ include : " #revigniter"
47+ }
48+ {
49+ include : " #language"
50+ }
51+ ]
52+ }
1453]
1554repository :
1655 constants :
@@ -31,25 +70,28 @@ repository:
3170 name : " comment.block.livecodescript"
3271 }
3372 {
34- captures :
35- " 1" :
36- name : " punctuation.definition.comment.livecodescript"
37- match : " (--).*?($\\ n?)"
38- name : " comment.line.double-dash.livecodescript"
73+ ' begin' : ' --'
74+ ' beginCaptures' :
75+ ' 0' :
76+ ' name' : ' punctuation.definition.comment.double-dash.livecodescript'
77+ ' end' : ' \\ n'
78+ ' name' : ' comment.line.livecodescript'
3979 }
4080 {
41- captures :
42- " 1" :
43- name : " punctuation.definition.comment.livecodescript"
44- match : " (#).*?($\\ n?)"
45- name : " comment.line.number-sign.livecodescript"
81+ ' begin' : ' #'
82+ ' beginCaptures' :
83+ ' 0' :
84+ ' name' : ' punctuation.definition.comment.number-sign.livecodescript'
85+ ' end' : ' \\ n'
86+ ' name' : ' comment.line.livecodescript'
4687 }
4788 {
48- captures :
49- " 1" :
50- name : " punctuation.definition.comment.livecodescript"
51- match : " (//).*?($\\ n?)"
52- name : " comment.line.number-sign.livecodescript"
89+ ' begin' : ' //'
90+ ' beginCaptures' :
91+ ' 0' :
92+ ' name' : ' punctuation.definition.comment.double-slash.livecodescript'
93+ ' end' : ' \\ n'
94+ ' name' : ' comment.line.livecodescript'
5395 }
5496 {
5597 match : " \\ b(after|byte(s)*|codepoint(s)*|codeunit(s)*|english|segment(s)*|sentence(s)*|paragraph|the|trueWord(s)*|until|word(s)*|http|forever|descending|using|line|real8|with|seventh|for|stdout|finally|element|word|fourth|before|black|ninth|sixth|characters|chars|stderr|uInt(1|1s|2|2s)|stdin|string|lines|relative|rel|any|fifth|items|from|middle|mid|at|else|of|catch|then|third|it|file|milli(seconds|second|secs|sec)|int(1|1s|4|4s|ernet|2|2s)|normal|text|item|last|long|detailed|effective|uInt4|uInt4s|se(conds|cond|cs|c)|repeat|end\\ s+repeat|URL|in|end\\ s+try|into|switch|end\\ s+switch|to|words|https|token|binfile|each|tenth|as|ticks|tick|system|real4|by|dateItems|without|cha(r|racter)|ascending|eighth|whole|dateTime|numeric|short|first|ftp|integer|abbreviated|abb(r|rev)|private|case|while|if|end\\ s+if)\\ b"
@@ -71,10 +113,12 @@ repository:
71113 " 1" :
72114 name : " storage.type.function.livecodescript"
73115 " 2" :
74- name : " entity.name .function.livecodescript"
116+ name : " storage.type .function.livecodescript"
75117 " 3" :
76- name : " variable.parameter.livecodescript"
77- match : " ((?i)function)\\ s+([A-Za-z_0-9-]+)(\\ s+[A-Za-z_0-9-]+,*?\\ s+.*)*"
118+ name : " entity.name.function.livecodescript"
119+ " 4" :
120+ name : " punctuation.definition.variable.livecodescript"
121+ match : " (private\\ s+)*((?i)function|on|command|before|after)\\ s+([A-Za-z_0-9-]+)(\\ s+@*[A-Za-z_0-9-]+,*?\\ s+.*)*"
78122 name : " meta.function.livecodescript"
79123 }
80124 {
@@ -86,30 +130,6 @@ repository:
86130 match : " ((?i)end){1}\\ s+?([A-Za-z_0-9-]+)?"
87131 name : " meta.function.end.livecodescript"
88132 }
89- {
90- captures :
91- " 1" :
92- name : " storage.type.command.livecodescript"
93- " 2" :
94- name : " entity.name.command.livecodescript"
95- " 3" :
96- name : " variable.parameter.livecodescript"
97- match : " ((?i)before|after|command|on)\\ s+([A-Za-z_0-9-]+)(\\ s+[A-Za-z_0-9-]+,*?\\ s+.*)*"
98- name : " meta.command.livecodescript"
99- }
100- {
101- captures :
102- " 1" :
103- name : " storage.type.test.livecodescript"
104- " 2" :
105- name : " entity.name.test.livecodescript"
106- match : " ((?i)blah){1}\\ s+?([A-Za-z_0-9-]+)?"
107- name : " meta.test.livecodescript"
108- }
109- {
110- match : " ((command|on)\\ s+([A-Za-z_0-9-]+))"
111- name : " meta.testA.livecodescript"
112- }
113133 {
114134 match : " (\\ -|\\ +|\\ *|/|%)"
115135 name : " keyword.operator.arithmetic.livecodescript"
@@ -228,3 +248,14 @@ repository:
228248 include : " #var_server"
229249 }
230250 ]
251+ revigniter :
252+ patterns : [
253+ {
254+ match: "(?i)\\b(_rigAgentData|_rigBuild(Headers|Message)+|_rigCompileData|_rigDataFromSmtpSocket|_rigDisplay|_rigExplodeSegments|_rigFetchAssoc|_rigFlashdata(Mark|Sweep)+|_rigFormValidExecute|_rigGetSmtpData|_rigHaving|_rigInitHooksPrefs|_rigLike|_rigMaxMinAvgSum|_rigMergeCache|_rigParseRoutes|_rigRemove(NlCallback|UrlSuffix)+|_rigReset(PostArray|Select|Write)+|_rig(Autoloader|Initialize|InitLibrary|LoadLibrary|LoadStack|Scaffolding)+|_rigSanitizeGlobals|_rigSend(SmtpCommand|SmtpData)+|_rigSessGC|_rigSet(Boundaries|Charsets|Cookie|ErrorMessage|Header|Languages|Pragma|Request|Routing|Scaffolding|ScaffoldingTable|TableData|ViewPath)+|_rigSmtp(Authenticate|Connect|DataWritten)+|_rigUnwrapSpecials|_rigWhere(In)*|_rigWrite(Cache|Headers)+|rigAdd(TableRow|ToLibArray)+|rigAjaxPagination|rigAlpha(DashR|NumericR|R)+|rigAppendOutput|rigAuth(Logout|SetErrorDelimiters|SetMessageDelimiters)+|rigClear(Mail|TableVars)+|rigCompile(ProfilerTemplate|TableTemplate)+|rigDBcache|rigDb(CacheDelete|CacheDeleteAll|CacheSetPath|CloseParenthesis|DisplayError|Distinct|Driver|FlushCache|From|GroupBy|Having|Join|Like|Limit|NotLike|Offset|OpenParenthesis|OrderBy|OrHaving|OrLike|OrNotLike|OrWhere|OrWhereIn|OrWhereNotIn|ResetResultValue|Select|SetResultFromCache|SetRow|StartCache|StopCache|TransOff|TransStart|TransStrict|Where|WhereIn|WhereNotIn)+|rigDelete(AllDBcacheFiles|Cookie|DBcacheFiles|Files)+|rigDo(Exception|Upload)+|rigEnableProfiler|rigEncodeRevTags|rigExactLengthR|rigFmSubstitute|rigForceDownload|rigFragmentDate|rigHtmlSpecialChars|rigImage(NewSettings|Reproportion)+|rigImgClear|rigInit(Captcha|ializeCalendar|ializeImage|ializeJquery|ializeMail|ializePagination|ializeUpload)+|rigIntegerR|rigIs(NaturalNoZeroR|NaturalR|NumericR)+|rigJQ(addStatement|ajax|ajaxForm|alert|animate|callFunction|cb|close|closeStatement|condition|confirm|delegateLiveOneToggleUnbind|dieUndelegate|eachClose|eachOpen|effect|eventAlert|eventAnim|eventClose|eventEffect|eventOpen|functionClose|functionOpen|hover|open|prompt|set|triggerTriggerhandler|var|xhRequest)+|rigKeepSessFlashdata|rigLoad(Config|erLoadLibrary|Helper|Helpers|Language|Library|Model|Plugin|Plugins|Rdriver|Scaffolding|Stack|Stacks|Vars)+|rigLog(Exception|Message)+|rigMail(Attach|Bcc|CC|From|Message|Subject|To)+|rigMatchesR|rigMaxLengthR|rigMd5|rigMinLengthR|rigNumericR|rigOutputCache|rigParseCalTemplate|rigPrep(ForForm|URL)+|rigRedirect|rigReplyTo|rigRequiredR|rigReset(Alternator|SmtpVars)+|rigRunInitial(CalendarConfig|CaptchaConfig|EncryptConfig|FormvalidationConfig|ImageConfig|JqueryConfig|MailConfig|PaginationConfig|ProfilerConfig|SessionConfig|TableConfig|UploadConfig|UseragentConfig)+|rigScaff(Add|Delete|DoDelete|Edit|Insert|olding|Update|View)+|rigSelect(Avg|Max|Min|Sum)+|rigSess(Create|Destroy|Update|Write)+|rigSet(_sAltMessage|_sCrlf|_sMailtype|_sNewline|_sPriority|_sWordwrap|CaptchaMatrix|CaptchaNumberMatrix|Cipher|ConfigItem|ConfigRules|Controller|Cookie|DBdriverSetting|Directory|EmptyCellVal|EncryptionKey|ErrorDelimiters|Handler|Hash|Header|ImgError|InitialCalendarValue|InitialImageValue|InitialJqueryValue|InitialMailValue|InitialPaginationValue|Message|Output|ProfilerTableTemplate|Rules|SessFlashdata|SessUserdata|StatusHeader|TableCaption|TableHeading|TableTemplate)+|rigSha1|rigShow(404|404Page|Error)+|rigStripImageTags|rigSetPrefilledValues|rigTimeMark|rigTrans(Commit|Rollback)+|rigTrim|rigUnsetSessUserdata|rigUrlDecodeStr|rigValid(Base64R|EmailR|EmailsR|IpR)+|rigWriteLog|rigXssClean|rigWriteManifest)\\b"
255+ name : " support.command.livecodescript"
256+ }
257+ {
258+ match: "(?i)\\b(_rigARarrayMerge|_rigAttributesToString|_rigCacheInit|_rigCallHook|_rigCbName|_rigClean(InputData|InputKeys)+|_rigCloseDB|_rigCompactExplodedWords|_rigCompile(Benchmarks|ControllerInfo|Get|Post|Queries|Select|URIstring)+|_rigConnectString|_rigConvertAttribute|_rigCreateAliasFromTable|_rigDataSeek|_rigDb(Close|Execute|FieldData|ListColumns|ListTables|SetCharset|Version)+|_rigDefault(ProfilerTemplate|TableTemplate)+|_rigDelete|_rigEscapeIdentifiers|_rigExceptionHandler|_rigFetch(FromArray|UriString)+|_rigFilter(Attributes|Uri)+|_rigFromTables|_rigGet(AltMessage|ContentType|Hostname|MailEncoding|MessageID|MimeMessage|Pragma|Protocol|Time)+|_rigHasOperator|_rigHtml(EntityDecode|List)+|_rigInsert|_rigJs(ImgRemoval|LinkRemoval)+|_rigLimit|_rigLoadAgentFile|_rigMimeTypes|_rigOutDisplayCache|_rigParse(AssetHTML|Attributes|FormAttributes|QueryStr|URL)+|_rigPrep(Qencoding|Query|QuotedPrintable)+|_rigProtectIdentifiers|_rigReduceArray|_rigLoad|_rigRunHook|_rigSanitizeNaughtyHtml|_rigSend(WithMail|WithSendmail|WithSmtp)+|_rigSerializeSess|_rigSet(Browser|Date|Mobile|Platform|Robot)+|_rigSlashSegment|_rigSpoolEmail|_rigStrToArray|_rigTempMailPath|_rigTrackAliases|_rigTranslateFieldname|_rigTruncate|_rigUnserializeSess|_rigUpdate|_rigUriToAssoc|_rigValidate(QueryRequest|Request)+|_varPostFallback|_rigWriteImgSrcFile|_rigXor(Decode|Encode|Merge)+|rigAccept(Charset|Lang)+|rigAdd(Cslashes|Favicon|TrailingSlash)+|rigAdjustDate|rigAgent(CharSets|Languages|Platform|String)+|rigAjaxPaginationCode|rigAlternator|rigAnchor|rigAnchorPopUp|rigArray(Element|Keys|Merge|RandElement|Reverse|Splice|Values)+|rigASiteURL|rigAssocToURI|rigAuth(Activate|ChangePassword|ClearForgottenPasswordCode|ClearLoginAttempts|Deactivate|DeleteUser|EmailCheck|Errors|FetchConfigItem|ForgottenPassword|ForgottenPasswordCheck|ForgottenPasswordCode|GetAttemptsNum|Group|Groups|IdentityCheck|IncreaseLoginAttempts|InGroup|IsAdmin|IsMaxLoginAttemptsExceeded|LoggedIn|Login|Messages|MessageDelimiters|Register|RemoveFromGroup|ResetPassword|Update|User|UserGroups|Users|UsernameCheck)+|rigAutoLink|rigBaseURL|rigBatchBccSend|rigBrowser(Version)*|rigCacheVarsMerged|rigCalGenerate|rigCanWriteFileTo|rigCaptcha(Code|Style|MathProblem)+|rigCeil|rigCheck(CachePath|Type)+|rigClean(Email|MailAddress)+|rigCodepointToNum|rigCompileBinds|rigConfigItem|rigCookieExpirationDate|rigCreatePaginationLinks|rigCssAsset(URL)*|rigCurrent(URIstring|URL)+|rigDay(OfYear|sInMonth)+|rigDB(result)*|rigDb(AffectedRows|CacheOff|CacheOn|Connect|CountAll|CountAllResults|CurrentRow|Delete|ElapsedTime|EmptyTable|ErrorMessage|Escape|EscapeString|FieldData|FieldExists|FirstRow|Get|GetWhere|Initialize|Insert|InsertString|LastQuery|LastRow|ListFields|ListTables|NextRow|Platform|Prefix|Query|Row|RowArray|SetCharset|SimpleQuery|TableExists|TotalQueries|TransStatus|Truncate|Update|UpdateString|ValuesSet|Version)+|rigDecode|rigDefaultCalTemplate|rigDisplay(ImgErrors|UploadErrors)+|rigDynamic(CssAsset|GalleriaData)+|rigElapsedTime|rigElementsList|rigEncode|rigEscape(LikeStr|Str)+|rigExplodeImgName|rigFetch(ActiveGroup|AgentsData|AllMimeTypes|ConfigItem|Controller|ControllerHandler|ControllerMethods|DBactiveRecSetting|DBdriverSetting|DBlibLoaded|DBsetting|DBsettingsAll|Directory|DocTypes|DriverSpecificSetting|Markers|MimeType|Rsegment|Scaffolding|ScaffoldingTable|Segment)+|rigFieldData|rigFile(_get_contents|Info|NameFromPath|NameSecurity)+|rigFilter(Dots|edFiles|edFilesWithPaths|edFolders|edFoldersWithPaths|FolderDots)+|rigForm(Button|Checkbox|Close|DropDown|Error|Fieldset|FieldsetClose|Hidden|Input|Label|Mail|MailReplace|Multiselect|Open|OpenMultiPart|Password|Prep|Radio|Textarea|Upload|ValidError|ValidErrorString|ValidRun|ValidSelectCheckboxRadio|ValidSetCheckbox|ValidSetRadio|ValidSetSelect|ValidSetValue)+|rigGalleriaData|rigGenerateTable|rigGet(CaptchaHash|CaptchaNum|Config|Cookie|Cookies|DayNames|DirFileInfo|EncryptionKey|FileInfo|FileNames|ImageProperties|MimeByExtension|MonthName|Output|TotalDays)+|rigHash|rigHelperIsLoaded|rigHexDigest|rigHtml(Br|DocType|Heading|Img|JsLink|LinkTag|Meta|Nbs|OL|SpecialChars|UL)+|rigImage(Asset|Crop|ProcessImagemagick|Resize|Rotate|SourceFile|SourceTag|Watermark)+|rigGmtToLocal|rigHumanToTimestamp|rigImgAssetURL|rigIM(knownFonts|version)+|rigImplode|rigInArray|rigIndexPage|rigIpAddress|rigIs(Browser|MainConfigLoaded|LeapYear|Mobile|NumberedArray|Referral|Robot|WriteType)+|rigJQ(ajaxR|alertR|animateR|closeStatementR|conditionR|confirmR|eachCloseR|eachOpenR|effectR|getR|promptR|readyClose|readyOpen|setR|uerySource|varR|xhRequestR)+|rigJs(Asset|AssetURL|ScriptClose|ScriptOpen)+|rigLang(LangLine|Line|LoadLang)+|rigLibIsLoaded|rigList(Fields|Files|FilesWithPaths|FoldersWithPaths)+|rigLoad(ConfigFile|Database|File|ScaffoldingLanguage|View)+|rigLocalToGMT|rigMail(Send|ToLink|ValidEmail)+|rigMakeTableColumns|rigMarkdown|rigMarkdown(Available|Version)+|rigMdate|rigMemoryUsage|rigMobile|rigMysqlTimeToSeconds|rigNativeCharToNum|rigNl2br|rigNow|rigNum(ber_format|Fields|Rows|ToCodepoint|ToNativeChar)+|rigOtherAssetURL|rigOverlayWatermark|rigParseRequestUri|rigPathWithoutFileName|rigPreg(Quote|Replace)+|rigPrimary|rigPrintMailDebugger|rigProfilerOutput|rigProtectIdentifiers|rigQ|rigQueryToJSON|rigQueryValues|rigQuotesToEntities|rigRandom(CaptchaNum|Num|String)+|rigRawURLdecode|rigRead(BinFile|File|SQLcache)+|rigReduce(DoubleSlashes|Multiples)+|rigReferrer|rigRemoveInvisibleCharacters|rigRepeater|rigResetButton|rigCaptcha|rigRobot|rigRSegmentArray|rigRTrim|rigRuri(String|ToAssoc)+|rigSafeMailToLink|rigScaffoldingRequest|rigSegmentArray|rigSendEmail|rigSess(AllUserdata|Flashdata|Read|Userdata)+|rigSet(Checkbox|Radio|Select|SelectCheckboxRadio|Value)+|rigShellEscape|rigShowErrorPage|rigSite(Links|URL)+|rigSlash(Item|Rsegment|Segment)+|rigSqlDateTimeToIntDate|rigStandardDate|rigStrip(_slashes|HTML|ImgTags|Quotes|Slashes)+|rigSubmitButton|rigSubstr(ToNum)*|rigSymbolicPermissions|rigSystemURL|rigText(Watermark|Decode)+|rigTime(span|stampToHuman|zoneMenu|zones)+|rigTotal(Rsegments|Segments)+|rigTrans(Begin|Complete|latedDateItem)+|rigTrim(Slashes)*|rigUcwords|rigUnwrappedWrapMarkersString|rigUploadData|rigUri(Adjusted|String|ToAssoc)+|rigUrl(Prep|Title)+|rigUserAgent|rigValid(ateEmail|ationErrors|CaptchaUserInput|Email|IP)+|rigVar(Cookie|Get|GetPost|Post|Server)+|rigWeekOfYear|rigWord(_wrap|Wrap)+|rigWrite(File|SQLcache)+|rigXmlConvert|rigXss(Clean|Hash)+)\\b"
259+ name : " support.function.livecodescript"
260+ }
261+ ]
0 commit comments