highlightjs-apex
Advanced tools
Comparing version 1.1.0 to 1.1.1
@@ -1,63 +0,69 @@ | ||
/*! `apex` grammar compiled for Highlight.js 11.5.0 */ | ||
/*! `apex` grammar compiled for Highlight.js 11.8.0 */ | ||
var hljsGrammar=(()=>{"use strict";return e=>{ | ||
const s=e.regex,t="[a-zA-Z][a-zA-Z_0-9]*",a={scope:"number",variants:[{ | ||
match:/\b[0-9]+(?:\.[0-9]+)?/},{match:/\s(?:[0-9,]+)?\.[0-9]+/}],relevance:0 | ||
},c={ | ||
match:s.either(/-/,/~/,/\*/,/\*=/,/\/=/,/%/,/\+/,/<</,/>>/,/>=/,/<=/,/\s<\s/,/\s>\s/,/\^/,/\^=/,/!=/,/!/,/==/,/&&/,/&/,/\|\|/,/\|/,/(?<=\s)\?|:(?=\s)/,/=/,/=>/,/\?\./), | ||
scope:"operator",relevance:0},n={ | ||
match:[/\b/,s.either("ApexPages|10","AppLauncher","Approval","Auth","Cache","Canvas","ChatterAnswers|10","CommercePayments|10","ConnectApi|10","Database","Datacloud|10","DataSource|10","Dom","EventBus|10","Flow","Functions","KbManagement|10","Label","LxScheduler|10","Messaging","Metadata","Pref_center|10","Process","QuickAction","Reports","Schema","Search","Sfc|10","Sfdc_Checkout|10","sfdc_surveys|10","Site","Support","System","TerritoryMgmt|10","Test","Trigger|10","TxnSecurity|10","Type","UserProvisioning|10","VisualEditor|10","Wave|10"),/(?=\.)/], | ||
const t=e.regex,a="[a-zA-Z][a-zA-Z_0-9]*",s={scope:"number",variants:[{ | ||
match:/\b[0-9]+(?:\.[0-9]+)?/},{match:/\s(?:[0-9,]+)?\.[0-9]+/},{ | ||
match:/\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/},{ | ||
match:/\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/},{ | ||
match:/\b([0-9_]+)?\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\b/},{ | ||
match:/\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\b/},{match:/\b[0-9_]+(F|f|D|d|M|m)\b/ | ||
},{match:/\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/}],relevance:0},c={ | ||
$pattern:"[A-Za-z][0-9A-Za-z$_]*", | ||
keyword:["trigger|10","class","interface","abstract","AccessLevel","USER_MODE","SYSTEM_MODE","AccessType","break","cast","catch","continue","default","do","else","exports","extends|6","finally","for","get","put","set","global","if","implements","new","newMap|10","old|10","oldMap|10","operationType","override","private","protected","public","return","size","static","throws","throw","testmethod|10","try","virtual","webservice","when","while"], | ||
"variable.language":["final","instanceof","super","this","transient"], | ||
built_in:["finish","start","execute"].concat(["insert","update","upsert|8","delete","undelete","merge","convertLead|10"]), | ||
type:["anytype","blob|0","boolean|0","byte|0","currency|0","date|0","datetime|0","decimal|0","double|0","enum|0","float|0","integer|0","long|0","object","pagereference|10","selectoption|10","short|0","sobject|10","string|0","time|0","void|0","float|0"], | ||
literal:["false","true","null"]},n={ | ||
match:t.either(/-/,/--/,/~/,/\*/,/\*=/,/\/=/,/%/,/\+/,/\+\+/,/<</,/>>/,/>=/,/<=/,/\s<\s/,/\s>\s/,/\^/,/\^=/,/!=/,/!/,/==/,/&&/,/&/,/\|\|/,/\|/,/(?<=\s)\?|:(?=\s)/,/=/,/=>/,/\?\./), | ||
scope:"operator",relevance:0},r={ | ||
match:[/\b/,t.either("ApexPages|10","AppLauncher","Approval","Assert","Auth","Cache","Canvas","ChatterAnswers|10","CommercePayments|10","ConnectApi|10","Database","Datacloud|10","Dataweave|10","DataSource|10","Dom","EventBus|10","ExternalService","Flow","Functions","Invocable","KbManagement|10","Label","LxScheduler|10","Messaging","Metadata","Pref_center|10","Process","QuickAction","Reports","RichMessageing","Savepoint","SchedulableContext","Schema","Search","Sfc|10","Sfdc_Checkout|10","sfdc_surveys|10","Site","Support","System","TerritoryMgmt|10","Test","Trigger|10","TxnSecurity|10","Type","UserProvisioning|10","VisualEditor|10","Wave|10"),/(?=\.)/], | ||
scope:{2:"built_in"},relevance:10 | ||
},r=e.COMMENT("//",/[$\n]/),o=e.COMMENT("/\\*","\\*/",{relevance:0,contains:[{ | ||
},o=e.COMMENT("//",/[$\n]/),i=e.COMMENT("/\\*","\\*/",{relevance:0,contains:[{ | ||
begin:/\w+@/,relevance:0},{scope:"doctag",begin:"@[A-Za-z_]+"},{begin:"`", | ||
end:"`",excludeBegin:!0,excludeEnd:!0,scope:"code", | ||
contains:[e.BACKSLASH_ESCAPE],relevance:0},e.APOS_STRING_MODE,{ | ||
match:[/(?<=@param)/,/\s+/,/\w+/],scope:{3:"variable"}}]}),i={relevance:10, | ||
scope:{1:"meta"},match:["@"+t,/(?=(\(|\b|\s))/]},l=[{ | ||
match:[/(?<=@param)/,/\s+/,/\w+/],scope:{3:"variable"}}]}) | ||
;t.either("label","description","callout","required","category","configurationEditor","iconName","SeeAllData") | ||
;const l={relevance:10,scope:{1:"meta"},match:["@"+a]},b=[{ | ||
match:/\b[a-zA-Z\d]*Exception\b/,scope:"title.class",relevance:0},{ | ||
match:[/\wthrow\s+new\s+/,t],scope:{1:"keyword",2:"title.class"},relevance:0 | ||
}],b=[{match:[s.concat(/\b/,t,/\b/),/>/],scope:{1:"type"},relevance:10}],p=[{ | ||
match:[/\wthrow\s+new\s+/,a],scope:{1:"keyword",2:"title.class"},relevance:0 | ||
}],p=[{match:[t.concat(/\b/,a,/\b/),/>/],scope:{1:"type"},relevance:10}],u=[{ | ||
match:[/\b(list|set|map)\s*/,"<",/[\.\w]+/],scope:{1:"type",3:"type"}, | ||
relevance:10},{match:[t,s.lookahead(/\s*\[\]/)],scope:{1:"type"}}],E={ | ||
match:[/[^\.]/,/\b[a-zA-Z][a-zA-Z\d_]*__[cxeb]\b/,/[\(\s;,]+/],scope:{2:"type"}, | ||
relevance:10},A={variants:[{begin:[/\./,s.concat("(?:"+t+")"),/(?=\s*\(\))/], | ||
scope:{2:"title.function.invoke"}},{ | ||
begin:[/\./,s.concat("(?:"+t+")"),/(?=\s*\([^\)])/],scope:{ | ||
relevance:10},{match:[a,t.lookahead(/\s*\[\]/)],scope:{1:"type"}}],E={ | ||
variants:[{match:[/\./,t.concat("(?:"+a+")"),/(?=\s*\(\))/],scope:{ | ||
2:"title.function.invoke"}},{ | ||
begin:[/(?<=\s)/,s.concat("(?:"+t+")"),/(?=\s*\()/],scope:{2:"title.function"} | ||
}],contains:[r,o,e.APOS_STRING_MODE],relevance:0},m={ | ||
begin:/\[[\s\n]*(?=SELECT)/,end:/\]/,scope:"subst",relevance:10,contains:[{ | ||
begin:s.concat(/\b/,s.either("ABOVE_OR_BELOW","ABOVE","ACTIVE","ADVANCED","ALL",/ALL\s+FIELDS/,"AND","ANY","ARRAY","AS","ASC","BY","CATEGORY","CONTAINS","COUNT","COUNT_DISTINCT","SUM","MAX","MIN","HOUR_IN_DAY","CONVERTCURRENCY","CUBE","DATA","DESC","DIVISION","END","EXCLUDES","FIELDS","FIND","FIRST","FOR","FROM",/GROUP\s+BY/,"HAVING","INCLUDES","LAST","LAST_90_DAYS","LAST_MONTH","LAST_N_DAYS","LAST_WEEK","LAST","LIKE","LIMIT","NETWORK","NEXT_90_DAYS","NEXT_MONTH","NEXT_N_DAYS","NEXT_WEEK","NULLS","OFFSET","ON","OR",/ORDER\s+BY/,"REFERENCE","RETURNING","ROLLUP","ROWS","SEARCH","SECURITY_ENFORCED","SELECT","SNIPPET","SORT","THIS_MONTH","THIS_WEEK","TODAY","TOLABEL","TOMORROW","TRACKING","TYPEOF","UPDATE",/USING\s+SCOPE/,"VIEW","VIEWSTAT","VIEWSTATE","WHERE","WITH","YESTERDAY","USER_MODE"),/\b/), | ||
scope:"keyword"},{match:/(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|:{1})/, | ||
scope:"literal",relevance:0},{match:/(?<=\bFROM\b\s+)\w+/,scope:"type", | ||
relevance:0},{match:/\b[a-zA-Z][a-zA-Z_0-9]*\b/,scope:"property"},a,A], | ||
illegal:"::"};return{name:"Apex",aliases:["apex","lightning"], | ||
case_insensitive:!0,disableAutodetect:!1,ignoreIllegals:!1,keywords:{ | ||
$pattern:"[A-Za-z][0-9A-Za-z$_]*", | ||
keyword:["trigger|10","class","interface","abstract","AccessLevel","USER_MODE","break","catch","continue","default","do","else","execute","exports","extends|6","finally","finish","for","get","put","set","global","if","implements","new","newMap|10","old|10","oldMap|10","override","private","protected","public","return","start","static","throws","throw","testmethod|10","try","virtual","webservice","when","while"], | ||
"variable.language":["final","instanceof","super","this","transient"], | ||
built_in:["insert","update","upsert|8","delete","undelete","merge","schedulable|10","batchable|10","queueable|10","comparable|10","callable|10"], | ||
type:["anytype","blob|0","boolean|0","byte|0","currency|0","date|0","datetime|0","decimal|0","double|0","enum|0","float|0","integer|0","long|0","object","pagereference|10","selectoption|10","short|0","sobject|10","string|0","time|0","void|0","float|0"], | ||
literal:["false","true","null"]}, | ||
illegal:["</","<#","<]","<div>","\x3c!--","!DOCTYPE",/<iframe\b/,/^#/,/^import \.[a-zA-Z]+\./,/^import [\w]+/,/^import$/,/^include </,/^use\s+</,/\b(const|var)\s+\w+\s*=/,/\bstruct\b/,"System.log","console.log",/\bfor\s+\w+\s+IN\s+/,/\bif\s+\w+\s+IN\s+/,/\bend\s+if\b/,/\bend\s+select\b/,/\b(int|var)\s+\w+\s+=/,/\b(int[0-9]+|bool)\b/,/\b\$/,"::=",/\s#[a-zA-Z]/,/\s_[a-zA-Z]/,/\s\$[a-zA-Z]/,"#if","%if",/\bif(?!\s+\()/,"%endif","#endif",/\w::\w/,/RETURNING\s+\*/,/\bint\b/,/import\s+\w+\s+=\s+require\("\w+"\)/,"/^include\b/",/\buse\s+strict\b/,/\w+\s+=\s+"\S*";/,/\/include\//,/\Anamespace\b/,/\bend\.\n/,/\bend\n/,'"""',/@\w+\[\w+\]/], | ||
contains:[i,[{match:[/\b(?<=enum|\bnew)/,/\s+/,t,/\s*(?=[{()])/],scope:{3:"type" | ||
},contains:[r,o,E]},{match:[/(?<=\bclass\b)/,/\s+/,t],scope:{3:"title.class"}},{ | ||
match:[/(?<=public)/,/\s+/,t,/(?=\s*\()/],scope:{3:"constructor"}},{ | ||
begin:[/(?<=\btrigger\b)/,/\s+/,t,/\s+/,"on",/\s+/,t],end:"{",scope:{ | ||
3:"title.class",7:"type"},contains:[r,o,{ | ||
match:[/\./,t.concat("(?:"+a+")"),/(?=\s*\([^\)])/],scope:{ | ||
2:"title.function.invoke"}},{ | ||
match:[/(?<=\s)/,t.concat("(?:"+a+")"),/(?=\s*\()/],scope:{2:"title.function"} | ||
}],contains:[o,i,e.APOS_STRING_MODE],relevance:0},m={ | ||
begin:/\[[\s\n]*(?=(SELECT|FIND))/,end:/\]/,scope:"subst",relevance:10, | ||
contains:[{ | ||
begin:t.concat(/\b/,t.either("ABOVE_OR_BELOW","ABOVE","ACTIVE","ADVANCED","ALL",/ALL\s+FIELDS/,"AND","ANY","ARRAY","AS","ASC","BY","CATEGORY","CONTAINS","COUNT","COUNT_DISTINCT","SUM","MAX","MIN","HOUR_IN_DAY","CONVERTCURRENCY","CUBE","DATA","DESC","DIVISION","END","EXCLUDES","FIELDS","FIND|10","FIRST","FOR","FROM",/GROUP\s+BY/,"HAVING","INCLUDES","LAST","LAST_90_DAYS","LAST_MONTH","LAST_N_DAYS","LAST_WEEK","LAST","LIKE","LIMIT","NETWORK","NEXT_90_DAYS","NEXT_MONTH","NEXT_N_DAYS","NEXT_WEEK","NULLS","OFFSET","ON","OR",/ORDER\s+BY/,"REFERENCE","RETURNING","ROLLUP","ROWS","SEARCH","SECURITY_ENFORCED","SELECT","SNIPPET","SORT","THIS_MONTH","THIS_WEEK","TODAY","TOLABEL","TOMORROW","TRACKING","TYPEOF","UPDATE",/USING\s+SCOPE/,"VIEW","VIEWSTAT","VIEWSTATE","WHERE","WITH","YESTERDAY","USER_MODE"),/\b/), | ||
scope:"keyword"},{match:/(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|\s:{1}|:{1}\s)/, | ||
scope:"literal"},{match:/(?<=\bFROM\b\s+)\w+/,scope:"type",relevance:0},{ | ||
match:[t.concat(/\b/,"[a-zA-Z][a-zA-Z_]*"),":",/[0-9]+\b/],scope:{1:"keyword", | ||
3:"number"},relevance:10},s,E,e.APOS_STRING_MODE],illegal:"::"};return{ | ||
name:"Apex",aliases:["apex","lightning"],case_insensitive:!0, | ||
disableAutodetect:!1,ignoreIllegals:!1,keywords:c, | ||
illegal:["</","<#","<]","<div>","\x3c!--","!DOCTYPE",/<iframe\b/,/^#/,/^import \.[a-zA-Z]+\./,/^import [\w]+/,/^import$/,/^include </,/^use\s+</,/\b(const|var)\s+\w+\s*=/,/\bstruct\b/,"System.log","console.log",/\bfor\s+\w+\s+IN\s+/,/\bif\s+\w+\s+IN\s+/,/\bend\s+if\b/,/\bend\s+select\b/,/\b(int|var)\s+\w+\s+=/,/\b(int[0-9]+|bool)\b/,/\b\$/,"::=",/\s#[a-zA-Z]/,/\s_[a-zA-Z]/,/\s\$[a-zA-Z]/,"#if","%if",/\bif(?!\s+\()/,"%endif","#endif",/\w::\w/,/RETURNING\s+\*/,/\bint\b/,/import\s+\w+\s+=\s+require\("\w+"\)/,"/^include\b/",/\buse\s+strict\b/,/\w+\s+=\s+"\S*";/,/\/include\//,/\Anamespace\b/,/\bend\.\n/,/\bend\n/,'"""'], | ||
contains:[l,[{match:[/\b(?<=enum|\bnew)/,/\s+/,a,/\s*(?=[{()])/],scope:{3:"type" | ||
},contains:[o,i]},{match:[/(?<=\bclass\b)/,/\s+/,a],scope:{3:"title.class"}},{ | ||
match:[/(?<=(public|private))/,/\s+/,a,/(?=\s*\(.*\)\s*{)/],scope:{ | ||
3:"constructor"}},{begin:[/(?<=\btrigger\b)/,/\s+/,a,/\s+/,"on",/\s+/,a], | ||
end:"{",scope:{3:"title.class",7:"type"},contains:[o,i,{ | ||
match:/(?:before|after)\s+(?:insert|update|delete|undelete)/,scope:"built_in", | ||
relevance:10}],relevance:10},{match:[/\bextends/,/\s+/,t],scope:{ | ||
3:"title.class.inherited"},contains:[r,o,n],illegal:[/\b_/,/_\b/]}],[{ | ||
match:[t,/\s+/,t,/\s+/,/=/],scope:{1:"type",3:"variable",5:"operator"}, | ||
relevance:0},{match:[t,/\s+/,t,/\s+/,";"],scope:{1:"type",3:"variable"}, | ||
relevance:0},{match:[/\s+/,t,/\s+/,/=/],scope:{2:"variable",4:"operator"}, | ||
relevance:0},{match:[/(?<=\w+\s+=\s+\()/,t,/(?=\))/],scope:{2:"type"}, | ||
relevance:0}],{relevance:10,match:[/\b(?:with|without|inherited)\s+sharing/], | ||
scope:{1:"keyword"}},p,b,o,r,{match:/\b(switch\s+on|as\s+user|as\s+system)\b/, | ||
relevance:8,scope:"keyword"},E,l,{variants:[{ | ||
match:[/\bfor\b/,/\s*\(/,/\w+/,/\s+/,/\w+/,/\s+:/,/(?=\s*\[)/],scope:{ | ||
1:"keyword",3:"type"}},{ | ||
match:[/\bfor\b/,/\s*\(/,/\w+/,/\s+/,/\w+/,/\s+:/,/\s*/,/\w+/],scope:{ | ||
1:"keyword",3:"type"}}],contains:[r,o,m]},e.APOS_STRING_MODE,A,{ | ||
relevance:10}],relevance:10},{match:[/(?:extends)/,/\s+/,a],scope:{ | ||
3:"title.class.inherited"},illegal:[/\b_/,/_\b/]}],[{ | ||
match:[a,/\s+/,a,/\s+/,/=/],scope:{1:"type",3:"variable",5:"operator"}, | ||
relevance:0},{match:[a,/\s+/,a,/\s+/,";"],scope:{1:"type",3:"variable"}, | ||
relevance:0},{match:[/\s+/,a,/\s+/,/=/],scope:{2:"variable",4:"operator"}, | ||
relevance:0},{match:[/(?<=\w+\s+=\s+\()/,a,/(?=\))/],scope:{2:"type"}, | ||
relevance:0}],{relevance:10,match:[/\b(with|without|inherited)\s+sharing\b/], | ||
scope:{1:"keyword"}},u,p,i,o,{match:/\b(switch\s+on|as\s+user|as\s+system)\b/, | ||
relevance:8,scope:"keyword"},b,{variants:[{ | ||
match:[/\bfor\b/,/\s*\(/,a,/\s+/,a,/\s+:/,/(?=\s*\[)/],scope:{1:"keyword", | ||
3:"type"}},{match:[/\bfor\b/,/\s*\(/,a,/\s+/,a,/\s+:/,/\s*/,a],scope:{ | ||
1:"keyword",3:"type",8:"variable"}}],contains:[o,i,m]},e.APOS_STRING_MODE,E,{ | ||
begin:["{",/\$[a-zA-Z]+]/,".",/\w+/],end:"}",scope:{2:"built_in",4:"property"} | ||
},n,a,c,{match:/(?<!\.)\bId\b/,scope:"type",relevance:8},m]}}})() | ||
;export default hljsGrammar; | ||
},r,s,n,{match:/(?<!\.)\bId\b/,scope:"type",relevance:8},m,{ | ||
beginKeywords:"schedulable batchable queueable comparable callable",relevance:10 | ||
}]}}})();export default hljsGrammar; |
@@ -1,63 +0,69 @@ | ||
/*! `apex` grammar compiled for Highlight.js 11.5.0 */ | ||
/*! `apex` grammar compiled for Highlight.js 11.8.0 */ | ||
(()=>{var e=(()=>{"use strict";return e=>{ | ||
const s=e.regex,t="[a-zA-Z][a-zA-Z_0-9]*",a={scope:"number",variants:[{ | ||
match:/\b[0-9]+(?:\.[0-9]+)?/},{match:/\s(?:[0-9,]+)?\.[0-9]+/}],relevance:0 | ||
},c={ | ||
match:s.either(/-/,/~/,/\*/,/\*=/,/\/=/,/%/,/\+/,/<</,/>>/,/>=/,/<=/,/\s<\s/,/\s>\s/,/\^/,/\^=/,/!=/,/!/,/==/,/&&/,/&/,/\|\|/,/\|/,/(?<=\s)\?|:(?=\s)/,/=/,/=>/,/\?\./), | ||
scope:"operator",relevance:0},n={ | ||
match:[/\b/,s.either("ApexPages|10","AppLauncher","Approval","Auth","Cache","Canvas","ChatterAnswers|10","CommercePayments|10","ConnectApi|10","Database","Datacloud|10","DataSource|10","Dom","EventBus|10","Flow","Functions","KbManagement|10","Label","LxScheduler|10","Messaging","Metadata","Pref_center|10","Process","QuickAction","Reports","Schema","Search","Sfc|10","Sfdc_Checkout|10","sfdc_surveys|10","Site","Support","System","TerritoryMgmt|10","Test","Trigger|10","TxnSecurity|10","Type","UserProvisioning|10","VisualEditor|10","Wave|10"),/(?=\.)/], | ||
const t=e.regex,s="[a-zA-Z][a-zA-Z_0-9]*",a={scope:"number",variants:[{ | ||
match:/\b[0-9]+(?:\.[0-9]+)?/},{match:/\s(?:[0-9,]+)?\.[0-9]+/},{ | ||
match:/\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/},{ | ||
match:/\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/},{ | ||
match:/\b([0-9_]+)?\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\b/},{ | ||
match:/\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\b/},{match:/\b[0-9_]+(F|f|D|d|M|m)\b/ | ||
},{match:/\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/}],relevance:0},c={ | ||
$pattern:"[A-Za-z][0-9A-Za-z$_]*", | ||
keyword:["trigger|10","class","interface","abstract","AccessLevel","USER_MODE","SYSTEM_MODE","AccessType","break","cast","catch","continue","default","do","else","exports","extends|6","finally","for","get","put","set","global","if","implements","new","newMap|10","old|10","oldMap|10","operationType","override","private","protected","public","return","size","static","throws","throw","testmethod|10","try","virtual","webservice","when","while"], | ||
"variable.language":["final","instanceof","super","this","transient"], | ||
built_in:["finish","start","execute"].concat(["insert","update","upsert|8","delete","undelete","merge","convertLead|10"]), | ||
type:["anytype","blob|0","boolean|0","byte|0","currency|0","date|0","datetime|0","decimal|0","double|0","enum|0","float|0","integer|0","long|0","object","pagereference|10","selectoption|10","short|0","sobject|10","string|0","time|0","void|0","float|0"], | ||
literal:["false","true","null"]},n={ | ||
match:t.either(/-/,/--/,/~/,/\*/,/\*=/,/\/=/,/%/,/\+/,/\+\+/,/<</,/>>/,/>=/,/<=/,/\s<\s/,/\s>\s/,/\^/,/\^=/,/!=/,/!/,/==/,/&&/,/&/,/\|\|/,/\|/,/(?<=\s)\?|:(?=\s)/,/=/,/=>/,/\?\./), | ||
scope:"operator",relevance:0},r={ | ||
match:[/\b/,t.either("ApexPages|10","AppLauncher","Approval","Assert","Auth","Cache","Canvas","ChatterAnswers|10","CommercePayments|10","ConnectApi|10","Database","Datacloud|10","Dataweave|10","DataSource|10","Dom","EventBus|10","ExternalService","Flow","Functions","Invocable","KbManagement|10","Label","LxScheduler|10","Messaging","Metadata","Pref_center|10","Process","QuickAction","Reports","RichMessageing","Savepoint","SchedulableContext","Schema","Search","Sfc|10","Sfdc_Checkout|10","sfdc_surveys|10","Site","Support","System","TerritoryMgmt|10","Test","Trigger|10","TxnSecurity|10","Type","UserProvisioning|10","VisualEditor|10","Wave|10"),/(?=\.)/], | ||
scope:{2:"built_in"},relevance:10 | ||
},r=e.COMMENT("//",/[$\n]/),o=e.COMMENT("/\\*","\\*/",{relevance:0,contains:[{ | ||
},o=e.COMMENT("//",/[$\n]/),i=e.COMMENT("/\\*","\\*/",{relevance:0,contains:[{ | ||
begin:/\w+@/,relevance:0},{scope:"doctag",begin:"@[A-Za-z_]+"},{begin:"`", | ||
end:"`",excludeBegin:!0,excludeEnd:!0,scope:"code", | ||
contains:[e.BACKSLASH_ESCAPE],relevance:0},e.APOS_STRING_MODE,{ | ||
match:[/(?<=@param)/,/\s+/,/\w+/],scope:{3:"variable"}}]}),i={relevance:10, | ||
scope:{1:"meta"},match:["@"+t,/(?=(\(|\b|\s))/]},l=[{ | ||
match:[/(?<=@param)/,/\s+/,/\w+/],scope:{3:"variable"}}]}) | ||
;t.either("label","description","callout","required","category","configurationEditor","iconName","SeeAllData") | ||
;const l={relevance:10,scope:{1:"meta"},match:["@"+s]},b=[{ | ||
match:/\b[a-zA-Z\d]*Exception\b/,scope:"title.class",relevance:0},{ | ||
match:[/\wthrow\s+new\s+/,t],scope:{1:"keyword",2:"title.class"},relevance:0 | ||
}],b=[{match:[s.concat(/\b/,t,/\b/),/>/],scope:{1:"type"},relevance:10}],p=[{ | ||
match:[/\wthrow\s+new\s+/,s],scope:{1:"keyword",2:"title.class"},relevance:0 | ||
}],p=[{match:[t.concat(/\b/,s,/\b/),/>/],scope:{1:"type"},relevance:10}],u=[{ | ||
match:[/\b(list|set|map)\s*/,"<",/[\.\w]+/],scope:{1:"type",3:"type"}, | ||
relevance:10},{match:[t,s.lookahead(/\s*\[\]/)],scope:{1:"type"}}],E={ | ||
match:[/[^\.]/,/\b[a-zA-Z][a-zA-Z\d_]*__[cxeb]\b/,/[\(\s;,]+/],scope:{2:"type"}, | ||
relevance:10},A={variants:[{begin:[/\./,s.concat("(?:"+t+")"),/(?=\s*\(\))/], | ||
scope:{2:"title.function.invoke"}},{ | ||
begin:[/\./,s.concat("(?:"+t+")"),/(?=\s*\([^\)])/],scope:{ | ||
relevance:10},{match:[s,t.lookahead(/\s*\[\]/)],scope:{1:"type"}}],E={ | ||
variants:[{match:[/\./,t.concat("(?:"+s+")"),/(?=\s*\(\))/],scope:{ | ||
2:"title.function.invoke"}},{ | ||
begin:[/(?<=\s)/,s.concat("(?:"+t+")"),/(?=\s*\()/],scope:{2:"title.function"} | ||
}],contains:[r,o,e.APOS_STRING_MODE],relevance:0},u={ | ||
begin:/\[[\s\n]*(?=SELECT)/,end:/\]/,scope:"subst",relevance:10,contains:[{ | ||
begin:s.concat(/\b/,s.either("ABOVE_OR_BELOW","ABOVE","ACTIVE","ADVANCED","ALL",/ALL\s+FIELDS/,"AND","ANY","ARRAY","AS","ASC","BY","CATEGORY","CONTAINS","COUNT","COUNT_DISTINCT","SUM","MAX","MIN","HOUR_IN_DAY","CONVERTCURRENCY","CUBE","DATA","DESC","DIVISION","END","EXCLUDES","FIELDS","FIND","FIRST","FOR","FROM",/GROUP\s+BY/,"HAVING","INCLUDES","LAST","LAST_90_DAYS","LAST_MONTH","LAST_N_DAYS","LAST_WEEK","LAST","LIKE","LIMIT","NETWORK","NEXT_90_DAYS","NEXT_MONTH","NEXT_N_DAYS","NEXT_WEEK","NULLS","OFFSET","ON","OR",/ORDER\s+BY/,"REFERENCE","RETURNING","ROLLUP","ROWS","SEARCH","SECURITY_ENFORCED","SELECT","SNIPPET","SORT","THIS_MONTH","THIS_WEEK","TODAY","TOLABEL","TOMORROW","TRACKING","TYPEOF","UPDATE",/USING\s+SCOPE/,"VIEW","VIEWSTAT","VIEWSTATE","WHERE","WITH","YESTERDAY","USER_MODE"),/\b/), | ||
scope:"keyword"},{match:/(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|:{1})/, | ||
scope:"literal",relevance:0},{match:/(?<=\bFROM\b\s+)\w+/,scope:"type", | ||
relevance:0},{match:/\b[a-zA-Z][a-zA-Z_0-9]*\b/,scope:"property"},a,A], | ||
illegal:"::"};return{name:"Apex",aliases:["apex","lightning"], | ||
case_insensitive:!0,disableAutodetect:!1,ignoreIllegals:!1,keywords:{ | ||
$pattern:"[A-Za-z][0-9A-Za-z$_]*", | ||
keyword:["trigger|10","class","interface","abstract","AccessLevel","USER_MODE","break","catch","continue","default","do","else","execute","exports","extends|6","finally","finish","for","get","put","set","global","if","implements","new","newMap|10","old|10","oldMap|10","override","private","protected","public","return","start","static","throws","throw","testmethod|10","try","virtual","webservice","when","while"], | ||
"variable.language":["final","instanceof","super","this","transient"], | ||
built_in:["insert","update","upsert|8","delete","undelete","merge","schedulable|10","batchable|10","queueable|10","comparable|10","callable|10"], | ||
type:["anytype","blob|0","boolean|0","byte|0","currency|0","date|0","datetime|0","decimal|0","double|0","enum|0","float|0","integer|0","long|0","object","pagereference|10","selectoption|10","short|0","sobject|10","string|0","time|0","void|0","float|0"], | ||
literal:["false","true","null"]}, | ||
illegal:["</","<#","<]","<div>","\x3c!--","!DOCTYPE",/<iframe\b/,/^#/,/^import \.[a-zA-Z]+\./,/^import [\w]+/,/^import$/,/^include </,/^use\s+</,/\b(const|var)\s+\w+\s*=/,/\bstruct\b/,"System.log","console.log",/\bfor\s+\w+\s+IN\s+/,/\bif\s+\w+\s+IN\s+/,/\bend\s+if\b/,/\bend\s+select\b/,/\b(int|var)\s+\w+\s+=/,/\b(int[0-9]+|bool)\b/,/\b\$/,"::=",/\s#[a-zA-Z]/,/\s_[a-zA-Z]/,/\s\$[a-zA-Z]/,"#if","%if",/\bif(?!\s+\()/,"%endif","#endif",/\w::\w/,/RETURNING\s+\*/,/\bint\b/,/import\s+\w+\s+=\s+require\("\w+"\)/,"/^include\b/",/\buse\s+strict\b/,/\w+\s+=\s+"\S*";/,/\/include\//,/\Anamespace\b/,/\bend\.\n/,/\bend\n/,'"""',/@\w+\[\w+\]/], | ||
contains:[i,[{match:[/\b(?<=enum|\bnew)/,/\s+/,t,/\s*(?=[{()])/],scope:{3:"type" | ||
},contains:[r,o,E]},{match:[/(?<=\bclass\b)/,/\s+/,t],scope:{3:"title.class"}},{ | ||
match:[/(?<=public)/,/\s+/,t,/(?=\s*\()/],scope:{3:"constructor"}},{ | ||
begin:[/(?<=\btrigger\b)/,/\s+/,t,/\s+/,"on",/\s+/,t],end:"{",scope:{ | ||
3:"title.class",7:"type"},contains:[r,o,{ | ||
match:[/\./,t.concat("(?:"+s+")"),/(?=\s*\([^\)])/],scope:{ | ||
2:"title.function.invoke"}},{ | ||
match:[/(?<=\s)/,t.concat("(?:"+s+")"),/(?=\s*\()/],scope:{2:"title.function"} | ||
}],contains:[o,i,e.APOS_STRING_MODE],relevance:0},m={ | ||
begin:/\[[\s\n]*(?=(SELECT|FIND))/,end:/\]/,scope:"subst",relevance:10, | ||
contains:[{ | ||
begin:t.concat(/\b/,t.either("ABOVE_OR_BELOW","ABOVE","ACTIVE","ADVANCED","ALL",/ALL\s+FIELDS/,"AND","ANY","ARRAY","AS","ASC","BY","CATEGORY","CONTAINS","COUNT","COUNT_DISTINCT","SUM","MAX","MIN","HOUR_IN_DAY","CONVERTCURRENCY","CUBE","DATA","DESC","DIVISION","END","EXCLUDES","FIELDS","FIND|10","FIRST","FOR","FROM",/GROUP\s+BY/,"HAVING","INCLUDES","LAST","LAST_90_DAYS","LAST_MONTH","LAST_N_DAYS","LAST_WEEK","LAST","LIKE","LIMIT","NETWORK","NEXT_90_DAYS","NEXT_MONTH","NEXT_N_DAYS","NEXT_WEEK","NULLS","OFFSET","ON","OR",/ORDER\s+BY/,"REFERENCE","RETURNING","ROLLUP","ROWS","SEARCH","SECURITY_ENFORCED","SELECT","SNIPPET","SORT","THIS_MONTH","THIS_WEEK","TODAY","TOLABEL","TOMORROW","TRACKING","TYPEOF","UPDATE",/USING\s+SCOPE/,"VIEW","VIEWSTAT","VIEWSTATE","WHERE","WITH","YESTERDAY","USER_MODE"),/\b/), | ||
scope:"keyword"},{match:/(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|\s:{1}|:{1}\s)/, | ||
scope:"literal"},{match:/(?<=\bFROM\b\s+)\w+/,scope:"type",relevance:0},{ | ||
match:[t.concat(/\b/,"[a-zA-Z][a-zA-Z_]*"),":",/[0-9]+\b/],scope:{1:"keyword", | ||
3:"number"},relevance:10},a,E,e.APOS_STRING_MODE],illegal:"::"};return{ | ||
name:"Apex",aliases:["apex","lightning"],case_insensitive:!0, | ||
disableAutodetect:!1,ignoreIllegals:!1,keywords:c, | ||
illegal:["</","<#","<]","<div>","\x3c!--","!DOCTYPE",/<iframe\b/,/^#/,/^import \.[a-zA-Z]+\./,/^import [\w]+/,/^import$/,/^include </,/^use\s+</,/\b(const|var)\s+\w+\s*=/,/\bstruct\b/,"System.log","console.log",/\bfor\s+\w+\s+IN\s+/,/\bif\s+\w+\s+IN\s+/,/\bend\s+if\b/,/\bend\s+select\b/,/\b(int|var)\s+\w+\s+=/,/\b(int[0-9]+|bool)\b/,/\b\$/,"::=",/\s#[a-zA-Z]/,/\s_[a-zA-Z]/,/\s\$[a-zA-Z]/,"#if","%if",/\bif(?!\s+\()/,"%endif","#endif",/\w::\w/,/RETURNING\s+\*/,/\bint\b/,/import\s+\w+\s+=\s+require\("\w+"\)/,"/^include\b/",/\buse\s+strict\b/,/\w+\s+=\s+"\S*";/,/\/include\//,/\Anamespace\b/,/\bend\.\n/,/\bend\n/,'"""'], | ||
contains:[l,[{match:[/\b(?<=enum|\bnew)/,/\s+/,s,/\s*(?=[{()])/],scope:{3:"type" | ||
},contains:[o,i]},{match:[/(?<=\bclass\b)/,/\s+/,s],scope:{3:"title.class"}},{ | ||
match:[/(?<=(public|private))/,/\s+/,s,/(?=\s*\(.*\)\s*{)/],scope:{ | ||
3:"constructor"}},{begin:[/(?<=\btrigger\b)/,/\s+/,s,/\s+/,"on",/\s+/,s], | ||
end:"{",scope:{3:"title.class",7:"type"},contains:[o,i,{ | ||
match:/(?:before|after)\s+(?:insert|update|delete|undelete)/,scope:"built_in", | ||
relevance:10}],relevance:10},{match:[/\bextends/,/\s+/,t],scope:{ | ||
3:"title.class.inherited"},contains:[r,o,n],illegal:[/\b_/,/_\b/]}],[{ | ||
match:[t,/\s+/,t,/\s+/,/=/],scope:{1:"type",3:"variable",5:"operator"}, | ||
relevance:0},{match:[t,/\s+/,t,/\s+/,";"],scope:{1:"type",3:"variable"}, | ||
relevance:0},{match:[/\s+/,t,/\s+/,/=/],scope:{2:"variable",4:"operator"}, | ||
relevance:0},{match:[/(?<=\w+\s+=\s+\()/,t,/(?=\))/],scope:{2:"type"}, | ||
relevance:0}],{relevance:10,match:[/\b(?:with|without|inherited)\s+sharing/], | ||
scope:{1:"keyword"}},p,b,o,r,{match:/\b(switch\s+on|as\s+user|as\s+system)\b/, | ||
relevance:8,scope:"keyword"},E,l,{variants:[{ | ||
match:[/\bfor\b/,/\s*\(/,/\w+/,/\s+/,/\w+/,/\s+:/,/(?=\s*\[)/],scope:{ | ||
1:"keyword",3:"type"}},{ | ||
match:[/\bfor\b/,/\s*\(/,/\w+/,/\s+/,/\w+/,/\s+:/,/\s*/,/\w+/],scope:{ | ||
1:"keyword",3:"type"}}],contains:[r,o,u]},e.APOS_STRING_MODE,A,{ | ||
relevance:10}],relevance:10},{match:[/(?:extends)/,/\s+/,s],scope:{ | ||
3:"title.class.inherited"},illegal:[/\b_/,/_\b/]}],[{ | ||
match:[s,/\s+/,s,/\s+/,/=/],scope:{1:"type",3:"variable",5:"operator"}, | ||
relevance:0},{match:[s,/\s+/,s,/\s+/,";"],scope:{1:"type",3:"variable"}, | ||
relevance:0},{match:[/\s+/,s,/\s+/,/=/],scope:{2:"variable",4:"operator"}, | ||
relevance:0},{match:[/(?<=\w+\s+=\s+\()/,s,/(?=\))/],scope:{2:"type"}, | ||
relevance:0}],{relevance:10,match:[/\b(with|without|inherited)\s+sharing\b/], | ||
scope:{1:"keyword"}},u,p,i,o,{match:/\b(switch\s+on|as\s+user|as\s+system)\b/, | ||
relevance:8,scope:"keyword"},b,{variants:[{ | ||
match:[/\bfor\b/,/\s*\(/,s,/\s+/,s,/\s+:/,/(?=\s*\[)/],scope:{1:"keyword", | ||
3:"type"}},{match:[/\bfor\b/,/\s*\(/,s,/\s+/,s,/\s+:/,/\s*/,s],scope:{ | ||
1:"keyword",3:"type",8:"variable"}}],contains:[o,i,m]},e.APOS_STRING_MODE,E,{ | ||
begin:["{",/\$[a-zA-Z]+]/,".",/\w+/],end:"}",scope:{2:"built_in",4:"property"} | ||
},n,a,c,{match:/(?<!\.)\bId\b/,scope:"type",relevance:8},u]}}})() | ||
;hljs.registerLanguage("apex",e)})(); | ||
},r,a,n,{match:/(?<!\.)\bId\b/,scope:"type",relevance:8},m,{ | ||
beginKeywords:"schedulable batchable queueable comparable callable",relevance:10 | ||
}]}}})();hljs.registerLanguage("apex",e)})(); |
@@ -1,8 +0,49 @@ | ||
### Changelog | ||
# Changelog | ||
All notable changes to this project will be documented in this file. Dates are displayed in UTC. | ||
All notable changes to this project will be documented in this file. | ||
#### 1.0.0 | ||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
## [Unreleased](https://github.com/highlightjs/highlightjs-apex/compare/v1.2.0...HEAD) | ||
## [v1.2.0](https://github.com/highlightjs/highlightjs-apex/compare/v1.1.0...v1.2.0) - 2023-03-29 | ||
### Merged | ||
- feat(auto-changelog): configure auto-changelog [`#6`](https://github.com/highlightjs/highlightjs-apex/pull/6) | ||
- build(deps-dev): bump prettier from 2.8.4 to 2.8.7 [`#5`](https://github.com/highlightjs/highlightjs-apex/pull/5) | ||
- feat: update to Spring 23 (API 57.0) [`#4`](https://github.com/highlightjs/highlightjs-apex/pull/4) | ||
### Commits | ||
- Create codeql.yml [`8f1af08`](https://github.com/highlightjs/highlightjs-apex/commit/8f1af08fa31f515393cc73ae9f29fa53d6b6eb42) | ||
- Create dependabot.yml [`c5da832`](https://github.com/highlightjs/highlightjs-apex/commit/c5da8326601a3c8feff1fb835ff4011c968a6135) | ||
- Readme typo [`faf2998`](https://github.com/highlightjs/highlightjs-apex/commit/faf2998257fbfa87cbe1a7138b2a0d32b8e7dcfa) | ||
## [v1.1.0](https://github.com/highlightjs/highlightjs-apex/compare/v1.0.0...v1.1.0) - 2022-06-02 | ||
### Commits | ||
- Release v1.1.0 [`06b9ea5`](https://github.com/highlightjs/highlightjs-apex/commit/06b9ea597d6042d385e4f6b0fccb71a0aa1b82e6) | ||
- CDN version update [`9e267ab`](https://github.com/highlightjs/highlightjs-apex/commit/9e267abb5a013492e98169e91cbdce3b641aaa3e) | ||
- README [`5cafe0c`](https://github.com/highlightjs/highlightjs-apex/commit/5cafe0c903d606f96412cee9302f25c645870281) | ||
## v1.0.0 - 2022-05-31 | ||
### Merged | ||
- NPM packaging [`#1`](https://github.com/highlightjs/highlightjs-apex/pull/1) | ||
### Commits | ||
- Initial release [`6541736`](https://github.com/highlightjs/highlightjs-apex/commit/6541736558de97458314f942ab048eb4f17b9d9b) | ||
- CDN version update [`a1de575`](https://github.com/highlightjs/highlightjs-apex/commit/a1de57573cfa1d83029b635908c5d1bc70987c88) | ||
- README [`1d14980`](https://github.com/highlightjs/highlightjs-apex/commit/1d14980b3c65a7edb2db38b8b41ca7487ac5660e) | ||
- Update README.md [`c23f0b9`](https://github.com/highlightjs/highlightjs-apex/commit/c23f0b942c60151ab62223fe6352fb7a6605a483) | ||
- README [`cc8ba72`](https://github.com/highlightjs/highlightjs-apex/commit/cc8ba727750a3d4dfa4325a01abb335dcbb2d21c) | ||
- Changelog [`7630f8b`](https://github.com/highlightjs/highlightjs-apex/commit/7630f8bbeb31f6c7c708a91d6593658e56a03fbc) | ||
- Sample code update [`313d768`](https://github.com/highlightjs/highlightjs-apex/commit/313d7685eac440d47f9cfd7b4a70d2ab1b1d2796) | ||
- revert gitignore [`5ba665f`](https://github.com/highlightjs/highlightjs-apex/commit/5ba665f56b2b3a01813848cc0eb95aee462ca8b4) | ||
- Patch script [`ad35f1e`](https://github.com/highlightjs/highlightjs-apex/commit/ad35f1efd86a9544e2a115cc45a47aff6310a17e) | ||
- README update [`5f00ee2`](https://github.com/highlightjs/highlightjs-apex/commit/5f00ee2ba998c3c09bdbce47a6fec7f7668e90cf) |
{ | ||
"name": "highlightjs-apex", | ||
"version": "1.1.0", | ||
"version": "1.1.1", | ||
"description": "Apex Language of Salesforce highlighting plugin for highlight.js", | ||
@@ -9,3 +9,3 @@ "main": "src/languages/apex.js", | ||
"mocha": "mocha test/markup", | ||
"changelog": "auto-changelog --output HISTORY.md --hide-credit -p --commit-limit false", | ||
"changelog": "auto-changelog", | ||
"npm-patch": "npm version patch && npm publish" | ||
@@ -17,2 +17,10 @@ }, | ||
}, | ||
"auto-changelog": { | ||
"output": "HISTORY.md", | ||
"template": "keepachangelog", | ||
"unreleased": true, | ||
"hideCredit": true, | ||
"tagPrefix": "v", | ||
"commitLimit": 1000 | ||
}, | ||
"keywords": [ | ||
@@ -32,8 +40,9 @@ "Apex", | ||
"devDependencies": { | ||
"highlight.js": "^11.5.1", | ||
"minimist": "^1.2.6", | ||
"mocha": "^9.2.2", | ||
"prettier": "2.6.2", | ||
"auto-changelog": "^2.4.0", | ||
"highlight.js": "^11.7.0", | ||
"minimist": "^1.2.8", | ||
"mocha": "^10.2.0", | ||
"prettier": "2.8.7", | ||
"should": "^13.2.3" | ||
} | ||
} |
@@ -17,3 +17,3 @@ ![](./assets/salesforce_platform.png) | ||
The screenshot was captured from a [demo webpage](demo/testcode.html) using `highlight.min.js` from the `dist` folder. | ||
(Code taken from [Salesforce Trigger Framework](https://dschach.github.io/salesforce-trigger-framework/) and Highlight Java example code) | ||
(Code taken from [Salesforce Trigger Framework](https://dschach.github.io/salesforce-trigger-framework/)) | ||
![Demo](demo/ApexHighlighting.png) | ||
@@ -20,0 +20,0 @@ |
@@ -12,3 +12,4 @@ /* | ||
const APEX_IDENT_RE = '[a-zA-Z][a-zA-Z_0-9]*'; | ||
const APEX_FULL_TYPE_RE = '[a-zA-Z][a-zA-Z_0-9\.\<\>]*'; | ||
const APEX_ALPHA_UNDER = '[a-zA-Z][a-zA-Z_]*'; | ||
//const APEX_FULL_TYPE_RE = '[a-zA-Z][a-zA-Z_0-9.<>]*'; | ||
@@ -23,2 +24,31 @@ const NUMBER = { | ||
match: /\s(?:[0-9,]+)?\.[0-9]+/ | ||
}, | ||
{ | ||
// hex | ||
// 0b binary-digits integer-type-suffix[opt] OR 0B binary-digits integer-type-suffix[opt] | ||
match: /\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/ | ||
}, | ||
{ | ||
// numeric binary | ||
match: /\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/ | ||
}, | ||
{ | ||
// numeric decimal | ||
// decimal-digits . decimal-digits exponent-part[opt] real-type-suffix[opt] OR . decimal-digits exponent-part[opt] real-type-suffix[opt] | ||
match: /\b([0-9_]+)?\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\b/ | ||
}, | ||
{ | ||
// numeric decimal | ||
// decimal-digits exponent-part real-type-suffix[opt] | ||
match: /\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\b/ | ||
}, | ||
{ | ||
// numeric decimal | ||
// decimal-digits real-type-suffix | ||
match: /\b[0-9_]+(F|f|D|d|M|m)\b/ | ||
}, | ||
{ | ||
// numeric decimal | ||
// decimal-digits integer-type-suffix[opt] | ||
match: /\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/ | ||
} | ||
@@ -36,3 +66,6 @@ ], | ||
'USER_MODE', | ||
'SYSTEM_MODE', | ||
'AccessType', | ||
'break', | ||
'cast', | ||
'catch', | ||
@@ -43,7 +76,5 @@ 'continue', | ||
'else', | ||
'execute', | ||
'exports', | ||
'extends|6', | ||
'finally', | ||
'finish', | ||
'for', | ||
@@ -60,2 +91,3 @@ 'get', | ||
'oldMap|10', | ||
'operationType', | ||
'override', | ||
@@ -66,3 +98,3 @@ 'private', | ||
'return', | ||
'start', | ||
'size', | ||
'static', | ||
@@ -79,15 +111,5 @@ 'throws', | ||
const LANGUAGE_VARS = [ | ||
'final', | ||
'instanceof', | ||
'super', | ||
'this', | ||
'transient' | ||
] | ||
const LANGUAGE_VARS = ['final', 'instanceof', 'super', 'this', 'transient']; | ||
const LITERALS = [ | ||
'false', | ||
'true', | ||
'null' | ||
]; | ||
const LITERALS = ['false', 'true', 'null']; | ||
@@ -119,3 +141,5 @@ const TYPES = [ | ||
const BUILT_INS = [ | ||
const BUILT_INS = ['finish', 'start', 'execute']; | ||
const DMLS = [ | ||
'insert', | ||
@@ -127,9 +151,10 @@ 'update', | ||
'merge', | ||
'schedulable|10', | ||
'batchable|10', | ||
'queueable|10', | ||
'comparable|10', | ||
'callable|10' | ||
'convertLead|10' | ||
]; | ||
const IMPORTANT_WORDS = { | ||
beginKeywords: 'schedulable batchable queueable comparable callable', | ||
relevance: 10 | ||
}; | ||
// Extraneous for now - will be useful if we go this route BUT will need more maintenance | ||
@@ -161,4 +186,4 @@ /* const APEX_ANNOTATIONS = [ | ||
keyword: MAIN_KEYWORDS, | ||
"variable.language": LANGUAGE_VARS, | ||
built_in: BUILT_INS, | ||
'variable.language': LANGUAGE_VARS, | ||
built_in: BUILT_INS.concat(DMLS), | ||
type: TYPES, | ||
@@ -178,2 +203,3 @@ literal: LITERALS | ||
'Approval', | ||
'Assert', | ||
'Auth', | ||
@@ -187,7 +213,10 @@ 'Cache', | ||
'Datacloud|10', | ||
'Dataweave|10', | ||
'DataSource|10', | ||
'Dom', | ||
'EventBus|10', | ||
'ExternalService', | ||
'Flow', | ||
'Functions', | ||
'Invocable', | ||
'KbManagement|10', | ||
@@ -202,2 +231,5 @@ 'Label', | ||
'Reports', | ||
'RichMessageing', | ||
'Savepoint', | ||
'SchedulableContext', | ||
'Schema', | ||
@@ -223,2 +255,3 @@ 'Search', | ||
/-/, | ||
/--/, | ||
/~/, | ||
@@ -230,2 +263,3 @@ /\*/, | ||
/\+/, | ||
/\+\+/, | ||
/<</, | ||
@@ -266,3 +300,3 @@ />>/, | ||
relevance: 10, | ||
match: [/\b(?:with|without|inherited)\s+sharing/], | ||
match: [/\b(with|without|inherited)\s+sharing\b/], | ||
scope: { | ||
@@ -275,36 +309,32 @@ 1: 'keyword' | ||
const COMMENT_BLOCK = hljs.COMMENT( | ||
'/\\*', | ||
'\\*/', | ||
{ | ||
relevance: 0, | ||
contains: [ | ||
{ | ||
// eat up @'s in emails to prevent them to be recognized as doctags | ||
begin: /\w+@/, | ||
relevance: 0 | ||
}, | ||
{ | ||
scope: 'doctag', | ||
begin: '@[A-Za-z_]+' | ||
}, | ||
{ | ||
begin: '`', | ||
end: '`', | ||
excludeBegin: true, | ||
excludeEnd: true, | ||
scope: 'code', | ||
contains: [hljs.BACKSLASH_ESCAPE], | ||
relevance: 0 | ||
}, | ||
hljs.APOS_STRING_MODE, | ||
{ | ||
match: [/(?<=@param)/, /\s+/, /\w+/], | ||
scope: { | ||
3: 'variable' | ||
} | ||
const COMMENT_BLOCK = hljs.COMMENT('/\\*', '\\*/', { | ||
relevance: 0, | ||
contains: [ | ||
{ | ||
// eat up @'s in emails to prevent them to be recognized as doctags | ||
begin: /\w+@/, | ||
relevance: 0 | ||
}, | ||
{ | ||
scope: 'doctag', | ||
begin: '@[A-Za-z_]+' | ||
}, | ||
{ | ||
begin: '`', | ||
end: '`', | ||
excludeBegin: true, | ||
excludeEnd: true, | ||
scope: 'code', | ||
contains: [hljs.BACKSLASH_ESCAPE], | ||
relevance: 0 | ||
}, | ||
hljs.APOS_STRING_MODE, | ||
{ | ||
match: [/(?<=@param)/, /\s+/, /\w+/], | ||
scope: { | ||
3: 'variable' | ||
} | ||
] | ||
} | ||
); | ||
} | ||
] | ||
}); | ||
@@ -329,2 +359,23 @@ // Extraneous for now - will be useful if we go this route BUT will need more maintenance | ||
const ANNOTATION_ATTRIBUTES = [ | ||
'label', | ||
'description', | ||
'callout', | ||
'required', | ||
'category', | ||
'configurationEditor', | ||
'iconName', | ||
'SeeAllData' | ||
]; | ||
const ANNOTATION_ATTRIBUTE_PARAMS = { | ||
match: [/(?<!\.)/, regex.either(...ANNOTATION_ATTRIBUTES), /\s*/, /=/], | ||
//end: /(?:,|\))/, | ||
scope: { | ||
2: 'attribute', | ||
4: 'operator' | ||
} | ||
}; | ||
const ANNOTATIONS = { | ||
@@ -335,19 +386,20 @@ relevance: 10, | ||
//match: [regex.either(...APEX_ANNOTATIONS), /(?=(\(|\b|\s))/], | ||
match: ['@' + APEX_IDENT_RE, /(?=(\(|\b|\s))/], | ||
match: ['@' + APEX_IDENT_RE] //, /(?=(\(|\b|\s))/] | ||
}; | ||
const EXCEPTION = [{ | ||
// Various Apex Exception types | ||
match: /\b[a-zA-Z\d]*Exception\b/, | ||
scope: 'title.class', | ||
relevance: 0 | ||
}, | ||
{ | ||
match: [/\wthrow\s+new\s+/, APEX_IDENT_RE], | ||
scope: { | ||
1: 'keyword', | ||
2: 'title.class' | ||
const EXCEPTION = [ | ||
{ | ||
// Various Apex Exception types | ||
match: /\b[a-zA-Z\d]*Exception\b/, | ||
scope: 'title.class', | ||
relevance: 0 | ||
}, | ||
relevance: 0 | ||
} | ||
{ | ||
match: [/\wthrow\s+new\s+/, APEX_IDENT_RE], | ||
scope: { | ||
1: 'keyword', | ||
2: 'title.class' | ||
}, | ||
relevance: 0 | ||
} | ||
]; | ||
@@ -360,17 +412,19 @@ | ||
1: 'type' | ||
}, relevance: 10 | ||
}, | ||
relevance: 10 | ||
} | ||
]; | ||
const COLLECTION_DECLARATION = [{ | ||
match: [/\b(list|set|map)\s*/, '<', /[\.\w]+/], | ||
scope: { 1: 'type', 3: 'type' }, | ||
relevance: 10 | ||
}, | ||
{ | ||
match: [APEX_IDENT_RE, regex.lookahead(/\s*\[\]/)], | ||
scope: { | ||
1: 'type' | ||
const COLLECTION_DECLARATION = [ | ||
{ | ||
match: [/\b(list|set|map)\s*/, '<', /[\.\w]+/], | ||
scope: { 1: 'type', 3: 'type' }, | ||
relevance: 10 | ||
}, | ||
{ | ||
match: [APEX_IDENT_RE, regex.lookahead(/\s*\[\]/)], | ||
scope: { | ||
1: 'type' | ||
} | ||
} | ||
} | ||
]; | ||
@@ -380,3 +434,3 @@ | ||
// Custom fields, types, etc. | ||
match: [/[^\.]/, /\b[a-zA-Z][a-zA-Z\d_]*__[cxeb]\b/, /[\(\s;,]+/], | ||
match: [/[^\.]/, /\b[a-zA-Z][a-zA-Z\d_]*__[cxebr]\b/, /[\(\s;,]+/], | ||
scope: { | ||
@@ -391,19 +445,23 @@ 2: 'type' | ||
{ | ||
begin: [/\./, regex.concat('(?:' + APEX_IDENT_RE + ')'), /(?=\s*\(\))/], | ||
match: [/\./, regex.concat('(?:' + APEX_IDENT_RE + ')'), /(?=\s*\(\))/], | ||
scope: { 2: 'title.function.invoke' } | ||
}, | ||
{ | ||
begin: [/\./, regex.concat('(?:' + APEX_IDENT_RE + ')'), /(?=\s*\([^\)])/], | ||
match: [ | ||
/\./, | ||
regex.concat('(?:' + APEX_IDENT_RE + ')'), | ||
/(?=\s*\([^\)])/ | ||
], | ||
scope: { 2: 'title.function.invoke' } | ||
}, | ||
{ | ||
begin: [/(?<=\s)/, regex.concat('(?:' + APEX_IDENT_RE + ')'), /(?=\s*\()/], | ||
match: [ | ||
/(?<=\s)/, | ||
regex.concat('(?:' + APEX_IDENT_RE + ')'), | ||
/(?=\s*\()/ | ||
], | ||
scope: { 2: 'title.function' } | ||
} | ||
], | ||
contains: [ | ||
COMMENT_LINE, | ||
COMMENT_BLOCK, | ||
hljs.APOS_STRING_MODE | ||
], | ||
contains: [COMMENT_LINE, COMMENT_BLOCK, hljs.APOS_STRING_MODE], | ||
relevance: 0 | ||
@@ -413,7 +471,84 @@ }; | ||
const SOQL_KEYWORDS = [ | ||
'ABOVE_OR_BELOW', 'ABOVE', 'ACTIVE', 'ADVANCED', 'ALL', /ALL\s+FIELDS/, 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'BY', 'CATEGORY', 'CONTAINS', 'COUNT', 'COUNT_DISTINCT', 'SUM', 'MAX', 'MIN', 'HOUR_IN_DAY', 'CONVERTCURRENCY', 'CUBE', 'DATA', 'DESC', 'DIVISION', 'END', 'EXCLUDES', 'FIELDS', 'FIND', 'FIRST', 'FOR', 'FROM', /GROUP\s+BY/, 'HAVING', 'INCLUDES', 'LAST', 'LAST_90_DAYS', 'LAST_MONTH', 'LAST_N_DAYS', 'LAST_WEEK', 'LAST', 'LIKE', 'LIMIT', 'NETWORK', 'NEXT_90_DAYS', 'NEXT_MONTH', 'NEXT_N_DAYS', 'NEXT_WEEK', 'NULLS', 'OFFSET', 'ON', 'OR', /ORDER\s+BY/, 'REFERENCE', 'RETURNING', 'ROLLUP', 'ROWS', 'SEARCH', 'SECURITY_ENFORCED', 'SELECT', 'SNIPPET', 'SORT', 'THIS_MONTH', 'THIS_WEEK', 'TODAY', 'TOLABEL', 'TOMORROW', 'TRACKING', 'TYPEOF', 'UPDATE', /USING\s+SCOPE/, 'VIEW', 'VIEWSTAT', 'VIEWSTATE', 'WHERE', 'WITH', 'YESTERDAY', 'USER_MODE' | ||
'ABOVE_OR_BELOW', | ||
'ABOVE', | ||
'ACTIVE', | ||
'ADVANCED', | ||
'ALL', | ||
/ALL\s+FIELDS/, | ||
'AND', | ||
'ANY', | ||
'ARRAY', | ||
'AS', | ||
'ASC', | ||
'BY', | ||
'CATEGORY', | ||
'CONTAINS', | ||
'COUNT', | ||
'COUNT_DISTINCT', | ||
'SUM', | ||
'MAX', | ||
'MIN', | ||
'HOUR_IN_DAY', | ||
'CONVERTCURRENCY', | ||
'CUBE', | ||
'DATA', | ||
'DESC', | ||
'DIVISION', | ||
'END', | ||
'EXCLUDES', | ||
'FIELDS', | ||
'FIND|10', | ||
'FIRST', | ||
'FOR', | ||
'FROM', | ||
/GROUP\s+BY/, | ||
'HAVING', | ||
'INCLUDES', | ||
'LAST', | ||
'LAST_90_DAYS', | ||
'LAST_MONTH', | ||
'LAST_N_DAYS', | ||
'LAST_WEEK', | ||
'LAST', | ||
'LIKE', | ||
'LIMIT', | ||
'NETWORK', | ||
'NEXT_90_DAYS', | ||
'NEXT_MONTH', | ||
'NEXT_N_DAYS', | ||
'NEXT_WEEK', | ||
'NULLS', | ||
'OFFSET', | ||
'ON', | ||
'OR', | ||
/ORDER\s+BY/, | ||
'REFERENCE', | ||
'RETURNING', | ||
'ROLLUP', | ||
'ROWS', | ||
'SEARCH', | ||
'SECURITY_ENFORCED', | ||
'SELECT', | ||
'SNIPPET', | ||
'SORT', | ||
'THIS_MONTH', | ||
'THIS_WEEK', | ||
'TODAY', | ||
'TOLABEL', | ||
'TOMORROW', | ||
'TRACKING', | ||
'TYPEOF', | ||
'UPDATE', | ||
/USING\s+SCOPE/, | ||
'VIEW', | ||
'VIEWSTAT', | ||
'VIEWSTATE', | ||
'WHERE', | ||
'WITH', | ||
'YESTERDAY', | ||
'USER_MODE' | ||
]; | ||
const SOQL_QUERY = { | ||
begin: /\[[\s\n]*(?=SELECT)/, | ||
begin: /\[[\s\n]*(?=(SELECT|FIND))/, | ||
end: /\]/, | ||
@@ -424,14 +559,10 @@ scope: 'subst', | ||
{ | ||
begin: regex.concat( | ||
/\b/, | ||
regex.either(...SOQL_KEYWORDS), | ||
/\b/ | ||
), | ||
begin: regex.concat(/\b/, regex.either(...SOQL_KEYWORDS), /\b/), | ||
scope: 'keyword' | ||
}, { | ||
match: /(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|:{1})/, | ||
scope: 'literal', | ||
relevance: 0 | ||
}, | ||
{ | ||
match: /(\bIN\b|<|<=|>|>=|\bNOT\s+IN\b|=|!\s*=|\s:{1}|:{1}\s)/, | ||
scope: 'literal' | ||
}, | ||
{ | ||
match: /(?<=\bFROM\b\s+)\w+/, | ||
@@ -441,9 +572,13 @@ scope: 'type', | ||
}, | ||
{ | ||
match: /\b[a-zA-Z][a-zA-Z_0-9]*\b/, | ||
scope: 'property' | ||
match: [regex.concat(/\b/, APEX_ALPHA_UNDER), ':', /[0-9]+\b/], | ||
scope: { | ||
1: 'keyword', | ||
3: 'number' | ||
}, | ||
relevance: 10 | ||
}, | ||
NUMBER, | ||
METHOD_CALL | ||
METHOD_CALL, | ||
hljs.APOS_STRING_MODE | ||
], | ||
@@ -457,9 +592,5 @@ illegal: '::' | ||
scope: { | ||
3: 'type' //title.class? | ||
3: 'type' | ||
}, | ||
contains: [ | ||
COMMENT_LINE, | ||
COMMENT_BLOCK, | ||
CUSTOM_OBJECT | ||
] | ||
contains: [COMMENT_LINE, COMMENT_BLOCK] // , CUSTOM_OBJECT | ||
}, | ||
@@ -476,3 +607,8 @@ // Class Name | ||
{ | ||
match: [/(?<=public)/, /\s+/, APEX_IDENT_RE, /(?=\s*\()/], | ||
match: [ | ||
/(?<=(public|private))/, | ||
/\s+/, | ||
APEX_IDENT_RE, | ||
/(?=\s*\(.*\)\s*{)/ | ||
], // /(?=\s*\()/], | ||
scope: { | ||
@@ -484,3 +620,11 @@ 3: 'constructor' | ||
{ | ||
begin: [/(?<=\btrigger\b)/, /\s+/, APEX_IDENT_RE, /\s+/, 'on', /\s+/, APEX_IDENT_RE], | ||
begin: [ | ||
/(?<=\btrigger\b)/, | ||
/\s+/, | ||
APEX_IDENT_RE, | ||
/\s+/, | ||
'on', | ||
/\s+/, | ||
APEX_IDENT_RE | ||
], | ||
end: '{', | ||
@@ -541,11 +685,6 @@ scope: { | ||
{ | ||
match: [/\bextends/, /\s+/, APEX_IDENT_RE], | ||
match: [/(?:extends)/, /\s+/, APEX_IDENT_RE], | ||
scope: { | ||
3: 'title.class.inherited' | ||
}, | ||
contains: [ | ||
COMMENT_LINE, | ||
COMMENT_BLOCK, | ||
NAMESPACES | ||
], | ||
illegal: [/\b_/, /_\b/] | ||
@@ -559,4 +698,4 @@ } | ||
scope: { | ||
2: "built_in", | ||
4: "property" | ||
2: 'built_in', | ||
4: 'property' | ||
} | ||
@@ -569,11 +708,28 @@ }; | ||
//for (APTask__c apTask : myTasks | ||
match: [/\bfor\b/, /\s*\(/, /\w+/, /\s+/, /\w+/, /\s+:/, /(?=\s*\[)/], | ||
match: [ | ||
/\bfor\b/, | ||
/\s*\(/, | ||
APEX_IDENT_RE, | ||
/\s+/, | ||
APEX_IDENT_RE, | ||
/\s+:/, | ||
/(?=\s*\[)/ | ||
], | ||
scope: { | ||
1: 'keyword', | ||
3: 'type', | ||
3: 'type' | ||
//5: 'variable' | ||
}, | ||
} | ||
}, | ||
{ | ||
match: [/\bfor\b/, /\s*\(/, /\w+/, /\s+/, /\w+/, /\s+:/, /\s*/, /\w+/], | ||
match: [ | ||
/\bfor\b/, | ||
/\s*\(/, | ||
APEX_IDENT_RE, | ||
/\s+/, | ||
APEX_IDENT_RE, | ||
/\s+:/, | ||
/\s*/, | ||
APEX_IDENT_RE | ||
], | ||
scope: { | ||
@@ -583,44 +739,42 @@ 1: 'keyword', | ||
//5: 'variable', | ||
//8: 'variable' | ||
}, | ||
8: 'variable' | ||
} | ||
} | ||
], | ||
contains: [ | ||
COMMENT_LINE, | ||
COMMENT_BLOCK, | ||
SOQL_QUERY | ||
] | ||
contains: [COMMENT_LINE, COMMENT_BLOCK, SOQL_QUERY] | ||
}; | ||
const ASSIGNMENTS = [{ | ||
match: [APEX_IDENT_RE, /\s+/, APEX_IDENT_RE, /\s+/, /=/], | ||
scope: { | ||
1: 'type', | ||
3: 'variable', | ||
5: 'operator' | ||
const ASSIGNMENTS = [ | ||
{ | ||
match: [APEX_IDENT_RE, /\s+/, APEX_IDENT_RE, /\s+/, /=/], | ||
scope: { | ||
1: 'type', | ||
3: 'variable', | ||
5: 'operator' | ||
}, | ||
relevance: 0 | ||
}, | ||
relevance: 0 | ||
}, | ||
{ | ||
match: [APEX_IDENT_RE, /\s+/, APEX_IDENT_RE, /\s+/, ';'], | ||
scope: { | ||
1: 'type', | ||
3: 'variable' | ||
{ | ||
match: [APEX_IDENT_RE, /\s+/, APEX_IDENT_RE, /\s+/, ';'], | ||
scope: { | ||
1: 'type', | ||
3: 'variable' | ||
}, | ||
relevance: 0 | ||
}, | ||
relevance: 0 | ||
}, | ||
{ | ||
match: [/\s+/, APEX_IDENT_RE, /\s+/, /=/], | ||
scope: { | ||
2: 'variable', | ||
4: 'operator' | ||
{ | ||
match: [/\s+/, APEX_IDENT_RE, /\s+/, /=/], | ||
scope: { | ||
2: 'variable', | ||
4: 'operator' | ||
}, | ||
relevance: 0 | ||
}, | ||
relevance: 0 | ||
}, { | ||
match: [/(?<=\w+\s+=\s+\()/, APEX_IDENT_RE, /(?=\))/], | ||
scope: { | ||
2: 'type' | ||
}, | ||
relevance: 0 | ||
} | ||
{ | ||
match: [/(?<=\w+\s+=\s+\()/, APEX_IDENT_RE, /(?=\))/], | ||
scope: { | ||
2: 'type' | ||
}, | ||
relevance: 0 | ||
} | ||
]; | ||
@@ -679,5 +833,5 @@ | ||
/\bend\n/, | ||
'"""', | ||
'"""' | ||
// /"[^"]+"/, // Quote_string_mode | ||
/@\w+\[\w+\]/ //moonscript | ||
// /@\w+\[\w+\]/ //moonscript | ||
]; | ||
@@ -703,3 +857,3 @@ | ||
COMPOUND_KEYWORDS, | ||
CUSTOM_OBJECT, | ||
//CUSTOM_OBJECT, | ||
EXCEPTION, | ||
@@ -714,5 +868,7 @@ FOR_LOOP, | ||
SALESFORCE_ID, | ||
SOQL_QUERY | ||
SOQL_QUERY, | ||
//ANNOTATION_ATTRIBUTE_PARAMS, | ||
IMPORTANT_WORDS | ||
] | ||
}; | ||
} |
@@ -26,2 +26,6 @@ /** | ||
for(Account a : [SELECT Id FROM Account WHERE LastModifiedDate = LAST_N_DAYS:3]){ | ||
Assert.fail(); | ||
} | ||
trigger CTrig on Custom__c (before insert, after update){ | ||
@@ -28,0 +32,0 @@ System.debug('inserting a record'); |
@@ -5,3 +5,3 @@ <span class="hljs-comment">/** | ||
<span class="hljs-meta">@IsTest</span>(Seealldata<span class="hljs-operator">=</span><span class="hljs-literal">true</span>) | ||
<span class="hljs-keyword">public</span> <span class="hljs-keyword">with sharing</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">L2Char</span> <span class="hljs-keyword">implements</span> <span class="hljs-built_in">Database</span>.<span class="hljs-built_in">batchable</span> { | ||
<span class="hljs-keyword">public</span> <span class="hljs-keyword">with sharing</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">L2Char</span> <span class="hljs-keyword">implements</span> <span class="hljs-built_in">Database</span>.batchable { | ||
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-variable language_">final</span> <span class="hljs-type">String</span> <span class="hljs-variable">ERROR</span> <span class="hljs-operator">=</span> <span class="hljs-number">0</span>x0001; | ||
@@ -30,5 +30,5 @@ | ||
<span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-type">void</span> <span class="hljs-title function_">makeData</span>(<span class="hljs-type">Boolean</span> a){ | ||
<span class="hljs-type">Custom__c</span> c <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-type">Custom__c</span>(); | ||
<span class="hljs-type">Custom__c</span> <span class="hljs-variable">c</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-type">Custom__c</span>(); | ||
<span class="hljs-keyword">for</span>(<span class="hljs-type">Account</span> a : acctLis ){ | ||
<span class="hljs-keyword">for</span>(<span class="hljs-type">Account</span> a : <span class="hljs-variable">acctLis</span> ){ | ||
<span class="hljs-built_in">ConnectApi</span>.<span class="hljs-built_in">insert</span> a; | ||
@@ -45,5 +45,9 @@ } | ||
<span class="hljs-keyword">for</span>(<span class="hljs-type">Account</span> a : <span class="hljs-subst">[<span class="hljs-keyword">SELECT</span> Id <span class="hljs-keyword">FROM</span> <span class="hljs-type">Account</span> <span class="hljs-keyword">WHERE</span> LastModifiedDate <span class="hljs-literal">=</span> <span class="hljs-keyword">LAST_N_DAYS</span>:<span class="hljs-number">3</span>]</span>){ | ||
<span class="hljs-built_in">Assert</span>.<span class="hljs-title function_ invoke__">fail</span>(); | ||
} | ||
<span class="hljs-keyword">trigger</span> <span class="hljs-title class_">CTrig</span> on <span class="hljs-type">Custom__c</span> (<span class="hljs-built_in">before insert</span>){ | ||
<span class="hljs-built_in">System</span>.<span class="hljs-title function_ invoke__">debug</span>(<span class="hljs-string">'inserting a record'</span>); | ||
<span class="hljs-built_in">upsert</span> <span class="hljs-type">myRecord__c</span>; | ||
<span class="hljs-built_in">upsert</span> myRecord__c; | ||
} |
@@ -43,2 +43,6 @@ /** | ||
for(Account a : [SELECT Id FROM Account WHERE LastModifiedDate = LAST_N_DAYS:3]){ | ||
Assert.fail(); | ||
} | ||
trigger CTrig on Custom__c (before insert){ | ||
@@ -45,0 +49,0 @@ System.debug('inserting a record'); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
59544
19
991
6