-------NEW LANGUAGE----------
diff --git a/dist/apex.es.min.js b/dist/apex.es.min.js
index c300d6f..cb3a70c 100644
--- a/dist/apex.es.min.js
+++ b/dist/apex.es.min.js
@@ -22,61 +22,57 @@ match:[/\b/,t.either(...u),/\./,a,/(?=\()/],scope:{2:"title.class",
scope:{2:"title.class"},relevance:4},{
match:[/\b/,t.either("Callable","Comparable","Comparator","HttpCalloutMock","InstallHandler","Queueable","QueueableContext","SandboxPostCopy","Schedulable","SchedulableContext","StubProvider","UninstallHandler","WebServiceMock"),/\b/],
scope:{2:"title.class.inherited"},relevance:8}],S={match:[/\bswitch\s+on\s+/,a],
-scope:{1:"keyword",2:"variable"}},A={
-match:t.concat(t.either(/(?)/,/--/,/\+\+/,/&&|\|\|/,/\*=|\/=|%=|\+=|-=/,/\&=|\^=|<<=|>>=|>>>=|\|=/,/\&|~|\^|\|/,/%[^%]|\*[^\/]|\/[^\/\*]|(?>/,/<=|>=|\s(<|>)\s/,/==|!=/,/=>/,/!(?=\w)/,/\&\&/,/(?<=\s)(\?|:)(?=\s)/,/\?\./,/(?)/,/--/,/\+\+/,/&&|\|\|/,/\*=|\/=|%=|\+=|-=/,/\&=|\^=|<<=|>>=|>>>=|\|=/,/\&|~|\^|\|/,/%[^%]|\*[^\/]|\/[^\/\*]|(?>/,/<=|>=|\s(<|>)\s/,/==|!=/,/=>/,/!(?=\w)/,/\&\&/,/(?<=\s)(\?|:)(?=\s)/,/\?\./,/(?+/,
-endScope:"punctuation",contains:[{match:/,scope:"punctuation"},E,{
+endScope:"punctuation",contains:[{match:/,scope:"punctuation"},g,{
match:t.concat(/\b/,a,/\b/),scope:"type"}],relevance:10},{match:[a,/\s*\[\]/],
-scope:{1:"type",2:"punctuation"},contains:[E],relevance:0}],O={
-scope:"assignment",relevance:0,contains:[E,A],variants:[{
+scope:{1:"type",2:"punctuation"},contains:[g],relevance:0}],N={
+scope:"assignment",relevance:0,contains:[g,E],variants:[{
match:[a,/\s+/,a,/(?=\s*\=)/],scope:{1:"type",3:"variable assigned"}},{
match:[a,/\s+/,a,/\s+/,";"],scope:{1:"type",3:"variable declare"}},{
match:[/(?/,
scope:"punctuation"},{match:t.concat(/\b/,t.either(...p),/\b\s*(?!<>)/),
@@ -84,20 +80,21 @@ scope:"built_in"},{match:[/\b/,a,/\./,a,/(?=[,\s<])/],scope:{2:"built_in",
4:"title.class.inherited"}},{match:[/\b/,a,/(?=>)/],scope:{2:"type"}},{
match:t.concat(/\b/,a,/\b(?!<)/),scope:"title.class.inherited"},{
match:t.concat(/\b/,t.either(...b),/\b\s*(?!>)/),scope:"title.class.inherited"}]
-}]},U=[L,{relevance:10,match:/\b(with|without|inherited)\s+sharing\b/,
-scope:"keyword"},C,{begin:[/\benum\s+/,a,/\s*/,/\{/],beginScope:{1:"type",
-2:"type"},end:/[\}\n]/,returnEnd:!0,scope:"enum_declaration",relevance:0,
-contains:[g,T,E,{match:t.concat(/\b/,a,/\b/),scope:"variable.constant"}]
-},M].concat(N),w=[{match:[/(?<=\breturn\b)\s+/,t.either(i),/(?=\s*;)/],scope:{
-2:"literal"}},{match:[/(?<=\breturn\b)/,/\s+/,a,/(?=\s*;)/],scope:{3:"variable"}
-},{match:[/(?<=\breturn\b)/,/\s+/,t.lookahead(a+/\(/)],scope:{
-2:"title.function.invoke"}}],f={begin:[/\[/,/\s*/,/\b(SELECT|FIND)\b/],
-beginScope:{1:"punctuation",3:"keyword soql"},end:/\]/,
-endScope:"punctuation outer",scope:"soql",relevance:10,contains:[{
-begin:[/\bFROM\b/,t.concat(/\s+/,a,/\b/)],beginScope:{1:"keyword",2:"type"},
-scope:"from_clause",end:/(?=\]|\s)/,contains:[{match:[/(?<=\.)/,a,/\b/],scope:{
-2:"type"}},E]},{match:/\]/,scope:"punctuation",endsParent:!0},{
-match:/\b\s*IN|=\s*:/,scope:"operator"},{
+}]},M=[C,{relevance:10,match:/\b(with|without|inherited)\s+sharing\b/,
+scope:"keyword"},{
+match:[/\bTrigger/,/\./,/(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size|operationType)\b/],
+scope:{1:"built_in",3:"keyword"},relevance:10},{
+begin:[/\benum\s+/,a,/\s*/,/\{/],beginScope:{1:"type",2:"type"},end:/[\}\n]/,
+returnEnd:!0,scope:"enum_declaration",relevance:0,contains:[v,T,g,{
+match:t.concat(/\b/,a,/\b/),scope:"variable.constant"}]},L],U=[{
+match:[/\breturn\b/,/\s+/,a,";"],scope:{3:"variable"}},{
+match:[/\breturn\b/,/\s+/,t.lookahead(a+/\(/)],scope:{2:"title.function.invoke"}
+}],w={begin:[/\[/,/\s*/,/\b(SELECT|FIND)\b/],beginScope:{1:"punctuation",
+3:"keyword soql"},end:/\]/,endScope:"punctuation outer",scope:"soql",
+relevance:10,contains:[{begin:[/\bFROM\b/,t.concat(/\s+/,a,/\b/)],beginScope:{
+1:"keyword",2:"type"},scope:"from_clause",end:/(?=\]|\s)/,contains:[{
+match:[/(?<=\.)/,a,/\b/],scope:{2:"type"}},g]},{match:/\]/,scope:"punctuation",
+endsParent:!0},{match:/\b\s*IN|=\s*:/,scope:"operator"},{
begin:t.concat(/\b/,t.either("ABOVE_OR_BELOW","ACTIVE","ADVANCED","ALL","ANY","ARRAY","AS","BY","CATEGORY","CONTAINS","CUSTOM","DATA","DIVISION","END","FIELDS","FIND","FROM","LAST","METADATA","NETWORK","ON","RETURNING","ROLLUP","ROWS","SEARCH","SELECT","SNIPPET","SORT","STANDARD","USER_MODE","WHERE",/USING\s+SCOPE\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team)/,/WITH\s+SECURITY_ENFORCED/),/\b/),
scope:"keyword soql",relevance:0},{
match:t.concat(/\b/,t.either("ABOVE","AND","ASC","AT","DESC","HAVING","IN","LIKE","LIMIT","LISTVIEW","NOT","OFFSET","OR","TRACKING","TYPEOF","UPDATE","VIEWSTAT",/FOR\s+REFERENCE/,/FOR\s+UPDATE/,/FOR\s+VIEW/,/GROUP\s+BY/,/NOT\s+IN/,/NULLS\s+(FIRST|LAST)/,/ORDER\s+BY/,/WITH/,/DATA\s+CATEGORY/,/WITH\s+PricebookId/),/\b/),
@@ -110,23 +107,24 @@ match:/(NEXT|LAST|THIS)_(90_DAY|DAY|FISCAL_QUARTER|FISCAL_YEAR|MONTH|QUARTER|WEE
scope:"variable.language",relevance:10},{
match:[/(NEXT|LAST)_N_(DAY|FISCAL_QUARTER|FISCAL_YEAR|MONTH|QUARTER|WEEK|YEAR)S/,/\s*:\s*/,/\d+/],
scope:{1:"variable.language",2:"operator",3:"number"},relevance:10},{
-match:[/(?<=:)/,/\s*/,a],scope:{3:"variable"}},c,I,A,E,e.APOS_STRING_MODE],
-illegal:"::"},k={begin:[/\bfor\b\s*/,/\(/,a,/\s+/,a,/\s*:/],beginScope:{
-2:"punctuation",3:"type",5:"variable for",6:"operator"},scope:"for_loop",
-end:/\)\s*\{/,endScope:"punctuation",contains:[g,T,f,I,{
-match:t.concat(a,/\b(?!\()/),scope:"variable"}],METHOD_CALL:I,PUNCTUATION:E}
-;return{name:"Apex",aliases:["apex","lightning","soql"],case_insensitive:!0,
+match:[/(?<=:)/,/\s*/,a],scope:{3:"variable"}},c,D,E,g,e.APOS_STRING_MODE],
+illegal:"::"},f={begin:[/\bfor\b\s*/,/\(/,a,/\s+/,a,/\s*:/],beginScope:{
+2:"punctuation",3:"type",5:"variable for"},scope:"for_loop",end:/\)\s*\{/,
+endScope:"punctuation",contains:[v,T,w,D,{match:t.concat(a,/\b(?!\()/),
+scope:"variable"}],METHOD_CALL:D,PUNCTUATION_RE:g,OPERATOR_LIST:A};return{
+name:"Apex",aliases:["apex","lightning","soql"],case_insensitive:!0,
disableAutodetect:!1,ignoreIllegals:!1,keywords:{$pattern:a,keyword:s,
"variable.language":["instanceof","new","super","this"],built_in:b,type:r,
literal:i},
-illegal:["","<#","<]","","\x3c!--","!DOCTYPE",/