Socket
Socket
Sign inDemoInstall

highlightjs-apex

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

highlightjs-apex - npm Package Compare versions

Comparing version 1.1.0 to 1.1.1

.github/dependabot.yml

112

dist/apex.es.min.js

@@ -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">&#x27;inserting a record&#x27;</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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc