Skip to content

Instantly share code, notes, and snippets.

@andesco
Last active February 8, 2026 06:49
Show Gist options
  • Select an option

  • Save andesco/8a926a43d82d9b8d5ed5928e4af20f83 to your computer and use it in GitHub Desktop.

Select an option

Save andesco/8a926a43d82d9b8d5ed5928e4af20f83 to your computer and use it in GitHub Desktop.
Starry-night standalone browser bundle (esbuild)
This file has been truncated, but you can view the full file.
(()=>{var ia=Object.create;var pn=Object.defineProperty;var ra=Object.getOwnPropertyDescriptor;var oa=Object.getOwnPropertyNames;var sa=Object.getPrototypeOf,ca=Object.prototype.hasOwnProperty;var Pn=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),la=(s,c)=>{for(var i in c)pn(s,i,{get:c[i],enumerable:!0})},ua=(s,c,i,e)=>{if(c&&typeof c=="object"||typeof c=="function")for(let w of oa(c))!ca.call(s,w)&&w!==i&&pn(s,w,{get:()=>c[w],enumerable:!(e=ra(c,w))||e.enumerable});return s};var On=(s,c,i)=>(i=s!=null?ia(sa(s)):{},ua(c||!s||!s.__esModule?pn(i,"default",{value:s,enumerable:!0}):i,s));var ft=Pn((qe,dn)=>{(function(s,c){typeof qe=="object"&&typeof dn=="object"?dn.exports=c():typeof define=="function"&&define.amd?define([],c):typeof qe=="object"?qe.onig=c():s.onig=c()})(qe,(()=>{return s={770:function(i,e,w){"use strict";var h=this&&this.__importDefault||function(E){return E&&E.__esModule?E:{default:E}};Object.defineProperty(e,"__esModule",{value:!0}),e.setDefaultDebugCall=e.createOnigScanner=e.createOnigString=e.loadWASM=e.OnigScanner=e.OnigString=void 0;let C=h(w(418)),o=null,x=!1;class d{static _utf8ByteLength(m){let f=0;for(let p=0,g=m.length;p<g;p++){let a=m.charCodeAt(p),n=a,r=!1;if(a>=55296&&a<=56319&&p+1<g){let u=m.charCodeAt(p+1);u>=56320&&u<=57343&&(n=65536+(a-55296<<10)|u-56320,r=!0)}f+=n<=127?1:n<=2047?2:n<=65535?3:4,r&&p++}return f}constructor(m){let f=m.length,p=d._utf8ByteLength(m),g=p!==f,a=g?new Uint32Array(f+1):null;g&&(a[f]=p);let n=g?new Uint32Array(p+1):null;g&&(n[p]=f);let r=new Uint8Array(p),u=0;for(let _=0;_<f;_++){let N=m.charCodeAt(_),t=N,l=!1;if(N>=55296&&N<=56319&&_+1<f){let v=m.charCodeAt(_+1);v>=56320&&v<=57343&&(t=65536+(N-55296<<10)|v-56320,l=!0)}g&&(a[_]=u,l&&(a[_+1]=u),t<=127?n[u+0]=_:t<=2047?(n[u+0]=_,n[u+1]=_):t<=65535?(n[u+0]=_,n[u+1]=_,n[u+2]=_):(n[u+0]=_,n[u+1]=_,n[u+2]=_,n[u+3]=_)),t<=127?r[u++]=t:t<=2047?(r[u++]=192|(1984&t)>>>6,r[u++]=128|(63&t)>>>0):t<=65535?(r[u++]=224|(61440&t)>>>12,r[u++]=128|(4032&t)>>>6,r[u++]=128|(63&t)>>>0):(r[u++]=240|(1835008&t)>>>18,r[u++]=128|(258048&t)>>>12,r[u++]=128|(4032&t)>>>6,r[u++]=128|(63&t)>>>0),l&&_++}this.utf16Length=f,this.utf8Length=p,this.utf16Value=m,this.utf8Value=r,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=n}createString(m){let f=m._omalloc(this.utf8Length);return m.HEAPU8.set(this.utf8Value,f),f}}class b{constructor(m){if(this.id=++b.LAST_ID,!o)throw new Error("Must invoke loadWASM first.");this._onigBinding=o,this.content=m;let f=new d(m);this.utf16Length=f.utf16Length,this.utf8Length=f.utf8Length,this.utf16OffsetToUtf8=f.utf16OffsetToUtf8,this.utf8OffsetToUtf16=f.utf8OffsetToUtf16,this.utf8Length<1e4&&!b._sharedPtrInUse?(b._sharedPtr||(b._sharedPtr=o._omalloc(1e4)),b._sharedPtrInUse=!0,o.HEAPU8.set(f.utf8Value,b._sharedPtr),this.ptr=b._sharedPtr):this.ptr=f.createString(o)}convertUtf8OffsetToUtf16(m){return this.utf8OffsetToUtf16?m<0?0:m>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[m]:m}convertUtf16OffsetToUtf8(m){return this.utf16OffsetToUtf8?m<0?0:m>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[m]:m}dispose(){this.ptr===b._sharedPtr?b._sharedPtrInUse=!1:this._onigBinding._ofree(this.ptr)}}e.OnigString=b,b.LAST_ID=0,b._sharedPtr=0,b._sharedPtrInUse=!1;class R{constructor(m,f){var p,g;if(!o)throw new Error("Must invoke loadWASM first.");let a=[],n=[];for(let l=0,v=m.length;l<v;l++){let S=new d(m[l]);a[l]=S.createString(o),n[l]=S.utf8Length}let r=o._omalloc(4*m.length);o.HEAPU32.set(a,r/4);let u=o._omalloc(4*m.length);o.HEAPU32.set(n,u/4),this._onigBinding=o,this._options=(p=f?.options)!==null&&p!==void 0?p:[10];let _=this.onigOptions(this._options),N=this.onigSyntax((g=f?.syntax)!==null&&g!==void 0?g:0),t=o._createOnigScanner(r,u,m.length,_,N);this._ptr=t;for(let l=0,v=m.length;l<v;l++)o._ofree(a[l]);o._ofree(u),o._ofree(r),t===0&&(function(l){throw new Error(l.UTF8ToString(l._getLastOnigError()))})(o)}dispose(){this._onigBinding._freeOnigScanner(this._ptr)}findNextMatchSync(m,f,p){let g=x,a=this._options;if(Array.isArray(p)?(p.includes(25)&&(g=!0),a=a.concat(p)):typeof p=="boolean"&&(g=p),typeof m=="string"){m=new b(m);let n=this._findNextMatchSync(m,f,g,a);return m.dispose(),n}return this._findNextMatchSync(m,f,g,a)}_findNextMatchSync(m,f,p,g){let a=this._onigBinding,n=this.onigOptions(g),r;if(r=p?a._findNextOnigScannerMatchDbg(this._ptr,m.id,m.ptr,m.utf8Length,m.convertUtf16OffsetToUtf8(f),n):a._findNextOnigScannerMatch(this._ptr,m.id,m.ptr,m.utf8Length,m.convertUtf16OffsetToUtf8(f),n),r===0)return null;let u=a.HEAPU32,_=r/4,N=u[_++],t=u[_++],l=[];for(let v=0;v<t;v++){let S=m.convertUtf8OffsetToUtf16(u[_++]),q=m.convertUtf8OffsetToUtf16(u[_++]);l[v]={start:S,end:q,length:q-S}}return{index:N,captureIndices:l}}onigOptions(m){return m.map((f=>this.onigOption(f))).reduce(((f,p)=>f|p),this._onigBinding.ONIG_OPTION_NONE)}onigSyntax(m){switch(m){case 0:return this._onigBinding.ONIG_SYNTAX_DEFAULT;case 1:return this._onigBinding.ONIG_SYNTAX_ASIS;case 2:return this._onigBinding.ONIG_SYNTAX_POSIX_BASIC;case 3:return this._onigBinding.ONIG_SYNTAX_POSIX_EXTENDED;case 4:return this._onigBinding.ONIG_SYNTAX_EMACS;case 5:return this._onigBinding.ONIG_SYNTAX_GREP;case 6:return this._onigBinding.ONIG_SYNTAX_GNU_REGEX;case 7:return this._onigBinding.ONIG_SYNTAX_JAVA;case 8:return this._onigBinding.ONIG_SYNTAX_PERL;case 9:return this._onigBinding.ONIG_SYNTAX_PERL_NG;case 10:return this._onigBinding.ONIG_SYNTAX_RUBY;case 11:return this._onigBinding.ONIG_SYNTAX_PYTHON;case 12:return this._onigBinding.ONIG_SYNTAX_ONIGURUMA}}onigOption(m){switch(m){case 1:return this._onigBinding.ONIG_OPTION_NONE;case 0:case 25:return this._onigBinding.ONIG_OPTION_DEFAULT;case 2:return this._onigBinding.ONIG_OPTION_IGNORECASE;case 3:return this._onigBinding.ONIG_OPTION_EXTEND;case 4:return this._onigBinding.ONIG_OPTION_MULTILINE;case 5:return this._onigBinding.ONIG_OPTION_SINGLELINE;case 6:return this._onigBinding.ONIG_OPTION_FIND_LONGEST;case 7:return this._onigBinding.ONIG_OPTION_FIND_NOT_EMPTY;case 8:return this._onigBinding.ONIG_OPTION_NEGATE_SINGLELINE;case 9:return this._onigBinding.ONIG_OPTION_DONT_CAPTURE_GROUP;case 10:return this._onigBinding.ONIG_OPTION_CAPTURE_GROUP;case 11:return this._onigBinding.ONIG_OPTION_NOTBOL;case 12:return this._onigBinding.ONIG_OPTION_NOTEOL;case 13:return this._onigBinding.ONIG_OPTION_CHECK_VALIDITY_OF_STRING;case 14:return this._onigBinding.ONIG_OPTION_IGNORECASE_IS_ASCII;case 15:return this._onigBinding.ONIG_OPTION_WORD_IS_ASCII;case 16:return this._onigBinding.ONIG_OPTION_DIGIT_IS_ASCII;case 17:return this._onigBinding.ONIG_OPTION_SPACE_IS_ASCII;case 18:return this._onigBinding.ONIG_OPTION_POSIX_IS_ASCII;case 19:return this._onigBinding.ONIG_OPTION_TEXT_SEGMENT_EXTENDED_GRAPHEME_CLUSTER;case 20:return this._onigBinding.ONIG_OPTION_TEXT_SEGMENT_WORD;case 21:return this._onigBinding.ONIG_OPTION_NOT_BEGIN_STRING;case 22:return this._onigBinding.ONIG_OPTION_NOT_END_STRING;case 23:return this._onigBinding.ONIG_OPTION_NOT_BEGIN_POSITION;case 24:return this._onigBinding.ONIG_OPTION_CALLBACK_EACH_MATCH}}}e.OnigScanner=R;let k=!1,A=null;e.loadWASM=function(E){if(k)return A;let m,f,p,g;if(k=!0,(function(a){return typeof a.instantiator=="function"})(E))m=E.instantiator,f=E.print;else{let a;(function(n){return n.data!==void 0})(E)?(a=E.data,f=E.print):a=E,m=(function(n){return typeof Response<"u"&&n instanceof Response})(a)?typeof WebAssembly.instantiateStreaming=="function"?(function(n){return r=>WebAssembly.instantiateStreaming(n,r)})(a):(function(n){return async r=>{let u=await n.arrayBuffer();return WebAssembly.instantiate(u,r)}})(a):(function(n){return r=>WebAssembly.instantiate(n,r)})(a)}return A=new Promise(((a,n)=>{p=a,g=n})),(function(a,n,r,u){(0,C.default)({print:n,instantiateWasm:(_,N)=>{if(typeof performance>"u"){let t=()=>Date.now();_.env.emscripten_get_now=t,_.wasi_snapshot_preview1.emscripten_get_now=t}return a(_).then((t=>N(t.instance)),u),{}}}).then((_=>{o=_,r()}))})(m,f,p,g),A},e.createOnigString=function(E){return new b(E)},e.createOnigScanner=function(E){return new R(E)},e.setDefaultDebugCall=function(E){x=E}},418:i=>{var e=(typeof document<"u"&&document.currentScript&&document.currentScript.src,function(w={}){var h,C,o=w;o.ready=new Promise(((y,T)=>{h=y,C=T}));var x,d=Object.assign({},o);typeof read<"u"&&read,x=y=>{if(typeof readbuffer=="function")return new Uint8Array(readbuffer(y));let T=read(y,"binary");return typeof T=="object"||D(P),T;var P},typeof clearTimeout>"u"&&(globalThis.clearTimeout=y=>{}),typeof setTimeout>"u"&&(globalThis.setTimeout=y=>typeof y=="function"?y():D()),typeof scriptArgs<"u"&&scriptArgs,typeof onig_print<"u"&&(typeof console>"u"&&(console={}),console.log=onig_print,console.warn=console.error=typeof printErr<"u"?printErr:onig_print);var b,R,k=o.print||console.log.bind(console),A=o.printErr||console.error.bind(console);Object.assign(o,d),d=null,o.arguments&&o.arguments,o.thisProgram&&o.thisProgram,o.quit&&o.quit,o.wasmBinary&&(b=o.wasmBinary),o.noExitRuntime,typeof WebAssembly!="object"&&D("no native wasm support detected");var E,m,f,p,g,a,n,r,u=!1;function _(){var y=R.buffer;o.HEAP8=E=new Int8Array(y),o.HEAP16=f=new Int16Array(y),o.HEAPU8=m=new Uint8Array(y),o.HEAPU16=p=new Uint16Array(y),o.HEAP32=g=new Int32Array(y),o.HEAPU32=a=new Uint32Array(y),o.HEAPF32=n=new Float32Array(y),o.HEAPF64=r=new Float64Array(y)}var N=[],t=[],l=[],v=0,S=null,q=null;function D(y){o.onAbort&&o.onAbort(y),A(y="Aborted("+y+")"),u=!0,y+=". Build with -sASSERTIONS for more info.";var T=new WebAssembly.RuntimeError(y);throw C(T),T}var M,O;function Q(y){return y.startsWith("data:application/octet-stream;base64,")}function ne(y){if(y==M&&b)return new Uint8Array(b);if(x)return x(y);throw"both async and sync fetching of the wasm failed"}function Z(y,T,P){return(function(I){return Promise.resolve().then((()=>ne(I)))})(y).then((I=>WebAssembly.instantiate(I,T))).then((I=>I)).then(P,(I=>{A(`failed to asynchronously prepare wasm: ${I}`),D(I)}))}Q(M="onig.wasm")||(O=M,M=o.locateFile?o.locateFile(O,""):""+O);var X=y=>{for(;y.length>0;)y.shift()(o)},ce=void 0,J=y=>{for(var T="",P=y;m[P];)T+=ce[m[P++]];return T},U={},ae={},L={},z=void 0,K=y=>{throw new z(y)},ye=void 0,pe=(y,T,P)=>{function I(V){var B=P(V);B.length!==y.length&&(se=>{throw new ye(se)})("Mismatched type converter count");for(var W=0;W<y.length;++W)me(y[W],B[W])}y.forEach((function(V){L[V]=T}));var F=new Array(T.length),j=[],G=0;T.forEach(((V,B)=>{ae.hasOwnProperty(V)?F[B]=ae[V]:(j.push(V),U.hasOwnProperty(V)||(U[V]=[]),U[V].push((()=>{F[B]=ae[V],++G===j.length&&I(F)})))})),j.length===0&&I(F)};function me(y,T,P={}){if(!("argPackAdvance"in T))throw new TypeError("registerType registeredInstance requires argPackAdvance");return(function(I,F,j={}){var G=F.name;if(I||K(`type "${G}" must have a positive integer typeid pointer`),ae.hasOwnProperty(I)){if(j.ignoreDuplicateRegistrations)return;K(`Cannot register type '${G}' twice`)}if(ae[I]=F,delete L[I],U.hasOwnProperty(I)){var V=U[I];delete U[I],V.forEach((B=>B()))}})(y,T,P)}function xe(){this.allocated=[void 0],this.freelist=[]}var de=new xe,Te=()=>{for(var y=0,T=de.reserved;T<de.allocated.length;++T)de.allocated[T]!==void 0&&++y;return y},Ce=y=>(y||K("Cannot use deleted val. handle = "+y),de.get(y).value),Oe=y=>{switch(y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return de.allocate({refcount:1,value:y})}};function ve(y){return this.fromWireType(g[y>>2])}var Ne=(y,T)=>{switch(T){case 4:return function(P){return this.fromWireType(n[P>>2])};case 8:return function(P){return this.fromWireType(r[P>>3])};default:throw new TypeError(`invalid float width (${T}): ${y}`)}},Re=(y,T,P)=>{switch(T){case 1:return P?I=>E[I>>0]:I=>m[I>>0];case 2:return P?I=>f[I>>1]:I=>p[I>>1];case 4:return P?I=>g[I>>2]:I=>a[I>>2];default:throw new TypeError(`invalid integer width (${T}): ${y}`)}};function Se(y){return this.fromWireType(a[y>>2])}var he,Ie=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Fe=(y,T,P)=>{for(var I=T+P,F=T;y[F]&&!(F>=I);)++F;if(F-T>16&&y.buffer&&Ie)return Ie.decode(y.subarray(T,F));for(var j="";T<F;){var G=y[T++];if(128&G){var V=63&y[T++];if((224&G)!=192){var B=63&y[T++];if((G=(240&G)==224?(15&G)<<12|V<<6|B:(7&G)<<18|V<<12|B<<6|63&y[T++])<65536)j+=String.fromCharCode(G);else{var W=G-65536;j+=String.fromCharCode(55296|W>>10,56320|1023&W)}}else j+=String.fromCharCode((31&G)<<6|V)}else j+=String.fromCharCode(G)}return j},Ue=(y,T)=>y?Fe(m,y,T):"",De=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,sn=(y,T)=>{for(var P=y,I=P>>1,F=I+T/2;!(I>=F)&&p[I];)++I;if((P=I<<1)-y>32&&De)return De.decode(m.subarray(y,P));for(var j="",G=0;!(G>=T/2);++G){var V=f[y+2*G>>1];if(V==0)break;j+=String.fromCharCode(V)}return j},Ke=(y,T,P)=>{if(P===void 0&&(P=2147483647),P<2)return 0;for(var I=T,F=(P-=2)<2*y.length?P/2:y.length,j=0;j<F;++j){var G=y.charCodeAt(j);f[T>>1]=G,T+=2}return f[T>>1]=0,T-I},cn=y=>2*y.length,Me=(y,T)=>{for(var P=0,I="";!(P>=T/4);){var F=g[y+4*P>>2];if(F==0)break;if(++P,F>=65536){var j=F-65536;I+=String.fromCharCode(55296|j>>10,56320|1023&j)}else I+=String.fromCharCode(F)}return I},Ve=(y,T,P)=>{if(P===void 0&&(P=2147483647),P<4)return 0;for(var I=T,F=I+P-4,j=0;j<y.length;++j){var G=y.charCodeAt(j);if(G>=55296&&G<=57343&&(G=65536+((1023&G)<<10)|1023&y.charCodeAt(++j)),g[T>>2]=G,(T+=4)+4>F)break}return g[T>>2]=0,T-I},na=y=>{for(var T=0,P=0;P<y.length;++P){var I=y.charCodeAt(P);I>=55296&&I<=57343&&++P,T+=4}return T};he=()=>performance.now();var ta=y=>{var T=(y-R.buffer.byteLength+65535)/65536;try{return R.grow(T),_(),1}catch{}},aa=[null,[],[]];(()=>{for(var y=new Array(256),T=0;T<256;++T)y[T]=String.fromCharCode(T);ce=y})(),z=o.BindingError=class extends Error{constructor(y){super(y),this.name="BindingError"}},ye=o.InternalError=class extends Error{constructor(y){super(y),this.name="InternalError"}},Object.assign(xe.prototype,{get(y){return this.allocated[y]},has(y){return this.allocated[y]!==void 0},allocate(y){var T=this.freelist.pop()||this.allocated.length;return this.allocated[T]=y,T},free(y){this.allocated[y]=void 0,this.freelist.push(y)}}),de.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),de.reserved=de.allocated.length,o.count_emval_handles=Te;var He,$n={_embind_register_bigint:(y,T,P,I,F)=>{},_embind_register_bool:(y,T,P,I)=>{me(y,{name:T=J(T),fromWireType:function(F){return!!F},toWireType:function(F,j){return j?P:I},argPackAdvance:8,readValueFromPointer:function(F){return this.fromWireType(m[F])},destructorFunction:null})},_embind_register_constant:(y,T,P)=>{y=J(y),pe([],[T],(function(I){return I=I[0],o[y]=I.fromWireType(P),[]}))},_embind_register_emval:(y,T)=>{me(y,{name:T=J(T),fromWireType:P=>{var I=Ce(P);return(F=>{F>=de.reserved&&--de.get(F).refcount==0&&de.free(F)})(P),I},toWireType:(P,I)=>Oe(I),argPackAdvance:8,readValueFromPointer:ve,destructorFunction:null})},_embind_register_float:(y,T,P)=>{me(y,{name:T=J(T),fromWireType:I=>I,toWireType:(I,F)=>F,argPackAdvance:8,readValueFromPointer:Ne(T,P),destructorFunction:null})},_embind_register_integer:(y,T,P,I,F)=>{T=J(T),F===-1&&(F=4294967295);var j=B=>B;if(I===0){var G=32-8*P;j=B=>B<<G>>>G}var V=T.includes("unsigned");me(y,{name:T,fromWireType:j,toWireType:V?function(B,W){return this.name,W>>>0}:function(B,W){return this.name,W},argPackAdvance:8,readValueFromPointer:Re(T,P,I!==0),destructorFunction:null})},_embind_register_memory_view:(y,T,P)=>{var I=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][T];function F(j){var G=a[j>>2],V=a[j+4>>2];return new I(E.buffer,V,G)}me(y,{name:P=J(P),fromWireType:F,argPackAdvance:8,readValueFromPointer:F},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:(y,T)=>{var P=(T=J(T))==="std::string";me(y,{name:T,fromWireType:I=>{var F,j=a[I>>2],G=I+4;if(P)for(var V=G,B=0;B<=j;++B){var W=G+B;if(B==j||m[W]==0){var se=Ue(V,W-V);F===void 0?F=se:(F+="\0",F+=se),V=W+1}}else{var te=new Array(j);for(B=0;B<j;++B)te[B]=String.fromCharCode(m[G+B]);F=te.join("")}return Ae(I),F},toWireType:(I,F)=>{var j;F instanceof ArrayBuffer&&(F=new Uint8Array(F));var G=typeof F=="string";G||F instanceof Uint8Array||F instanceof Uint8ClampedArray||F instanceof Int8Array||K("Cannot pass non-string to std::string"),j=P&&G?(te=>{for(var re=0,ee=0;ee<te.length;++ee){var _e=te.charCodeAt(ee);_e<=127?re++:_e<=2047?re+=2:_e>=55296&&_e<=57343?(re+=4,++ee):re+=3}return re})(F):F.length;var V=ln(4+j+1),B=V+4;if(a[V>>2]=j,P&&G)((te,re,ee,_e)=>{if(!(_e>0))return 0;for(var un=ee,We=ee+_e-1,Ze=0;Ze<te.length;++Ze){var ue=te.charCodeAt(Ze);if(ue>=55296&&ue<=57343&&(ue=65536+((1023&ue)<<10)|1023&te.charCodeAt(++Ze)),ue<=127){if(ee>=We)break;re[ee++]=ue}else if(ue<=2047){if(ee+1>=We)break;re[ee++]=192|ue>>6,re[ee++]=128|63&ue}else if(ue<=65535){if(ee+2>=We)break;re[ee++]=224|ue>>12,re[ee++]=128|ue>>6&63,re[ee++]=128|63&ue}else{if(ee+3>=We)break;re[ee++]=240|ue>>18,re[ee++]=128|ue>>12&63,re[ee++]=128|ue>>6&63,re[ee++]=128|63&ue}}re[ee]=0})(F,m,B,j+1);else if(G)for(var W=0;W<j;++W){var se=F.charCodeAt(W);se>255&&(Ae(B),K("String has UTF-16 code units that do not fit in 8 bits")),m[B+W]=se}else for(W=0;W<j;++W)m[B+W]=F[W];return I!==null&&I.push(Ae,V),V},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:I=>Ae(I)})},_embind_register_std_wstring:(y,T,P)=>{var I,F,j,G,V;P=J(P),T===2?(I=sn,F=Ke,G=cn,j=()=>p,V=1):T===4&&(I=Me,F=Ve,G=na,j=()=>a,V=2),me(y,{name:P,fromWireType:B=>{for(var W,se=a[B>>2],te=j(),re=B+4,ee=0;ee<=se;++ee){var _e=B+4+ee*T;if(ee==se||te[_e>>V]==0){var un=I(re,_e-re);W===void 0?W=un:(W+="\0",W+=un),re=_e+T}}return Ae(B),W},toWireType:(B,W)=>{typeof W!="string"&&K(`Cannot pass non-string to C++ string type ${P}`);var se=G(W),te=ln(4+se+T);return a[te>>2]=se>>V,F(W,te+4,se+T),B!==null&&B.push(Ae,te),te},argPackAdvance:8,readValueFromPointer:ve,destructorFunction:B=>Ae(B)})},_embind_register_void:(y,T)=>{me(y,{isVoid:!0,name:T=J(T),argPackAdvance:0,fromWireType:()=>{},toWireType:(P,I)=>{}})},emscripten_get_now:he,emscripten_memcpy_big:(y,T,P)=>m.copyWithin(y,T,T+P),emscripten_resize_heap:y=>{var T=m.length,P=2147483648;if((y>>>=0)>P)return!1;for(var I,F=1;F<=4;F*=2){var j=T*(1+.2/F);j=Math.min(j,y+100663296);var G=Math.min(P,(I=Math.max(y,j))+(65536-I%65536)%65536);if(ta(G))return!0}return!1},fd_write:(y,T,P,I)=>{for(var F=0,j=0;j<P;j++){var G=a[T>>2],V=a[T+4>>2];T+=8;for(var B=0;B<V;B++)W=y,se=m[G+B],te=void 0,te=aa[W],se===0||se===10?((W===1?k:A)(Fe(te,0)),te.length=0):te.push(se);F+=V}var W,se,te;return a[I>>2]=F,0}},ge=(function(){var y,T,P,I,F={env:$n,wasi_snapshot_preview1:$n};function j(G,V){var B,W=G.exports;return R=(ge=W).memory,_(),ge.__indirect_function_table,B=ge.__wasm_call_ctors,t.unshift(B),(function(se){if(v--,o.monitorRunDependencies&&o.monitorRunDependencies(v),v==0&&(S!==null&&(clearInterval(S),S=null),q)){var te=q;q=null,te()}})(),W}if(v++,o.monitorRunDependencies&&o.monitorRunDependencies(v),o.instantiateWasm)try{return o.instantiateWasm(F,j)}catch(G){A(`Module.instantiateWasm callback failed with error: ${G}`),C(G)}return(y=b,T=M,P=F,I=function(G){j(G.instance)},y||typeof WebAssembly.instantiateStreaming!="function"||Q(T)||typeof fetch!="function"?Z(T,P,I):fetch(T,{credentials:"same-origin"}).then((G=>WebAssembly.instantiateStreaming(G,P).then(I,(function(V){return A(`wasm streaming compile failed: ${V}`),A("falling back to ArrayBuffer instantiation"),Z(T,P,I)}))))).catch(C),{}})(),ln=y=>(ln=ge.malloc)(y),Ae=y=>(Ae=ge.free)(y);function Ln(){function y(){He||(He=!0,o.calledRun=!0,u||(X(t),h(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),(function(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)T=o.postRun.shift(),l.unshift(T);var T;X(l)})()))}v>0||((function(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)T=o.preRun.shift(),N.unshift(T);var T;X(N)})(),v>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),y()}),1)):y()))}if(o._omalloc=y=>(o._omalloc=ge.omalloc)(y),o._ofree=y=>(o._ofree=ge.ofree)(y),o._getLastOnigError=()=>(o._getLastOnigError=ge.getLastOnigError)(),o._createOnigScanner=(y,T,P,I,F)=>(o._createOnigScanner=ge.createOnigScanner)(y,T,P,I,F),o._freeOnigScanner=y=>(o._freeOnigScanner=ge.freeOnigScanner)(y),o._findNextOnigScannerMatch=(y,T,P,I,F,j)=>(o._findNextOnigScannerMatch=ge.findNextOnigScannerMatch)(y,T,P,I,F,j),o._findNextOnigScannerMatchDbg=(y,T,P,I,F,j)=>(o._findNextOnigScannerMatchDbg=ge.findNextOnigScannerMatchDbg)(y,T,P,I,F,j),o.__embind_initialize_bindings=()=>(o.__embind_initialize_bindings=ge._embind_initialize_bindings)(),o.dynCall_jiji=(y,T,P,I,F)=>(o.dynCall_jiji=ge.dynCall_jiji)(y,T,P,I,F),o.UTF8ToString=Ue,q=function y(){He||Ln(),He||(q=y)},o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return Ln(),w.ready});i.exports=e}},c={},(function i(e){var w=c[e];if(w!==void 0)return w.exports;var h=c[e]={exports:{}};return s[e].call(h.exports,h,h.exports,i),h.exports})(770);var s,c}))});var yt=Pn((je,gn)=>{(function(s,c){typeof je=="object"&&typeof gn=="object"?gn.exports=c():typeof define=="function"&&define.amd?define([],c):typeof je=="object"?je.vscodetextmate=c():s.vscodetextmate=c()})(je,(()=>(()=>{"use strict";var s={185:(i,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UseOnigurumaFindOptions=e.DebugFlags=void 0,e.DebugFlags={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},e.UseOnigurumaFindOptions=!1},151:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.applyStateStackDiff=e.diffStateStacksRefEq=void 0;let h=w(752);e.diffStateStacksRefEq=function(C,o){let x=0,d=[],b=C,R=o;for(;b!==R;)b&&(!R||b.depth>=R.depth)?(x++,b=b.parent):(d.push(R.toStateStackFrame()),R=R.parent);return{pops:x,newFrames:d.reverse()}},e.applyStateStackDiff=function(C,o){let x=C;for(let d=0;d<o.pops;d++)x=x.parent;for(let d of o.newFrames)x=h.StateStackImpl.pushFrame(x,d);return x}},490:(i,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toOptionalTokenType=e.EncodedTokenAttributes=e.FontAttribute=void 0;class w{constructor(o,x,d){this.fontFamily=o,this.fontSize=x,this.lineHeight=d}static _getKey(o,x,d){return`${o}|${x}|${d}`}static _get(o,x,d){let b=this._getKey(o,x,d),R=this._map.get(b);return R||(R=new w(o,x,d),this._map.set(b,R)),R}static from(o,x,d){return new w(o,x,d)}with(o){return o?w._get(o.fontFamily||this.fontFamily,o.fontSize||this.fontSize,o.lineHeight||this.lineHeight):this}}var h;e.FontAttribute=w,w._map=new Map,(h=e.EncodedTokenAttributes||(e.EncodedTokenAttributes={})).toBinaryStr=function(C){return C.toString(2).padStart(32,"0")},h.print=function(C){let o=h.getLanguageId(C),x=h.getTokenType(C),d=h.getFontStyle(C),b=h.getForeground(C),R=h.getBackground(C);console.log({languageId:o,tokenType:x,fontStyle:d,foreground:b,background:R})},h.getLanguageId=function(C){return(255&C)>>>0},h.getTokenType=function(C){return(768&C)>>>8},h.containsBalancedBrackets=function(C){return!!(1024&C)},h.getFontStyle=function(C){return(30720&C)>>>11},h.getForeground=function(C){return(16744448&C)>>>15},h.getBackground=function(C){return(4278190080&C)>>>24},h.set=function(C,o,x,d,b,R,k){let A=h.getLanguageId(C),E=h.getTokenType(C),m=h.containsBalancedBrackets(C)?1:0,f=h.getFontStyle(C),p=h.getForeground(C),g=h.getBackground(C);return o!==0&&(A=o),x!==8&&(E=x),d!==null&&(m=d?1:0),b!==-1&&(f=b),R!==0&&(p=R),k!==0&&(g=k),(A|E<<8|m<<10|f<<11|p<<15|g<<24)>>>0},e.toOptionalTokenType=function(C){return C}},214:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BasicScopeAttributesProvider=e.BasicScopeAttributes=void 0;let h=w(807);class C{constructor(b,R){this.languageId=b,this.tokenType=R}}e.BasicScopeAttributes=C;class o{constructor(b,R){this._getBasicScopeAttributes=new h.CachedFn((k=>{let A=this._scopeToLanguage(k),E=this._toStandardTokenType(k);return new C(A,E)})),this._defaultAttributes=new C(b,8),this._embeddedLanguagesMatcher=new x(Object.entries(R||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(b){return b===null?o._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(b)}_scopeToLanguage(b){return this._embeddedLanguagesMatcher.match(b)||0}_toStandardTokenType(b){let R=b.match(o.STANDARD_TOKEN_TYPE_REGEXP);if(!R)return 8;switch(R[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}}e.BasicScopeAttributesProvider=o,o._NULL_SCOPE_METADATA=new C(0,0),o.STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/;class x{constructor(b){if(b.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(b);let R=b.map((([k,A])=>h.escapeRegExpCharacters(k)));R.sort(),R.reverse(),this.scopesRegExp=new RegExp(`^((${R.join(")|(")}))($|\\.)`,"")}}match(b){if(!this.scopesRegExp)return;let R=b.match(this.scopesRegExp);return R?this.values.get(R[1]):void 0}}},929:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LineFonts=e.FontInfo=e.LineTokens=e.BalancedBracketSelectors=e.StateStackImpl=e.AttributedScopeStack=e.Grammar=e.createGrammar=void 0;let h=w(185),C=w(490),o=w(916),x=w(810),d=w(666),b=w(63),R=w(807),k=w(214),A=w(398);function E(N,t,l,v,S){let q=o.createMatchers(t,m),D=d.RuleFactory.getCompiledRuleId(l,v,S.repository);for(let M of q)N.push({debugSelector:t,matcher:M.matcher,ruleId:D,grammar:S,priority:M.priority})}function m(N,t){if(t.length<N.length)return!1;let l=0;return N.every((v=>{for(let S=l;S<t.length;S++)if(f(t[S],v))return l=S+1,!0;return!1}))}function f(N,t){if(!N)return!1;if(N===t)return!0;let l=t.length;return N.length>l&&N.substr(0,l)===t&&N[l]==="."}e.createGrammar=function(N,t,l,v,S,q,D,M){return new p(N,t,l,v,S,q,D,M)};class p{constructor(t,l,v,S,q,D,M,O){if(this._rootScopeName=t,this.balancedBracketSelectors=D,this._onigLib=O,this._basicScopeAttributesProvider=new k.BasicScopeAttributesProvider(v,S),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=M,this._grammar=g(l,null),this._injections=null,this._tokenTypeMatchers=[],q)for(let Q of Object.keys(q)){let ne=o.createMatchers(Q,m);for(let Z of ne)this._tokenTypeMatchers.push({matcher:Z.matcher,type:q[Q]})}}get themeProvider(){return this._grammarRepository}dispose(){for(let t of this._ruleId2desc)t&&t.dispose()}createOnigScanner(t){return this._onigLib.createOnigScanner(t)}createOnigString(t){return this._onigLib.createOnigString(t)}getMetadataForScope(t){return this._basicScopeAttributesProvider.getBasicScopeAttributes(t)}_collectInjections(){let t=[],l=this._rootScopeName,v=(S=>S===this._rootScopeName?this._grammar:this.getExternalGrammar(S))(l);if(v){let S=v.injections;if(S)for(let D in S)E(t,D,S[D],this,v);let q=this._grammarRepository.injections(l);q&&q.forEach((D=>{let M=this.getExternalGrammar(D);if(M){let O=M.injectionSelector;O&&E(t,O,M,this,M)}}))}return t.sort(((S,q)=>S.priority-q.priority)),t}getInjections(){if(this._injections===null&&(this._injections=this._collectInjections(),h.DebugFlags.InDebugMode&&this._injections.length>0)){console.log(`Grammar ${this._rootScopeName} contains the following injections:`);for(let t of this._injections)console.log(` - ${t.debugSelector}`)}return this._injections}registerRule(t){let l=++this._lastRuleId,v=t(d.ruleIdFromNumber(l));return this._ruleId2desc[l]=v,v}getRule(t){return this._ruleId2desc[d.ruleIdToNumber(t)]}getExternalGrammar(t,l){if(this._includedGrammars[t])return this._includedGrammars[t];if(this._grammarRepository){let v=this._grammarRepository.lookup(t);if(v)return this._includedGrammars[t]=g(v,l&&l.$base),this._includedGrammars[t]}}tokenizeLine(t,l,v=0){let S=this._tokenize(t,l,!1,v);return{tokens:S.lineTokens.getResult(S.ruleStack,S.lineLength),ruleStack:S.ruleStack,stoppedEarly:S.stoppedEarly,fonts:S.lineFonts.getResult()}}tokenizeLine2(t,l,v=0){let S=this._tokenize(t,l,!0,v);return{tokens:S.lineTokens.getBinaryResult(S.ruleStack,S.lineLength),ruleStack:S.ruleStack,stoppedEarly:S.stoppedEarly,fonts:S.lineFonts.getResult()}}_tokenize(t,l,v,S){let q;if(this._rootId===-1&&(this._rootId=d.RuleFactory.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections()),l&&l!==n.NULL)q=!1,l.reset();else{q=!0;let Z=this._basicScopeAttributesProvider.getDefaultAttributes(),X=this.themeProvider.getDefaults(),ce=C.EncodedTokenAttributes.set(0,Z.languageId,Z.tokenType,null,X.fontStyle,X.foregroundId,X.backgroundId),J=C.FontAttribute.from(X.fontFamily,X.fontSize,X.lineHeight),U=this.getRule(this._rootId).getName(null,null),ae;ae=U?a.createRootAndLookUpScopeName(U,ce,J,this):a.createRoot("unknown",ce,J),l=new n(null,this._rootId,-1,-1,!1,null,ae,ae)}t+=`
`;let D=this.createOnigString(t),M=D.content.length,O=new r(v,t,this._tokenTypeMatchers,this.balancedBracketSelectors),Q=new _,ne=A._tokenizeString(this,D,q,0,l,O,Q,!0,S);return x.disposeOnigString(D),{lineLength:M,lineTokens:O,lineFonts:Q,ruleStack:ne.stack,stoppedEarly:ne.stoppedEarly}}}function g(N,t){return(N=R.clone(N)).repository=N.repository||{},N.repository.$self={$vscodeTextmateLocation:N.$vscodeTextmateLocation,patterns:N.patterns,name:N.scopeName},N.repository.$base=t||N.repository.$self,N}e.Grammar=p;class a{constructor(t,l,v,S,q){this.parent=t,this.scopePath=l,this.tokenAttributes=v,this.fontAttributes=S,this.styleAttributes=q}static fromExtension(t,l){let v=t,S=t?.scopePath??null;for(let q of l)S=b.ScopeStack.push(S,q.scopeNames),v=new a(v,S,q.encodedTokenAttributes,null,null);return v}static createRoot(t,l,v){return new a(null,new b.ScopeStack(null,t),l,v,null)}static createRootAndLookUpScopeName(t,l,v,S){let q=S.getMetadataForScope(t),D=new b.ScopeStack(null,t),M=S.themeProvider.themeMatch(D),O=a.mergeAttributes(l,q,M),Q=v.with(M);return new a(null,D,O,Q,M)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return a.equals(this,t)}static equals(t,l){for(;;){if(t===l||!t&&!l)return!0;if(!t||!l||t.scopeName!==l.scopeName||t.tokenAttributes!==l.tokenAttributes)return!1;t=t.parent,l=l.parent}}static mergeAttributes(t,l,v){let S=-1,q=0,D=0;return v!==null&&(S=v.fontStyle,q=v.foregroundId,D=v.backgroundId),C.EncodedTokenAttributes.set(t,l.languageId,l.tokenType,null,S,q,D)}pushAttributed(t,l){if(t===null)return this;if(t.indexOf(" ")===-1)return a._pushAttributed(this,t,l);let v=t.split(/ /g),S=this;for(let q of v)S=a._pushAttributed(S,q,l);return S}static _pushAttributed(t,l,v){let S=v.getMetadataForScope(l),q=t.scopePath.push(l),D=v.themeProvider.themeMatch(q),M=a.mergeAttributes(t.tokenAttributes,S,D),O=t.fontAttributes?.with(D)??null;return new a(t,q,M,O,D)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let l=[],v=this;for(;v&&v!==t;)l.push({encodedTokenAttributes:v.tokenAttributes,scopeNames:v.scopePath.getExtensionIfDefined(v.parent?.scopePath??null)}),v=v.parent;return v===t?l.reverse():void 0}}e.AttributedScopeStack=a;class n{constructor(t,l,v,S,q,D,M,O){this.parent=t,this.ruleId=l,this.beginRuleCapturedEOL=q,this.endRule=D,this.nameScopesList=M,this.contentNameScopesList=O,this._stackElementBrand=void 0,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=v,this._anchorPos=S}equals(t){return t!==null&&n._equals(this,t)}static _equals(t,l){return t===l||!!this._structuralEquals(t,l)&&a.equals(t.contentNameScopesList,l.contentNameScopesList)}static _structuralEquals(t,l){for(;;){if(t===l||!t&&!l)return!0;if(!t||!l||t.depth!==l.depth||t.ruleId!==l.ruleId||t.endRule!==l.endRule)return!1;t=t.parent,l=l.parent}}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){n._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,l,v,S,q,D,M){return new n(this,t,l,v,S,q,D,M)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,l){return this.parent&&(l=this.parent._writeString(t,l)),t[l++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,l}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new n(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let l=this;for(;l&&l._enterPos===t._enterPos;){if(l.ruleId===t.ruleId)return!0;l=l.parent}return!1}toStateStackFrame(){return{ruleId:d.ruleIdToNumber(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,l){let v=a.fromExtension(t?.nameScopesList??null,l.nameScopesList);return new n(t,d.ruleIdFromNumber(l.ruleId),l.enterPos??-1,l.anchorPos??-1,l.beginRuleCapturedEOL,l.endRule,v,a.fromExtension(v,l.contentNameScopesList))}}e.StateStackImpl=n,n.NULL=new n(null,0,0,0,!1,null,null,null),e.BalancedBracketSelectors=class{constructor(N,t){this.allowAny=!1,this.balancedBracketScopes=N.flatMap((l=>l==="*"?(this.allowAny=!0,[]):o.createMatchers(l,m).map((v=>v.matcher)))),this.unbalancedBracketScopes=t.flatMap((l=>o.createMatchers(l,m).map((v=>v.matcher))))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(N){for(let t of this.unbalancedBracketScopes)if(t(N))return!1;for(let t of this.balancedBracketScopes)if(t(N))return!0;return this.allowAny}};class r{constructor(t,l,v,S){this.balancedBracketSelectors=S,this._emitBinaryTokens=t,this._tokenTypeOverrides=v,h.DebugFlags.InDebugMode?this._lineText=l:this._lineText=null,this._mergeConsecutiveTokensWithEqualMetadata=!R.containsRTL(l),this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(t,l){this.produceFromScopes(t.contentNameScopesList,l)}produceFromScopes(t,l){if(this._lastTokenEndIndex>=l)return;if(this._emitBinaryTokens){let S=t?.tokenAttributes??0,q=!1;if(this.balancedBracketSelectors?.matchesAlways&&(q=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let D=t?.getScopeNames()??[];for(let M of this._tokenTypeOverrides)M.matcher(D)&&(S=C.EncodedTokenAttributes.set(S,0,C.toOptionalTokenType(M.type),null,-1,0,0));this.balancedBracketSelectors&&(q=this.balancedBracketSelectors.match(D))}if(q&&(S=C.EncodedTokenAttributes.set(S,0,8,q,-1,0,0)),this._mergeConsecutiveTokensWithEqualMetadata&&this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===S)return void(this._lastTokenEndIndex=l);if(h.DebugFlags.InDebugMode){let D=t?.getScopeNames()??[];console.log(" token: |"+this._lineText.substring(this._lastTokenEndIndex,l).replace(/\n$/,"\\n")+"|");for(let M=0;M<D.length;M++)console.log(" * "+D[M])}return this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(S),void(this._lastTokenEndIndex=l)}let v=t?.getScopeNames()??[];if(h.DebugFlags.InDebugMode){console.log(" token: |"+this._lineText.substring(this._lastTokenEndIndex,l).replace(/\n$/,"\\n")+"|");for(let S=0;S<v.length;S++)console.log(" * "+v[S])}this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:l,scopes:v}),this._lastTokenEndIndex=l}getResult(t,l){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===l-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(t,l),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(t,l){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===l-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(t,l),this._binaryTokens[this._binaryTokens.length-2]=0);let v=new Uint32Array(this._binaryTokens.length);for(let S=0,q=this._binaryTokens.length;S<q;S++)v[S]=this._binaryTokens[S];return v}}e.LineTokens=r;class u{constructor(t,l,v,S,q){this.startIndex=t,this.endIndex=l,this.fontFamily=v,this.fontSizeMultiplier=S,this.lineHeightMultiplier=q}optionsEqual(t){return this.fontFamily===t.fontFamily&&this.fontSizeMultiplier===t.fontSizeMultiplier&&this.lineHeightMultiplier===t.lineHeightMultiplier}}e.FontInfo=u;class _{constructor(){this._fonts=[],this._lastIndex=0}produce(t,l){this.produceFromScopes(t.contentNameScopesList,l)}produceFromScopes(t,l){if(!t?.fontAttributes)return void(this._lastIndex=l);let v=t.fontAttributes.fontFamily,S=t.fontAttributes.fontSize,q=t.fontAttributes.lineHeight;if(!v&&!S&&!q)return void(this._lastIndex=l);let D=new u(this._lastIndex,l,v,S,q),M=this._fonts[this._fonts.length-1];M&&M.endIndex===this._lastIndex&&M.optionsEqual(D)?M.endIndex=D.endIndex:this._fonts.push(D),this._lastIndex=l}getResult(){return this._fonts}}e.LineFonts=_},784:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseInclude=e.TopLevelRepositoryReference=e.TopLevelReference=e.RelativeReference=e.SelfReference=e.BaseReference=e.ScopeDependencyProcessor=e.ExternalReferenceCollector=e.TopLevelRepositoryRuleReference=e.TopLevelRuleReference=void 0;let h=w(807);class C{constructor(n){this.scopeName=n}toKey(){return this.scopeName}}e.TopLevelRuleReference=C;class o{constructor(n,r){this.scopeName=n,this.ruleName=r}toKey(){return`${this.scopeName}#${this.ruleName}`}}e.TopLevelRepositoryRuleReference=o;class x{constructor(){this._references=[],this._seenReferenceKeys=new Set,this.visitedRule=new Set}get references(){return this._references}add(n){let r=n.toKey();this._seenReferenceKeys.has(r)||(this._seenReferenceKeys.add(r),this._references.push(n))}}function d(a,n,r,u){let _=r.lookup(a.scopeName);if(!_){if(a.scopeName===n)throw new Error(`No grammar provided for <${n}>`);return}let N=r.lookup(n);a instanceof C?R({baseGrammar:N,selfGrammar:_},u):b(a.ruleName,{baseGrammar:N,selfGrammar:_,repository:_.repository},u);let t=r.injections(a.scopeName);if(t)for(let l of t)u.add(new C(l))}function b(a,n,r){n.repository&&n.repository[a]&&k([n.repository[a]],n,r)}function R(a,n){a.selfGrammar.patterns&&Array.isArray(a.selfGrammar.patterns)&&k(a.selfGrammar.patterns,{...a,repository:a.selfGrammar.repository},n),a.selfGrammar.injections&&k(Object.values(a.selfGrammar.injections),{...a,repository:a.selfGrammar.repository},n)}function k(a,n,r){for(let u of a){if(r.visitedRule.has(u))continue;r.visitedRule.add(u);let _=u.repository?h.mergeObjects({},n.repository,u.repository):n.repository;Array.isArray(u.patterns)&&k(u.patterns,{...n,repository:_},r);let N=u.include;if(!N)continue;let t=g(N);switch(t.kind){case 0:R({...n,selfGrammar:n.baseGrammar},r);break;case 1:R(n,r);break;case 2:b(t.ruleName,{...n,repository:_},r);break;case 3:case 4:let l=t.scopeName===n.selfGrammar.scopeName?n.selfGrammar:t.scopeName===n.baseGrammar.scopeName?n.baseGrammar:void 0;if(l){let v={baseGrammar:n.baseGrammar,selfGrammar:l,repository:_};t.kind===4?b(t.ruleName,v,r):R(v,r)}else t.kind===4?r.add(new o(t.scopeName,t.ruleName)):r.add(new C(t.scopeName))}}}e.ExternalReferenceCollector=x,e.ScopeDependencyProcessor=class{constructor(a,n){this.repo=a,this.initialScopeName=n,this.seenFullScopeRequests=new Set,this.seenPartialScopeRequests=new Set,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new C(this.initialScopeName)]}processQueue(){let a=this.Q;this.Q=[];let n=new x;for(let r of a)d(r,this.initialScopeName,this.repo,n);for(let r of n.references)if(r instanceof C){if(this.seenFullScopeRequests.has(r.scopeName))continue;this.seenFullScopeRequests.add(r.scopeName),this.Q.push(r)}else{if(this.seenFullScopeRequests.has(r.scopeName)||this.seenPartialScopeRequests.has(r.toKey()))continue;this.seenPartialScopeRequests.add(r.toKey()),this.Q.push(r)}}};class A{constructor(){this.kind=0}}e.BaseReference=A;class E{constructor(){this.kind=1}}e.SelfReference=E;class m{constructor(n){this.ruleName=n,this.kind=2}}e.RelativeReference=m;class f{constructor(n){this.scopeName=n,this.kind=3}}e.TopLevelReference=f;class p{constructor(n,r){this.scopeName=n,this.ruleName=r,this.kind=4}}function g(a){if(a==="$base")return new A;if(a==="$self")return new E;let n=a.indexOf("#");if(n===-1)return new f(a);if(n===0)return new m(a.substring(1));{let r=a.substring(0,n),u=a.substring(n+1);return new p(r,u)}}e.TopLevelRepositoryReference=p,e.parseInclude=g},752:function(i,e,w){var h=this&&this.__createBinding||(Object.create?function(o,x,d,b){b===void 0&&(b=d),Object.defineProperty(o,b,{enumerable:!0,get:function(){return x[d]}})}:function(o,x,d,b){b===void 0&&(b=d),o[b]=x[d]}),C=this&&this.__exportStar||function(o,x){for(var d in o)d==="default"||Object.prototype.hasOwnProperty.call(x,d)||h(x,o,d)};Object.defineProperty(e,"__esModule",{value:!0}),C(w(929),e)},398:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LocalStackElement=e._tokenizeString=void 0;let h=w(185),C=w(810),o=w(666),x=w(807);class d{constructor(p,g){this.stack=p,this.stoppedEarly=g}}function b(f,p,g,a,n,r,u,_,N){let t=(M,O)=>{r.produce(M,O),u.produce(M,O)},l=p.content.length,v=!1,S=-1;if(_){let M=(function(O,Q,ne,Z,X,ce,J){let U=(z,K)=>{ce.produce(z,K),J.produce(z,K)},ae=X.beginRuleCapturedEOL?0:-1,L=[];for(let z=X;z;z=z.pop()){let K=z.getRule(O);K instanceof o.BeginWhileRule&&L.push({rule:K,stack:z})}for(let z=L.pop();z;z=L.pop()){let{ruleScanner:K,findOptions:ye}=k(z.rule,O,z.stack.endRule,ne,Z===ae),pe=K.findNextMatchSync(Q,Z,ye);if(h.DebugFlags.InDebugMode&&(console.log(" scanning for while rule"),console.log(K.toString())),!pe){h.DebugFlags.InDebugMode&&console.log(" popping "+z.rule.debugName+" - "+z.rule.debugWhileRegExp),X=z.stack.pop();break}if(pe.ruleId!==o.whileRuleId){X=z.stack.pop();break}pe.captureIndices&&pe.captureIndices.length&&(U(z.stack,pe.captureIndices[0].start),E(O,Q,ne,z.stack,ce,J,z.rule.whileCaptures,pe.captureIndices),U(z.stack,pe.captureIndices[0].end),ae=pe.captureIndices[0].end,pe.captureIndices[0].end>Z&&(Z=pe.captureIndices[0].end,ne=!1))}return{stack:X,linePos:Z,anchorPosition:ae,isFirstLine:ne}})(f,p,g,a,n,r,u);n=M.stack,a=M.linePos,g=M.isFirstLine,S=M.anchorPosition}let q=Date.now();for(;!v;){if(N!==0&&Date.now()-q>N)return new d(n,!0);D()}return new d(n,!1);function D(){h.DebugFlags.InDebugMode&&(console.log(""),console.log(`@@scanNext ${a}: |${p.content.substr(a).replace(/\n$/,"\\n")}|`));let M=(function(Z,X,ce,J,U,ae){let L=(function(me,xe,de,Te,Ce,Oe){let ve=Ce.getRule(me),{ruleScanner:Ne,findOptions:Re}=R(ve,me,Ce.endRule,de,Te===Oe),Se=0;h.DebugFlags.InDebugMode&&(Se=x.performanceNow());let he=Ne.findNextMatchSync(xe,Te,Re);if(h.DebugFlags.InDebugMode){let Ie=x.performanceNow()-Se;Ie>5&&console.warn(`Rule ${ve.debugName} (${ve.id}) matching took ${Ie} against '${xe}'`),console.log(` scanning for (linePos: ${Te}, anchorPosition: ${Oe})`),console.log(Ne.toString()),he&&console.log(`matched rule id: ${he.ruleId} from ${he.captureIndices[0].start} to ${he.captureIndices[0].end}`)}return he?{captureIndices:he.captureIndices,matchedRuleId:he.ruleId}:null})(Z,X,ce,J,U,ae),z=Z.getInjections();if(z.length===0)return L;let K=(function(me,xe,de,Te,Ce,Oe,ve){let Ne,Re=Number.MAX_VALUE,Se=null,he=0,Ie=Oe.contentNameScopesList.getScopeNames();for(let Fe=0,Ue=me.length;Fe<Ue;Fe++){let De=me[Fe];if(!De.matcher(Ie))continue;let sn=xe.getRule(De.ruleId),{ruleScanner:Ke,findOptions:cn}=R(sn,xe,null,Te,Ce===ve),Me=Ke.findNextMatchSync(de,Ce,cn);if(!Me)continue;h.DebugFlags.InDebugMode&&(console.log(` matched injection: ${De.debugSelector}`),console.log(Ke.toString()));let Ve=Me.captureIndices[0].start;if(!(Ve>=Re)&&(Re=Ve,Se=Me.captureIndices,Ne=Me.ruleId,he=De.priority,Re===Ce))break}return Se?{priorityMatch:he===-1,captureIndices:Se,matchedRuleId:Ne}:null})(z,Z,X,ce,J,U,ae);if(!K)return L;if(!L)return K;let ye=L.captureIndices[0].start,pe=K.captureIndices[0].start;return pe<ye||K.priorityMatch&&pe===ye?K:L})(f,p,g,a,n,S);if(!M)return h.DebugFlags.InDebugMode&&console.log(" no more matches."),t(n,l),void(v=!0);let O=M.captureIndices,Q=M.matchedRuleId,ne=!!(O&&O.length>0)&&O[0].end>a;if(Q===o.endRuleId){let Z=n.getRule(f);h.DebugFlags.InDebugMode&&console.log(" popping "+Z.debugName+" - "+Z.debugEndRegExp),t(n,O[0].start),n=n.withContentNameScopesList(n.nameScopesList),E(f,p,g,n,r,u,Z.endCaptures,O),t(n,O[0].end);let X=n;if(n=n.parent,S=X.getAnchorPos(),!ne&&X.getEnterPos()===a)return h.DebugFlags.InDebugMode&&console.error("[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing"),t(n=X,l),void(v=!0)}else{let Z=f.getRule(Q);t(n,O[0].start);let X=n,ce=Z.getName(p.content,O),J=n.contentNameScopesList.pushAttributed(ce,f);if(n=n.push(Q,a,S,O[0].end===l,null,J,J),Z instanceof o.BeginEndRule){let U=Z;h.DebugFlags.InDebugMode&&console.log(" pushing "+U.debugName+" - "+U.debugBeginRegExp),E(f,p,g,n,r,u,U.beginCaptures,O),t(n,O[0].end),S=O[0].end;let ae=U.getContentName(p.content,O),L=J.pushAttributed(ae,f);if(n=n.withContentNameScopesList(L),U.endHasBackReferences&&(n=n.withEndRule(U.getEndWithResolvedBackReferences(p.content,O))),!ne&&X.hasSameRuleAs(n))return h.DebugFlags.InDebugMode&&console.error("[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing"),n=n.pop(),t(n,l),void(v=!0)}else if(Z instanceof o.BeginWhileRule){let U=Z;h.DebugFlags.InDebugMode&&console.log(" pushing "+U.debugName),E(f,p,g,n,r,u,U.beginCaptures,O),t(n,O[0].end),S=O[0].end;let ae=U.getContentName(p.content,O),L=J.pushAttributed(ae,f);if(n=n.withContentNameScopesList(L),U.whileHasBackReferences&&(n=n.withEndRule(U.getWhileWithResolvedBackReferences(p.content,O))),!ne&&X.hasSameRuleAs(n))return h.DebugFlags.InDebugMode&&console.error("[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing"),n=n.pop(),t(n,l),void(v=!0)}else{let U=Z;if(h.DebugFlags.InDebugMode&&console.log(" matched "+U.debugName+" - "+U.debugMatchRegExp),E(f,p,g,n,r,u,U.captures,O),t(n,O[0].end),n=n.pop(),!ne)return h.DebugFlags.InDebugMode&&console.error("[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping"),n=n.safePop(),t(n,l),void(v=!0)}}O[0].end>a&&(a=O[0].end,g=!1)}}function R(f,p,g,a,n){return h.UseOnigurumaFindOptions?{ruleScanner:f.compile(p,g),findOptions:A(a,n)}:{ruleScanner:f.compileAG(p,g,a,n),findOptions:0}}function k(f,p,g,a,n){return h.UseOnigurumaFindOptions?{ruleScanner:f.compileWhile(p,g),findOptions:A(a,n)}:{ruleScanner:f.compileWhileAG(p,g,a,n),findOptions:0}}function A(f,p){let g=0;return f||(g|=1),p||(g|=4),g}function E(f,p,g,a,n,r,u,_){let N=(D,M)=>{n.produceFromScopes(D,M),r.produceFromScopes(D,M)},t=(D,M)=>{n.produce(D,M),r.produce(D,M)};if(u.length===0)return;let l=p.content,v=Math.min(u.length,_.length),S=[],q=_[0].end;for(let D=0;D<v;D++){let M=u[D];if(M===null)continue;let O=_[D];if(O.length===0)continue;if(O.start>q)break;for(;S.length>0&&S[S.length-1].endPos<=O.start;)N(S[S.length-1].scopes,S[S.length-1].endPos),S.pop();if(S.length>0?N(S[S.length-1].scopes,O.start):t(a,O.start),M.retokenizeCapturedWithRuleId){let ne=M.getName(l,_),Z=a.contentNameScopesList.pushAttributed(ne,f),X=M.getContentName(l,_),ce=Z.pushAttributed(X,f),J=a.push(M.retokenizeCapturedWithRuleId,O.start,-1,!1,null,Z,ce),U=f.createOnigString(l.substring(0,O.end));b(f,U,g&&O.start===0,O.start,J,n,r,!1,0),C.disposeOnigString(U);continue}let Q=M.getName(l,_);if(Q!==null){let ne=(S.length>0?S[S.length-1].scopes:a.contentNameScopesList).pushAttributed(Q,f);S.push(new m(ne,O.end))}}for(;S.length>0;)N(S[S.length-1].scopes,S[S.length-1].endPos),S.pop()}e._tokenizeString=b;class m{constructor(p,g){this.scopes=p,this.endPos=g}}e.LocalStackElement=m},726:(i,e)=>{function w(x,d){throw new Error("Near offset "+x.pos+": "+d+" ~~~"+x.source.substr(x.pos,50)+"~~~")}Object.defineProperty(e,"__esModule",{value:!0}),e.parseJSON=void 0,e.parseJSON=function(x,d,b){let R=new h(x),k=new C,A=0,E=null,m=[],f=[];function p(){m.push(A),f.push(E)}function g(){A=m.pop(),E=f.pop()}function a(n){w(R,n)}for(;o(R,k);){if(A===0){if(E!==null&&a("too many constructs in root"),k.type===3){E={},b&&(E.$vscodeTextmateLocation=k.toLocation(d)),p(),A=1;continue}if(k.type===2){E=[],p(),A=4;continue}a("unexpected token in root")}if(A===2){if(k.type===5){g();continue}if(k.type===7){A=3;continue}a("expected , or }")}if(A===1||A===3){if(A===1&&k.type===5){g();continue}if(k.type===1){let n=k.value;if(o(R,k)&&k.type===6||a("expected colon"),o(R,k)||a("expected value"),A=2,k.type===1){E[n]=k.value;continue}if(k.type===8){E[n]=null;continue}if(k.type===9){E[n]=!0;continue}if(k.type===10){E[n]=!1;continue}if(k.type===11){E[n]=parseFloat(k.value);continue}if(k.type===2){let r=[];E[n]=r,p(),A=4,E=r;continue}if(k.type===3){let r={};b&&(r.$vscodeTextmateLocation=k.toLocation(d)),E[n]=r,p(),A=1,E=r;continue}}a("unexpected token in dict")}if(A===5){if(k.type===4){g();continue}if(k.type===7){A=6;continue}a("expected , or ]")}if(A===4||A===6){if(A===4&&k.type===4){g();continue}if(A=5,k.type===1){E.push(k.value);continue}if(k.type===8){E.push(null);continue}if(k.type===9){E.push(!0);continue}if(k.type===10){E.push(!1);continue}if(k.type===11){E.push(parseFloat(k.value));continue}if(k.type===2){let n=[];E.push(n),p(),A=4,E=n;continue}if(k.type===3){let n={};b&&(n.$vscodeTextmateLocation=k.toLocation(d)),E.push(n),p(),A=1,E=n;continue}a("unexpected token in array")}a("unknown state")}return f.length!==0&&a("unclosed constructs"),E};class h{constructor(d){this.source=d,this.pos=0,this.len=d.length,this.line=1,this.char=0}}class C{constructor(){this.value=null,this.type=0,this.offset=-1,this.len=-1,this.line=-1,this.char=-1}toLocation(d){return{filename:d,line:this.line,char:this.char}}}function o(x,d){d.value=null,d.type=0,d.offset=-1,d.len=-1,d.line=-1,d.char=-1;let b,R=x.source,k=x.pos,A=x.len,E=x.line,m=x.char;for(;;){if(k>=A)return!1;if(b=R.charCodeAt(k),b!==32&&b!==9&&b!==13){if(b!==10)break;k++,E++,m=0}else k++,m++}if(d.offset=k,d.line=E,d.char=m,b===34){for(d.type=1,k++,m++;;){if(k>=A)return!1;if(b=R.charCodeAt(k),k++,m++,b!==92){if(b===34)break}else k++,m++}d.value=R.substring(d.offset+1,k-1).replace(/\\u([0-9A-Fa-f]{4})/g,((f,p)=>String.fromCodePoint(parseInt(p,16)))).replace(/\\(.)/g,((f,p)=>{switch(p){case'"':return'"';case"\\":return"\\";case"/":return"/";case"b":return"\b";case"f":return"\f";case"n":return`
`;case"r":return"\r";case"t":return" ";default:w(x,"invalid escape sequence")}throw new Error("unreachable")}))}else if(b===91)d.type=2,k++,m++;else if(b===123)d.type=3,k++,m++;else if(b===93)d.type=4,k++,m++;else if(b===125)d.type=5,k++,m++;else if(b===58)d.type=6,k++,m++;else if(b===44)d.type=7,k++,m++;else if(b===110){if(d.type=8,k++,m++,b=R.charCodeAt(k),b!==117||(k++,m++,b=R.charCodeAt(k),b!==108)||(k++,m++,b=R.charCodeAt(k),b!==108))return!1;k++,m++}else if(b===116){if(d.type=9,k++,m++,b=R.charCodeAt(k),b!==114||(k++,m++,b=R.charCodeAt(k),b!==117)||(k++,m++,b=R.charCodeAt(k),b!==101))return!1;k++,m++}else if(b===102){if(d.type=10,k++,m++,b=R.charCodeAt(k),b!==97||(k++,m++,b=R.charCodeAt(k),b!==108)||(k++,m++,b=R.charCodeAt(k),b!==115)||(k++,m++,b=R.charCodeAt(k),b!==101))return!1;k++,m++}else for(d.type=11;;){if(k>=A)return!1;if(b=R.charCodeAt(k),!(b===46||b>=48&&b<=57||b===101||b===69||b===45||b===43))break;k++,m++}return d.len=k-d.offset,d.value===null&&(d.value=R.substr(d.offset,d.len)),x.pos=k,x.line=E,x.char=m,!0}},625:function(i,e,w){var h=this&&this.__createBinding||(Object.create?function(A,E,m,f){f===void 0&&(f=m),Object.defineProperty(A,f,{enumerable:!0,get:function(){return E[m]}})}:function(A,E,m,f){f===void 0&&(f=m),A[f]=E[m]}),C=this&&this.__exportStar||function(A,E){for(var m in A)m==="default"||Object.prototype.hasOwnProperty.call(E,m)||h(E,A,m)};Object.defineProperty(e,"__esModule",{value:!0}),e.applyStateStackDiff=e.diffStateStacksRefEq=e.parseRawGrammar=e.INITIAL=e.Registry=void 0;let o=w(752),x=w(150),d=w(583),b=w(63),R=w(784),k=w(151);Object.defineProperty(e,"applyStateStackDiff",{enumerable:!0,get:function(){return k.applyStateStackDiff}}),Object.defineProperty(e,"diffStateStacksRefEq",{enumerable:!0,get:function(){return k.diffStateStacksRefEq}}),C(w(810),e),e.Registry=class{constructor(A){this._options=A,this._syncRegistry=new d.SyncRegistry(b.Theme.createFromRawTheme(A.theme,A.colorMap),A.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(A,E){this._syncRegistry.setTheme(b.Theme.createFromRawTheme(A,E))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(A,E,m){return this.loadGrammarWithConfiguration(A,E,{embeddedLanguages:m})}loadGrammarWithConfiguration(A,E,m){return this._loadGrammar(A,E,m.embeddedLanguages,m.tokenTypes,new o.BalancedBracketSelectors(m.balancedBracketSelectors||[],m.unbalancedBracketSelectors||[]))}loadGrammar(A){return this._loadGrammar(A,0,null,null,null)}async _loadGrammar(A,E,m,f,p){let g=new R.ScopeDependencyProcessor(this._syncRegistry,A);for(;g.Q.length>0;)await Promise.all(g.Q.map((a=>this._loadSingleGrammar(a.scopeName)))),g.processQueue();return this._grammarForScopeName(A,E,m,f,p)}async _loadSingleGrammar(A){return this._ensureGrammarCache.has(A)||this._ensureGrammarCache.set(A,this._doLoadSingleGrammar(A)),this._ensureGrammarCache.get(A)}async _doLoadSingleGrammar(A){let E=await this._options.loadGrammar(A);if(E){let m=typeof this._options.getInjections=="function"?this._options.getInjections(A):void 0;this._syncRegistry.addGrammar(E,m)}}async addGrammar(A,E=[],m=0,f=null){return this._syncRegistry.addGrammar(A,E),await this._grammarForScopeName(A.scopeName,m,f)}_grammarForScopeName(A,E=0,m=null,f=null,p=null){return this._syncRegistry.grammarForScopeName(A,E,m,f,p)}},e.INITIAL=o.StateStackImpl.NULL,e.parseRawGrammar=x.parseRawGrammar},916:(i,e)=>{function w(h){return!!h&&!!h.match(/[\w\.:]+/)}Object.defineProperty(e,"__esModule",{value:!0}),e.createMatchers=void 0,e.createMatchers=function(h,C){let o=[],x=(function(k){let A=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,E=A.exec(k);return{next:()=>{if(!E)return null;let m=E[0];return E=A.exec(k),m}}})(h),d=x.next();for(;d!==null;){let k=0;if(d.length===2&&d.charAt(1)===":"){switch(d.charAt(0)){case"R":k=1;break;case"L":k=-1;break;default:console.log(`Unknown priority ${d} in scope selector`)}d=x.next()}let A=R();if(o.push({matcher:A,priority:k}),d!==",")break;d=x.next()}return o;function b(){if(d==="-"){d=x.next();let k=b();return A=>!!k&&!k(A)}if(d==="("){d=x.next();let k=(function(){let A=[],E=R();for(;E&&(A.push(E),d==="|"||d===",");){do d=x.next();while(d==="|"||d===",");E=R()}return m=>A.some((f=>f(m)))})();return d===")"&&(d=x.next()),k}if(w(d)){let k=[];do k.push(d),d=x.next();while(w(d));return A=>C(k,A)}return null}function R(){let k=[],A=b();for(;A;)k.push(A),A=b();return E=>k.every((m=>m(E)))}}},810:(i,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.disposeOnigString=void 0,e.disposeOnigString=function(w){typeof w.dispose=="function"&&w.dispose()}},150:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.parseRawGrammar=void 0;let h=w(578),C=w(185),o=w(726);e.parseRawGrammar=function(x,d=null){return d!==null&&/\.json$/.test(d)?(b=x,R=d,C.DebugFlags.InDebugMode?o.parseJSON(b,R,!0):JSON.parse(b)):(function(k,A){return C.DebugFlags.InDebugMode?h.parseWithLocation(k,A,"$vscodeTextmateLocation"):h.parsePLIST(k)})(x,d);var b,R}},578:(i,e)=>{function w(h,C,o){let x=h.length,d=0,b=1,R=0;function k(L){if(o===null)d+=L;else for(;L>0;)h.charCodeAt(d)===10?(d++,b++,R=0):(d++,R++),L--}function A(L){o===null?d=L:k(L-d)}function E(){for(;d<x;){let L=h.charCodeAt(d);if(L!==32&&L!==9&&L!==13&&L!==10)break;k(1)}}function m(L){return h.substr(d,L.length)===L&&(k(L.length),!0)}function f(L){let z=h.indexOf(L,d);A(z!==-1?z+L.length:x)}function p(L){let z=h.indexOf(L,d);if(z!==-1){let K=h.substring(d,z);return A(z+L.length),K}{let K=h.substr(d);return A(x),K}}x>0&&h.charCodeAt(0)===65279&&(d=1);let g=0,a=null,n=[],r=[],u=null;function _(L,z){n.push(g),r.push(a),g=L,a=z}function N(){if(n.length===0)return t("illegal state stack");g=n.pop(),a=r.pop()}function t(L){throw new Error("Near offset "+d+": "+L+" ~~~"+h.substr(d,50)+"~~~")}let l=function(){if(u===null)return t("missing <key>");let L={};o!==null&&(L[o]={filename:C,line:b,char:R}),a[u]=L,u=null,_(1,L)},v=function(){if(u===null)return t("missing <key>");let L=[];a[u]=L,u=null,_(2,L)},S=function(){let L={};o!==null&&(L[o]={filename:C,line:b,char:R}),a.push(L),_(1,L)},q=function(){let L=[];a.push(L),_(2,L)};function D(){if(g!==1)return t("unexpected </dict>");N()}function M(){return g===1||g!==2?t("unexpected </array>"):void N()}function O(L){if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function Q(L){if(isNaN(L))return t("cannot parse float");if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function ne(L){if(isNaN(L))return t("cannot parse integer");if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function Z(L){if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function X(L){if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function ce(L){if(g===1){if(u===null)return t("missing <key>");a[u]=L,u=null}else g===2?a.push(L):a=L}function J(){let L=p(">"),z=!1;return L.charCodeAt(L.length-1)===47&&(z=!0,L=L.substring(0,L.length-1)),{name:L.trim(),isClosed:z}}function U(L){if(L.isClosed)return"";let z=p("</");return f(">"),z.replace(/&#([0-9]+);/g,(function(K,ye){return String.fromCodePoint(parseInt(ye,10))})).replace(/&#x([0-9a-f]+);/g,(function(K,ye){return String.fromCodePoint(parseInt(ye,16))})).replace(/&amp;|&lt;|&gt;|&quot;|&apos;/g,(function(K){switch(K){case"&amp;":return"&";case"&lt;":return"<";case"&gt;":return">";case"&quot;":return'"';case"&apos;":return"'"}return K}))}for(;d<x&&(E(),!(d>=x));){let L=h.charCodeAt(d);if(k(1),L!==60)return t("expected <");if(d>=x)return t("unexpected end of input");let z=h.charCodeAt(d);if(z===63){k(1),f("?>");continue}if(z===33){if(k(1),m("--")){f("-->");continue}f(">");continue}if(z===47){if(k(1),E(),m("plist")){f(">");continue}if(m("dict")){f(">"),D();continue}if(m("array")){f(">"),M();continue}return t("unexpected closed tag")}let K=J();switch(K.name){case"dict":g===1?l():g===2?S():(a={},o!==null&&(a[o]={filename:C,line:b,char:R}),_(1,a)),K.isClosed&&D();continue;case"array":g===1?v():g===2?q():(a=[],_(2,a)),K.isClosed&&M();continue;case"key":ae=U(K),g!==1?t("unexpected <key>"):u!==null?t("too many <key>"):u=ae;continue;case"string":O(U(K));continue;case"real":Q(parseFloat(U(K)));continue;case"integer":ne(parseInt(U(K),10));continue;case"date":Z(new Date(U(K)));continue;case"data":X(U(K));continue;case"true":U(K),ce(!0);continue;case"false":U(K),ce(!1);continue}if(!/^plist/.test(K.name))return t("unexpected opened tag "+K.name)}var ae;return a}Object.defineProperty(e,"__esModule",{value:!0}),e.parsePLIST=e.parseWithLocation=void 0,e.parseWithLocation=function(h,C,o){return w(h,C,o)},e.parsePLIST=function(h){return w(h,null,null)}},583:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SyncRegistry=void 0;let h=w(752);e.SyncRegistry=class{constructor(C,o){this._onigLibPromise=o,this._grammars=new Map,this._rawGrammars=new Map,this._injectionGrammars=new Map,this._theme=C}dispose(){for(let C of this._grammars.values())C.dispose()}setTheme(C){this._theme=C}getColorMap(){return this._theme.getColorMap()}addGrammar(C,o){this._rawGrammars.set(C.scopeName,C),o&&this._injectionGrammars.set(C.scopeName,o)}lookup(C){return this._rawGrammars.get(C)}injections(C){return this._injectionGrammars.get(C)}getDefaults(){return this._theme.getDefaults()}themeMatch(C){return this._theme.match(C)}async grammarForScopeName(C,o,x,d,b){if(!this._grammars.has(C)){let R=this._rawGrammars.get(C);if(!R)return null;this._grammars.set(C,h.createGrammar(C,R,o,x,d,b,this,await this._onigLibPromise))}return this._grammars.get(C)}}},666:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CompiledRule=e.RegExpSourceList=e.RegExpSource=e.RuleFactory=e.BeginWhileRule=e.BeginEndRule=e.IncludeOnlyRule=e.MatchRule=e.CaptureRule=e.Rule=e.ruleIdToNumber=e.ruleIdFromNumber=e.whileRuleId=e.endRuleId=void 0;let h=w(807),C=w(784),o=/\\(\d+)/,x=/\\(\d+)/g;e.endRuleId=-1,e.whileRuleId=-2,e.ruleIdFromNumber=function(a){return a},e.ruleIdToNumber=function(a){return a};class d{constructor(n,r,u,_){this.$location=n,this.id=r,this._name=u||null,this._nameIsCapturing=h.RegexSource.hasCaptures(this._name),this._contentName=_||null,this._contentNameIsCapturing=h.RegexSource.hasCaptures(this._contentName)}get debugName(){let n=this.$location?`${h.basename(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${n}`}getName(n,r){return this._nameIsCapturing&&this._name!==null&&n!==null&&r!==null?h.RegexSource.replaceCaptures(this._name,n,r):this._name}getContentName(n,r){return this._contentNameIsCapturing&&this._contentName!==null?h.RegexSource.replaceCaptures(this._contentName,n,r):this._contentName}}e.Rule=d;class b extends d{constructor(n,r,u,_,N){super(n,r,u,_),this.retokenizeCapturedWithRuleId=N}dispose(){}collectPatterns(n,r){throw new Error("Not supported!")}compile(n,r){throw new Error("Not supported!")}compileAG(n,r,u,_){throw new Error("Not supported!")}}e.CaptureRule=b;class R extends d{constructor(n,r,u,_,N){super(n,r,u,null),this._match=new f(_,this.id),this.captures=N,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(n,r){r.push(this._match)}compile(n,r){return this._getCachedCompiledPatterns(n).compile(n)}compileAG(n,r,u,_){return this._getCachedCompiledPatterns(n).compileAG(n,u,_)}_getCachedCompiledPatterns(n){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new p,this.collectPatterns(n,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}}e.MatchRule=R;class k extends d{constructor(n,r,u,_,N){super(n,r,u,_),this.patterns=N.patterns,this.hasMissingPatterns=N.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(n,r){for(let u of this.patterns)n.getRule(u).collectPatterns(n,r)}compile(n,r){return this._getCachedCompiledPatterns(n).compile(n)}compileAG(n,r,u,_){return this._getCachedCompiledPatterns(n).compileAG(n,u,_)}_getCachedCompiledPatterns(n){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new p,this.collectPatterns(n,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}}e.IncludeOnlyRule=k;class A extends d{constructor(n,r,u,_,N,t,l,v,S,q){super(n,r,u,_),this._begin=new f(N,this.id),this.beginCaptures=t,this._end=new f(l||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=v,this.applyEndPatternLast=S||!1,this.patterns=q.patterns,this.hasMissingPatterns=q.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(n,r){return this._end.resolveBackReferences(n,r)}collectPatterns(n,r){r.push(this._begin)}compile(n,r){return this._getCachedCompiledPatterns(n,r).compile(n)}compileAG(n,r,u,_){return this._getCachedCompiledPatterns(n,r).compileAG(n,u,_)}_getCachedCompiledPatterns(n,r){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new p;for(let u of this.patterns)n.getRule(u).collectPatterns(n,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,r):this._cachedCompiledPatterns.setSource(0,r)),this._cachedCompiledPatterns}}e.BeginEndRule=A;class E extends d{constructor(n,r,u,_,N,t,l,v,S){super(n,r,u,_),this._begin=new f(N,this.id),this.beginCaptures=t,this.whileCaptures=v,this._while=new f(l,e.whileRuleId),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=S.patterns,this.hasMissingPatterns=S.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(n,r){return this._while.resolveBackReferences(n,r)}collectPatterns(n,r){r.push(this._begin)}compile(n,r){return this._getCachedCompiledPatterns(n).compile(n)}compileAG(n,r,u,_){return this._getCachedCompiledPatterns(n).compileAG(n,u,_)}_getCachedCompiledPatterns(n){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new p;for(let r of this.patterns)n.getRule(r).collectPatterns(n,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(n,r){return this._getCachedCompiledWhilePatterns(n,r).compile(n)}compileWhileAG(n,r,u,_){return this._getCachedCompiledWhilePatterns(n,r).compileAG(n,u,_)}_getCachedCompiledWhilePatterns(n,r){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new p,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,r||"\uFFFF"),this._cachedCompiledWhilePatterns}}e.BeginWhileRule=E;class m{static createCaptureRule(n,r,u,_,N){return n.registerRule((t=>new b(r,t,u,_,N)))}static getCompiledRuleId(n,r,u){return n.id||r.registerRule((_=>{if(n.id=_,n.match)return new R(n.$vscodeTextmateLocation,n.id,n.name,n.match,m._compileCaptures(n.captures,r,u));if(n.begin===void 0){n.repository&&(u=h.mergeObjects({},u,n.repository));let N=n.patterns;return N===void 0&&n.include&&(N=[{include:n.include}]),new k(n.$vscodeTextmateLocation,n.id,n.name,n.contentName,m._compilePatterns(N,r,u))}return n.while?new E(n.$vscodeTextmateLocation,n.id,n.name,n.contentName,n.begin,m._compileCaptures(n.beginCaptures||n.captures,r,u),n.while,m._compileCaptures(n.whileCaptures||n.captures,r,u),m._compilePatterns(n.patterns,r,u)):new A(n.$vscodeTextmateLocation,n.id,n.name,n.contentName,n.begin,m._compileCaptures(n.beginCaptures||n.captures,r,u),n.end,m._compileCaptures(n.endCaptures||n.captures,r,u),n.applyEndPatternLast,m._compilePatterns(n.patterns,r,u))})),n.id}static _compileCaptures(n,r,u){let _=[];if(n){let N=0;for(let t in n){if(t==="$vscodeTextmateLocation")continue;let l=parseInt(t,10);l>N&&(N=l)}for(let t=0;t<=N;t++)_[t]=null;for(let t in n){if(t==="$vscodeTextmateLocation")continue;let l=parseInt(t,10),v=0;n[t].patterns&&(v=m.getCompiledRuleId(n[t],r,u)),_[l]=m.createCaptureRule(r,n[t].$vscodeTextmateLocation,n[t].name,n[t].contentName,v)}}return _}static _compilePatterns(n,r,u){let _=[];if(n)for(let N=0,t=n.length;N<t;N++){let l=n[N],v=-1;if(l.include){let S=C.parseInclude(l.include);switch(S.kind){case 0:case 1:v=m.getCompiledRuleId(u[l.include],r,u);break;case 2:let q=u[S.ruleName];q&&(v=m.getCompiledRuleId(q,r,u));break;case 3:case 4:let D=S.scopeName,M=S.kind===4?S.ruleName:null,O=r.getExternalGrammar(D,u);if(O)if(M){let Q=O.repository[M];Q&&(v=m.getCompiledRuleId(Q,r,O.repository))}else v=m.getCompiledRuleId(O.repository.$self,r,O.repository)}}else v=m.getCompiledRuleId(l,r,u);if(v!==-1){let S=r.getRule(v),q=!1;if((S instanceof k||S instanceof A||S instanceof E)&&S.hasMissingPatterns&&S.patterns.length===0&&(q=!0),q)continue;_.push(v)}}return{patterns:_,hasMissingPatterns:(n?n.length:0)!==_.length}}}e.RuleFactory=m;class f{constructor(n,r){if(n){let u=n.length,_=0,N=[],t=!1;for(let l=0;l<u;l++)if(n.charAt(l)==="\\"&&l+1<u){let v=n.charAt(l+1);v==="z"?(N.push(n.substring(_,l)),N.push("$(?!\\n)(?<!\\n)"),_=l+2):v!=="A"&&v!=="G"||(t=!0),l++}this.hasAnchor=t,_===0?this.source=n:(N.push(n.substring(_,u)),this.source=N.join(""))}else this.hasAnchor=!1,this.source=n;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=r,this.hasBackReferences=o.test(this.source)}clone(){return new f(this.source,this.ruleId)}setSource(n){this.source!==n&&(this.source=n,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(n,r){let u=r.map((_=>n.substring(_.start,_.end)));return x.lastIndex=0,this.source.replace(x,((_,N)=>h.escapeRegExpCharacters(u[parseInt(N,10)]||"")))}_buildAnchorCache(){let n,r,u,_,N=[],t=[],l=[],v=[];for(n=0,r=this.source.length;n<r;n++)u=this.source.charAt(n),N[n]=u,t[n]=u,l[n]=u,v[n]=u,u==="\\"&&n+1<r&&(_=this.source.charAt(n+1),_==="A"?(N[n+1]="\uFFFF",t[n+1]="\uFFFF",l[n+1]="A",v[n+1]="A"):_==="G"?(N[n+1]="\uFFFF",t[n+1]="G",l[n+1]="\uFFFF",v[n+1]="G"):(N[n+1]=_,t[n+1]=_,l[n+1]=_,v[n+1]=_),n++);return{A0_G0:N.join(""),A0_G1:t.join(""),A1_G0:l.join(""),A1_G1:v.join("")}}resolveAnchors(n,r){return this.hasAnchor&&this._anchorCache?n?r?this._anchorCache.A1_G1:this._anchorCache.A1_G0:r?this._anchorCache.A0_G1:this._anchorCache.A0_G0:this.source}}e.RegExpSource=f;class p{constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(n){this._items.push(n),this._hasAnchors=this._hasAnchors||n.hasAnchor}unshift(n){this._items.unshift(n),this._hasAnchors=this._hasAnchors||n.hasAnchor}length(){return this._items.length}setSource(n,r){this._items[n].source!==r&&(this._disposeCaches(),this._items[n].setSource(r))}compile(n){if(!this._cached){let r=this._items.map((u=>u.source));this._cached=new g(n,r,this._items.map((u=>u.ruleId)))}return this._cached}compileAG(n,r,u){return this._hasAnchors?r?u?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(n,r,u)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(n,r,u)),this._anchorCache.A1_G0):u?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(n,r,u)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(n,r,u)),this._anchorCache.A0_G0):this.compile(n)}_resolveAnchors(n,r,u){let _=this._items.map((N=>N.resolveAnchors(r,u)));return new g(n,_,this._items.map((N=>N.ruleId)))}}e.RegExpSourceList=p;class g{constructor(n,r,u){this.regExps=r,this.rules=u,this.scanner=n.createOnigScanner(r)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let n=[];for(let r=0,u=this.rules.length;r<u;r++)n.push(" - "+this.rules[r]+": "+this.regExps[r]);return n.join(`
`)}findNextMatchSync(n,r,u){let _=this.scanner.findNextMatchSync(n,r,u);return _?{ruleId:this.rules[_.index],captureIndices:_.captureIndices}:null}}e.CompiledRule=g},63:(i,e,w)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ThemeTrieElement=e.ThemeTrieElementRule=e.ColorMap=e.fontStyleToString=e.ParsedThemeRule=e.parseTheme=e.StyleAttributes=e.ScopeStack=e.Theme=void 0;let h=w(807);class C{constructor(p,g,a){this._colorMap=p,this._defaults=g,this._root=a,this._cachedMatchRoot=new h.CachedFn((n=>this._root.match(n)))}static createFromRawTheme(p,g){return this.createFromParsedTheme(b(p),g)}static createFromParsedTheme(p,g){return(function(a,n){a.sort(((D,M)=>{let O=h.strcmp(D.scope,M.scope);return O!==0?O:(O=h.strArrCmp(D.parentScopes,M.parentScopes),O!==0?O:D.index-M.index)}));let r=0,u="#000000",_="#ffffff",N="",t=0,l=0;for(;a.length>=1&&a[0].scope==="";){let D=a.shift();D.fontStyle!==-1&&(r=D.fontStyle),D.foreground!==null&&(u=D.foreground),D.background!==null&&(_=D.background),D.fontFamily!==null&&(N=D.fontFamily),D.fontSize!==null&&(t=D.fontSize),D.lineHeight!==null&&(l=D.lineHeight)}let v=new k(n),S=new d(r,v.getId(u),v.getId(_),N,t,l),q=new m(new E(0,null,-1,0,0,N,t,l),[]);for(let D=0,M=a.length;D<M;D++){let O=a[D];q.insert(0,O.scope,O.parentScopes,O.fontStyle,v.getId(O.foreground),v.getId(O.background),O.fontFamily,O.fontSize,O.lineHeight)}return new C(v,S,q)})(p,g)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(p){if(p===null)return this._defaults;let g=p.scopeName,a=this._cachedMatchRoot.get(g).find((n=>(function(r,u){if(u.length===0)return!0;for(let _=0;_<u.length;_++){let N=u[_],t=!1;if(N===">"){if(_===u.length-1)return!1;N=u[++_],t=!0}for(;r&&!x(r.scopeName,N);){if(t)return!1;r=r.parent}if(!r)return!1;r=r.parent}return!0})(p.parent,n.parentScopes)));return a?new d(a.fontStyle,a.foreground,a.background,a.fontFamily,a.fontSize,a.lineHeight):null}}e.Theme=C;class o{constructor(p,g){this.parent=p,this.scopeName=g}static push(p,g){for(let a of g)p=new o(p,a);return p}static from(...p){let g=null;for(let a=0;a<p.length;a++)g=new o(g,p[a]);return g}push(p){return new o(this,p)}getSegments(){let p=this,g=[];for(;p;)g.push(p.scopeName),p=p.parent;return g.reverse(),g}toString(){return this.getSegments().join(" ")}extends(p){return this===p||this.parent!==null&&this.parent.extends(p)}getExtensionIfDefined(p){let g=[],a=this;for(;a&&a!==p;)g.push(a.scopeName),a=a.parent;return a===p?g.reverse():void 0}}function x(f,p){return p===f||f.startsWith(p)&&f[p.length]==="."}e.ScopeStack=o;class d{constructor(p,g,a,n,r,u){this.fontStyle=p,this.foregroundId=g,this.backgroundId=a,this.fontFamily=n,this.fontSize=r,this.lineHeight=u}}function b(f){if(!f)return[];if(!f.settings||!Array.isArray(f.settings))return[];let p=f.settings,g=[],a=0;for(let n=0,r=p.length;n<r;n++){let u,_=p[n];if(!_.settings)continue;if(typeof _.scope=="string"){let D=_.scope;D=D.replace(/^[,]+/,""),D=D.replace(/[,]+$/,""),u=D.split(",")}else u=Array.isArray(_.scope)?_.scope:[""];let N=-1;if(typeof _.settings.fontStyle=="string"){N=0;let D=_.settings.fontStyle.split(" ");for(let M=0,O=D.length;M<O;M++)switch(D[M]){case"italic":N|=1;break;case"bold":N|=2;break;case"underline":N|=4;break;case"strikethrough":N|=8}}let t=null;typeof _.settings.foreground=="string"&&h.isValidHexColor(_.settings.foreground)&&(t=_.settings.foreground);let l=null;typeof _.settings.background=="string"&&h.isValidHexColor(_.settings.background)&&(l=_.settings.background);let v="";typeof _.settings.fontFamily=="string"&&(v=_.settings.fontFamily);let S=0;typeof _.settings.fontSize=="number"&&(S=_.settings.fontSize);let q=0;typeof _.settings.lineHeight=="number"&&(q=_.settings.lineHeight);for(let D=0,M=u.length;D<M;D++){let O=u[D].trim().split(" "),Q=O[O.length-1],ne=null;O.length>1&&(ne=O.slice(0,O.length-1),ne.reverse()),g[a++]=new R(Q,ne,n,N,t,l,v,S,q)}}return g}e.StyleAttributes=d,e.parseTheme=b;class R{constructor(p,g,a,n,r,u,_,N,t){this.scope=p,this.parentScopes=g,this.index=a,this.fontStyle=n,this.foreground=r,this.background=u,this.fontFamily=_,this.fontSize=N,this.lineHeight=t}}e.ParsedThemeRule=R,e.fontStyleToString=function(f){if(f===-1)return"not set";let p="";return 1&f&&(p+="italic "),2&f&&(p+="bold "),4&f&&(p+="underline "),8&f&&(p+="strikethrough "),p===""&&(p="none"),p.trim()};class k{constructor(p){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(p)){this._isFrozen=!0;for(let g=0,a=p.length;g<a;g++)this._color2id[p[g]]=g,this._id2color[g]=p[g]}else this._isFrozen=!1}getId(p){if(p===null)return 0;p=p.toUpperCase();let g=this._color2id[p];if(g)return g;if(this._isFrozen)throw new Error(`Missing color in color map - ${p}`);return g=++this._lastColorId,this._color2id[p]=g,this._id2color[g]=p,g}getColorMap(){return this._id2color.slice(0)}}e.ColorMap=k;let A=Object.freeze([]);class E{constructor(p,g,a,n,r,u,_,N){this.scopeDepth=p,this.parentScopes=g||A,this.fontStyle=a,this.foreground=n,this.background=r,this.fontFamily=u,this.fontSize=_,this.lineHeight=N}clone(){return new E(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background,this.fontFamily,this.fontSize,this.lineHeight)}static cloneArr(p){let g=[];for(let a=0,n=p.length;a<n;a++)g[a]=p[a].clone();return g}acceptOverwrite(p,g,a,n,r,u,_){this.scopeDepth>p?console.log("how did this happen?"):this.scopeDepth=p,g!==-1&&(this.fontStyle=g),a!==0&&(this.foreground=a),n!==0&&(this.background=n),r!==""&&(this.fontFamily=r),u!==0&&(this.fontSize=u),_!==0&&(this.lineHeight=_)}}e.ThemeTrieElementRule=E;class m{constructor(p,g=[],a={}){this._mainRule=p,this._children=a,this._rulesWithParentScopes=g}static _cmpBySpecificity(p,g){if(p.scopeDepth!==g.scopeDepth)return g.scopeDepth-p.scopeDepth;let a=0,n=0;for(;p.parentScopes[a]===">"&&a++,g.parentScopes[n]===">"&&n++,!(a>=p.parentScopes.length||n>=g.parentScopes.length);){let r=g.parentScopes[n].length-p.parentScopes[a].length;if(r!==0)return r;a++,n++}return g.parentScopes.length-p.parentScopes.length}match(p){if(p!==""){let a,n,r=p.indexOf(".");if(r===-1?(a=p,n=""):(a=p.substring(0,r),n=p.substring(r+1)),this._children.hasOwnProperty(a))return this._children[a].match(n)}let g=this._rulesWithParentScopes.concat(this._mainRule);return g.sort(m._cmpBySpecificity),g}insert(p,g,a,n,r,u,_,N,t){if(g==="")return void this._doInsertHere(p,a,n,r,u,_,N,t);let l,v,S,q=g.indexOf(".");q===-1?(l=g,v=""):(l=g.substring(0,q),v=g.substring(q+1)),this._children.hasOwnProperty(l)?S=this._children[l]:(S=new m(this._mainRule.clone(),E.cloneArr(this._rulesWithParentScopes)),this._children[l]=S),S.insert(p+1,v,a,n,r,u,_,N,t)}_doInsertHere(p,g,a,n,r,u,_,N){if(g!==null){for(let t=0,l=this._rulesWithParentScopes.length;t<l;t++){let v=this._rulesWithParentScopes[t];if(h.strArrCmp(v.parentScopes,g)===0)return void v.acceptOverwrite(p,a,n,r,u,_,N)}a===-1&&(a=this._mainRule.fontStyle),n===0&&(n=this._mainRule.foreground),r===0&&(r=this._mainRule.background),u===""&&(u=this._mainRule.fontFamily),_===0&&(_=this._mainRule.fontSize),N===0&&(N=this._mainRule.lineHeight),this._rulesWithParentScopes.push(new E(p,g,a,n,r,u,_,N))}else this._mainRule.acceptOverwrite(p,a,n,r,u,_,N)}}e.ThemeTrieElement=m},807:(i,e)=>{function w(x){return Array.isArray(x)?(function(d){let b=[];for(let R=0,k=d.length;R<k;R++)b[R]=w(d[R]);return b})(x):typeof x=="object"?(function(d){let b={};for(let R in d)b[R]=w(d[R]);return b})(x):x}Object.defineProperty(e,"__esModule",{value:!0}),e.containsRTL=e.performanceNow=e.CachedFn=e.escapeRegExpCharacters=e.isValidHexColor=e.strArrCmp=e.strcmp=e.RegexSource=e.basename=e.mergeObjects=e.clone=void 0,e.clone=function(x){return w(x)},e.mergeObjects=function(x,...d){return d.forEach((b=>{for(let R in b)x[R]=b[R]})),x},e.basename=function x(d){let b=~d.lastIndexOf("/")||~d.lastIndexOf("\\");return b===0?d:~b==d.length-1?x(d.substring(0,d.length-1)):d.substr(1+~b)};let h,C=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g;function o(x,d){return x<d?-1:x>d?1:0}e.RegexSource=class{static hasCaptures(x){return x!==null&&(C.lastIndex=0,C.test(x))}static replaceCaptures(x,d,b){return x.replace(C,((R,k,A,E)=>{let m=b[parseInt(k||A,10)];if(!m)return R;{let f=d.substring(m.start,m.end);for(;f[0]===".";)f=f.substring(1);switch(E){case"downcase":return f.toLowerCase();case"upcase":return f.toUpperCase();default:return f}}}))}},e.strcmp=o,e.strArrCmp=function(x,d){if(x===null&&d===null)return 0;if(!x)return-1;if(!d)return 1;let b=x.length,R=d.length;if(b===R){for(let k=0;k<b;k++){let A=o(x[k],d[k]);if(A!==0)return A}return 0}return b-R},e.isValidHexColor=function(x){return!!(/^#[0-9a-f]{6}$/i.test(x)||/^#[0-9a-f]{8}$/i.test(x)||/^#[0-9a-f]{3}$/i.test(x)||/^#[0-9a-f]{4}$/i.test(x))},e.escapeRegExpCharacters=function(x){return x.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")},e.CachedFn=class{constructor(x){this.fn=x,this.cache=new Map}get(x){if(this.cache.has(x))return this.cache.get(x);let d=this.fn(x);return this.cache.set(x,d),d}},e.performanceNow=typeof performance>"u"?function(){return Date.now()}:function(){return performance.now()},e.containsRTL=function(x){return h||(h=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),h.test(x)}}},c={};return(function i(e){var w=c[e];if(w!==void 0)return w.exports;var h=c[e]={exports:{}};return s[e].call(h.exports,h,h.exports,i),h.exports})(625)})()))});var pa={extensions:[".c",".cats",".h",".h.in",".idc",".opencl",".upc",".xbm",".xpm",".xs"],names:["c","dtrace","dtrace-script","oncrpc","opencl","rpc","rpcgen","unified-parallel-c","x-bitmap","x-pixmap","xbm","xdr","xpm","xs"],patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-other"},{include:"#comments"},{match:"\\b(assert|break|case|continue|countof|_Countof|default|defined|do|else|for|goto|if|_Pragma|return|sizeof|static_assert|_Static_assert|switch|typeof|typeof_unqual|while)\\b",name:"keyword.control.c"},{match:"\\b(_Atomic|asm|__asm__|auto|_BitInt|bool|_Bool|char|complex|_Complex|_Decimal32|_Decimal64|_Decimal128|double|enum|float|fortran|__fortran__|_Generic|imaginary|_Imaginary|int|long|_Noreturn|short|signed|struct|typedef|union|unsigned|void)\\b",name:"storage.type.c"},{match:"\\b(?:(?:u?int|char(?:8|16|32)|wchar|float(?:16|32|64|128)|bfloat16)_t|[uif](?:8|16|32|64|128)|bf16)\\b",name:"storage.typealias.c"},{match:"\\b(alignas|_Alignas|alignof|_Alignof|const|constexpr|extern|register|restrict|static|thread_local|_Thread_local|volatile|inline)\\b",name:"storage.modifier.c"},{match:"\\bk[A-Z]\\w*\\b",name:"constant.other.variable.mac-classic.c"},{match:"\\bg[A-Z]\\w*\\b",name:"variable.other.readwrite.global.mac-classic.c"},{match:"\\bs[A-Z]\\w*\\b",name:"variable.other.readwrite.static.mac-classic.c"},{match:"\\b(NULL|nullptr|true|false|TRUE|FALSE)\\b",name:"constant.language.c"},{include:"#sizeof"},{captures:{inc:{name:"invalid.illegal.digit-separator-should-not-be-last.c++"}},match:`(?x)\\b
( (?i:
0x ( [0-9A-Fa-f]+ ( ' [0-9A-Fa-f]+ )* )? # Hexadecimal
| 0b ( [0-1]+ ( ' [0-1]+ )* )? # Binary
| 0 ( [0-7]+ ( ' [0-7]+ )* ) # Octal
| ( [0-9]+ ( ' [0-9]+ )* ) # Decimal
)
( ([uUfF] | u?ll? | U?LL?)\\b | (?<inc>') | \\b )
| ( [0-9]+ ( ' [0-9]+ )* )?
(?i:
\\. ( [0-9]+ ( ' [0-9]+ )* ) E(\\+|-)? ( [0-9]+ ( ' [0-9]+ )* )
| \\. ( [0-9]+ ( ' [0-9]+ )* )
| E(\\+|-)? ( [0-9]+ ( ' [0-9]+ )* )
)
( (?<inc>') | \\b )
)`,name:"constant.numeric.c"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.c",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.single.c",patterns:[{include:"#string_escaped_char"}]},{begin:`(?x)
^\\s*\\#\\s*(define)\\s+ # define
((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
(?: # and optionally:
(\\() # an open parenthesis
(
\\s* \\g<id> \\s* # first argument
((,) \\s* \\g<id> \\s*)* # additional arguments
(?:\\.\\.\\.)? # varargs ellipsis?
)
(\\)) # a close parenthesis
)?
`,beginCaptures:{1:{name:"keyword.control.import.define.c"},2:{name:"entity.name.function.preprocessor.c"},4:{name:"punctuation.definition.parameters.begin.c"},5:{name:"variable.parameter.preprocessor.c"},7:{name:"punctuation.separator.parameters.c"},8:{name:"punctuation.definition.parameters.end.c"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.macro.c",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"},{include:"$base"}]},{begin:"^\\s*#\\s*(error|warning)\\b",captures:{1:{name:"keyword.control.import.error.c"}},end:"$",name:"meta.preprocessor.diagnostic.c",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"}]},{begin:"^\\s*#\\s*(embed|include|import)\\b",captures:{1:{name:"keyword.control.import.include.c"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.c.include",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.include.c"},{begin:"<",beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:">",endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.other.lt-gt.include.c"}]},{include:"#pragma-mark"},{begin:"^\\s*#\\s*(define|defined|elif|elifdef|elifndef|else|if|ifdef|ifndef|line|pragma|undef)\\b",captures:{1:{name:"keyword.control.import.c"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.c",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"}]},{match:"\\b([a-z0-9_]+_t)\\b",name:"support.type.posix-reserved.c"},{include:"#block"},{begin:`(?x)
(?: ^ # begin-of-line
|
(?: (?= \\s ) (?<!else|new|return) (?<=\\w) # or word + space before name
| (?= \\s*[A-Za-z_] ) (?<!&&) (?<=[*&>]) # or type modifier before name
)
)
(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|assert|[cr]?iterate|(?:::)?new|(?:::)?delete)\\s*\\()
(
(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name
(?: (?<=operator) (?: [-*&<>=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator
)
\\s*(?=\\()`,beginCaptures:{1:{name:"punctuation.whitespace.function.leading.c"},3:{name:"entity.name.function.c"},4:{name:"punctuation.definition.parameters.c"}},end:"(?<=\\})|(?=#)|(;)",name:"meta.function.c",patterns:[{include:"#comments"},{include:"#parens"},{match:"\\b(const|constexpr|final|override|noexcept)\\b",name:"storage.modifier.$1.c++"},{include:"#block"}]}],repository:{access:{captures:{1:{name:"punctuation.separator.variable-access.c"},2:{name:"storage.modifier.template.c++"},3:{name:"variable.other.dot-access.c"}},match:"(\\.|\\->)(?:\\s*(template)\\s+)?([a-zA-Z_][a-zA-Z_0-9]*)\\b(?!\\s*\\()"},block:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.c"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.c"}},name:"meta.block.c",patterns:[{include:"#block_innards"}]}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-other-block"},{include:"#sizeof"},{include:"#access"},{include:"#c_function_call"},{captures:{1:{name:"variable.other.c"},2:{name:"punctuation.definition.parameters.c"}},match:`(?x)
(?x)
(?:
(?: (?= \\s ) (?<!else|new|return) (?<=\\w)\\s+ # or word + space before name
)
)
(
(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name
(?: (?<=operator) (?: [-*&<>=+!]+ | \\(\\) | \\[\\] ) )? # if it is a C++ operator
)
\\s*(\\()`,name:"meta.initialization.c"},{include:"#block"},{include:"$base"}]},c_function_call:{captures:{1:{name:"punctuation.whitespace.function-call.leading.c"},2:{name:"support.function.any-method.c"},3:{name:"punctuation.definition.parameters.c"}},match:`(?x) (?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+))?
(\\b
(?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|assert|[cr]?iterate|(?:::)?new|(?:::)?delete)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name
)
\\s*(\\()`,name:"meta.function-call.c"},comments:{patterns:[{captures:{1:{name:"meta.toc-list.banner.block.c"}},match:"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",name:"comment.block.c"},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.c"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.c"}},name:"comment.block.c"},{match:"\\*/.*\\n",name:"invalid.illegal.stray-comment-end.c"},{captures:{1:{name:"meta.toc-list.banner.line.c"}},match:"^// =(\\s*.*?)\\s*=\\s*$\\n?",name:"comment.line.banner.c++"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.c++"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.c++"}},end:"\\n",name:"comment.line.double-slash.c++",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c++"}]}]}]},disabled:{begin:"^\\s*#\\s*if(n?def)?\\b.*$",end:"^\\s*#\\s*endif\\b",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},parens:{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.parens.begin.c"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.parens.end.c"}},name:"meta.parens.c",patterns:[{include:"$base"}]},"pragma-mark":{captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.pragma.c"},3:{name:"meta.toc-list.pragma-mark.c"}},match:"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))",name:"meta.section"},"preprocessor-rule-disabled":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},end:"(?=^\\s*#\\s*endif\\b)",patterns:[{include:"$base"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b)",name:"comment.block.preprocessor.if-branch",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-disabled-block":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},end:"(?=^\\s*#\\s*endif\\b)",patterns:[{include:"#block_innards"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b)",name:"comment.block.preprocessor.if-branch.in-block",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},contentName:"comment.block.preprocessor.else-branch",end:"(?=^\\s*#\\s*endif\\b)",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b)",patterns:[{include:"$base"}]}]},"preprocessor-rule-enabled-block":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},contentName:"comment.block.preprocessor.else-branch.in-block",end:"(?=^\\s*#\\s*endif\\b)",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b)",patterns:[{include:"#block_innards"}]}]},"preprocessor-rule-other":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{include:"$base"}]},"preprocessor-rule-other-block":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.c"}},end:"^\\s*(#\\s*(endif)\\b)",patterns:[{include:"#block_innards"}]},sizeof:{match:"\\b(sizeof)\\b",name:"keyword.operator.sizeof.c"},string_escaped_char:{patterns:[{match:`\\\\(\\\\|[abefnprtv'"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})`,name:"constant.character.escape.c"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.c"}]},string_placeholder:{patterns:[{match:`(?x)%
(\\d+\\$)? # field (argument #)
[#0\\- +']* # flags
[,;:_]? # separator character (AltiVec)
((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width
(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision
(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier
[diouxXDOUeEfFgGaACcSspn%] # conversion type
`,name:"constant.other.placeholder.c"}]}},scopeName:"source.c"},Fn=pa;var ma={dependencies:["source.c"],extensions:[".asc",".ash",".asy",".c++",".cc",".cp",".cpp",".cppm",".cxx",".edc",".gml",".h++",".hh",".hip",".hpp",".hxx",".inl",".ino",".ipp",".ixx",".metal",".re",".swg",".swig",".tcc",".tpp",".txx"],names:["ags","ags-script","asymptote","c++","cpp","edje-data-collection","game-maker-language","hip","metal","swig"],patterns:[{include:"#special_block"},{include:"#strings"},{captures:{1:{name:"keyword.control.c++"},2:{name:"keyword.control.c++"}},match:"\\b(if)\\s+(constexpr)\\b"},{captures:{1:{name:"punctuation.separator.scope.c++"},2:{name:"storage.modifier.template.c++"}},match:"(::)\\s*(template)\\b"},{include:"source.c"},{match:"\\b(friend|explicit|virtual)\\b",name:"storage.modifier.$1.c++"},{match:"\\b(private|protected|public):",name:"storage.modifier.$1.c++"},{match:"\\b(atomic_cancel|atomic_commit|atomic_noexcept|catch|contract_assert|operator|pre|post|synchronized|transaction_safe|transaction_safe_dynamic|try|throw|using)\\b",name:"keyword.control.c++"},{match:"\\bdelete\\b(\\s*\\[\\])?|\\bnew\\b(?!])",name:"keyword.control.c++"},{match:"\\b(f|m)[A-Z]\\w*\\b",name:"variable.other.readwrite.member.c++"},{match:"\\b(nullopt)\\b",name:"constant.language.c++"},{match:"\\b(this)\\b",name:"variable.language.c++"},{match:"\\b(template|concept)\\b\\s*",name:"storage.type.template.c++"},{match:"\\b(const_cast|dynamic_cast|reinterpret_cast|static_cast)\\b\\s*",name:"keyword.operator.cast.c++"},{match:"\\b(and|and_eq|bitand|bitor|co_await|co_return|co_yield|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq)\\b",name:"keyword.operator.c++"},{match:"\\b(class)\\b",name:"storage.type.c++"},{match:"\\b(alignas|alignof|consteval|constinit|decltype|final|mutable|noexcept|override|reflexpr|requires|typename)\\b",name:"storage.modifier.c++"},{match:"\\b(import|export|module)\\b",name:"keyword.module.c++"},{begin:`(?x)
(?: ^ # begin-of-line
| (?: (?<!else|new|=) ) # or word + space before name
)
((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name
\\s*(\\() # start bracket or end-of-line
`,beginCaptures:{1:{name:"entity.name.function.c++"},2:{name:"punctuation.definition.parameters.begin.c"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.c"}},name:"meta.function.destructor.c++",patterns:[{include:"$base"}]},{begin:`(?x)
(?: ^ # begin-of-line
| (?: (?<!else|new|=) ) # or word + space before name
)
((?:[A-Za-z_][A-Za-z0-9_]*::)*+~[A-Za-z_][A-Za-z0-9_]*) # actual name
\\s*(\\() # terminating semi-colon
`,beginCaptures:{1:{name:"entity.name.function.c++"},2:{name:"punctuation.definition.parameters.begin.c"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.c"}},name:"meta.function.destructor.prototype.c++",patterns:[{include:"$base"}]}],repository:{angle_brackets:{begin:"<",end:">",name:"meta.angle-brackets.c++",patterns:[{include:"#angle_brackets"},{include:"$base"}]},block:{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.c"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.c"}},name:"meta.block.c++",patterns:[{captures:{1:{name:"support.function.any-method.c"},2:{name:"punctuation.definition.parameters.c"}},match:`(?x)
(
(?!while|for|do|if|else|switch|catch|return)(?: \\b[A-Za-z_][A-Za-z0-9_]*+\\b | :: )*+ # actual name
)
\\s*(\\()`,name:"meta.function-call.c"},{include:"$base"}]},constructor:{patterns:[{begin:`(?x)
(?: ^\\s*) # begin-of-line
((?!while|for|do|if|else|switch|catch)[A-Za-z_][A-Za-z0-9_:]*) # actual name
\\s*(\\() # start bracket or end-of-line
`,beginCaptures:{1:{name:"entity.name.function.c++"},2:{name:"punctuation.definition.parameters.begin.c"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.c"}},name:"meta.function.constructor.c++",patterns:[{include:"$base"}]},{begin:`(?x)
(:) # begin-of-line
((?=\\s*[A-Za-z_][A-Za-z0-9_:]* # actual name
\\s*(\\())) # start bracket or end-of-line
`,beginCaptures:{1:{name:"punctuation.definition.parameters.c"}},end:"(?=\\{)",name:"meta.function.constructor.initializer-list.c++",patterns:[{include:"$base"}]}]},special_block:{patterns:[{begin:"\\b(namespace)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+",beginCaptures:{1:{name:"storage.type.c++"},2:{name:"entity.name.type.c++"}},captures:{1:{name:"keyword.control.namespace.$2"}},end:"(?<=\\})|(?=(;|,|\\(|\\)|>|\\[|\\]|=))",name:"meta.namespace-block${2:+.$2}.c++",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.scope.c++"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.scope.c++"}},patterns:[{include:"#special_block"},{include:"#constructor"},{include:"$base"}]},{include:"$base"}]},{begin:"\\b(class|struct)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*:\\s*(public|protected|private)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)((\\s*,\\s*(public|protected|private)\\b\\s*[_A-Za-z][_A-Za-z0-9]*\\b)*))?",beginCaptures:{1:{name:"storage.type.c++"},2:{name:"entity.name.type.c++"},4:{name:"storage.type.modifier.c++"},5:{name:"entity.name.type.inherited.c++"},6:{patterns:[{match:"\\b(public|protected|private)\\b",name:"storage.type.modifier.c++"},{match:"[_A-Za-z][_A-Za-z0-9]*",name:"entity.name.type.inherited.c++"}]}},end:"(?<=\\})|(?=(;|\\(|\\)|>|\\[|\\]|=))",name:"meta.class-struct-block.c++",patterns:[{include:"#angle_brackets"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.c++"}},end:"(\\})(\\s*\\n)?",endCaptures:{1:{name:"punctuation.definition.invalid.c++"},2:{name:"invalid.illegal.you-forgot-semicolon.c++"}},patterns:[{include:"#special_block"},{include:"#constructor"},{include:"$base"}]},{include:"$base"}]},{begin:'\\b(extern)(?=\\s*")',beginCaptures:{1:{name:"storage.modifier.c++"}},end:"(?<=\\})|(?=\\w)",name:"meta.extern-block.c++",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.c"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.c"}},patterns:[{include:"#special_block"},{include:"$base"}]},{include:"$base"}]}]},strings:{patterns:[{begin:'(u|u8|U|L)?"',beginCaptures:{0:{name:"punctuation.definition.string.begin.c++"},1:{name:"meta.encoding.c++"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.c++"}},name:"string.quoted.double.c++",patterns:[{match:"\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8}",name:"constant.character.escape.c++"},{match:`\\\\['"?\\\\abfnrtv]`,name:"constant.character.escape.c++"},{match:"\\\\[0-7]{1,3}",name:"constant.character.escape.c++"},{match:"\\\\x[0-9A-Fa-f]+",name:"constant.character.escape.c++"}]},{begin:'(u|u8|U|L)?R"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(',beginCaptures:{0:{name:"punctuation.definition.string.begin.c++"},1:{name:"meta.encoding.c++"},3:{name:"invalid.illegal.delimiter-too-long.c++"}},end:'\\)\\2(\\3)"',endCaptures:{0:{name:"punctuation.definition.string.end.c++"},1:{name:"invalid.illegal.delimiter-too-long.c++"}},name:"string.quoted.double.raw.c++"}]}},scopeName:"source.c++"},Mn=ma;var da={extensions:[".bf",".cake",".cs",".cs.pp",".csx",".eq",".linq",".uno"],names:["beef","c#","cake","cakescript","csharp","eq","uno"],patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#directives"},{include:"#declarations"},{include:"#script-top-level"}],repository:{"accessor-getter":{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},contentName:"meta.accessor.getter.cs",end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#statement"}]},{include:"#accessor-getter-expression"},{include:"#punctuation-semicolon"}]},"accessor-getter-expression":{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},contentName:"meta.accessor.getter.cs",end:"(?=;|\\})",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"accessor-setter":{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},contentName:"meta.accessor.setter.cs",end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#statement"}]},{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},contentName:"meta.accessor.setter.cs",end:"(?=;|\\})",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},{include:"#punctuation-semicolon"}]},"anonymous-method-expression":{patterns:[{begin:`(?x)
((?:\\b(?:async|static)\\b\\s*)*)
(?:
(@?[_[:alpha:]][_[:alnum:]]*)\\b|
(\\()
(?<tuple>(?:[^()]|\\(\\g<tuple>\\))*)
(\\))
)\\s*
(=>)`,beginCaptures:{1:{patterns:[{match:"async|static",name:"storage.modifier.$0.cs"}]},2:{name:"entity.name.variable.parameter.cs"},3:{name:"punctuation.parenthesis.open.cs"},4:{patterns:[{include:"#comment"},{include:"#explicit-anonymous-function-parameter"},{include:"#implicit-anonymous-function-parameter"},{include:"#default-argument"},{include:"#punctuation-comma"}]},5:{name:"punctuation.parenthesis.close.cs"},6:{name:"keyword.operator.arrow.cs"}},end:"(?=[,;)}])",patterns:[{include:"#intrusive"},{begin:"(?={)",end:"(?=[,;)}])",patterns:[{include:"#block"},{include:"#intrusive"}]},{begin:"\\b(ref)\\b|(?=\\S)",beginCaptures:{1:{name:"storage.modifier.ref.cs"}},end:"(?=[,;)}])",patterns:[{include:"#expression"}]}]},{begin:`(?x)
((?:\\b(?:async|static)\\b\\s*)*)
\\b(delegate)\\b\\s*`,beginCaptures:{1:{patterns:[{match:"async|static",name:"storage.modifier.$0.cs"}]},2:{name:"storage.type.delegate.cs"}},end:"(?<=})|(?=[,;)}])",patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#intrusive"},{include:"#explicit-anonymous-function-parameter"},{include:"#punctuation-comma"}]},{include:"#block"}]}]},"anonymous-object-creation-expression":{begin:"\\b(new)\\b\\s*(?=\\{|//|/\\*|$)",beginCaptures:{1:{name:"keyword.operator.expression.new.cs"}},end:"(?<=\\})",patterns:[{include:"#comment"},{include:"#initializer-expression"}]},argument:{patterns:[{match:"\\b(ref|in)\\b",name:"storage.modifier.$1.cs"},{begin:"\\b(out)\\b",beginCaptures:{1:{name:"storage.modifier.out.cs"}},end:"(?=,|\\)|\\])",patterns:[{include:"#declaration-expression-local"},{include:"#expression"}]},{include:"#expression"}]},"argument-list":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#named-argument"},{include:"#argument"},{include:"#punctuation-comma"}]},"array-creation-expression":{begin:`(?x)
\\b(new|stackalloc)\\b\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\*\\s*)* # pointer suffix?
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)?\\s*
(?=\\[)`,beginCaptures:{1:{name:"keyword.operator.expression.$1.cs"},2:{patterns:[{include:"#type"}]}},end:"(?<=\\])",patterns:[{include:"#bracketed-argument-list"}]},"as-expression":{captures:{1:{name:"keyword.operator.expression.as.cs"},2:{patterns:[{include:"#type"}]}},match:`(?x)
(?<!\\.)\\b(as)\\b\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?(?!\\?))? # nullable suffix?
(?:\\s* # array suffix?
\\[
\\s*(?:,\\s*)* # commata for multi-dimensional arrays
\\]
(?:\\s*\\?(?!\\?))? # arrays can be nullable reference types
)*
)
)?`},"assignment-expression":{begin:"(?:\\*|/|%|\\+|-|\\?\\?|\\&|\\^|<<|>>>?|\\|)?=(?!=|>)",beginCaptures:{0:{patterns:[{include:"#assignment-operators"}]}},end:"(?=[,\\)\\];}])",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"assignment-operators":{patterns:[{match:"\\*=|/=|%=|\\+=|-=|\\?\\?=",name:"keyword.operator.assignment.compound.cs"},{match:"\\&=|\\^=|<<=|>>>?=|\\|=",name:"keyword.operator.assignment.compound.bitwise.cs"},{match:"\\=",name:"keyword.operator.assignment.cs"}]},attribute:{patterns:[{include:"#type-name"},{include:"#type-arguments"},{include:"#attribute-arguments"}]},"attribute-arguments":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.parenthesis.open.cs"}},end:"(\\))",endCaptures:{1:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#attribute-named-argument"},{include:"#expression"},{include:"#punctuation-comma"}]},"attribute-named-argument":{begin:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?==)",beginCaptures:{1:{name:"entity.name.variable.property.cs"}},end:"(?=(,|\\)))",patterns:[{include:"#operator-assignment"},{include:"#expression"}]},"attribute-section":{begin:"(\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(\\:)?",beginCaptures:{1:{name:"punctuation.squarebracket.open.cs"},2:{name:"keyword.other.attribute-specifier.cs"},3:{name:"punctuation.separator.colon.cs"}},end:"(\\])",endCaptures:{1:{name:"punctuation.squarebracket.close.cs"}},patterns:[{include:"#comment"},{include:"#attribute"},{include:"#punctuation-comma"}]},"await-expression":{name:"keyword.operator.expression.await.cs"},"await-statement":{beginCaptures:{1:{name:"keyword.operator.expression.await.cs"}},end:"(?<=})|(?=;|})",patterns:[{include:"#foreach-statement"},{include:"#using-statement"},{include:"#expression"}]},"base-class-constructor-call":{begin:`(?x)
(?:
(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.) # qualified name part
)*
(@?[_[:alpha:]][_[:alnum:]]*)\\s* # type name
(
<
(?<type_args>
[^<>()]|
\\((?:[^<>()]|<[^<>()]*>|\\([^<>()]*\\))*\\)|
<\\g<type_args>*>
)*
>\\s*
)? # optional type arguments
(?=\\() # followed by argument list`,beginCaptures:{1:{name:"entity.name.type.cs"},2:{name:"punctuation.accessor.cs"},3:{name:"entity.name.type.cs"},4:{patterns:[{include:"#type-arguments"}]}},end:"(?<=\\))",patterns:[{include:"#argument-list"}]},"base-types":{begin:":",beginCaptures:{0:{name:"punctuation.separator.colon.cs"}},end:"(?=\\{|where|;)",patterns:[{include:"#base-class-constructor-call"},{include:"#type"},{include:"#punctuation-comma"},{include:"#preprocessor"}]},block:{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#statement"}]},"boolean-literal":{patterns:[{match:"(?<!\\.)\\btrue\\b",name:"constant.language.boolean.true.cs"},{match:"(?<!\\.)\\bfalse\\b",name:"constant.language.boolean.false.cs"}]},"bracketed-argument-list":{begin:"\\[",beginCaptures:{0:{name:"punctuation.squarebracket.open.cs"}},end:"\\]",endCaptures:{0:{name:"punctuation.squarebracket.close.cs"}},patterns:[{include:"#named-argument"},{include:"#argument"},{include:"#punctuation-comma"}]},"bracketed-parameter-list":{begin:"(?=(\\[))",beginCaptures:{1:{name:"punctuation.squarebracket.open.cs"}},end:"(?=(\\]))",endCaptures:{1:{name:"punctuation.squarebracket.close.cs"}},patterns:[{begin:"(?<=\\[)",end:"(?=\\])",patterns:[{include:"#comment"},{include:"#attribute-section"},{include:"#parameter"},{include:"#punctuation-comma"},{include:"#variable-initializer"}]}]},"break-or-continue-statement":{match:"(?<!\\.)\\b(break|continue)\\b",name:"keyword.control.flow.$1.cs"},"case-guard":{patterns:[{include:"#parenthesized-expression"},{include:"#expression"}]},"cast-expression":{captures:{1:{name:"punctuation.parenthesis.open.cs"},2:{patterns:[{include:"#type"}]},7:{name:"punctuation.parenthesis.close.cs"}},match:`(?x)
(\\()\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
(\\))(?=\\s*-*!*@?[_[:alnum:]\\(])`},"casted-constant-pattern":{begin:`(?x)
(\\()
([\\s.:@_[:alnum:]]+)
(\\))
(?=[\\s+\\-!~]*@?[_[:alnum:]('"]+)`,beginCaptures:{1:{name:"punctuation.parenthesis.open.cs"},2:{patterns:[{include:"#type-builtin"},{include:"#type-name"}]},3:{name:"punctuation.parenthesis.close.cs"}},end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#casted-constant-pattern"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#constant-pattern"}]},{include:"#constant-pattern"},{captures:{1:{name:"entity.name.type.alias.cs"},2:{name:"punctuation.separator.coloncolon.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)"},{captures:{1:{name:"entity.name.type.cs"},2:{name:"punctuation.accessor.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.constant.cs"}]},"catch-clause":{begin:"(?<!\\.)\\b(catch)\\b",beginCaptures:{1:{name:"keyword.control.exception.catch.cs"}},end:"(?<=\\})",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{captures:{1:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.local.cs"}},match:`(?x)
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
(?:(\\g<identifier>)\\b)?`}]},{include:"#when-clause"},{include:"#comment"},{include:"#block"}]},"char-character-escape":{match:"\\\\(x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4}|.)",name:"constant.character.escape.cs"},"char-literal":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.char.begin.cs"}},end:"(\\')|((?:[^\\\\\\n])$)",endCaptures:{1:{name:"punctuation.definition.char.end.cs"},2:{name:"invalid.illegal.newline.cs"}},name:"string.quoted.single.cs",patterns:[{include:"#char-character-escape"}]},"class-declaration":{begin:"(?=(\\brecord\\b\\s+)?\\bclass\\b)",end:"(?<=\\})|(?=;)",patterns:[{begin:`(?x)
(\\b(record)\\b\\s+)?
\\b(class)\\b\\s+
(@?[_[:alpha:]][_[:alnum:]]*)\\s*`,beginCaptures:{2:{name:"storage.type.record.cs"},3:{name:"storage.type.class.cs"},4:{name:"entity.name.type.class.cs"}},end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{include:"#type-parameter-list"},{include:"#parenthesized-parameter-list"},{include:"#base-types"},{include:"#generic-constraints"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#class-or-struct-members"}]},{include:"#preprocessor"},{include:"#comment"}]},"class-or-struct-members":{patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#storage-modifier"},{include:"#type-declarations"},{include:"#constructor-declaration"},{include:"#property-declaration"},{include:"#fixed-size-buffer-declaration"},{include:"#field-declaration"},{include:"#event-declaration"},{include:"#indexer-declaration"},{include:"#variable-initializer"},{include:"#destructor-declaration"},{include:"#operator-declaration"},{include:"#conversion-operator-declaration"},{include:"#method-declaration"},{include:"#attribute-section"},{include:"#punctuation-semicolon"}]},"combinator-pattern":{match:"\\b(and|or|not)\\b",name:"keyword.operator.expression.pattern.combinator.$1.cs"},comment:{patterns:[{begin:"(^\\s+)?(///)(?!/)",captures:{1:{name:"punctuation.whitespace.comment.leading.cs"},2:{name:"punctuation.definition.comment.cs"}},name:"comment.block.documentation.cs",patterns:[{include:"#xml-doc-comment"}],while:"^(\\s*)(///)(?!/)"},{begin:"(^\\s+)?(/\\*\\*)(?!/)",captures:{1:{name:"punctuation.whitespace.comment.leading.cs"},2:{name:"punctuation.definition.comment.cs"}},end:"(^\\s+)?(\\*/)",name:"comment.block.documentation.cs",patterns:[{patterns:[{include:"#xml-doc-comment"}],whileCaptures:{1:{name:"punctuation.whitespace.comment.leading.cs"},2:{name:"punctuation.definition.comment.cs"}}},{include:"#xml-doc-comment"}]},{begin:"(^\\s+)?(//).*$",captures:{1:{name:"punctuation.whitespace.comment.leading.cs"},2:{name:"punctuation.definition.comment.cs"}},name:"comment.line.double-slash.cs",while:"^(\\s*)(//).*$"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.cs"}},end:"\\*/",name:"comment.block.cs"}]},"conditional-operator":{patterns:[{match:"\\?(?!\\?|\\s*[.\\[])",name:"keyword.operator.conditional.question-mark.cs"},{match:":",name:"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{patterns:[{include:"#boolean-literal"},{include:"#null-literal"},{include:"#numeric-literal"},{include:"#char-literal"},{include:"#string-literal"},{include:"#raw-string-literal"},{include:"#verbatim-string-literal"},{include:"#type-operator-expression"},{include:"#expression-operator-expression"},{include:"#expression-operators"},{include:"#casted-constant-pattern"}]},"constructor-declaration":{begin:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?=\\(|$)",beginCaptures:{1:{name:"entity.name.function.cs"}},end:"(?<=\\})|(?=;)",patterns:[{begin:"(:)",beginCaptures:{1:{name:"punctuation.separator.colon.cs"}},end:"(?=\\{|=>)",patterns:[{include:"#constructor-initializer"}]},{include:"#parenthesized-parameter-list"},{include:"#preprocessor"},{include:"#comment"},{include:"#expression-body"},{include:"#block"}]},"constructor-initializer":{begin:"\\b(base|this)\\b\\s*(?=\\()",beginCaptures:{1:{name:"variable.language.$1.cs"}},end:"(?<=\\))",patterns:[{include:"#argument-list"}]},"context-control-paren-statement":{patterns:[{include:"#fixed-statement"},{include:"#lock-statement"},{include:"#using-statement"}]},"context-control-statement":{match:"\\b(checked|unchecked|unsafe)\\b(?!\\s*[@_[:alpha:](])",name:"keyword.control.context.$1.cs"},"conversion-operator-declaration":{begin:`(?x)
(?<explicit_or_implicit_keyword>(?:\\b(?:explicit|implicit)))\\s*
(?<operator_keyword>(?:\\b(?:operator)))\\s*
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
(?=\\()`,beginCaptures:{1:{patterns:[{captures:{1:{name:"storage.modifier.explicit.cs"}},match:"\\b(explicit)\\b"},{captures:{1:{name:"storage.modifier.implicit.cs"}},match:"\\b(implicit)\\b"}]},2:{name:"storage.type.operator.cs"},3:{patterns:[{include:"#type"}]}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#expression-body"},{include:"#block"}]},"declaration-expression-local":{captures:{1:{name:"storage.type.var.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.local.cs"}},match:`(?x) # e.g. int x OR var x
(?:
\\b(var)\\b|
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)
)\\s+
(\\g<identifier>)\\b\\s*
(?=[,)\\]])`},"declaration-expression-tuple":{captures:{1:{name:"storage.type.var.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.tuple-element.cs"}},match:`(?x) # e.g. int x OR var x
(?:
\\b(var)\\b|
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)
)\\s+
(\\g<identifier>)\\b\\s*
(?=[,)])`},declarations:{patterns:[{include:"#namespace-declaration"},{include:"#type-declarations"},{include:"#punctuation-semicolon"}]},"default-argument":{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.cs"}},end:"(?=,|\\))",patterns:[{include:"#expression"}]},"default-literal-expression":{captures:{1:{name:"keyword.operator.expression.default.cs"}},match:"\\b(default)\\b"},"delegate-declaration":{begin:`(?x)
(?:\\b(delegate)\\b)\\s+
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
(\\g<identifier>)\\s*
(<([^<>]+)>)?\\s*
(?=\\()`,beginCaptures:{1:{name:"storage.type.delegate.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.type.delegate.cs"},8:{patterns:[{include:"#type-parameter-list"}]}},end:"(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#generic-constraints"}]},"designation-pattern":{patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#punctuation-comma"},{include:"#designation-pattern"}]},{include:"#simple-designation-pattern"}]},"destructor-declaration":{begin:"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\s*(?=\\()",beginCaptures:{1:{name:"punctuation.tilde.cs"},2:{name:"entity.name.function.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#expression-body"},{include:"#block"}]},directives:{patterns:[{include:"#extern-alias-directive"},{include:"#using-directive"},{include:"#attribute-section"},{include:"#punctuation-semicolon"}]},"discard-pattern":{match:"_(?![_[:alnum:]])",name:"variable.language.discard.cs"},"do-statement":{begin:"(?<!\\.)\\b(do)\\b",beginCaptures:{1:{name:"keyword.control.loop.do.cs"}},end:"(?=;|})",patterns:[{include:"#statement"}]},"double-raw-interpolation":{begin:"(?<=[^\\{][^\\{]|^)((?:\\{)*)(\\{\\{)(?=[^\\{])",beginCaptures:{1:{name:"string.quoted.double.cs"},2:{name:"punctuation.definition.interpolation.begin.cs"}},end:"\\}\\}",endCaptures:{0:{name:"punctuation.definition.interpolation.end.cs"}},name:"meta.embedded.interpolation.cs",patterns:[{include:"#expression"}]},"element-access-expression":{begin:`(?x)
(?:
(?:(\\?)\\s*)? # preceding null-conditional operator?
(\\.)\\s*| # preceding dot?
(->)\\s* # preceding pointer arrow?
)?
(?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*)? # property name
(?:(\\?)\\s*)? # null-conditional operator?
(?=\\[) # open bracket of argument list`,beginCaptures:{1:{name:"keyword.operator.null-conditional.cs"},2:{name:"punctuation.accessor.cs"},3:{name:"punctuation.accessor.pointer.cs"},4:{name:"variable.other.object.property.cs"},5:{name:"keyword.operator.null-conditional.cs"}},end:"(?<=\\])(?!\\s*\\[)",patterns:[{include:"#bracketed-argument-list"}]},"else-part":{begin:"(?<!\\.)\\b(else)\\b",beginCaptures:{1:{name:"keyword.control.conditional.else.cs"}},end:"(?<=})|(?=;)",patterns:[{include:"#statement"}]},"enum-declaration":{begin:"(?=\\benum\\b)",end:"(?<=\\})|(?=;)",patterns:[{begin:"(?=enum)",end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{captures:{1:{name:"storage.type.enum.cs"},2:{name:"entity.name.type.enum.cs"}},match:"(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.colon.cs"}},end:"(?=\\{)",patterns:[{include:"#type"}]}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#attribute-section"},{include:"#punctuation-comma"},{begin:"@?[_[:alpha:]][_[:alnum:]]*",beginCaptures:{0:{name:"entity.name.variable.enum-member.cs"}},end:"(?=(,|\\}))",patterns:[{include:"#comment"},{include:"#variable-initializer"}]}]},{include:"#preprocessor"},{include:"#comment"}]},"event-accessors":{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#comment"},{include:"#attribute-section"},{begin:"\\b(add|remove)\\b\\s*(?=\\{|;|=>|//|/\\*|$)",beginCaptures:{1:{name:"storage.type.accessor.$1.cs"}},end:"(?<=\\}|;)|(?=\\})",patterns:[{include:"#accessor-setter"}]}]},"event-declaration":{begin:`(?x)
\\b(event)\\b\\s*
(?<return_type>
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
)
(?<interface_name>\\g<type_name>\\s*\\.\\s*)?
(\\g<identifier>)\\s* # first event name
(?=\\{|;|,|=|//|/\\*|$)`,beginCaptures:{1:{name:"storage.type.event.cs"},2:{patterns:[{include:"#type"}]},8:{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},9:{name:"entity.name.variable.event.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#event-accessors"},{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.event.cs"},{include:"#punctuation-comma"},{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.cs"}},end:"(?<=,)|(?=;)",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{captures:{1:{name:"storage.modifier.$1.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.parameter.cs"}},match:`(?x)
(?:\\b(ref|params|out|in)\\b\\s*)?
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args><(?:[^<>]|\\g<type_args>)*>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)*\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
\\b(\\g<identifier>)\\b`},expression:{patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#expression-operator-expression"},{include:"#type-operator-expression"},{include:"#default-literal-expression"},{include:"#throw-expression"},{include:"#raw-interpolated-string"},{include:"#interpolated-string"},{include:"#verbatim-interpolated-string"},{include:"#type-builtin"},{include:"#language-variable"},{include:"#switch-statement-or-expression"},{include:"#with-expression"},{include:"#conditional-operator"},{include:"#assignment-expression"},{include:"#expression-operators"},{include:"#await-expression"},{include:"#query-expression"},{include:"#as-expression"},{include:"#is-expression"},{include:"#boolean-literal"},{include:"#null-literal"},{include:"#anonymous-method-expression"},{include:"#object-creation-expression"},{include:"#array-creation-expression"},{include:"#anonymous-object-creation-expression"},{include:"#invocation-expression"},{include:"#member-access-expression"},{include:"#element-access-expression"},{include:"#cast-expression"},{include:"#literal"},{include:"#parenthesized-expression"},{include:"#tuple-deconstruction-assignment"},{include:"#initializer-expression"},{include:"#identifier"}]},"expression-body":{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},end:"(?=[,\\);}])",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"expression-operator-expression":{begin:"\\b(checked|unchecked|nameof)\\s*(\\()",beginCaptures:{1:{name:"keyword.operator.expression.$1.cs"},2:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"}]},"expression-operators":{patterns:[{match:"<<|>>>?",name:"keyword.operator.bitwise.shift.cs"},{match:"==|!=",name:"keyword.operator.comparison.cs"},{match:"<=|>=|<|>",name:"keyword.operator.relational.cs"},{match:"\\!|&&|\\|\\|",name:"keyword.operator.logical.cs"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.cs"},{match:"--",name:"keyword.operator.decrement.cs"},{match:"\\+\\+",name:"keyword.operator.increment.cs"},{match:"\\+|-(?!>)|\\*|/|%",name:"keyword.operator.arithmetic.cs"},{match:"\\?\\?",name:"keyword.operator.null-coalescing.cs"},{match:"\\.\\.",name:"keyword.operator.range.cs"}]},"extern-alias-directive":{begin:"\\b(extern)\\s+(alias)\\b",beginCaptures:{1:{name:"keyword.other.directive.extern.cs"},2:{name:"keyword.other.directive.alias.cs"}},end:"(?=;)",patterns:[{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.alias.cs"}]},"field-declaration":{begin:`(?x)
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
(\\g<identifier>)\\s* # first field name
(?!=>|==)(?=,|;|=|$)`,beginCaptures:{1:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.field.cs"}},end:"(?=;)",patterns:[{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.field.cs"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"},{include:"#class-or-struct-members"}]},"finally-clause":{begin:"(?<!\\.)\\b(finally)\\b",beginCaptures:{1:{name:"keyword.control.exception.finally.cs"}},end:"(?<=\\})",patterns:[{include:"#comment"},{include:"#block"}]},"fixed-size-buffer-declaration":{begin:`(?x)
\\b(fixed)\\b\\s+
(?<type_name>
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* # Are there any more names being dotted into?
)
)\\s+
(\\g<identifier>)\\s* # buffer name
(?=\\[)`,beginCaptures:{1:{name:"storage.modifier.fixed.cs"},2:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.field.cs"}},end:"(?=;)",patterns:[{include:"#bracketed-argument-list"},{include:"#comment"}]},"fixed-statement":{begin:"\\b(fixed)\\b",beginCaptures:{1:{name:"keyword.control.context.fixed.cs"}},end:"(?<=\\))|(?=;|})",patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#intrusive"},{include:"#local-variable-declaration"}]}]},"for-statement":{begin:"\\b(for)\\b",beginCaptures:{1:{name:"keyword.control.loop.for.cs"}},end:"(?<=\\))|(?=;|})",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{begin:"(?=[^;\\)])",end:"(?=;|\\))",patterns:[{include:"#intrusive"},{include:"#local-variable-declaration"},{include:"#local-tuple-var-deconstruction"},{include:"#tuple-deconstruction-assignment"},{include:"#expression"}]},{begin:"(?=;)",end:"(?=\\))",patterns:[{include:"#intrusive"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]}]}]},"foreach-statement":{begin:"\\b(foreach)\\b",beginCaptures:{1:{name:"keyword.control.loop.foreach.cs"}},end:"(?<=\\))|(?=;|})",patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#intrusive"},{captures:{1:{name:"storage.modifier.ref.cs"},2:{name:"storage.type.var.cs"},3:{patterns:[{include:"#type"}]},8:{name:"entity.name.variable.local.cs"},9:{name:"keyword.control.loop.in.cs"}},match:`(?x)
(?:
(?:(\\bref)\\s+)?(\\bvar\\b)| # ref local
(?<type_name>
(?:
(?:ref\\s+)? # ref local
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)
)\\s+
(\\g<identifier>)\\s+
\\b(in)\\b`},{captures:{1:{name:"storage.type.var.cs"},2:{patterns:[{include:"#tuple-declaration-deconstruction-element-list"}]},3:{name:"keyword.control.loop.in.cs"}},match:`(?x) # match foreach (var (x, y) in ...)
(?:\\b(var)\\b\\s*)?
(?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s+
\\b(in)\\b`},{include:"#expression"}]}]},"generic-constraints":{begin:"(where)\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)",beginCaptures:{1:{name:"storage.modifier.where.cs"},2:{name:"entity.name.type.type-parameter.cs"},3:{name:"punctuation.separator.colon.cs"}},end:"(?=\\{|where|;|=>)",patterns:[{match:"\\bclass\\b",name:"storage.type.class.cs"},{match:"\\bstruct\\b",name:"storage.type.struct.cs"},{match:"\\bdefault\\b",name:"keyword.other.constraint.default.cs"},{match:"\\bnotnull\\b",name:"keyword.other.constraint.notnull.cs"},{match:"\\bunmanaged\\b",name:"keyword.other.constraint.unmanaged.cs"},{captures:{1:{name:"keyword.operator.expression.new.cs"},2:{name:"punctuation.parenthesis.open.cs"},3:{name:"punctuation.parenthesis.close.cs"}},match:"(new)\\s*(\\()\\s*(\\))"},{include:"#type"},{include:"#punctuation-comma"},{include:"#generic-constraints"}]},"goto-statement":{begin:"(?<!\\.)\\b(goto)\\b",beginCaptures:{1:{name:"keyword.control.flow.goto.cs"}},end:"(?=[;}])",patterns:[{begin:"\\b(case)\\b",beginCaptures:{1:{name:"keyword.control.conditional.case.cs"}},end:"(?=[;}])",patterns:[{include:"#expression"}]},{captures:{1:{name:"keyword.control.conditional.default.cs"}},match:"\\b(default)\\b"},{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.label.cs"}]},"group-by":{captures:{1:{name:"keyword.operator.expression.query.by.cs"}},match:"\\b(by)\\b\\s*"},"group-clause":{begin:"\\b(group)\\b\\s*",beginCaptures:{1:{name:"keyword.operator.expression.query.group.cs"}},end:"(?=;|\\))",patterns:[{include:"#group-by"},{include:"#group-into"},{include:"#query-body"},{include:"#expression"}]},"group-into":{captures:{1:{name:"keyword.operator.expression.query.into.cs"},2:{name:"entity.name.variable.range-variable.cs"}},match:`(?x)
\\b(into)\\b\\s*
(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*`},identifier:{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.readwrite.cs"},"if-statement":{begin:"(?<!\\.)\\b(if)\\b\\s*(?=\\()",beginCaptures:{1:{name:"keyword.control.conditional.if.cs"}},end:"(?<=})|(?=;)",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"implicit-anonymous-function-parameter":{match:"\\@?[_[:alpha:]][_[:alnum:]]*\\b",name:"entity.name.variable.parameter.cs"},"indexer-declaration":{begin:`(?x)
(?<return_type>
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
)
(?<interface_name>\\g<type_name>\\s*\\.\\s*)?
(?<indexer_name>this)\\s*
(?=\\[)`,beginCaptures:{1:{patterns:[{include:"#type"}]},7:{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},8:{name:"variable.language.this.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#bracketed-parameter-list"},{include:"#property-accessors"},{include:"#accessor-getter-expression"},{include:"#variable-initializer"}]},"initializer-expression":{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"interface-declaration":{begin:"(?=\\binterface\\b)",end:"(?<=\\})|(?=;)",patterns:[{begin:`(?x)
(interface)\\b\\s+
(@?[_[:alpha:]][_[:alnum:]]*)`,beginCaptures:{1:{name:"storage.type.interface.cs"},2:{name:"entity.name.type.interface.cs"}},end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{include:"#type-parameter-list"},{include:"#base-types"},{include:"#generic-constraints"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#interface-members"}]},{include:"#preprocessor"},{include:"#comment"}]},"interface-members":{patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#storage-modifier"},{include:"#property-declaration"},{include:"#event-declaration"},{include:"#indexer-declaration"},{include:"#method-declaration"},{include:"#operator-declaration"},{include:"#attribute-section"},{include:"#punctuation-semicolon"}]},"interpolated-string":{begin:'\\$"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'(")|((?:[^\\\\\\n])$)',endCaptures:{1:{name:"punctuation.definition.string.end.cs"},2:{name:"invalid.illegal.newline.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#string-character-escape"},{include:"#interpolation"}]},interpolation:{begin:"(?<=[^\\{]|^)((?:\\{\\{)*)(\\{)(?=[^\\{])",beginCaptures:{1:{name:"string.quoted.double.cs"},2:{name:"punctuation.definition.interpolation.begin.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.interpolation.end.cs"}},name:"meta.embedded.interpolation.cs",patterns:[{include:"#expression"}]},intrusive:{patterns:[{include:"#preprocessor"},{include:"#comment"}]},"invocation-expression":{begin:`(?x)
(?:
(?:(\\?)\\s*)? # preceding null-conditional operator?
(\\.)\\s*| # preceding dot?
(->)\\s* # preceding pointer arrow?
)?
(@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name
(
<
(?<type_args>
[^<>()]|
\\((?:[^<>()]|<[^<>()]*>|\\([^<>()]*\\))*\\)|
<\\g<type_args>*>
)*
>\\s*
)? # type arguments
(?=\\() # open paren of argument list`,beginCaptures:{1:{name:"keyword.operator.null-conditional.cs"},2:{name:"punctuation.accessor.cs"},3:{name:"punctuation.accessor.pointer.cs"},4:{name:"entity.name.function.cs"},5:{patterns:[{include:"#type-arguments"}]}},end:"(?<=\\))",patterns:[{include:"#argument-list"}]},"is-expression":{begin:"(?<!\\.)\\b(is)\\b",beginCaptures:{1:{name:"keyword.operator.expression.pattern.is.cs"}},end:"(?=[)}\\],;:?=&|^]|!=)",patterns:[{include:"#pattern"}]},"join-clause":{begin:`(?x)
\\b(join)\\b\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)?
\\s+(\\g<identifier>)\\b\\s*
\\b(in)\\b\\s*`,beginCaptures:{1:{name:"keyword.operator.expression.query.join.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.range-variable.cs"},8:{name:"keyword.operator.expression.query.in.cs"}},end:"(?=;|\\))",patterns:[{include:"#join-on"},{include:"#join-equals"},{include:"#join-into"},{include:"#query-body"},{include:"#expression"}]},"join-equals":{captures:{1:{name:"keyword.operator.expression.query.equals.cs"}},match:"\\b(equals)\\b\\s*"},"join-into":{captures:{1:{name:"keyword.operator.expression.query.into.cs"},2:{name:"entity.name.variable.range-variable.cs"}},match:`(?x)
\\b(into)\\b\\s*
(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*`},"join-on":{captures:{1:{name:"keyword.operator.expression.query.on.cs"}},match:"\\b(on)\\b\\s*"},"labeled-statement":{captures:{1:{name:"entity.name.label.cs"},2:{name:"punctuation.separator.colon.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)"},"language-variable":{patterns:[{match:"\\b(base|this)\\b",name:"variable.language.$1.cs"},{match:"\\b(value)\\b",name:"variable.other.$1.cs"}]},"let-clause":{begin:`(?x)
\\b(let)\\b\\s*
(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
(=)\\s*`,beginCaptures:{1:{name:"keyword.operator.expression.query.let.cs"},2:{name:"entity.name.variable.range-variable.cs"},3:{name:"keyword.operator.assignment.cs"}},end:"(?=;|\\))",patterns:[{include:"#query-body"},{include:"#expression"}]},"list-pattern":{begin:"(?=\\[)",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{begin:"\\[",beginCaptures:{0:{name:"punctuation.squarebracket.open.cs"}},end:"\\]",endCaptures:{0:{name:"punctuation.squarebracket.close.cs"}},patterns:[{include:"#pattern"},{include:"#punctuation-comma"}]},{begin:"(?<=\\])",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#simple-designation-pattern"}]}]},literal:{patterns:[{include:"#boolean-literal"},{include:"#null-literal"},{include:"#numeric-literal"},{include:"#char-literal"},{include:"#raw-string-literal"},{include:"#string-literal"},{include:"#verbatim-string-literal"},{include:"#tuple-literal"}]},"local-constant-declaration":{begin:`(?x)
(?<const_keyword>\\b(?:const)\\b)\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
(\\g<identifier>)\\s*
(?=,|;|=)`,beginCaptures:{1:{name:"storage.modifier.const.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.local.cs"}},end:"(?=;)",patterns:[{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.local.cs"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"local-declaration":{patterns:[{include:"#local-constant-declaration"},{include:"#local-variable-declaration"},{include:"#local-function-declaration"},{include:"#local-tuple-var-deconstruction"},{include:"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{begin:`(?x)
\\b((?:(?:async|unsafe|static|extern)\\s+)*)
(?<type_name>
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?)? # nullable suffix?
(?:\\s* # array suffix?
\\[
\\s*(?:,\\s*)* # commata for multi-dimensional arrays
\\]
(?:\\s*\\?)? # arrays can be nullable reference types
)*
)\\s+
(\\g<identifier>)\\s*
(<[^<>]+>)?\\s*
(?=\\()`,beginCaptures:{1:{patterns:[{include:"#storage-modifier"}]},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.function.cs"},8:{patterns:[{include:"#type-parameter-list"}]}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#generic-constraints"},{include:"#expression-body"},{include:"#block"}]},"local-tuple-declaration-deconstruction":{captures:{1:{patterns:[{include:"#tuple-declaration-deconstruction-element-list"}]}},match:`(?x) # e.g. (int x, var y) = GetPoint();
(?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*
(?!=>|==)(?==)`},"local-tuple-var-deconstruction":{begin:`(?x) # e.g. var (x, y) = GetPoint();
(?:\\b(var)\\b\\s*)
(?<tuple>\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*
(?=;|=|\\))`,beginCaptures:{1:{name:"storage.type.var.cs"},2:{patterns:[{include:"#tuple-declaration-deconstruction-element-list"}]}},end:"(?=;|\\))",patterns:[{include:"#comment"},{include:"#variable-initializer"}]},"local-variable-declaration":{begin:`(?x)
(?:
(?:(\\bref)\\s+(?:(\\breadonly)\\s+)?)?(\\bvar\\b)| # ref local
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref local
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\*\\s*)* # pointer suffix?
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)
)\\s+
(\\g<identifier>)\\s*
(?!=>)
(?=,|;|=|\\))`,beginCaptures:{1:{name:"storage.modifier.ref.cs"},2:{name:"storage.modifier.readonly.cs"},3:{name:"storage.type.var.cs"},4:{patterns:[{include:"#type"}]},9:{name:"entity.name.variable.local.cs"}},end:"(?=[;)}])",patterns:[{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.local.cs"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"lock-statement":{begin:"\\b(lock)\\b",beginCaptures:{1:{name:"keyword.control.context.lock.cs"}},end:"(?<=\\))|(?=;|})",patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#intrusive"},{include:"#expression"}]}]},"member-access-expression":{patterns:[{captures:{1:{name:"keyword.operator.null-conditional.cs"},2:{name:"punctuation.accessor.cs"},3:{name:"punctuation.accessor.pointer.cs"},4:{name:"variable.other.object.property.cs"}},match:`(?x)
(?:
(?:(\\?)\\s*)? # preceding null-conditional operator?
(\\.)\\s*| # preceding dot?
(->)\\s* # preceding pointer arrow?
)
(@?[_[:alpha:]][_[:alnum:]]*)\\s* # property name
(?![_[:alnum:]]|\\(|(\\?)?\\[|<) # next character is not alpha-numeric, nor a (, [, or <. Also, test for ?[`},{captures:{1:{name:"punctuation.accessor.cs"},2:{name:"variable.other.object.cs"},3:{patterns:[{include:"#type-arguments"}]}},match:`(?x)
(\\.)?\\s*
(@?[_[:alpha:]][_[:alnum:]]*)
(?<type_params>\\s*<([^<>]|\\g<type_params>)+>\\s*)
(?=
(\\s*\\?)?
\\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*
)`},{captures:{1:{name:"variable.other.object.cs"}},match:`(?x)
(@?[_[:alpha:]][_[:alnum:]]*)
(?=
\\s*(?:(?:\\?\\s*)?\\.|->)
\\s*@?[_[:alpha:]][_[:alnum:]]*
)`}]},"method-declaration":{begin:`(?x)
(?<return_type>
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
)
(?<interface_name>\\g<type_name>\\s*\\.\\s*)?
(\\g<identifier>)\\s*
(<([^<>]+)>)?\\s*
(?=\\()`,beginCaptures:{1:{patterns:[{include:"#type"}]},7:{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},8:{name:"entity.name.function.cs"},9:{patterns:[{include:"#type-parameter-list"}]}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#generic-constraints"},{include:"#expression-body"},{include:"#block"}]},"named-argument":{begin:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)",beginCaptures:{1:{name:"entity.name.variable.parameter.cs"},2:{name:"punctuation.separator.colon.cs"}},end:"(?=(,|\\)|\\]))",patterns:[{include:"#argument"}]},"namespace-declaration":{begin:"\\b(namespace)\\s+",beginCaptures:{1:{name:"storage.type.namespace.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.namespace.cs"},{include:"#punctuation-accessor"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#declarations"},{include:"#using-directive"},{include:"#punctuation-semicolon"}]}]},"null-literal":{match:"(?<!\\.)\\bnull\\b",name:"constant.language.null.cs"},"numeric-literal":{captures:{0:{patterns:[{begin:"(?=.)",end:"$",patterns:[{captures:{10:{name:"keyword.operator.arithmetic.cs"},11:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},12:{name:"constant.numeric.other.suffix.cs"},2:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.separator.decimals.cs"},5:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},6:{name:"constant.numeric.other.separator.thousands.cs"},8:{name:"constant.numeric.other.exponent.cs"},9:{name:"keyword.operator.arithmetic.cs"}},match:"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([fFdDmM](?!\\w))?$"},{captures:{1:{name:"constant.numeric.other.preffix.binary.cs"},2:{name:"constant.numeric.binary.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G0[bB])([01_](?:[01_]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{captures:{1:{name:"constant.numeric.other.preffix.hex.cs"},2:{name:"constant.numeric.hex.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},4:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{captures:{2:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},3:{name:"constant.numeric.other.separator.thousands.cs"},5:{name:"constant.numeric.other.exponent.cs"},6:{name:"keyword.operator.arithmetic.cs"},7:{name:"keyword.operator.arithmetic.cs"},8:{name:"constant.numeric.decimal.cs",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"constant.numeric.other.separator.thousands.cs"}]},9:{name:"constant.numeric.other.suffix.cs"}},match:"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\w))?$"},{match:"(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)+",name:"invalid.illegal.constant.numeric.cs"}]}]}},match:"(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_]|_)|(?<=[eE])[+-]|\\.\\d)*"},"object-creation-expression":{patterns:[{include:"#object-creation-expression-with-parameters"},{include:"#object-creation-expression-with-no-parameters"}]},"object-creation-expression-with-no-parameters":{captures:{1:{name:"keyword.operator.expression.new.cs"},2:{patterns:[{include:"#type"}]}},match:`(?x)
(new)\\s+
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
(?=\\{|//|/\\*|$)`},"object-creation-expression-with-parameters":{begin:`(?x)
(new)(?:\\s+
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
))?\\s*
(?=\\()`,beginCaptures:{1:{name:"keyword.operator.expression.new.cs"},2:{patterns:[{include:"#type"}]}},end:"(?<=\\))",patterns:[{include:"#argument-list"}]},"operator-assignment":{match:"(?<!=|!)(=)(?!=)",name:"keyword.operator.assignment.cs"},"operator-declaration":{begin:`(?x)
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s*
\\b(?<operator_keyword>operator)\\b\\s*
(?<operator>[+\\-*/%&|\\^!=~<>]+|true|false)\\s*
(?=\\()`,beginCaptures:{1:{patterns:[{include:"#type"}]},6:{name:"storage.type.operator.cs"},7:{name:"entity.name.function.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#expression-body"},{include:"#block"}]},"orderby-clause":{begin:"\\b(orderby)\\b\\s*",beginCaptures:{1:{name:"keyword.operator.expression.query.orderby.cs"}},end:"(?=;|\\))",patterns:[{include:"#ordering-direction"},{include:"#query-body"},{include:"#expression"},{include:"#punctuation-comma"}]},"ordering-direction":{captures:{1:{name:"keyword.operator.expression.query.$1.cs"}},match:"\\b(ascending|descending)\\b"},parameter:{captures:{1:{name:"storage.modifier.$1.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.parameter.cs"}},match:`(?x)
(?:(?:\\b(ref|params|out|in|this)\\b)\\s+)?
(?<type_name>
(?:
(?:ref\\s+)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^()]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
(\\g<identifier>)`},"parenthesized-expression":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"}]},"parenthesized-parameter-list":{begin:"(\\()",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"(\\))",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#comment"},{include:"#attribute-section"},{include:"#parameter"},{include:"#punctuation-comma"},{include:"#variable-initializer"}]},pattern:{patterns:[{include:"#intrusive"},{include:"#combinator-pattern"},{include:"#discard-pattern"},{include:"#constant-pattern"},{include:"#relational-pattern"},{include:"#var-pattern"},{include:"#type-pattern"},{include:"#positional-pattern"},{include:"#property-pattern"},{include:"#list-pattern"},{include:"#slice-pattern"}]},"positional-pattern":{begin:"(?=\\()",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#subpattern"},{include:"#punctuation-comma"}]},{begin:"(?<=\\))",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#property-pattern"},{include:"#simple-designation-pattern"}]}]},preprocessor:{begin:"^\\s*(\\#)\\s*",beginCaptures:{1:{name:"punctuation.separator.hash.cs"}},end:"(?<=$)",name:"meta.preprocessor.cs",patterns:[{include:"#preprocessor-comment"},{include:"#preprocessor-define-or-undef"},{include:"#preprocessor-if-or-elif"},{include:"#preprocessor-else-or-endif"},{include:"#preprocessor-warning-or-error"},{include:"#preprocessor-region"},{include:"#preprocessor-endregion"},{include:"#preprocessor-load"},{include:"#preprocessor-r"},{include:"#preprocessor-line"},{include:"#preprocessor-pragma-warning"},{include:"#preprocessor-pragma-checksum"},{include:"#preprocessor-app-directive"}]},"preprocessor-app-directive":{begin:"\\s*(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.colon.cs"}},end:"(?=$)",patterns:[{include:"#preprocessor-app-directive-package"},{include:"#preprocessor-app-directive-property"},{include:"#preprocessor-app-directive-project"},{include:"#preprocessor-app-directive-sdk"},{include:"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-generic":{captures:{1:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(.*)?\\s*"},"preprocessor-app-directive-package":{captures:{1:{name:"keyword.preprocessor.package.cs"},2:{patterns:[{include:"#preprocessor-app-directive-package-name"}]},3:{name:"punctuation.separator.at.cs"},4:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(package)\\b\\s*([_[:alpha:]][_.[:alnum:]]*)?(@)?(.*)?\\s*"},"preprocessor-app-directive-package-name":{patterns:[{captures:{1:{name:"punctuation.dot.cs"},2:{name:"entity.name.variable.preprocessor.symbol.cs"}},match:"(\\.)([_[:alpha:]][_[:alnum:]]*)"},{match:"[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{captures:{1:{name:"keyword.preprocessor.project.cs"},2:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(project)\\b\\s*(.*)?\\s*"},"preprocessor-app-directive-property":{captures:{1:{name:"keyword.preprocessor.property.cs"},2:{name:"entity.name.variable.preprocessor.symbol.cs"},3:{name:"punctuation.separator.equals.cs"},4:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(property)\\b\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\s*"},"preprocessor-app-directive-sdk":{captures:{1:{name:"keyword.preprocessor.sdk.cs"},2:{patterns:[{include:"#preprocessor-app-directive-package-name"}]},3:{name:"punctuation.separator.at.cs"},4:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(sdk)\\b\\s*([_[:alpha:]][_.[:alnum:]]*)?(@)?(.*)?\\s*"},"preprocessor-comment":{patterns:[{captures:{1:{name:"punctuation.definition.comment.cs"}},match:"(//).*(?=$)",name:"comment.line.double-slash.cs"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.cs"}},end:"\\*/",name:"comment.block.cs"}]},"preprocessor-define-or-undef":{captures:{1:{name:"keyword.preprocessor.define.cs"},2:{name:"keyword.preprocessor.undef.cs"},3:{name:"entity.name.variable.preprocessor.symbol.cs"}},match:"\\b(?:(define)|(undef))\\b\\s*\\b([_[:alpha:]][_[:alnum:]]*)\\b"},"preprocessor-else-or-endif":{captures:{1:{name:"keyword.preprocessor.else.cs"},2:{name:"keyword.preprocessor.endif.cs"}},match:"\\b(?:(else)|(endif))\\b"},"preprocessor-endregion":{captures:{1:{name:"keyword.preprocessor.endregion.cs"}},match:"\\b(endregion)\\b"},"preprocessor-expression":{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#preprocessor-expression"}]},{captures:{1:{name:"constant.language.boolean.true.cs"},2:{name:"constant.language.boolean.false.cs"},3:{name:"entity.name.variable.preprocessor.symbol.cs"}},match:"\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\b"},{captures:{1:{name:"keyword.operator.comparison.cs"},2:{name:"keyword.operator.logical.cs"}},match:"(==|!=)|(\\!|&&|\\|\\|)"}]},"preprocessor-if-or-elif":{begin:"\\b(?:(if)|(elif))\\b",beginCaptures:{1:{name:"keyword.preprocessor.if.cs"},2:{name:"keyword.preprocessor.elif.cs"}},end:"(?=$)",patterns:[{include:"#preprocessor-comment"},{include:"#preprocessor-expression"}]},"preprocessor-line":{begin:"\\b(line)\\b",beginCaptures:{1:{name:"keyword.preprocessor.line.cs"}},end:"(?=$)",patterns:[{captures:{1:{name:"keyword.preprocessor.default.cs"},2:{name:"keyword.preprocessor.hidden.cs"}},match:"\\b(?:(default|hidden))"},{captures:{0:{name:"constant.numeric.decimal.cs"}},match:"[0-9]+"},{captures:{0:{name:"string.quoted.double.cs"}},match:'\\"[^"]*\\"'}]},"preprocessor-load":{begin:"\\b(load)\\b",beginCaptures:{1:{name:"keyword.preprocessor.load.cs"}},end:"(?=$)",patterns:[{captures:{0:{name:"string.quoted.double.cs"}},match:'\\"[^"]*\\"'}]},"preprocessor-pragma-checksum":{captures:{1:{name:"keyword.preprocessor.pragma.cs"},2:{name:"keyword.preprocessor.checksum.cs"},3:{name:"string.quoted.double.cs"},4:{name:"string.quoted.double.cs"},5:{name:"string.quoted.double.cs"}},match:'\\b(pragma)\\b\\s*\\b(checksum)\\b\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")\\s*(\\"[^"]*\\")'},"preprocessor-pragma-warning":{captures:{1:{name:"keyword.preprocessor.pragma.cs"},2:{name:"keyword.preprocessor.warning.cs"},3:{name:"keyword.preprocessor.disable.cs"},4:{name:"keyword.preprocessor.restore.cs"},5:{patterns:[{captures:{0:{name:"constant.numeric.decimal.cs"}},match:"[0-9]+"},{include:"#punctuation-comma"}]}},match:"\\b(pragma)\\b\\s*\\b(warning)\\b\\s*\\b(?:(disable)|(restore))\\b(\\s*[0-9]+(?:\\s*,\\s*[0-9]+)?)?"},"preprocessor-r":{begin:"\\b(r)\\b",beginCaptures:{1:{name:"keyword.preprocessor.r.cs"}},end:"(?=$)",patterns:[{captures:{0:{name:"string.quoted.double.cs"}},match:'\\"[^"]*\\"'}]},"preprocessor-region":{captures:{1:{name:"keyword.preprocessor.region.cs"},2:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(region)\\b\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{captures:{1:{name:"keyword.preprocessor.warning.cs"},2:{name:"keyword.preprocessor.error.cs"},3:{name:"string.unquoted.preprocessor.message.cs"}},match:"\\b(?:(warning)|(error))\\b\\s*(.*)(?=$)"},"property-accessors":{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#comment"},{include:"#attribute-section"},{match:"\\b(private|protected|internal)\\b",name:"storage.modifier.$1.cs"},{begin:"(?:\\b(readonly)\\s+)?\\b(get)\\b\\s*(?=\\{|;|=>|//|/\\*|$)",beginCaptures:{1:{name:"storage.modifier.readonly.cs"},2:{name:"storage.type.accessor.get.cs"}},end:"(?<=\\}|;)|(?=\\})",patterns:[{include:"#accessor-getter"}]},{begin:"\\b(set|init)\\b\\s*(?=\\{|;|=>|//|/\\*|$)",beginCaptures:{1:{name:"storage.type.accessor.$1.cs"}},end:"(?<=\\}|;)|(?=\\})",patterns:[{include:"#accessor-setter"}]}]},"property-declaration":{begin:`(?x)
# The negative lookahead below ensures that we don't match nested types
# or other declarations as properties.
(?![[:word:][:space:]]*\\b(?:class|interface|struct|enum|event)\\b)
(?<return_type>
(?<type_name>
(?:
(?:ref\\s+(?:readonly\\s+)?)? # ref return
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)\\s+
)
(?<interface_name>\\g<type_name>\\s*\\.\\s*)?
(?<property_name>\\g<identifier>)\\s*
(?=\\{|=>|//|/\\*|$)`,beginCaptures:{1:{patterns:[{include:"#type"}]},7:{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},8:{name:"entity.name.variable.property.cs"}},end:"(?<=\\})|(?=;)",patterns:[{include:"#comment"},{include:"#property-accessors"},{include:"#accessor-getter-expression"},{include:"#variable-initializer"},{include:"#class-or-struct-members"}]},"property-pattern":{begin:"(?={)",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#subpattern"},{include:"#punctuation-comma"}]},{begin:"(?<=\\})",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#simple-designation-pattern"}]}]},"punctuation-accessor":{match:"\\.",name:"punctuation.accessor.cs"},"punctuation-comma":{match:",",name:"punctuation.separator.comma.cs"},"punctuation-semicolon":{match:";",name:"punctuation.terminator.statement.cs"},"query-body":{patterns:[{include:"#let-clause"},{include:"#where-clause"},{include:"#join-clause"},{include:"#orderby-clause"},{include:"#select-clause"},{include:"#group-clause"}]},"query-expression":{begin:`(?x)
\\b(from)\\b\\s*
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)?
\\s+(\\g<identifier>)\\b\\s*
\\b(in)\\b\\s*`,beginCaptures:{1:{name:"keyword.operator.expression.query.from.cs"},2:{patterns:[{include:"#type"}]},7:{name:"entity.name.variable.range-variable.cs"},8:{name:"keyword.operator.expression.query.in.cs"}},end:"(?=;|\\))",patterns:[{include:"#query-body"},{include:"#expression"}]},"raw-interpolated-string":{patterns:[{include:"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{include:"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{include:"#raw-interpolated-string-quadruple-quote-double-interpolation"},{include:"#raw-interpolated-string-quadruple-quote-single-interpolation"},{include:"#raw-interpolated-string-triple-quote-double-interpolation"},{include:"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{begin:'\\$+"""""+',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""""+',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{begin:'\\$\\$""""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'""""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{begin:'\\$""""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'""""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{begin:'\\$\\$\\$+"""+',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""+',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{begin:'\\$\\$"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{begin:'\\$"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#raw-interpolation"}]},"raw-interpolation":{begin:"(?<=[^\\{]|^)((?:\\{)*)(\\{)(?=[^\\{])",beginCaptures:{1:{name:"string.quoted.double.cs"},2:{name:"punctuation.definition.interpolation.begin.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.interpolation.end.cs"}},name:"meta.embedded.interpolation.cs",patterns:[{include:"#expression"}]},"raw-string-literal":{patterns:[{include:"#raw-string-literal-more"},{include:"#raw-string-literal-quadruple"},{include:"#raw-string-literal-triple"}]},"raw-string-literal-more":{begin:'"""""+',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""""+',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs"},"raw-string-literal-quadruple":{begin:'""""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'""""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs"},"raw-string-literal-triple":{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs"},"readonly-modifier":{match:"\\breadonly\\b",name:"storage.modifier.readonly.cs"},"record-declaration":{begin:"(?=\\brecord\\b)",end:"(?<=\\})|(?=;)",patterns:[{begin:`(?x)
(record)\\b\\s+
(@?[_[:alpha:]][_[:alnum:]]*)`,beginCaptures:{1:{name:"storage.type.record.cs"},2:{name:"entity.name.type.class.cs"}},end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{include:"#type-parameter-list"},{include:"#parenthesized-parameter-list"},{include:"#base-types"},{include:"#generic-constraints"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#class-or-struct-members"}]},{include:"#preprocessor"},{include:"#comment"}]},"ref-modifier":{match:"\\bref\\b",name:"storage.modifier.ref.cs"},"relational-pattern":{begin:"<=?|>=?",beginCaptures:{0:{name:"keyword.operator.relational.cs"}},end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#expression"}]},"return-statement":{begin:"(?<!\\.)\\b(return)\\b",beginCaptures:{1:{name:"keyword.control.flow.return.cs"}},end:"(?=[;}])",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"script-top-level":{patterns:[{include:"#statement"},{include:"#method-declaration"},{include:"#punctuation-semicolon"}]},"select-clause":{begin:"\\b(select)\\b\\s*",beginCaptures:{1:{name:"keyword.operator.expression.query.select.cs"}},end:"(?=;|\\))",patterns:[{include:"#query-body"},{include:"#expression"}]},"simple-designation-pattern":{patterns:[{include:"#discard-pattern"},{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.variable.local.cs"}]},"slice-pattern":{match:"\\.\\.",name:"keyword.operator.range.cs"},statement:{patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#foreach-statement"},{include:"#if-statement"},{include:"#else-part"},{include:"#goto-statement"},{include:"#return-statement"},{include:"#break-or-continue-statement"},{include:"#throw-statement"},{include:"#yield-statement"},{include:"#await-statement"},{include:"#try-statement"},{include:"#expression-operator-expression"},{include:"#context-control-statement"},{include:"#context-control-paren-statement"},{include:"#labeled-statement"},{include:"#object-creation-expression"},{include:"#array-creation-expression"},{include:"#anonymous-object-creation-expression"},{include:"#local-declaration"},{include:"#block"},{include:"#expression"},{include:"#punctuation-semicolon"}]},"storage-modifier":{match:"(?<!\\.)\\b(new|public|protected|internal|private|abstract|virtual|override|sealed|static|partial|readonly|volatile|const|extern|async|unsafe|ref|required|file)\\b",name:"storage.modifier.$1.cs"},"string-character-escape":{match:"\\\\(x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|.)",name:"constant.character.escape.cs"},"string-literal":{begin:'(?<!@)"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'(")|((?:[^\\\\\\n])$)',endCaptures:{1:{name:"punctuation.definition.string.end.cs"},2:{name:"invalid.illegal.newline.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#string-character-escape"}]},"struct-declaration":{begin:"(?=(\\brecord\\b\\s+)?\\bstruct\\b)",end:"(?<=\\})|(?=;)",patterns:[{begin:`(?x)
(\\b(record)\\b\\s+)?
(struct)\\b\\s+
(@?[_[:alpha:]][_[:alnum:]]*)`,beginCaptures:{2:{name:"storage.type.record.cs"},3:{name:"storage.type.struct.cs"},4:{name:"entity.name.type.struct.cs"}},end:"(?=\\{)|(?=;)",patterns:[{include:"#comment"},{include:"#type-parameter-list"},{include:"#parenthesized-parameter-list"},{include:"#base-types"},{include:"#generic-constraints"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#class-or-struct-members"}]},{include:"#preprocessor"},{include:"#comment"}]},subpattern:{patterns:[{captures:{1:{patterns:[{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"variable.other.object.property.cs"},{include:"#punctuation-accessor"}]},2:{name:"punctuation.separator.colon.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*(?:\\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*)*)\\s*(:)"},{include:"#pattern"}]},"switch-expression":{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#punctuation-comma"},{begin:"=>",beginCaptures:{0:{name:"keyword.operator.arrow.cs"}},end:"(?=,|})",patterns:[{include:"#expression"}]},{begin:"\\b(when)\\b",beginCaptures:{1:{name:"keyword.control.conditional.when.cs"}},end:"(?==>|,|})",patterns:[{include:"#case-guard"}]},{begin:"(?!\\s)",end:"(?=\\bwhen\\b|=>|,|})",patterns:[{include:"#pattern"}]}]},"switch-label":{begin:"\\b(case|default)\\b",beginCaptures:{1:{name:"keyword.control.conditional.$1.cs"}},end:"(:)|(?=})",endCaptures:{1:{name:"punctuation.separator.colon.cs"}},patterns:[{begin:"\\b(when)\\b",beginCaptures:{1:{name:"keyword.control.conditional.when.cs"}},end:"(?=:|})",patterns:[{include:"#case-guard"}]},{begin:"(?!\\s)",end:"(?=\\bwhen\\b|:|})",patterns:[{include:"#pattern"}]}]},"switch-statement":{patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.curlybrace.open.cs"}},end:"\\}",endCaptures:{0:{name:"punctuation.curlybrace.close.cs"}},patterns:[{include:"#switch-label"},{include:"#statement"}]}]},"switch-statement-or-expression":{begin:"(?<!\\.)\\b(switch)\\b",beginCaptures:{1:{name:"keyword.control.conditional.switch.cs"}},end:"(?<=})|(?=})",patterns:[{include:"#intrusive"},{begin:"(?=\\()",end:"(?<=\\})|(?=\\})",patterns:[{include:"#switch-statement"}]},{begin:"(?=\\{)",end:"(?<=\\})|(?=\\})",patterns:[{include:"#switch-expression"}]}]},"throw-expression":{captures:{1:{name:"keyword.control.flow.throw.cs"}},match:"\\b(throw)\\b"},"throw-statement":{begin:"(?<!\\.)\\b(throw)\\b",beginCaptures:{1:{name:"keyword.control.flow.throw.cs"}},end:"(?=[;}])",patterns:[{include:"#expression"}]},"try-block":{begin:"(?<!\\.)\\b(try)\\b",beginCaptures:{1:{name:"keyword.control.exception.try.cs"}},end:"(?<=\\})",patterns:[{include:"#comment"},{include:"#block"}]},"try-statement":{patterns:[{include:"#try-block"},{include:"#catch-clause"},{include:"#finally-clause"}]},"tuple-declaration-deconstruction-element-list":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#comment"},{include:"#tuple-declaration-deconstruction-element-list"},{include:"#declaration-expression-tuple"},{include:"#punctuation-comma"},{captures:{1:{name:"entity.name.variable.tuple-element.cs"}},match:`(?x) # e.g. x
(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
(?=[,)])`}]},"tuple-deconstruction-assignment":{captures:{1:{patterns:[{include:"#tuple-deconstruction-element-list"}]}},match:`(?x)
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))\\s*
(?!=>|==)(?==)`},"tuple-deconstruction-element-list":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#comment"},{include:"#tuple-deconstruction-element-list"},{include:"#declaration-expression-tuple"},{include:"#punctuation-comma"},{captures:{1:{name:"variable.other.readwrite.cs"}},match:`(?x) # e.g. x
(@?[_[:alpha:]][_[:alnum:]]*)\\b\\s*
(?=[,)])`}]},"tuple-element":{captures:{1:{patterns:[{include:"#type"}]},6:{name:"entity.name.variable.tuple-element.cs"}},match:`(?x)
(?<type_name>
(?:
(?:
(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification
(?<name_and_type_args> # identifier + type arguments (if any)
\\g<identifier>\\s*
(?<type_args>\\s*<(?:[^<>]|\\g<type_args>)+>\\s*)?
)
(?:\\s*\\.\\s*\\g<name_and_type_args>)* | # Are there any more names being dotted into?
(?<tuple>\\s*\\((?:[^\\(\\)]|\\g<tuple>)+\\))
)
(?:\\s*\\?\\s*)? # nullable suffix?
(?:\\s* # array suffix?
\\[
(?:\\s*,\\s*)* # commata for multi-dimensional arrays
\\]
\\s*
(?:\\?)? # arrays can be nullable reference types
\\s*
)*
)
)
(?:(?<tuple_name>\\g<identifier>)\\b)?`},"tuple-literal":{begin:"(\\()(?=.*[:,])",beginCaptures:{1:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#comment"},{include:"#tuple-literal-element"},{include:"#expression"},{include:"#punctuation-comma"}]},"tuple-literal-element":{begin:`(?x)
(@?[_[:alpha:]][_[:alnum:]]*)\\s*
(?=:)`,beginCaptures:{1:{name:"entity.name.variable.tuple-element.cs"}},end:"(:)",endCaptures:{0:{name:"punctuation.separator.colon.cs"}}},"tuple-type":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#tuple-element"},{include:"#punctuation-comma"}]},type:{patterns:[{include:"#comment"},{include:"#ref-modifier"},{include:"#readonly-modifier"},{include:"#tuple-type"},{include:"#type-builtin"},{include:"#type-name"},{include:"#type-arguments"},{include:"#type-array-suffix"},{include:"#type-nullable-suffix"},{include:"#type-pointer-suffix"}]},"type-arguments":{begin:"<",beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.cs"}},end:">",endCaptures:{0:{name:"punctuation.definition.typeparameters.end.cs"}},patterns:[{include:"#type"},{include:"#punctuation-comma"}]},"type-array-suffix":{begin:"\\[",beginCaptures:{0:{name:"punctuation.squarebracket.open.cs"}},end:"\\]",endCaptures:{0:{name:"punctuation.squarebracket.close.cs"}},patterns:[{include:"#intrusive"},{include:"#punctuation-comma"}]},"type-builtin":{captures:{1:{name:"keyword.type.$1.cs"}},match:"\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\b"},"type-declarations":{patterns:[{include:"#preprocessor"},{include:"#comment"},{include:"#storage-modifier"},{include:"#class-declaration"},{include:"#delegate-declaration"},{include:"#enum-declaration"},{include:"#interface-declaration"},{include:"#struct-declaration"},{include:"#record-declaration"},{include:"#attribute-section"},{include:"#punctuation-semicolon"}]},"type-name":{patterns:[{captures:{1:{name:"entity.name.type.alias.cs"},2:{name:"punctuation.separator.coloncolon.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\:\\:)"},{captures:{1:{name:"entity.name.type.cs"},2:{name:"punctuation.accessor.cs"}},match:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"},{captures:{1:{name:"punctuation.accessor.cs"},2:{name:"entity.name.type.cs"}},match:"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{match:"@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"}]},"type-nullable-suffix":{match:"\\?",name:"punctuation.separator.question-mark.cs"},"type-operator-expression":{begin:"\\b(default|sizeof|typeof)\\s*(\\()",beginCaptures:{1:{name:"keyword.operator.expression.$1.cs"},2:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#type"}]},"type-parameter-list":{begin:"\\<",beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.cs"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.typeparameters.end.cs"}},patterns:[{match:"\\b(in|out)\\b",name:"storage.modifier.$1.cs"},{match:"(@?[_[:alpha:]][_[:alnum:]]*)\\b",name:"entity.name.type.type-parameter.cs"},{include:"#comment"},{include:"#punctuation-comma"},{include:"#attribute-section"}]},"type-pattern":{begin:"(?=@?[_[:alpha:]][_[:alnum:]]*)",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{begin:"\\G",end:"(?!\\G[@_[:alpha:]])(?=[\\({@_[:alpha:])}\\],;:=&|^]|(?:\\s|^)\\?|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#type-subpattern"}]},{begin:"(?=[\\({@_[:alpha:]])",end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{include:"#positional-pattern"},{include:"#property-pattern"},{include:"#simple-designation-pattern"}]}]},"type-pointer-suffix":{match:"\\*",name:"punctuation.separator.asterisk.cs"},"type-subpattern":{patterns:[{include:"#type-builtin"},{begin:"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(::)",beginCaptures:{1:{name:"entity.name.type.alias.cs"},2:{name:"punctuation.separator.coloncolon.cs"}},end:"(?<=[_[:alnum:]])|(?=[.<\\[\\({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"}]},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"},{begin:"\\.",beginCaptures:{0:{name:"punctuation.accessor.cs"}},end:"(?<=[_[:alnum:]])|(?=[<\\[\\({)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#intrusive"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.cs"}]},{include:"#type-arguments"},{include:"#type-array-suffix"},{match:"(?<!\\s)\\?",name:"punctuation.separator.question-mark.cs"}]},"using-directive":{patterns:[{begin:"\\b(?:(global)\\s+)?(using)\\s+(static)\\b\\s*(?:(unsafe)\\b\\s*)?",beginCaptures:{1:{name:"keyword.other.directive.global.cs"},2:{name:"keyword.other.directive.using.cs"},3:{name:"keyword.other.directive.static.cs"},4:{name:"storage.modifier.unsafe.cs"}},end:"(?=;)",patterns:[{include:"#type"}]},{begin:"\\b(?:(global)\\s+)?(using)\\b\\s*(?:(unsafe)\\b\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\s*(=)",beginCaptures:{1:{name:"keyword.other.directive.global.cs"},2:{name:"keyword.other.directive.using.cs"},3:{name:"storage.modifier.unsafe.cs"},4:{name:"entity.name.type.alias.cs"},5:{name:"keyword.operator.assignment.cs"}},end:"(?=;)",patterns:[{include:"#comment"},{include:"#type"}]},{begin:"\\b(?:(global)\\s+)?(using)\\b\\s*+(?!\\(|var\\b)",beginCaptures:{1:{name:"keyword.other.directive.global.cs"},2:{name:"keyword.other.directive.using.cs"}},end:"(?=;)",patterns:[{include:"#comment"},{match:"\\@?[_[:alpha:]][_[:alnum:]]*",name:"entity.name.type.namespace.cs"},{include:"#punctuation-accessor"},{include:"#operator-assignment"}]}]},"using-statement":{begin:"\\b(using)\\b",beginCaptures:{1:{name:"keyword.control.context.using.cs"}},end:"(?<=\\))|(?=;|})",patterns:[{include:"#intrusive"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#intrusive"},{include:"#await-expression"},{include:"#local-variable-declaration"},{include:"#expression"}]},{include:"#local-variable-declaration"}]},"var-pattern":{begin:"\\b(var)\\b",beginCaptures:{1:{name:"storage.type.var.cs"}},end:"(?=[)}\\],;:?=&|^]|!=|\\b(and|or|when)\\b)",patterns:[{include:"#designation-pattern"}]},"variable-initializer":{begin:"(?<!=|!)(=)(?!=|>)",beginCaptures:{1:{name:"keyword.operator.assignment.cs"}},end:"(?=[,\\)\\];}])",patterns:[{include:"#ref-modifier"},{include:"#expression"}]},"verbatim-interpolated-string":{begin:'(?:\\$@|@\\$)"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"(?=[^"])',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#verbatim-string-character-escape"},{include:"#interpolation"}]},"verbatim-string-character-escape":{match:'""',name:"constant.character.escape.cs"},"verbatim-string-literal":{begin:'@"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'"(?=[^"])',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#verbatim-string-character-escape"}]},"when-clause":{begin:"(?<!\\.)\\b(when)\\b\\s*(\\()",beginCaptures:{1:{name:"keyword.control.exception.when.cs"},2:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"},{include:"#comment"}]},"where-clause":{begin:`(?x)
\\b(where)\\b\\s*`,beginCaptures:{1:{name:"keyword.operator.expression.query.where.cs"}},end:"(?=;|\\))",patterns:[{include:"#query-body"},{include:"#expression"}]},"while-statement":{begin:"(?<!\\.)\\b(while)\\b\\s*(?=\\()",beginCaptures:{1:{name:"keyword.control.loop.while.cs"}},end:"(?<=\\})|(?=;)",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.open.cs"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.close.cs"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"with-expression":{begin:"(?<!\\.)\\b(with)\\b\\s*(?=\\{|//|/\\*|$)",beginCaptures:{1:{name:"keyword.operator.expression.with.cs"}},end:"(?<=\\})",patterns:[{include:"#comment"},{include:"#initializer-expression"}]},"xml-attribute":{patterns:[{captures:{1:{name:"entity.other.attribute-name.cs"},2:{name:"entity.other.attribute-name.namespace.cs"},3:{name:"punctuation.separator.colon.cs"},4:{name:"entity.other.attribute-name.localname.cs"},5:{name:"punctuation.separator.equals.cs"}},match:`(?x)
(?:^|\\s+)
(
(?:
([-_[:alnum:]]+)
(:)
)?
([-_[:alnum:]]+)
)
(=)`},{include:"#xml-string"}]},"xml-cdata":{begin:"<!\\[CDATA\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:"\\]\\]>",endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.unquoted.cdata.cs"},"xml-character-entity":{patterns:[{captures:{1:{name:"punctuation.definition.constant.cs"},3:{name:"punctuation.definition.constant.cs"}},match:`(?x)
(&)
(
(?:[[:alpha:]:_][[:alnum:]:_.-]*)|
(?:\\#[[:digit:]]+)|
(?:\\#x[[:xdigit:]]+)
)
(;)`,name:"constant.character.entity.cs"},{match:"&",name:"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{begin:"<!--",beginCaptures:{0:{name:"punctuation.definition.comment.cs"}},end:"-->",endCaptures:{0:{name:"punctuation.definition.comment.cs"}},name:"comment.block.cs"},"xml-doc-comment":{patterns:[{include:"#xml-comment"},{include:"#xml-character-entity"},{include:"#xml-cdata"},{include:"#xml-tag"}]},"xml-string":{patterns:[{begin:"\\'",beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:"\\'",endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.single.cs",patterns:[{include:"#xml-character-entity"}]},{begin:'\\"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cs"}},end:'\\"',endCaptures:{0:{name:"punctuation.definition.string.end.cs"}},name:"string.quoted.double.cs",patterns:[{include:"#xml-character-entity"}]}]},"xml-tag":{begin:`(?x)
(</?)
(
(?:
([-_[:alnum:]]+)
(:)
)?
([-_[:alnum:]]+)
)`,beginCaptures:{1:{name:"punctuation.definition.tag.cs"},2:{name:"entity.name.tag.cs"},3:{name:"entity.name.tag.namespace.cs"},4:{name:"punctuation.separator.colon.cs"},5:{name:"entity.name.tag.localname.cs"}},end:"(/?>)",endCaptures:{1:{name:"punctuation.definition.tag.cs"}},name:"meta.tag.cs",patterns:[{include:"#xml-attribute"}]},"yield-break-statement":{captures:{1:{name:"keyword.control.flow.yield.cs"},2:{name:"keyword.control.flow.break.cs"}},match:"(?<!\\.)\\b(yield)\\b\\s*\\b(break)\\b"},"yield-return-statement":{begin:"(?<!\\.)\\b(yield)\\b\\s*\\b(return)\\b",beginCaptures:{1:{name:"keyword.control.flow.yield.cs"},2:{name:"keyword.control.flow.return.cs"}},end:"(?=[;}])",patterns:[{include:"#expression"}]},"yield-statement":{patterns:[{include:"#yield-return-statement"},{include:"#yield-break-statement"}]}},scopeName:"source.cs"},qn=da;var ga={extensions:[".css"],names:["css"],patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#combinators"},{include:"#selector"},{include:"#at-rules"},{include:"#rule-list"}],repository:{"at-rules":{patterns:[{begin:"\\A(?:\\xEF\\xBB\\xBF)?(?i:(?=\\s*@charset\\b))",end:";|(?=$)",endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.charset.css",patterns:[{captures:{1:{name:"invalid.illegal.not-lowercase.charset.css"},2:{name:"invalid.illegal.leading-whitespace.charset.css"},3:{name:"invalid.illegal.no-whitespace.charset.css"},4:{name:"invalid.illegal.whitespace.charset.css"},5:{name:"invalid.illegal.not-double-quoted.charset.css"},6:{name:"invalid.illegal.unclosed-string.charset.css"},7:{name:"invalid.illegal.unexpected-characters.charset.css"}},match:`(?x) # Possible errors:
\\G
((?!@charset)@\\w+) # Not lowercase (@charset is case-sensitive)
|
\\G(\\s+) # Preceding whitespace
|
(@charset\\S[^;]*) # No whitespace after @charset
|
(?<=@charset) # Before quoted charset name
(\\x20{2,}|\\t+) # More than one space used, or a tab
|
(?<=@charset\\x20) # Beginning of charset name
([^";]+) # Not double-quoted
|
("[^"]+$) # Unclosed quote
|
(?<=") # After charset name
([^;]+) # Unexpected junk instead of semicolon`},{captures:{1:{name:"keyword.control.at-rule.charset.css"},2:{name:"punctuation.definition.keyword.css"}},match:"((@)charset)(?=\\s)"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"|$',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:'(?:\\G|^)(?=(?:[^"])+$)',end:"$",name:"invalid.illegal.unclosed.string.css"}]}]},{begin:`(?i)((@)import)(?:\\s+|$|(?=['"]|/\\*))`,beginCaptures:{1:{name:"keyword.control.at-rule.import.css"},2:{name:"punctuation.definition.keyword.css"}},end:";",endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{begin:"\\G\\s*(?=/\\*)",end:"(?<=\\*/)\\s*",patterns:[{include:"#comment-block"}]},{include:"#string"},{include:"#url"},{include:"#media-query-list"}]},{begin:"(?i)((@)font-face)(?=\\s*|{|/\\*|$)",beginCaptures:{1:{name:"keyword.control.at-rule.font-face.css"},2:{name:"punctuation.definition.keyword.css"}},end:"(?!\\G)",name:"meta.at-rule.font-face.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list"}]},{begin:"(?i)(@)page(?=[\\s:{]|/\\*|$)",captures:{0:{name:"keyword.control.at-rule.page.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*($|[:{;]))",name:"meta.at-rule.page.css",patterns:[{include:"#rule-list"}]},{begin:"(?i)(?=@media(\\s|\\(|/\\*|$))",end:"(?<=})(?!\\G)",patterns:[{begin:"(?i)\\G(@)media",beginCaptures:{0:{name:"keyword.control.at-rule.media.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*[{;])",name:"meta.at-rule.media.header.css",patterns:[{include:"#media-query-list"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.media.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.media.end.bracket.curly.css"}},name:"meta.at-rule.media.body.css",patterns:[{include:"$self"}]}]},{begin:`(?i)(?=@counter-style([\\s'"{;]|/\\*|$))`,end:"(?<=})(?!\\G)",patterns:[{begin:"(?i)\\G(@)counter-style",beginCaptures:{0:{name:"keyword.control.at-rule.counter-style.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*{)",name:"meta.at-rule.counter-style.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:`(?x)
(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter
(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
|\\\\(?:[0-9a-fA-F]{1,6}|.)
)*`,name:"variable.parameter.style-name.css"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.at-rule.counter-style.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list-innards"}]}]},{begin:`(?i)(?=@document([\\s'"{;]|/\\*|$))`,end:"(?<=})(?!\\G)",patterns:[{begin:"(?i)\\G(@)document",beginCaptures:{0:{name:"keyword.control.at-rule.document.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*[{;])",name:"meta.at-rule.document.header.css",patterns:[{begin:"(?i)(?<![\\w-])(url-prefix|domain|regexp)(\\()",beginCaptures:{1:{name:"support.function.document-rule.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.document-rule.css",patterns:[{include:"#string"},{include:"#comment-block"},{include:"#escapes"},{match:`[^'")\\s]+`,name:"variable.parameter.document-rule.css"}]},{include:"#url"},{include:"#commas"},{include:"#comment-block"},{include:"#escapes"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.document.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.document.end.bracket.curly.css"}},name:"meta.at-rule.document.body.css",patterns:[{include:"$self"}]}]},{begin:`(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\\s'"{;]|/\\*|$))`,end:"(?<=})(?!\\G)",patterns:[{begin:"(?i)\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes",beginCaptures:{0:{name:"keyword.control.at-rule.keyframes.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*{)",name:"meta.at-rule.keyframes.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:`(?x)
(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter
(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
|\\\\(?:[0-9a-fA-F]{1,6}|.)
)*`,name:"variable.parameter.keyframe-list.css"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.keyframes.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.keyframes.end.bracket.curly.css"}},name:"meta.at-rule.keyframes.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{1:{name:"entity.other.keyframe-offset.css"},2:{name:"entity.other.keyframe-offset.percentage.css"}},match:`(?xi)
(?<![\\w-]) (from|to) (?![\\w-]) # Keywords for 0% | 100%
|
([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%) # Percentile value`},{include:"#rule-list"}]}]},{begin:"(?i)(?=@supports(\\s|\\(|/\\*|$))",end:"(?<=})(?!\\G)|(?=;)",patterns:[{begin:"(?i)\\G(@)supports",beginCaptures:{0:{name:"keyword.control.at-rule.supports.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*[{;])",name:"meta.at-rule.supports.header.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"},{include:"#comment-block"},{include:"#escapes"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.supports.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.supports.end.bracket.curly.css"}},name:"meta.at-rule.supports.body.css",patterns:[{include:"$self"}]}]},{begin:`(?i)((@)(-(ms|o)-)?viewport)(?=[\\s'"{;]|/\\*|$)`,beginCaptures:{1:{name:"keyword.control.at-rule.viewport.css"},2:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*[@{;])",name:"meta.at-rule.viewport.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{begin:`(?i)((@)font-feature-values)(?=[\\s'"{;]|/\\*|$)\\s*`,beginCaptures:{1:{name:"keyword.control.at-rule.font-feature-values.css"},2:{name:"punctuation.definition.keyword.css"}},contentName:"variable.parameter.font-name.css",end:"(?=\\s*[@{;])",name:"meta.at-rule.font-features.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{include:"#font-features"},{begin:`(?i)((@)namespace)(?=[\\s'";]|/\\*|$)`,beginCaptures:{1:{name:"keyword.control.at-rule.namespace.css"},2:{name:"punctuation.definition.keyword.css"}},end:";|(?=[@{])",endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.namespace.css",patterns:[{include:"#url"},{captures:{1:{patterns:[{include:"#comment-block"}]},2:{name:"entity.name.function.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:`(?xi)
(?:\\G|^|(?<=\\s))
(?=
(?<=\\s|^) # Starts with whitespace
(?:[-a-zA-Z_]|[^\\x00-\\x7F]) # Then a valid identifier character
|
\\s* # Possible adjoining whitespace
/\\*(?:[^*]|\\*[^/])*\\*/ # Injected comment
)
(.*?) # Grouped to embed #comment-block
(
(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter
(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
|\\\\(?:[0-9a-fA-F]{1,6}|.)
)*
)`},{include:"#comment-block"},{include:"#escapes"},{include:"#string"}]},{begin:"(?i)(?=@[\\w-]+[^;]+;s*$)",end:"(?<=;)(?!\\G)",patterns:[{begin:"(?i)\\G(@)[\\w-]+",beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:";",endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.header.css"}]},{begin:"(?i)(?=@[\\w-]+(\\s|\\(|{|/\\*|$))",end:"(?<=})(?!\\G)",patterns:[{begin:"(?i)\\G(@)[\\w-]+",beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:"(?=\\s*[{;])",name:"meta.at-rule.header.css"},{begin:"{",beginCaptures:{0:{name:"punctuation.section.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.end.bracket.curly.css"}},name:"meta.at-rule.body.css",patterns:[{include:"$self"}]}]}]},"color-keywords":{patterns:[{match:"(?i)(?<![\\w-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\\w-])",name:"support.constant.color.w3c-standard-color-name.css"},{match:`(?xi) (?<![\\w-])
(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood
|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan
|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange
|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise
|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen
|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki
|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow
|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray
|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue
|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise
|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered
|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum
|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell
|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato
|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)
(?![\\w-])`,name:"support.constant.color.w3c-extended-color-name.css"},{match:"(?i)(?<![\\w-])currentColor(?![\\w-])",name:"support.constant.color.current.css"},{match:`(?xi) (?<![\\w-])
(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow
|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption
|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow
|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)
(?![\\w-])`,name:"invalid.deprecated.color.system.css"}]},combinators:{patterns:[{match:"/deep/|>>>",name:"invalid.deprecated.combinator.css"},{match:">>|>|\\+|~",name:"keyword.operator.combinator.css"}]},commas:{match:",",name:"punctuation.separator.list.comma.css"},"comment-block":{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},escapes:{patterns:[{match:"\\\\[0-9a-fA-F]{1,6}",name:"constant.character.escape.codepoint.css"},{begin:"\\\\$\\s*",end:"^(?<!\\G)",name:"constant.character.escape.newline.css"},{match:"\\\\.",name:"constant.character.escape.css"}]},"feature-query":{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.condition.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.condition.end.bracket.round.css"}},name:"meta.feature-query.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"}]},"feature-query-operators":{patterns:[{match:"(?i)(?<=[\\s()]|^|\\*/)(and|not|or)(?=[\\s()]|/\\*|$)",name:"keyword.operator.logical.feature.$1.css"},{include:"#rule-list-innards"}]},"font-features":{begin:`(?xi)
((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))
(?=[\\s@'"{;]|/\\*|$)`,beginCaptures:{1:{name:"keyword.control.at-rule.${3:/downcase}.css"},2:{name:"punctuation.definition.keyword.css"}},end:"(?<=})",name:"meta.at-rule.${3:/downcase}.css",patterns:[{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.font-feature.css",patterns:[{captures:{0:{patterns:[{include:"#escapes"}]}},match:`(?x)
(?: [-a-zA-Z_] | [^\\x00-\\x7F] ) # First letter
(?: [-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
| \\\\(?:[0-9a-fA-F]{1,6}|.)
)*`,name:"variable.font-feature.css"},{include:"#rule-list-innards"}]}]},"functional-pseudo-classes":{patterns:[{begin:"(?i)((:)dir)(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#comment-block"},{include:"#escapes"},{match:"(?i)(?<![\\w-])(ltr|rtl)(?![\\w-])",name:"support.constant.text-direction.css"},{include:"#property-values"}]},{begin:"(?i)((:)lang)(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:"(?<=[(,\\s])[a-zA-Z]+(-[a-zA-Z0-9]*|\\\\(?:[0-9a-fA-F]{1,6}|.))*(?=[),\\s])",name:"support.constant.language-range.css"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{include:"#escapes"},{match:'(?<=["\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=["\\s])',name:"support.constant.language-range.css"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{include:"#escapes"},{match:"(?<=['\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=['\\s])",name:"support.constant.language-range.css"}]},{include:"#commas"}]},{begin:"(?i)((:)(?:not|has|matches))(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#selector-innards"}]},{begin:"(?i)((:)nth-(?:last-)?(?:child|of-type))(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:"(?i)[+-]?(\\d+n?|n)(\\s*[+-]\\s*\\d+)?",name:"constant.numeric.css"},{match:"(?i)even|odd",name:"support.constant.parity.css"}]}]},functions:{patterns:[{begin:"(?i)(?<![\\w-])(calc)(\\()",beginCaptures:{1:{name:"support.function.calc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.calc.css",patterns:[{match:"[*/]|(?<=\\s|^)[-+](?=\\s|$)",name:"keyword.operator.arithmetic.css"},{include:"#property-values"}]},{begin:"(?i)(?<![\\w-])(rgba?|hsla?|hwb|lab|lch)(\\()",beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.color.css",patterns:[{include:"#property-values"}]},{begin:`(?xi) (?<![\\w-])
(
(?:-webkit-|-moz-|-o-)? # Accept prefixed/historical variants
(?:repeating-)? # "Repeating"-type gradient
(?:linear|radial|conic) # Shape
-gradient
)
(\\()`,beginCaptures:{1:{name:"support.function.gradient.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.css",patterns:[{match:"(?i)(?<![\\w-])(from|to|at)(?![\\w-])",name:"keyword.operator.gradient.css"},{include:"#property-values"}]},{begin:"(?i)(?<![\\w-])(-webkit-gradient)(\\()",beginCaptures:{1:{name:"invalid.deprecated.gradient.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.invalid.deprecated.gradient.css",patterns:[{begin:"(?i)(?<![\\w-])(from|to|color-stop)(\\()",beginCaptures:{1:{name:"invalid.deprecated.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#property-values"}]},{begin:`(?xi) (?<![\\w-])
(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?
|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate
|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia
|styleset|stylistic|swash|symbols)
(\\()`,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.misc.css",patterns:[{match:`(?i)(?<=[,\\s"]|\\*/|^)\\d+x(?=[\\s,"')]|/\\*|$)`,name:"constant.numeric.other.density.css"},{include:"#property-values"},{match:`[^'"),\\s]+`,name:"variable.parameter.misc.css"}]},{begin:"(?i)(?<![\\w-])(circle|ellipse|inset|polygon|rect)(\\()",beginCaptures:{1:{name:"support.function.shape.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.shape.css",patterns:[{match:"(?i)(?<=\\s|^|\\*/)(at|round)(?=\\s|/\\*|$)",name:"keyword.operator.shape.css"},{include:"#property-values"}]},{begin:"(?i)(?<![\\w-])(cubic-bezier|steps)(\\()",beginCaptures:{1:{name:"support.function.timing-function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.timing-function.css",patterns:[{match:"(?i)(?<![\\w-])(start|end)(?=\\s*\\)|$)",name:"support.constant.step-direction.css"},{include:"#property-values"}]},{begin:`(?xi) (?<![\\w-])
( (?:translate|scale|rotate)(?:[XYZ]|3D)?
| matrix(?:3D)?
| skew[XY]?
| perspective
)
(\\()`,beginCaptures:{1:{name:"support.function.transform.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#url"},{begin:"(?i)(?<![\\w-])(var)(\\()",beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.variable.css",patterns:[{match:`(?x)
--
(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter
(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
|\\\\(?:[0-9a-fA-F]{1,6}|.)
)*`,name:"variable.argument.css"},{include:"#property-values"}]}]},"media-feature-keywords":{match:`(?xi)
(?<=^|\\s|:|\\*/)
(?: portrait # Orientation
| landscape
| progressive # Scan types
| interlace
| fullscreen # Display modes
| standalone
| minimal-ui
| browser
| hover
)
(?=\\s|\\)|$)`,name:"support.constant.property-value.css"},"media-features":{captures:{1:{name:"support.type.property-name.media.css"},2:{name:"support.type.property-name.media.css"},3:{name:"support.type.vendored.property-name.media.css"}},match:`(?xi)
(?<=^|\\s|\\(|\\*/) # Preceded by whitespace, bracket or comment
(?:
# Standardised features
(
(?:min-|max-)? # Range features
(?: height
| width
| aspect-ratio
| color
| color-index
| monochrome
| resolution
)
| grid # Discrete features
| scan
| orientation
| display-mode
| hover
)
|
# Deprecated features
(
(?:min-|max-)? # Deprecated in Media Queries 4
device-
(?: height
| width
| aspect-ratio
)
)
|
# Vendor extensions
(
(?:
# Spec-compliant syntax
[-_]
(?: webkit # Webkit/Blink
| apple|khtml # Webkit aliases
| epub # ePub3
| moz # Gecko
| ms # Microsoft
| o # Presto (pre-Opera 15)
| xv|ah|rim|atsc| # Less common vendors
hp|tc|wap|ro
)
|
# Non-standard prefixes
(?: mso # Microsoft Office
| prince # YesLogic
)
)
-
[\\w-]+ # Feature name
(?= # Terminates correctly
\\s* # Possible whitespace
(?: # Possible injected comment
/\\*
(?:[^*]|\\*[^/])*
\\*/
)?
\\s*
[:)] # Ends with a colon or closed bracket
)
)
)
(?=\\s|$|[><:=]|\\)|/\\*) # Terminates cleanly`},"media-query":{begin:"\\G",end:"(?=\\s*[{;])",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#media-types"},{match:"(?i)(?<=\\s|^|,|\\*/)(only|not)(?=\\s|{|/\\*|$)",name:"keyword.operator.logical.$1.media.css"},{match:"(?i)(?<=\\s|^|\\*/|\\))and(?=\\s|/\\*|$)",name:"keyword.operator.logical.and.media.css"},{match:",(?:(?:\\s*,)+|(?=\\s*[;){]))",name:"invalid.illegal.comma.css"},{include:"#commas"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.css"}},patterns:[{include:"#media-features"},{include:"#media-feature-keywords"},{match:":",name:"punctuation.separator.key-value.css"},{match:">=|<=|=|<|>",name:"keyword.operator.comparison.css"},{captures:{1:{name:"constant.numeric.css"},2:{name:"keyword.operator.arithmetic.css"},3:{name:"constant.numeric.css"}},match:"(\\d+)\\s*(/)\\s*(\\d+)",name:"meta.ratio.css"},{include:"#numeric-values"},{include:"#comment-block"}]}]},"media-query-list":{begin:"(?=\\s*[^{;])",end:"(?=\\s*[{;])",patterns:[{include:"#media-query"}]},"media-types":{captures:{1:{name:"support.constant.media.css"},2:{name:"invalid.deprecated.constant.media.css"}},match:`(?xi)
(?<=^|\\s|,|\\*/)
(?:
# Valid media types
(all|print|screen|speech)
|
# Deprecated in Media Queries 4: http://dev.w3.org/csswg/mediaqueries/#media-types
(aural|braille|embossed|handheld|projection|tty|tv)
)
(?=$|[{,\\s;]|/\\*)`},"numeric-values":{patterns:[{captures:{1:{name:"punctuation.definition.constant.css"}},match:"(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b",name:"constant.other.color.rgb-value.hex.css"},{captures:{1:{name:"keyword.other.unit.percentage.css"},2:{name:"keyword.other.unit.${2:/downcase}.css"}},match:`(?xi) (?<![\\w-])
[-+]? # Sign indicator
(?: # Numerals
[0-9]+ (?:\\.[0-9]+)? # Integer/float with leading digits
| \\.[0-9]+ # Float without leading digits
)
(?: # Scientific notation
(?<=[0-9]) # Exponent must follow a digit
E # Exponent indicator
[-+]? # Possible sign indicator
[0-9]+ # Exponent value
)?
(?: # Possible unit for data-type:
(%) # - Percentage
| ( deg|grad|rad|turn # - Angle
| Hz|kHz # - Frequency
| ch|cm|em|ex|fr|in|mm|mozmm| # - Length
pc|pt|px|q|rem|vh|vmax|vmin|
vw
| dpi|dpcm|dppx # - Resolution
| s|ms # - Time
)
\\b # Boundary checking intentionally lax to
)? # facilitate embedding in CSS-like grammars`,name:"constant.numeric.css"}]},"property-keywords":{patterns:[{match:`(?xi) (?<![\\w-])
(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse
|always|antialiased|auto|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel
|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets
|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn
|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover
|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures
|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in
|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded
|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze
|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide
|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space
|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start
|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83
|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB
|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent
|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize
|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures
|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize
|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding
|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line
|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]
|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text
|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate
|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller
|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap
|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table
|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl
|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle
|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical
|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy
|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)
(?![\\w-])`,name:"support.constant.property-value.css"},{match:`(?xi) (?<![\\w-])
(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic
|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am
|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew
|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer
|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek
|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal
|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian
|upper-latin|upper-roman|urdu)
(?![\\w-])`,name:"support.constant.property-value.list-style-type.css"},{match:"(?<![\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+",name:"support.constant.vendored.property-value.css"},{match:"(?<![\\w-])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\\w-])",name:"support.constant.font-name.css"}]},"property-names":{patterns:[{match:`(?xi) (?<![\\w-])
(?:
# Standard CSS
accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration
| animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backdrop-filter
| backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image
| background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border
| border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color
| border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius
| border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image
| border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end
| border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color
| border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width
| border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius
| border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style
| border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side
| caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap
| column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|content|counter-increment
| counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis
| flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family
| font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch
| font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures
| font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical
| grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start
| grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows
| hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align
| inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation
| justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style
| list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start
| margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset
| mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode
| mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width
| max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position
| offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans
| outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline
| overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]
| pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left
| padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin
| place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align
| ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start
| scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right
| scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom
| scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right
| scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type
| scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size
| speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit
| stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright
| text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style
| text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation
| text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform
| transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function
| translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change
| word-break|word-spacing|word-wrap|writing-mode|z-index|zoom
# SVG attributes
| alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile
| color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity
| glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid
| marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap
| stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y
# Not listed on MDN; presumably deprecated
| adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break
| balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length
| bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction
| box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column
| column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break
| delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust
| drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position
| flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before
| hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust
| initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count
| justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift
| line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed
| marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group
| orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range
| play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim
| radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness
| right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color
| rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral
| speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch
| string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height
| text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style
| top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range
| voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap
)
(?![\\w-])`,name:"support.type.property-name.css"},{match:"(?<![\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+",name:"support.type.vendored.property-name.css"}]},"property-values":{patterns:[{include:"#commas"},{include:"#comment-block"},{include:"#escapes"},{include:"#functions"},{include:"#property-keywords"},{include:"#unicode-range"},{include:"#numeric-values"},{include:"#color-keywords"},{include:"#string"},{match:"!\\s*important(?![\\w-])",name:"keyword.other.important.css"}]},"pseudo-classes":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"invalid.illegal.colon.css"}},match:`(?xi)
(:)(:*)
(?: active|any-link|checked|default|disabled|empty|enabled|first
| (?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover
| in-range|indeterminate|invalid|left|link|optional|out-of-range
| read-only|read-write|required|right|root|scope|target|unresolved
| valid|visited
)(?![\\w-]|\\s*[;}])`,name:"entity.other.attribute-name.pseudo-class.css"},"pseudo-elements":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"punctuation.definition.entity.css"}},match:`(?xi)
(?:
(::?) # Elements using both : and :: notation
(?: after
| before
| first-letter
| first-line
| (?:-(?:ah|apple|atsc|epub|hp|khtml|moz
|ms|o|rim|ro|tc|wap|webkit|xv)
| (?:mso|prince))
-[a-z-]+
)
|
(::) # Double-colon only
(?: backdrop
| content
| grammar-error
| marker
| placeholder
| selection
| shadow
| spelling-error
)
)
(?![\\w-]|\\s*[;}])`,name:"entity.other.attribute-name.pseudo-element.css"},"rule-list":{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.css",patterns:[{include:"#rule-list-innards"}]},"rule-list-innards":{patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#font-features"},{match:`(?x) (?<![\\w-])
--
(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter
(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
|\\\\(?:[0-9a-fA-F]{1,6}|.)
)*`,name:"variable.css"},{begin:"(?<![-a-zA-Z])(?=[-a-zA-Z])",end:"$|(?![-a-zA-Z])",name:"meta.property-name.css",patterns:[{include:"#property-names"}]},{begin:"(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},contentName:"meta.property-value.css",end:"\\s*(;)|\\s*(?=}|\\))",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#comment-block"},{include:"#property-values"}]},{match:";",name:"punctuation.terminator.rule.css"}]},selector:{begin:`(?x)
(?=
(?:\\|)? # Possible anonymous namespace prefix
(?:
[-\\[:.*\\#a-zA-Z_] # Valid selector character
|
[^\\x00-\\x7F] # Which can include non-ASCII symbols
|
\\\\ # Or an escape sequence
(?:[0-9a-fA-F]{1,6}|.)
)
)`,end:"(?=\\s*[/@{)])",name:"meta.selector.css",patterns:[{include:"#selector-innards"}]},"selector-innards":{patterns:[{include:"#comment-block"},{include:"#commas"},{include:"#escapes"},{include:"#combinators"},{captures:{1:{name:"entity.other.namespace-prefix.css"},2:{name:"punctuation.separator.css"}},match:`(?x)
(?:^|(?<=[\\s,(};])) # Follows whitespace, comma, semicolon, or bracket
(?!
[-\\w*]+
\\|
(?!
[-\\[:.*\\#a-zA-Z_] # Make sure there's a selector to match
| [^\\x00-\\x7F]
)
)
(
(?: [-a-zA-Z_] | [^\\x00-\\x7F] ) # First letter
(?: [-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier
| \\\\(?:[0-9a-fA-F]{1,6}|.)
)*
|
\\* # Universal namespace
)?
(\\|) # Namespace separator`},{include:"#tag-names"},{match:"\\*",name:"entity.name.tag.wildcard.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:`(?x) (?<![@\\w-])
([.\\#])
# Invalid identifier
(
(?:
# Starts with ASCII digits, with possible hyphen preceding it
-?[0-9]
|
# Consists of a hyphen only
- # Terminated by either:
(?= $ # - End-of-line
| [\\s,.\\#)\\[:{>+~|] # - Followed by another selector
| /\\* # - Followed by a block comment
)
|
# Name contains unescaped ASCII symbol
(?: # Check for acceptable preceding characters
[-a-zA-Z_0-9]|[^\\x00-\\x7F] # - Valid selector character
| \\\\(?:[0-9a-fA-F]{1,6}|.) # - Escape sequence
)*
(?: # Invalid punctuation
[!"'%&(*;<?@^\`|\\]}] # - NOTE: We exempt \`)\` from the list of checked
| # symbols to avoid matching \`:not(.invalid)\`
/ (?!\\*) # - Avoid invalidating the start of a comment
)+
)
# Mark remainder of selector invalid
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # - Otherwise valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # - Escape sequence
)*
)`,name:"invalid.illegal.bad-identifier.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:`(?x)
(\\.) # Valid class-name
(
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
)+
) # Followed by either:
(?= $ # - End of the line
| [\\s,.\\#)\\[:{>+~|] # - Another selector
| /\\* # - A block comment
)`,name:"entity.other.attribute-name.class.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:`(?x)
(\\#)
(
-?
(?![0-9])
(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+
)
(?=$|[\\s,.\\#)\\[:{>+~|]|/\\*)`,name:"entity.other.attribute-name.id.css"},{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.entity.begin.bracket.square.css"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.entity.end.bracket.square.css"}},name:"meta.attribute-selector.css",patterns:[{include:"#comment-block"},{include:"#string"},{captures:{1:{name:"storage.modifier.ignore-case.css"}},match:`(?<=["'\\s]|^|\\*/)\\s*([iI])\\s*(?=[\\s\\]]|/\\*|$)`},{captures:{1:{name:"string.unquoted.attribute-value.css",patterns:[{include:"#escapes"}]}},match:`(?x)(?<==)\\s*((?!/\\*)(?:[^\\\\"'\\s\\]]|\\\\.)+)`},{include:"#escapes"},{match:"[~|^$*]?=",name:"keyword.operator.pattern.css"},{match:"\\|",name:"punctuation.separator.css"},{captures:{1:{name:"entity.other.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:`(?x)
# Qualified namespace prefix
( -?(?!\\d)(?:[\\w-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+
| \\*
)
# Lookahead to ensure there's a valid identifier ahead
(?=
\\| (?!\\s|=|$|\\])
(?: -?(?!\\d)
| [\\\\\\w-]
| [^\\x00-\\x7F]
)
)`},{captures:{1:{name:"entity.other.attribute-name.css",patterns:[{include:"#escapes"}]}},match:`(?x)
(-?(?!\\d)(?>[\\w-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)
\\s*
(?=[~|^\\]$*=]|/\\*)`}]},{include:"#pseudo-classes"},{include:"#pseudo-elements"},{include:"#functional-pseudo-classes"},{match:`(?x) (?<![@\\w-])
(?= # Custom element names must:
[a-z] # - start with a lowercase ASCII letter,
\\w* - # - contain at least one dash
)
(?:
(?![A-Z]) # No uppercase ASCII letters are allowed
[\\w-] # Allow any other word character or dash
)+
(?![(\\w-])`,name:"entity.name.tag.custom.css"}]},string:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"|(?<!\\\\)(?=$|\\n)',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:'(?:\\G|^)(?=(?:[^\\\\"]|\\\\.)+$)',end:"$",name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'|(?<!\\\\)(?=$|\\n)",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{begin:"(?:\\G|^)(?=(?:[^\\\\']|\\\\.)+$)",end:"$",name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]}]},"tag-names":{match:`(?xi) (?<![\\w:-])
(?:
# HTML
a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound
| big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command
| content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset
| figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i
| iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark
| marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript
| object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc
| ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong
| style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr
| track|tt|u|ul|var|video|wbr|xmp
# SVG
| altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform
| circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix
| feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap
| feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur
| feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting
| feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name
| font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern
| line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata
| missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor
| stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern
# MathML
| annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced
| mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot
| mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup
| msup|mtable|mtd|mtext|mtr|munder|munderover|semantics
)
(?=[+~>\\s,.\\#|){:\\[]|/\\*|$)`,name:"entity.name.tag.css"},"unicode-range":{captures:{0:{name:"constant.other.unicode-range.css"},1:{name:"punctuation.separator.dash.unicode-range.css"}},match:"(?<![\\w-])[Uu]\\+[0-9A-Fa-f?]{1,6}(?:(-)[0-9A-Fa-f]{1,6})?(?![\\w-])"},url:{begin:"(?i)(?<![\\w@-])(url)(\\()",beginCaptures:{1:{name:"support.function.url.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.url.css",patterns:[{match:`[^'")\\s]+`,name:"variable.parameter.url.css"},{include:"#string"},{include:"#comment-block"},{include:"#escapes"}]}},scopeName:"source.css"},jn=ga;var ba={dependencies:["source.css"],extensions:[".less"],names:["less","less-css"],patterns:[{include:"#strings"},{captures:{1:{name:"entity.other.attribute-name.class.mixin.css"}},match:"(\\.[_a-zA-Z][a-zA-Z0-9_-]*(?=\\())"},{captures:{1:{name:"entity.other.attribute-name.class.css"},2:{name:"punctuation.definition.entity.css"},4:{name:"variable.other.interpolation.less"}},match:"((\\.)([_a-zA-Z]|(@{[a-zA-Z0-9_-]+}))[a-zA-Z0-9_-]*)"},{captures:{0:{name:"entity.other.attribute-name.parent-selector.css"},1:{name:"punctuation.definition.entity.css"}},match:"(&)[a-zA-Z0-9_-]*"},{begin:"(format|local|url|attr|counter|counters)\\s*(\\()",beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.css"}},patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:"\\\\.",name:"constant.character.escape.css"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:"\\\\(\\d{1,6}|.)",name:"constant.character.escape.css"}]},{match:`[^'") \\t]+`,name:"variable.parameter.misc.css"}]},{match:"(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b(?!.*?(?<!@){)",name:"constant.other.rgb-value.css"},{captures:{1:{name:"entity.other.attribute-name.id"},2:{name:"punctuation.definition.entity.css"},4:{name:"variable.other.interpolation.less"}},match:"((#)([_a-zA-Z]|(@{[a-zA-Z0-9_-]+}))[a-zA-Z0-9_-]*)",name:"meta.selector.css"},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},{include:"source.css#numeric-values"},{captures:{1:{name:"punctuation.definition.begin.entity.css"},2:{name:"entity.other.attribute-name.attribute.css"},3:{name:"punctuation.separator.operator.css"},4:{name:"string.unquoted.attribute-value.css"},5:{name:"string.quoted.double.attribute-value.css"},6:{name:"punctuation.definition.string.begin.css"},7:{name:"punctuation.definition.string.end.css"},8:{name:"punctuation.definition.end.entity.css"}},match:`(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])`,name:"meta.attribute-selector.css"},{begin:"((@)import\\b)",beginCaptures:{1:{name:"keyword.control.at-rule.import.less"},2:{name:"punctuation.definition.keyword.less"}},end:";",endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{match:"(?<=\\(|,|\\s)\\b(reference|optional|once|multiple|less|inline)\\b(?=\\)|,)",name:"keyword.control.import.option.less"},{include:"#brace_round"},{include:"source.css#commas"},{include:"#strings"}]},{captures:{1:{name:"keyword.control.at-rule.fontface.css"},2:{name:"punctuation.definition.keyword.css"}},match:"^\\s*((@)font-face\\b)",name:"meta.at-rule.fontface.css"},{captures:{1:{name:"keyword.control.at-rule.media.css"},2:{name:"punctuation.definition.keyword.css"}},match:"^\\s*((@)media\\b)",name:"meta.at-rule.media.css"},{include:"source.css#media-features"},{match:"\\b(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)\\b",name:"support.constant.media-type.media.css"},{match:"\\b(portrait|landscape)\\b",name:"support.constant.property-value.media-property.media.css"},{captures:{1:{name:"support.function.less"}},match:"(\\.[a-zA-Z0-9_-]+)\\s*(;|\\()"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.less"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.less"}},end:"\\n",name:"comment.line.double-slash.less"}]},{captures:{1:{name:"punctuation.definition.variable.less"}},match:"(@|\\-\\-)[\\w-]+(?=\\s*)",name:"variable.other.less"},{include:"#variable_interpolation"},{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.css",patterns:[{include:"source.css#pseudo-elements"},{include:"source.css#pseudo-classes"},{include:"source.css#tag-names"},{include:"source.css#commas"},{include:"#variable_interpolation"},{include:"source.css#property-names"},{include:"#property_values"},{include:"$self"}]},{match:"\\!\\s*important",name:"keyword.other.important.css"},{match:"\\*|\\/|\\-|\\+|~|=|<=|>=|<|>",name:"keyword.operator.less"},{match:"\\b(not|and|when)\\b",name:"keyword.control.logical.operator.less"},{include:"source.css#tag-names"},{match:"(?<![\\w-])[a-z][\\w&&[^A-Z]]*+-[\\w-&&[^A-Z]]+",name:"entity.name.tag.custom.css"},{include:"source.css#pseudo-elements"},{include:"source.css#pseudo-classes"},{captures:{1:{name:"punctuation.section.property-list.begin.css"},2:{name:"punctuation.section.property-list.end.css"}},match:"(\\{)(\\})",name:"meta.brace.curly.css"},{match:"\\{|\\}",name:"meta.brace.curly.css"},{include:"#brace_round"},{match:"\\[|\\]",name:"meta.brace.square.less"},{match:";",name:"punctuation.terminator.rule.css"},{match:":",name:"punctuation.separator.key-value.css"},{match:"\\btrue\\b",name:"constant.language.boolean.less"},{match:"\\bdefault\\b",name:"support.function.default.less"},{match:"\\b(isurl|isstring|isnumber|iskeyword|iscolor)\\b",name:"support.function.type-checking.less"},{match:"\\b(isunit|ispixel|ispercentage|isem)\\b",name:"support.function.unit-checking.less"},{include:"source.css#property-keywords"},{include:"source.css#color-keywords"},{include:"source.css#commas"},{include:"#less_builtin_functions"},{include:"source.css#functions"}],repository:{brace_round:{match:"\\(|\\)",name:"meta.brace.round.css"},less_builtin_functions:{match:"\\b(abs|acos|alpha|argb|asin|atan|average|blue|calc|ceil|color|contrast|convert|convert|cos|darken|data-uri|desaturate|difference|e|escape|exclusion|extract|fade|fadein|fadeout|floor|format|green|greyscale|hardlight|hsl|hsla|hsv|hsva|hsvhue|hsvsaturation|hsvvalue|hue|length|lighten|lightness|luma|max|min|mix|mod|multiply|negation|overlay|percentage|pi|pow|red|replace|round|saturate|saturation|screen|sin|softlight|spin|sqrt|tan|unit)\\b",name:"support.function.any-method.builtin.less"},property_values:{begin:"(?<!&)(:)\\s*(?!(\\s*{))(?!.*(?<!@){)",beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},contentName:"meta.property-value.css",end:"\\s*(;)|\\s*(?=})",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{begin:"url(\\()",beginCaptures:{1:{name:"meta.brace.round.css"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.css"}},name:"support.function.any-method.builtin.url.css",patterns:[{include:"#strings"},{match:"(\\b|\\.{0,2}/)[^)]*\\b",name:"string.url.css"}]},{include:"source.css#property-keywords"},{include:"source.css#color-keywords"},{include:"source.css#commas"},{include:"#less_builtin_functions"},{include:"source.css#functions"},{include:"$self"}]},strings:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:"\\\\([0-9A-Fa-f]{1,6}|.)",name:"constant.character.escape.css"},{include:"#variable_interpolation"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:"\\\\([0-9A-Fa-f]{1,6}|.)",name:"constant.character.escape.css"},{include:"#variable_interpolation"}]}]},variable_interpolation:{match:"@{[a-zA-Z0-9_-]+}",name:"variable.other.interpolation.less"}},scopeName:"source.css.less"},Gn=ba;var ha={dependencies:["source.css"],extensions:[".scss"],names:["scss"],patterns:[{include:"#variable_setting"},{include:"#at_rule_forward"},{include:"#at_rule_use"},{include:"#at_rule_include"},{include:"#at_rule_import"},{include:"#general"},{include:"#flow_control"},{include:"#rules"},{include:"#property_list"},{include:"#at_rule_mixin"},{include:"#at_rule_media"},{include:"#at_rule_function"},{include:"#at_rule_charset"},{include:"#at_rule_option"},{include:"#at_rule_namespace"},{include:"#at_rule_fontface"},{include:"#at_rule_page"},{include:"#at_rule_keyframes"},{include:"#at_rule_at_root"},{include:"#at_rule_supports"},{match:";",name:"punctuation.terminator.rule.css"}],repository:{at_rule_at_root:{begin:"\\s*((@)(at-root))(\\s+|$)",beginCaptures:{1:{name:"keyword.control.at-rule.at-root.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.at-root.scss",patterns:[{include:"#function_attributes"},{include:"#functions"},{include:"#selectors"}]},at_rule_charset:{begin:"\\s*((@)charset\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.charset.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;|$))",name:"meta.at-rule.charset.scss",patterns:[{include:"#variable"},{include:"#string_single"},{include:"#string_double"}]},at_rule_content:{begin:"\\s*((@)content\\b)\\s*",captures:{1:{name:"keyword.control.content.scss"}},end:"\\s*((?=;))",name:"meta.content.scss",patterns:[{include:"#variable"},{include:"#selectors"},{include:"#property_values"}]},at_rule_each:{begin:"\\s*((@)each\\b)\\s*",captures:{1:{name:"keyword.control.each.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=}))",name:"meta.at-rule.each.scss",patterns:[{match:"\\b(in|,)\\b",name:"keyword.control.operator"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},at_rule_else:{begin:"\\s*((@)else(\\s*(if)?))\\s*",captures:{1:{name:"keyword.control.else.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.else.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"}]},at_rule_extend:{begin:"\\s*((@)extend\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.extend.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.extend.scss",patterns:[{include:"#variable"},{include:"#selectors"},{include:"#property_values"}]},at_rule_fontface:{patterns:[{begin:"^\\s*((@)font-face\\b)",beginCaptures:{1:{name:"keyword.control.at-rule.fontface.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.fontface.scss",patterns:[{include:"#function_attributes"}]}]},at_rule_for:{begin:"\\s*((@)for\\b)\\s*",captures:{1:{name:"keyword.control.for.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.for.scss",patterns:[{match:"(==|!=|<=|>=|<|>|from|to|through)",name:"keyword.control.operator"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},at_rule_forward:{begin:"\\s*((@)forward\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.forward.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.forward.scss",patterns:[{match:"\\b(as|hide|show)\\b",name:"keyword.control.operator"},{captures:{1:{name:"entity.other.attribute-name.module.scss"},2:{name:"punctuation.definition.wildcard.scss"}},match:"\\b([\\w-]+)(\\*)"},{match:"\\b[\\w-]+\\b",name:"entity.name.function.scss"},{include:"#variable"},{include:"#string_single"},{include:"#string_double"},{include:"#comment_line"},{include:"#comment_block"}]},at_rule_function:{patterns:[{begin:"\\s*((@)function\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.function.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},end:"\\s*(?={)",name:"meta.at-rule.function.scss",patterns:[{include:"#function_attributes"}]},{captures:{1:{name:"keyword.control.at-rule.function.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},match:"\\s*((@)function\\b)\\s*",name:"meta.at-rule.function.scss"}]},at_rule_if:{begin:"\\s*((@)if\\b)\\s*",captures:{1:{name:"keyword.control.if.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.if.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"}]},at_rule_import:{begin:"\\s*((@)import\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.import.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;)|(?=}))",name:"meta.at-rule.import.scss",patterns:[{include:"#variable"},{include:"#string_single"},{include:"#string_double"},{include:"#functions"},{include:"#comment_line"}]},at_rule_include:{patterns:[{begin:"(?<=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)\\s*(\\()",beginCaptures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"entity.name.function.scss"},4:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},name:"meta.at-rule.include.scss",patterns:[{include:"#function_attributes"}]},{captures:{0:{name:"meta.at-rule.include.scss"},1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"entity.name.function.scss"}},match:"(?<=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)"},{captures:{0:{name:"meta.at-rule.include.scss"},1:{name:"keyword.control.at-rule.include.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)include)\\b"}]},at_rule_keyframes:{begin:"(?<=^|\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\b",beginCaptures:{0:{name:"keyword.control.at-rule.keyframes.scss"},1:{name:"punctuation.definition.keyword.scss"}},end:"(?<=})",name:"meta.at-rule.keyframes.scss",patterns:[{captures:{1:{name:"entity.name.function.scss"}},match:"(?<=@keyframes)\\s+((?:[_A-Za-z][-\\w]|-[_A-Za-z])[-\\w]*)"},{begin:'(?<=@keyframes)\\s+(")',beginCaptures:{1:{name:"punctuation.definition.string.begin.scss"}},contentName:"entity.name.function.scss",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.double.scss",patterns:[{match:"\\\\([[:xdigit:]]{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},{begin:"(?<=@keyframes)\\s+(')",beginCaptures:{1:{name:"punctuation.definition.string.begin.scss"}},contentName:"entity.name.function.scss",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.single.scss",patterns:[{match:"\\\\([[:xdigit:]]{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.keyframes.begin.scss"}},end:"}",endCaptures:{0:{name:"punctuation.section.keyframes.end.scss"}},patterns:[{match:"\\b(?:(?:100|[1-9]\\d|\\d)%|from|to)(?=\\s*{)",name:"entity.other.attribute-name.scss"},{include:"#flow_control"},{include:"#interpolation"},{include:"#property_list"},{include:"#rules"}]}]},at_rule_media:{patterns:[{begin:"^\\s*((@)media)\\b",beginCaptures:{1:{name:"keyword.control.at-rule.media.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.media.scss",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{match:"\\b(only)\\b",name:"keyword.control.operator.css.scss"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.media-query.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.media-query.end.bracket.round.scss"}},name:"meta.property-list.media-query.scss",patterns:[{begin:"(?<![-a-z])(?=[-a-z])",end:"$|(?![-a-z])",name:"meta.property-name.media-query.scss",patterns:[{include:"source.css#media-features"},{include:"source.css#property-names"}]},{begin:"(:)\\s*(?!(\\s*{))",beginCaptures:{1:{name:"punctuation.separator.key-value.scss"}},contentName:"meta.property-value.media-query.scss",end:"\\s*(;|(?=}|\\)))",endCaptures:{1:{name:"punctuation.terminator.rule.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},{include:"#variable"},{include:"#conditional_operators"},{include:"source.css#media-types"}]}]},at_rule_mixin:{patterns:[{begin:"(?<=@mixin)\\s+([\\w-]+)\\s*(\\()",beginCaptures:{1:{name:"entity.name.function.scss"},2:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},name:"meta.at-rule.mixin.scss",patterns:[{include:"#function_attributes"}]},{captures:{1:{name:"entity.name.function.scss"}},match:"(?<=@mixin)\\s+([\\w-]+)",name:"meta.at-rule.mixin.scss"},{captures:{1:{name:"keyword.control.at-rule.mixin.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)mixin)\\b",name:"meta.at-rule.mixin.scss"}]},at_rule_namespace:{patterns:[{begin:"(?<=@namespace)\\s+(?=url)",end:"(?=;|$)",name:"meta.at-rule.namespace.scss",patterns:[{include:"#property_values"},{include:"#string_single"},{include:"#string_double"}]},{begin:"(?<=@namespace)\\s+([\\w-]*)",captures:{1:{name:"entity.name.namespace-prefix.scss"}},end:"(?=;|$)",name:"meta.at-rule.namespace.scss",patterns:[{include:"#variables"},{include:"#property_values"},{include:"#string_single"},{include:"#string_double"}]},{captures:{1:{name:"keyword.control.at-rule.namespace.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)namespace)\\b",name:"meta.at-rule.namespace.scss"}]},at_rule_option:{captures:{1:{name:"keyword.control.at-rule.charset.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"^\\s*((@)option\\b)\\s*",name:"meta.at-rule.option.scss"},at_rule_page:{patterns:[{begin:"^\\s*((@)page)(?=:|\\s)\\s*([-:\\w]*)",captures:{1:{name:"keyword.control.at-rule.page.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},end:"\\s*(?={)",name:"meta.at-rule.page.scss"}]},at_rule_return:{begin:"\\s*((@)(return)\\b)",captures:{1:{name:"keyword.control.return.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;))",name:"meta.at-rule.return.scss",patterns:[{include:"#variable"},{include:"#property_values"}]},at_rule_supports:{begin:"(?<=^|\\s)(@)supports\\b",captures:{0:{name:"keyword.control.at-rule.supports.scss"},1:{name:"punctuation.definition.keyword.scss"}},end:"(?={)|$",name:"meta.at-rule.supports.scss",patterns:[{include:"#logical_operators"},{include:"#properties"},{match:"\\(",name:"punctuation.definition.condition.begin.bracket.round.scss"},{match:"\\)",name:"punctuation.definition.condition.end.bracket.round.scss"}]},at_rule_use:{begin:"\\s*((@)use\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.use.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.use.scss",patterns:[{match:"\\b(as|with)\\b",name:"keyword.control.operator"},{match:"\\b[\\w-]+\\b",name:"variable.scss"},{match:"\\*",name:"variable.language.expanded-namespace.scss"},{include:"#string_single"},{include:"#string_double"},{include:"#comment_line"},{include:"#comment_block"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},patterns:[{include:"#function_attributes"}]}]},at_rule_warn:{begin:"\\s*((@)(warn|debug|error)\\b)\\s*",captures:{1:{name:"keyword.control.warn.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.warn.scss",patterns:[{include:"#variable"},{include:"#string_double"},{include:"#string_single"}]},at_rule_while:{begin:"\\s*((@)while\\b)\\s*",captures:{1:{name:"keyword.control.while.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=})",name:"meta.at-rule.while.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},comment_block:{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.scss"}},name:"comment.block.scss"},comment_docblock:{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"(?=$)",name:"comment.block.documentation.scss",patterns:[{include:"source.sassdoc"}]},comment_line:{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"\\n",name:"comment.line.scss"},comparison_operators:{match:"==|!=|<=|>=|<|>",name:"keyword.operator.comparison.scss"},conditional_operators:{patterns:[{include:"#comparison_operators"},{include:"#logical_operators"}]},constant_default:{match:"!default",name:"keyword.other.default.scss"},constant_functions:{begin:"(?:([\\w-]+)(\\.))?([\\w-]+)(\\()",beginCaptures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"support.function.misc.scss"},4:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},constant_important:{match:"!important",name:"keyword.other.important.scss"},constant_mathematical_symbols:{match:"\\b(\\+|-|\\*|/)\\b",name:"support.constant.mathematical-symbols.scss"},constant_optional:{match:"!optional",name:"keyword.other.optional.scss"},constant_sass_functions:{begin:"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\()",beginCaptures:{1:{name:"support.function.misc.scss"},2:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},flow_control:{patterns:[{include:"#at_rule_if"},{include:"#at_rule_else"},{include:"#at_rule_warn"},{include:"#at_rule_for"},{include:"#at_rule_while"},{include:"#at_rule_each"},{include:"#at_rule_return"}]},function_attributes:{patterns:[{match:":",name:"punctuation.separator.key-value.scss"},{include:"#general"},{include:"#property_values"},{match:"[={}\\?;@]",name:"invalid.illegal.scss"}]},functions:{patterns:[{begin:"([\\w-]{1,})(\\()\\s*",beginCaptures:{1:{name:"support.function.misc.scss"},2:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},{match:"([\\w-]{1,})",name:"support.function.misc.scss"}]},general:{patterns:[{include:"#variable"},{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"}]},interpolation:{begin:"#{",beginCaptures:{0:{name:"punctuation.definition.interpolation.begin.bracket.curly.scss"}},end:"}",endCaptures:{0:{name:"punctuation.definition.interpolation.end.bracket.curly.scss"}},name:"variable.interpolation.scss",patterns:[{include:"#variable"},{include:"#property_values"}]},logical_operators:{match:"\\b(not|or|and)\\b",name:"keyword.operator.logical.scss"},map:{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.map.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.map.end.bracket.round.scss"}},name:"meta.definition.variable.map.scss",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{captures:{1:{name:"support.type.map.key.scss"},2:{name:"punctuation.separator.key-value.scss"}},match:"\\b([\\w-]+)\\s*(:)"},{match:",",name:"punctuation.separator.delimiter.scss"},{include:"#map"},{include:"#variable"},{include:"#property_values"}]},operators:{match:"[-+*/](?!\\s*[-+*/])",name:"keyword.operator.css"},parameters:{patterns:[{include:"#variable"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.scss"}},patterns:[{include:"#function_attributes"}]},{include:"#property_values"},{include:"#comment_block"},{match:`[^'",) \\t]+`,name:"variable.parameter.url.scss"},{match:",",name:"punctuation.separator.delimiter.scss"}]},parent_selector_suffix:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:`(?x)
(?<=&)
(
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+
) # Followed by either:
(?= $ # - End of the line
| [\\s,.\\#)\\[:{>+~|] # - Another selector
| /\\* # - A block comment
)`,name:"entity.other.attribute-name.parent-selector-suffix.css"},properties:{patterns:[{begin:"(?<![-a-z])(?=[-a-z])",end:"$|(?![-a-z])",name:"meta.property-name.scss",patterns:[{include:"source.css#property-names"},{include:"#at_rule_include"}]},{begin:"(:)\\s*(?!(\\s*{))",beginCaptures:{1:{name:"punctuation.separator.key-value.scss"}},contentName:"meta.property-value.scss",end:"\\s*(;|(?=}|\\)))",endCaptures:{1:{name:"punctuation.terminator.rule.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},property_list:{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.scss"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.scss"}},name:"meta.property-list.scss",patterns:[{include:"#flow_control"},{include:"#rules"},{include:"#properties"},{include:"$self"}]},property_values:{patterns:[{include:"#string_single"},{include:"#string_double"},{include:"#constant_functions"},{include:"#constant_sass_functions"},{include:"#constant_important"},{include:"#constant_default"},{include:"#constant_optional"},{include:"source.css#numeric-values"},{include:"source.css#property-keywords"},{include:"source.css#color-keywords"},{include:"source.css#property-names"},{include:"#constant_mathematical_symbols"},{include:"#operators"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},rules:{patterns:[{include:"#general"},{include:"#at_rule_extend"},{include:"#at_rule_content"},{include:"#at_rule_include"},{include:"#at_rule_media"},{include:"#selectors"}]},selector_attribute:{captures:{1:{name:"punctuation.definition.attribute-selector.begin.bracket.square.scss"},10:{name:"punctuation.definition.string.begin.scss"},11:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},12:{name:"punctuation.definition.string.end.scss"},13:{name:"punctuation.definition.attribute-selector.end.bracket.square.scss"},2:{name:"entity.other.attribute-name.attribute.scss",patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},3:{name:"keyword.operator.scss"},4:{name:"string.unquoted.attribute-value.scss",patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},5:{name:"string.quoted.double.attribute-value.scss"},6:{name:"punctuation.definition.string.begin.scss"},7:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},8:{name:"punctuation.definition.string.end.scss"},9:{name:"string.quoted.single.attribute-value.scss"}},match:`(?xi)
(\\[)
\\s*
(
(?:
[-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\.?\\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+?
)
(?:
\\s*([~|^$*]?=)\\s*
(?:
(
(?:
[-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\.?\\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+
)
|
((")(.*?)("))
|
((')(.*?)('))
)
)?
\\s*
(\\])`,name:"meta.attribute-selector.scss"},selector_class:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]}},match:`(?x)
(\\.) # Valid class-name
(
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\.?\\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+
) # Followed by either:
(?= $ # - End of the line
| [\\s,\\#)\\[:{>+~|] # - Another selector
| \\.[^$] # - Class selector, negating module variable
| /\\* # - A block comment
| ; # - A semicolon
)`,name:"entity.other.attribute-name.class.css"},selector_custom:{match:"\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\.|\\s++[^:]|\\s*[,\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\([0-9A-Za-z]*\\))?)",name:"entity.name.tag.custom.scss"},selector_id:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:`(?x)
(\\#) # Valid id-name
(
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\.?\\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+
) # Followed by either:
(?= $ # - End of the line
| [\\s,\\#)\\[:{>+~|] # - Another selector
| \\.[^$] # - Class selector, negating module variable
| /\\* # - A block comment
)`,name:"entity.other.attribute-name.id.css"},selector_placeholder:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:`(?x)
(%) # Valid placeholder-name
(
(?: [-a-zA-Z_0-9]|[^\\x00-\\x7F] # Valid identifier characters
| \\\\(?:[0-9a-fA-F]{1,6}|.) # Escape sequence
| \\#\\{ # Interpolation (escaped to avoid Coffeelint errors)
| \\.\\$ # Possible start of interpolation module scope variable
| \\$ # Possible start of interpolation variable
| } # Possible end of interpolation
)+
) # Followed by either:
(?= ; # - End of statement
| $ # - End of the line
| [\\s,\\#)\\[:{>+~|] # - Another selector
| \\.[^$] # - Class selector, negating module variable
| /\\* # - A block comment
)`,name:"entity.other.attribute-name.placeholder.css"},selector_pseudo_class:{patterns:[{begin:"((:)\\bnth-(?:child|last-child|of-type|last-of-type))(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.definition.pseudo-class.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.pseudo-class.end.bracket.round.css"}},patterns:[{include:"#interpolation"},{match:"\\d+",name:"constant.numeric.css"},{match:"(?<=\\d)n\\b|\\b(n|even|odd)\\b",name:"constant.other.scss"},{match:"\\w+",name:"invalid.illegal.scss"}]},{include:"source.css#pseudo-classes"},{include:"source.css#pseudo-elements"},{include:"source.css#functional-pseudo-classes"}]},selectors:{patterns:[{include:"source.css#tag-names"},{include:"#selector_custom"},{include:"#selector_class"},{include:"#selector_id"},{include:"#selector_pseudo_class"},{include:"#tag_wildcard"},{include:"#tag_parent_reference"},{include:"source.css#pseudo-elements"},{include:"#selector_attribute"},{include:"#selector_placeholder"},{include:"#parent_selector_suffix"}]},string_double:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.scss"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.double.scss",patterns:[{match:"\\\\([[:xdigit:]]{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},string_single:{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.scss"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.single.scss",patterns:[{match:"\\\\([[:xdigit:]]{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},tag_parent_reference:{match:"&",name:"entity.name.tag.reference.scss"},tag_wildcard:{match:"\\*",name:"entity.name.tag.wildcard.scss"},variable:{patterns:[{include:"#variables"},{include:"#interpolation"}]},variable_setting:{begin:"(?=\\$[\\w-]+\\s*:)",contentName:"meta.definition.variable.scss",end:";",endCaptures:{0:{name:"punctuation.terminator.rule.scss"}},patterns:[{match:"\\$[\\w-]+(?=\\s*:)",name:"variable.scss"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.key-value.scss"}},end:"(?=;)",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{include:"#map"},{include:"#property_values"},{include:"#variable"},{match:",",name:"punctuation.separator.delimiter.scss"}]}]},variables:{patterns:[{captures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"variable.scss"}},match:"\\b([\\w-]+)(\\.)(\\$[\\w-]+)\\b"},{match:"(\\$|\\-\\-)[A-Za-z0-9_-]+\\b",name:"variable.scss"}]}},scopeName:"source.css.scss"},Bn=ha;var fa={extensions:[".diff",".patch"],names:["diff","udiff"],patterns:[{captures:{1:{name:"punctuation.definition.separator.diff"}},match:"^((\\*{15})|(={67})|(-{3}))$\\n?",name:"meta.separator.diff"},{match:"^\\d+(,\\d+)*(a|d|c)\\d+(,\\d+)*$\\n?",name:"meta.diff.range.normal"},{captures:{1:{name:"punctuation.definition.range.diff"},2:{name:"meta.toc-list.line-number.diff"},3:{name:"punctuation.definition.range.diff"}},match:"^(@@)\\s*(.+?)\\s*(@@)($\\n?)?",name:"meta.diff.range.unified"},{captures:{3:{name:"punctuation.definition.range.diff"},4:{name:"punctuation.definition.range.diff"},6:{name:"punctuation.definition.range.diff"},7:{name:"punctuation.definition.range.diff"}},match:"^(((\\-{3}) .+ (\\-{4}))|((\\*{3}) .+ (\\*{4})))$\\n?",name:"meta.diff.range.context"},{match:"^diff --git a/.*$\\n?",name:"meta.diff.header.git"},{match:"^diff (-|\\S+\\s+\\S+).*$\\n?",name:"meta.diff.header.command"},{captures:{4:{name:"punctuation.definition.from-file.diff"},6:{name:"punctuation.definition.from-file.diff"},7:{name:"punctuation.definition.from-file.diff"}},match:"(^(((-{3}) .+)|((\\*{3}) .+))$\\n?|^(={4}) .+(?= - ))",name:"meta.diff.header.from-file"},{captures:{2:{name:"punctuation.definition.to-file.diff"},3:{name:"punctuation.definition.to-file.diff"},4:{name:"punctuation.definition.to-file.diff"}},match:"(^(\\+{3}) .+$\\n?| (-) .* (={4})$\\n?)",name:"meta.diff.header.to-file"},{captures:{3:{name:"punctuation.definition.inserted.diff"},6:{name:"punctuation.definition.inserted.diff"}},match:"^(((>)( .*)?)|((\\+).*))$\\n?",name:"markup.inserted.diff"},{captures:{1:{name:"punctuation.definition.changed.diff"}},match:"^(!).*$\\n?",name:"markup.changed.diff"},{captures:{3:{name:"punctuation.definition.deleted.diff"},6:{name:"punctuation.definition.deleted.diff"}},match:"^(((<)( .*)?)|((-).*))$\\n?",name:"markup.deleted.diff"},{begin:"^(#)",captures:{1:{name:"punctuation.definition.comment.diff"}},end:"\\n",name:"comment.line.number-sign.diff"},{match:"^index [0-9a-f]{7,40}\\.\\.[0-9a-f]{7,40}.*$\\n?",name:"meta.diff.index.git"},{captures:{1:{name:"punctuation.separator.key-value.diff"},2:{name:"meta.toc-list.file-name.diff"}},match:"^Index(:) (.+)$\\n?",name:"meta.diff.index"},{match:"^Only in .*: .*$\\n?",name:"meta.diff.only-in"}],scopeName:"source.diff"},zn=fa;var ya={extensions:[".go"],names:["go","golang"],patterns:[{include:"#receiver_function_declaration"},{include:"#plain_function_declaration"},{include:"#basic_things"},{include:"#exported_variables"},{begin:"^[[:blank:]]*(import)\\b\\s+",beginCaptures:{1:{name:"keyword.control.import.go"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.go.import",patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.double.import.go"}]},{include:"#block"},{include:"#root_parens"},{include:"#function_calls"}],repository:{access:{match:"(?<=\\.)[[:alpha:]_][[:alnum:]_]*\\b(?!\\s*\\()",name:"variable.other.dot-access.go"},basic_things:{patterns:[{include:"#comments"},{include:"#initializers"},{include:"#access"},{include:"#strings"},{include:"#keywords"}]},block:{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.go"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.go"}},name:"meta.block.go",patterns:[{include:"#block_innards"}]},block_innards:{patterns:[{include:"#function_block_innards"},{include:"#exported_variables"}]},comments:{patterns:[{captures:{1:{name:"meta.toc-list.banner.block.go"}},match:"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",name:"comment.block.go"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.go"}},end:"\\*/",name:"comment.block.go"},{match:"\\*/.*\\n",name:"invalid.illegal.stray-comment-end.go"},{captures:{1:{name:"punctuation.definition.comment.go"},2:{name:"meta.toc-list.banner.line.go"}},match:"^(//) =(\\s*.*?)\\s*=\\s*$\\n?",name:"comment.line.double-slash.banner.go"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.go"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.go"}},end:"\\n",name:"comment.line.double-slash.go",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.go"}]}]}]},exported_variables:{match:"(?<=\\s|\\[\\])([[:upper:]][[:alnum:]_]*)(?=\\W+)",name:"variable.exported.go"},fn_parens:{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.parens.begin.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.parens.end.go"}},name:"meta.parens.go",patterns:[{include:"#basic_things"},{include:"#function_calls"}]},function_block:{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function-block.begin.go"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function-block.end.go"}},name:"meta.block.go",patterns:[{include:"#function_block_innards"}]},function_block_innards:{patterns:[{include:"#basic_things"},{captures:{1:{name:"punctuation.whitespace.support.function.leading.go"},2:{name:"support.function.builtin.go"}},match:"(\\s*)\\b(new|c(lose|ap)|p(anic|rint(ln)?)|len|make|append)(?:\\b|\\()"},{include:"#function_block"},{include:"#function_calls"},{include:"#fn_parens"}]},function_calls:{captures:{1:{name:"punctuation.whitespace.function-call.leading.go"},2:{name:"support.function.any-method.go"},3:{name:"punctuation.definition.parameters.go"}},match:`(?x)
(?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+) )?
(\\b
(?!(for|if|else|switch|return)\\s*\\()
(?:[[:alpha:]_][[:alnum:]_]*+\\b) # method name
)
\\s*(\\()
`,name:"meta.function-call.go"},initializers:{patterns:[{captures:{1:{name:"keyword.control.go"},2:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.other.go"}]}},match:"^[[:blank:]]*(var)\\s+((?:[[:alpha:]_][[:alnum:]_]*)(?:,\\s+[[:alpha:]_][[:alnum:]_]*)*)",name:"meta.initialization.explicit.go"},{captures:{1:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.other.go"}]},2:{name:"keyword.operator.go"}},match:"((?:[[:alpha:]_][[:alnum:]_]*)(?:\\s*,\\s+[[:alpha:]_][[:alnum:]_]*)*)\\s*(:=)",name:"meta.initialization.short.go"}]},keywords:{patterns:[{match:"\\b(s(elect|witch)|c(ontinue|ase)|type|i(nterface|f|mport)|def(er|ault)|package|else|var|f(or|unc|allthrough)|r(eturn|ange)|go(to)?|break)\\b",name:"keyword.control.go"},{match:"(\\b|(?<=\\]))(int(16|8|32|64)?|uint(16|8|32|64|ptr)?|float(32|64)|complex(64|128)|b(yte|ool)|string|error|struct)\\b",name:"storage.type.go"},{match:"\\b(c(onst|han)|map)\\b",name:"storage.modifier.go"},{match:"\\b(nil|true|false|iota)\\b",name:"constant.language.go"},{match:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",name:"constant.numeric.go"},{match:"\\<\\-",name:"keyword.operator.channel.go"}]},plain_function_declaration:{begin:`(?x)
(^[[:blank:]]*(func)\\s*
(?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional
(?: \\( ((?:[\\[\\]\\w\\d\\s\\/,._*&<>-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)
\\s*
(?: \\(? ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces
)
`,beginCaptures:{1:{name:"meta.function.declaration.go"},2:{name:"keyword.control.go"},3:{name:"entity.name.function.go"},4:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.parameters.go"}]},5:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.return-types.go"}]}},end:"(?<=\\})",name:"meta.function.plain.go",patterns:[{include:"#comments"},{include:"#storage_type"},{include:"#storage_modifier"},{include:"#function_block"}]},receiver_function_declaration:{begin:`(?x)
(
(func)\\s*
(
(?: \\( ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)\\s+ ) # receiver variable declarations, in brackets
(?: ([[:alpha:]_][[:alnum:]_]*)? ) # name of function is optional
)
(?: \\( ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*)? \\) ) # required braces for parameters (even if empty)
\\s*
(?: \\(? ((?:[\\[\\]\\w\\d\\s,._*&<>-]|(?:interface\\{\\}))*) \\)? )? # optional return types, optionally within braces
)
`,beginCaptures:{1:{name:"meta.function.receiver.declaration.go"},2:{name:"keyword.control.go"},3:{name:"entity.name.function.go.full-name"},4:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.receiver.go"}]},5:{name:"entity.name.function.go.name"},6:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.parameters.go"}]},7:{patterns:[{match:"[[:alpha:]_][[:alnum:]_]*",name:"variable.return-types.go"}]}},end:"(?<=\\})",name:"meta.function.receiver.go",patterns:[{include:"#comments"},{include:"#storage_type"},{include:"#storage_modifier"},{include:"#function_block"}]},root_parens:{begin:"\\(",end:"(?<=\\()(\\))?|(?:\\))",endCaptures:{1:{name:"meta.parens.empty.go"}},name:"meta.parens.go",patterns:[{include:"#basic_things"},{include:"#exported_variables"},{include:"#function_calls"}]},string_escaped_char:{patterns:[{match:`\\\\(\\\\|[abfnrutv'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})`,name:"constant.character.escape.go"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.go"}]},string_placeholder:{patterns:[{match:`(?x)%
(\\d+\\$)? # field (argument #)
[#0\\- +']* # flags
[,;:_]? # separator character (AltiVec)
((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width
(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision
[diouxXDOUeEfFgGaAcCsSpnvtTbyYhHmMzZq%] # conversion type
`,name:"constant.other.placeholder.go"},{match:"%",name:"invalid.illegal.placeholder.go"}]},strings:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.double.go",patterns:[{include:"#string_placeholder"},{include:"#string_escaped_char"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.single.go",patterns:[{include:"#string_escaped_char"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go"}]}},scopeName:"source.go"},Un=ya;var _a={extensions:[".graphql",".gql",".graphqls"],names:["graphql"],patterns:[{include:"#graphql"}],repository:{graphql:{patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-fragment-definition"},{include:"#graphql-directive-definition"},{include:"#graphql-type-interface"},{include:"#graphql-enum"},{include:"#graphql-scalar"},{include:"#graphql-union"},{include:"#graphql-schema"},{include:"#graphql-operation-def"},{include:"#literal-quasi-embedded"}]},"graphql-ampersand":{captures:{1:{name:"keyword.operator.logical.graphql"}},match:"\\s*(&)"},"graphql-arguments":{begin:"\\s*(\\()",beginCaptures:{1:{name:"meta.brace.round.directive.graphql"}},end:"\\s*(\\))",endCaptures:{1:{name:"meta.brace.round.directive.graphql"}},name:"meta.arguments.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))",beginCaptures:{1:{name:"variable.parameter.graphql"},2:{name:"punctuation.colon.graphql"}},end:"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)",endCaptures:{3:{name:"punctuation.comma.graphql"}},patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-value"},{include:"#graphql-skip-newlines"}]},{include:"#literal-quasi-embedded"}]},"graphql-boolean-value":{captures:{1:{name:"constant.language.boolean.graphql"}},match:"\\s*\\b(true|false)\\b"},"graphql-colon":{captures:{1:{name:"punctuation.colon.graphql"}},match:"\\s*(:)"},"graphql-comma":{captures:{1:{name:"punctuation.comma.graphql"}},match:"\\s*(,)"},"graphql-comment":{patterns:[{captures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},match:"(\\s*)(#).*",name:"comment.line.graphql.js"},{begin:'(""")',beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},end:'(""")',name:"comment.line.graphql.js"},{begin:'(")',beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},end:'(")',name:"comment.line.graphql.js"}]},"graphql-description-docstring":{begin:'"""',end:'"""',name:"comment.block.graphql"},"graphql-description-singleline":{match:'#(?=([^"]*"[^"]*")*[^"]*$).*$',name:"comment.line.number-sign.graphql"},"graphql-directive":{applyEndPatternLast:!0,begin:"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))",beginCaptures:{1:{name:"entity.name.function.directive.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-arguments"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-directive-definition":{applyEndPatternLast:!0,begin:"\\s*(\\bdirective\\b)\\s*(@[_A-Za-z][_0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.directive.graphql"},2:{name:"entity.name.function.directive.graphql"},3:{name:"keyword.repeatable.graphql"},4:{name:"keyword.on.graphql"},5:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-variable-definitions"},{applyEndPatternLast:!0,begin:"\\s*(\\brepeatable\\b)?\\s*(\\bon\\b)\\s*([_A-Za-z]*)",beginCaptures:{1:{name:"keyword.repeatable.graphql"},2:{name:"keyword.on.graphql"},3:{name:"support.type.location.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-skip-newlines"},{include:"#graphql-comment"},{include:"#literal-quasi-embedded"},{captures:{2:{name:"support.type.location.graphql"}},match:"\\s*(\\|)\\s*([_A-Za-z]*)"}]},{include:"#graphql-skip-newlines"},{include:"#graphql-comment"},{include:"#literal-quasi-embedded"}]},"graphql-enum":{begin:"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.enum.graphql"},2:{name:"support.type.enum.graphql"}},end:"(?<=})",name:"meta.enum.graphql",patterns:[{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.type.object.graphql",patterns:[{include:"#graphql-object-type"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-enum-value"},{include:"#literal-quasi-embedded"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"}]},"graphql-enum-value":{match:"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)",name:"constant.character.enum.graphql"},"graphql-field":{patterns:[{captures:{1:{name:"string.unquoted.alias.graphql"},2:{name:"punctuation.colon.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)"},{captures:{1:{name:"variable.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-arguments"},{include:"#graphql-directive"},{include:"#graphql-selection-set"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-float-value":{captures:{1:{name:"constant.numeric.float.graphql"}},match:"\\s*(-?(0|[1-9][0-9]*)(\\.[0-9]+)?((e|E)(\\+|-)?[0-9]+)?)"},"graphql-fragment-definition":{begin:"\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?)",captures:{1:{name:"keyword.fragment.graphql"},2:{name:"entity.name.fragment.graphql"}},end:"(?<=})",name:"meta.fragment.graphql",patterns:[{captures:{1:{name:"keyword.on.graphql"},2:{name:"support.type.graphql"}},match:"\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))"},{include:"#graphql-variable-definitions"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-fragment-spread":{applyEndPatternLast:!0,begin:"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"keyword.operator.spread.graphql"},2:{name:"variable.fragment.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-arguments"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-ignore-spaces":{match:"\\s*"},"graphql-inline-fragment":{applyEndPatternLast:!0,begin:"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?",captures:{1:{name:"keyword.operator.spread.graphql"},2:{name:"keyword.on.graphql"},3:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-input-types":{patterns:[{include:"#graphql-scalar-type"},{captures:{1:{name:"support.type.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?"},{begin:"\\s*(\\[)",captures:{1:{name:"meta.brace.square.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},end:"\\s*(\\])(?:\\s*(!))?",name:"meta.type.list.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-input-types"},{include:"#graphql-comma"},{include:"#literal-quasi-embedded"}]}]},"graphql-list-value":{patterns:[{begin:"\\s*+(\\[)",beginCaptures:{1:{name:"meta.brace.square.graphql"}},end:"\\s*(\\])",endCaptures:{1:{name:"meta.brace.square.graphql"}},name:"meta.listvalues.graphql",patterns:[{include:"#graphql-value"}]}]},"graphql-name":{captures:{1:{name:"entity.name.function.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},"graphql-null-value":{captures:{1:{name:"constant.language.null.graphql"}},match:"\\s*\\b(null)\\b"},"graphql-object-field":{captures:{1:{name:"constant.object.key.graphql"},2:{name:"string.unquoted.graphql"},3:{name:"punctuation.graphql"}},match:"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)"},"graphql-object-value":{patterns:[{begin:"\\s*+({)",beginCaptures:{1:{name:"meta.brace.curly.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"meta.brace.curly.graphql"}},name:"meta.objectvalues.graphql",patterns:[{include:"#graphql-object-field"},{include:"#graphql-value"}]}]},"graphql-operation-def":{patterns:[{include:"#graphql-query-mutation"},{include:"#graphql-name"},{include:"#graphql-variable-definitions"},{include:"#graphql-directive"},{include:"#graphql-selection-set"}]},"graphql-query-mutation":{captures:{1:{name:"keyword.operation.graphql"}},match:"\\s*\\b(query|mutation)\\b"},"graphql-scalar":{captures:{1:{name:"keyword.scalar.graphql"},2:{name:"entity.scalar.graphql"}},match:"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)"},"graphql-scalar-type":{captures:{1:{name:"support.type.builtin.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},match:"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?"},"graphql-schema":{begin:"\\s*\\b(schema)\\b",beginCaptures:{1:{name:"keyword.schema.graphql"}},end:"(?<=})",patterns:[{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},patterns:[{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.arguments.graphql"}},end:"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},patterns:[{captures:{1:{name:"support.type.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-colon"},{include:"#graphql-skip-newlines"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"}]},"graphql-selection-set":{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.selectionset.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-field"},{include:"#graphql-fragment-spread"},{include:"#graphql-inline-fragment"},{include:"#graphql-comma"},{include:"#native-interpolation"},{include:"#literal-quasi-embedded"}]},"graphql-skip-newlines":{match:`\\s*
`},"graphql-string-content":{patterns:[{match:`\\\\[/'"\\\\nrtbf]`,name:"constant.character.escape.graphql"},{match:"\\\\u([0-9a-fA-F]{4})",name:"constant.character.escape.graphql"}]},"graphql-string-value":{begin:'\\s*+(("))',beginCaptures:{1:{name:"string.quoted.double.graphql"},2:{name:"punctuation.definition.string.begin.graphql"}},contentName:"string.quoted.double.graphql",end:`\\s*+(?:(("))|(
))`,endCaptures:{1:{name:"string.quoted.double.graphql"},2:{name:"punctuation.definition.string.end.graphql"},3:{name:"invalid.illegal.newline.graphql"}},patterns:[{include:"#graphql-string-content"},{include:"#literal-quasi-embedded"}]},"graphql-type-definition":{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.graphql"}},end:"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-variable-definitions"},{include:"#graphql-type-object"},{include:"#graphql-colon"},{include:"#graphql-input-types"},{include:"#literal-quasi-embedded"}]},"graphql-type-interface":{applyEndPatternLast:!0,begin:"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?",captures:{1:{name:"keyword.type.graphql"},2:{name:"keyword.type.graphql"},3:{name:"keyword.interface.graphql"},4:{name:"keyword.input.graphql"},5:{name:"support.type.graphql"}},end:"(?=.)",name:"meta.type.interface.graphql",patterns:[{begin:"\\s*\\b(implements)\\b\\s*",beginCaptures:{1:{name:"keyword.implements.graphql"}},end:"\\s*(?={)",patterns:[{captures:{1:{name:"support.type.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-ampersand"},{include:"#graphql-comma"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-type-object"},{include:"#literal-quasi-embedded"},{include:"#graphql-ignore-spaces"}]},"graphql-type-object":{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.type.object.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-object-type"},{include:"#graphql-type-definition"},{include:"#literal-quasi-embedded"}]},"graphql-union":{applyEndPatternLast:!0,begin:"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"keyword.union.graphql"},2:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{applyEndPatternLast:!0,begin:"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"punctuation.assignment.graphql"},2:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"},{captures:{1:{name:"punctuation.or.graphql"},2:{name:"support.type.graphql"}},match:"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-union-mark":{captures:{1:{name:"punctuation.union.graphql"}},match:"\\s*(\\|)"},"graphql-value":{patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-variable-name"},{include:"#graphql-float-value"},{include:"#graphql-string-value"},{include:"#graphql-boolean-value"},{include:"#graphql-null-value"},{include:"#graphql-enum-value"},{include:"#graphql-list-value"},{include:"#graphql-object-value"},{include:"#literal-quasi-embedded"}]},"graphql-variable-assignment":{applyEndPatternLast:!0,begin:"\\s(=)",beginCaptures:{1:{name:"punctuation.assignment.graphql"}},end:`(?=[
,)])`,patterns:[{include:"#graphql-value"}]},"graphql-variable-definition":{begin:"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.parameter.graphql"}},end:"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},name:"meta.variables.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-colon"},{include:"#graphql-input-types"},{include:"#graphql-variable-assignment"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-variable-definitions":{begin:"\\s*(\\()",captures:{1:{name:"meta.brace.round.graphql"}},end:"\\s*(\\))",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-variable-definition"},{include:"#literal-quasi-embedded"}]},"graphql-variable-name":{captures:{1:{name:"variable.graphql"}},match:"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)"},"native-interpolation":{begin:"\\s*(\\${)",beginCaptures:{1:{name:"keyword.other.substitution.begin"}},end:"(})",endCaptures:{1:{name:"keyword.other.substitution.end"}},name:"native.interpolation",patterns:[{include:"source.js"},{include:"source.ts"},{include:"source.tsx"}]}},scopeName:"source.graphql"},Kn=_a;var wa={extensions:[".cnf",".dof",".frm",".ini",".lektorproject",".outjob",".pcbdoc",".prefs",".prjpcb",".properties",".schdoc",".url"],names:["altium","altium-designer","dosini","ini"],patterns:[{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ini"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.ini"}},end:"\\n",name:"comment.line.number-sign.ini"}]},{begin:"(^[ \\t]+)?(?=;)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ini"}},end:"(?!\\G)",patterns:[{begin:";",beginCaptures:{0:{name:"punctuation.definition.comment.ini"}},end:"\\n",name:"comment.line.semicolon.ini"}]},{captures:{1:{name:"keyword.other.definition.ini"},2:{name:"punctuation.separator.key-value.ini"}},match:"\\b([a-zA-Z0-9_.-]+)\\b\\s*(=)"},{captures:{1:{name:"punctuation.definition.entity.ini"},3:{name:"punctuation.definition.entity.ini"}},match:"^(\\[)(.*?)(\\])",name:"entity.name.section.group-title.ini"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.ini"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.ini"}},name:"string.quoted.single.ini",patterns:[{match:"\\\\.",name:"constant.character.escape.ini"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.ini"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.ini"}},name:"string.quoted.double.ini"}],scopeName:"source.ini"},Vn=wa;var ka={extensions:[".ck",".jav",".java",".jsh",".uc"],names:["chuck","java","unrealscript"],patterns:[{captures:{1:{name:"keyword.other.package.java"},2:{name:"storage.modifier.package.java"},3:{name:"punctuation.terminator.java"}},match:"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?",name:"meta.package.java"},{begin:"(import static)\\b\\s*",beginCaptures:{1:{name:"keyword.other.import.static.java"}},captures:{1:{name:"keyword.other.import.java"},2:{name:"storage.modifier.import.java"},3:{name:"punctuation.terminator.java"}},contentName:"storage.modifier.import.java",end:"\\s*(?:$|(;))",endCaptures:{1:{name:"punctuation.terminator.java"}},name:"meta.import.java",patterns:[{match:"\\.",name:"punctuation.separator.java"},{match:"\\s",name:"invalid.illegal.character_not_allowed_here.java"}]},{begin:"(import)\\b\\s*",beginCaptures:{1:{name:"keyword.other.import.java"}},captures:{1:{name:"keyword.other.import.java"},2:{name:"storage.modifier.import.java"},3:{name:"punctuation.terminator.java"}},contentName:"storage.modifier.import.java",end:"\\s*(?:$|(;))",endCaptures:{1:{name:"punctuation.terminator.java"}},name:"meta.import.java",patterns:[{match:"\\.",name:"punctuation.separator.java"},{match:"\\s",name:"invalid.illegal.character_not_allowed_here.java"}]},{include:"#code"}],repository:{"all-types":{patterns:[{include:"#primitive-arrays"},{include:"#primitive-types"},{include:"#object-types"}]},annotations:{patterns:[{begin:"(@[^ (]+)(\\()",beginCaptures:{1:{name:"storage.type.annotation.java"},2:{name:"punctuation.definition.annotation-arguments.begin.java"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.annotation-arguments.end.java"}},name:"meta.declaration.annotation.java",patterns:[{captures:{1:{name:"constant.other.key.java"},2:{name:"keyword.operator.assignment.java"}},match:"(\\w*)\\s*(=)"},{include:"#code"},{match:",",name:"punctuation.separator.property.java"}]},{match:"@\\w*",name:"storage.type.annotation.java"}]},"anonymous-classes-and-new":{begin:"\\bnew\\b",beginCaptures:{0:{name:"keyword.control.new.java"}},end:"(?<=\\)|\\])(?!\\s*{)|(?<=})|(?=;)",patterns:[{begin:"(\\w+)\\s*(?=\\[)",beginCaptures:{1:{name:"storage.type.java"}},end:"(})|(?=\\s*(?:,|;|\\)))",endCaptures:{1:{name:"punctuation.section.block.end.java"}},patterns:[{begin:"\\[",end:"\\]",patterns:[{include:"#code"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.block.begin.java"}},end:"(?=})",patterns:[{include:"#code"}]}]},{begin:"(?=\\w.*\\()",end:"(?<=\\))",patterns:[{include:"#object-types"},{begin:"\\(",beginCaptures:{1:{name:"storage.type.java"}},end:"\\)",patterns:[{include:"#code"}]}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.inner-class.begin.java"}},end:"}",endCaptures:{0:{name:"punctuation.section.inner-class.end.java"}},name:"meta.inner-class.java",patterns:[{include:"#class-body"}]}]},assertions:{patterns:[{begin:"\\b(assert)\\s",beginCaptures:{1:{name:"keyword.control.assert.java"}},end:"$",name:"meta.declaration.assertion.java",patterns:[{match:":",name:"keyword.operator.assert.expression-seperator.java"},{include:"#code"}]}]},class:{begin:"(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)",end:"}",endCaptures:{0:{name:"punctuation.section.class.end.java"}},name:"meta.class.java",patterns:[{include:"#storage-modifiers"},{include:"#comments"},{captures:{1:{name:"storage.modifier.java"},2:{name:"entity.name.type.class.java"}},match:"(class|(?:@)?interface|enum)\\s+(\\w+)",name:"meta.class.identifier.java"},{begin:"extends",beginCaptures:{0:{name:"storage.modifier.extends.java"}},end:"(?={|implements)",name:"meta.definition.class.inherited.classes.java",patterns:[{include:"#object-types-inherited"},{include:"#comments"}]},{begin:"(implements)\\s",beginCaptures:{1:{name:"storage.modifier.implements.java"}},end:"(?=\\s*extends|\\{)",name:"meta.definition.class.implemented.interfaces.java",patterns:[{include:"#object-types-inherited"},{include:"#comments"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.class.begin.java"}},end:"(?=})",name:"meta.class.body.java",patterns:[{include:"#class-body"}]}]},"class-body":{patterns:[{include:"#comments"},{include:"#class"},{include:"#enums"},{include:"#variables"},{include:"#methods"},{include:"#annotations"},{include:"#storage-modifiers"},{include:"#code"}]},code:{patterns:[{include:"#comments"},{include:"#class"},{begin:"{",beginCaptures:{0:{name:"punctuation.section.block.begin.java"}},end:"}",endCaptures:{0:{name:"punctuation.section.block.end.java"}},patterns:[{include:"#code"}]},{include:"#assertions"},{include:"#parens"},{include:"#constants-and-special-vars"},{include:"#anonymous-classes-and-new"},{include:"#annotations"},{include:"#keywords"},{include:"#storage-modifiers"},{include:"#method-call"},{include:"#strings"},{include:"#all-types"}]},comments:{patterns:[{captures:{0:{name:"punctuation.definition.comment.java"}},match:"/\\*\\*/",name:"comment.block.empty.java"},{include:"text.html.javadoc"},{include:"#comments-inline"}]},"comments-inline":{patterns:[{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.java"}},end:"\\*/",name:"comment.block.java"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.java"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.java"}},end:"\\n",name:"comment.line.double-slash.java"}]}]},"constants-and-special-vars":{patterns:[{match:"\\b(true|false|null)\\b",name:"constant.language.java"},{match:"\\b(this|super)\\b",name:"variable.language.java"},{match:"\\b0[xX][0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?[lL]?(?!\\w|\\.)",name:"constant.numeric.hex.java"},{match:"\\b0[0-7_]*[0-7][lL]?\\b",name:"constant.numeric.octal.java"},{match:"\\b0[bB][01]([01_]*[01])?[lL]?\\b",name:"constant.numeric.binary.java"},{match:"\\b(0|[1-9]([0-9_]*[0-9])?)[lL]?(?!\\w|\\.)",name:"constant.numeric.integer.java"},{match:`(?x)
(?<!\\w) # Ensure word boundry
(?>
0[xX] # Start literal
([0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?)? # Optional Number
(
(?<=[0-9A-Fa-f])\\. # A number must exist on
| \\.(?=[0-9A-Fa-f]) # one side of the decimal
| (?<=[0-9A-Fa-f]) # Decimal not required
)
([0-9A-Fa-f]([0-9A-Fa-f_]*[0-9A-Fa-f])?)? # Optional Number
[pP] # Exponent Indicator
[+-]?(0|[1-9]([0-9_]*[0-9])?) # Signed Integer
[fFdD]? # Float Type Suffix
)
(?!\\w) # Ensure word boundry
`,name:"constant.numeric.hex-float.java"},{match:`(?x)
(?<!\\w) # Ensure word boundry
(?>
(
(0|[1-9]([0-9_]*[0-9])?) # Leading digits
(?=[eEfFdD.]) # Allow for numbers without .
)?
(
(?<=[0-9])(?=[eEfFdD]) # Allow for numbers without .
| \\.
)
(
[0-9]([0-9_]*[0-9])? # Numbers after .
)?
(
[eE][+-]?(0|[1-9]([0-9_]*[0-9])?) # Exponent
)?
[fFdD]? # Float Type Suffix
)
(?!\\w) # Ensure word boundry
`,name:"constant.numeric.float.java"},{captures:{1:{name:"keyword.operator.dereference.java"}},match:"(\\.)?\\b([A-Z][A-Z0-9_]+)(?!<|\\.class|\\s*\\w+\\s*=)\\b",name:"constant.other.java"}]},enums:{begin:"^(?=\\s*[A-Z0-9_]+\\s*({|\\(|,))",end:"(?=;|})",patterns:[{begin:"\\w+",beginCaptures:{0:{name:"constant.other.enum.java"}},end:"(?=,|;|})",name:"meta.enum.java",patterns:[{include:"#parens"},{begin:"{",beginCaptures:{0:{name:"punctuation.section.enum.begin.java"}},end:"}",endCaptures:{0:{name:"punctuation.section.enum.end.java"}},patterns:[{include:"#class-body"}]}]},{include:"#comments"},{include:"#annotations"}]},keywords:{patterns:[{match:"\\b(try|catch|finally|throw)\\b",name:"keyword.control.catch-exception.java"},{match:"\\?|:",name:"keyword.control.ternary.java"},{match:"\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b",name:"keyword.control.java"},{match:"\\b(instanceof)\\b",name:"keyword.operator.java"},{match:"(<<|>>>?|~|\\^)",name:"keyword.operator.bitwise.java"},{match:"((&|\\^|\\||<<|>>>?)=)",name:"keyword.operator.assignment.bitwise.java"},{match:"(===?|!=|<=|>=|<>|<|>)",name:"keyword.operator.comparison.java"},{match:"([+*/%-]=)",name:"keyword.operator.assignment.arithmetic.java"},{match:"(=)",name:"keyword.operator.assignment.java"},{match:"(\\-\\-|\\+\\+)",name:"keyword.operator.increment-decrement.java"},{match:"(\\-|\\+|\\*|\\/|%)",name:"keyword.operator.arithmetic.java"},{match:"(!|&&|\\|\\|)",name:"keyword.operator.logical.java"},{match:"(\\||&)",name:"keyword.operator.bitwise.java"},{match:"(?<=\\S)\\.(?=\\S)",name:"keyword.operator.dereference.java"},{match:";",name:"punctuation.terminator.java"}]},"method-call":{begin:"([\\w$]+)(\\()",beginCaptures:{1:{name:"meta.method.java"},2:{name:"punctuation.definition.method-parameters.begin.java"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.method-parameters.end.java"}},name:"meta.method-call.java",patterns:[{match:",",name:"punctuation.definition.seperator.parameter.java"},{include:"#code"}]},methods:{begin:"(?!new)(?=[\\w<].*\\s+)(?=([^=/]|/(?!/))+\\()",end:"(})|(?=;)",endCaptures:{1:{name:"punctuation.section.method.end.java"}},name:"meta.method.java",patterns:[{include:"#storage-modifiers"},{begin:"(\\w+)\\s*\\(",beginCaptures:{1:{name:"entity.name.function.java"}},end:"\\)",name:"meta.method.identifier.java",patterns:[{include:"#parameters"},{include:"#comments"}]},{begin:"<",end:">",name:"storage.type.token.java",patterns:[{include:"#object-types"},{begin:"<",end:">|[^\\w\\s,\\[\\]<]",name:"storage.type.generic.java"}]},{begin:"(?=\\w.*\\s+\\w+\\s*\\()",end:"(?=\\w+\\s*\\()",name:"meta.method.return-type.java",patterns:[{include:"#all-types"},{include:"#comments"}]},{include:"#throws"},{begin:"{",beginCaptures:{0:{name:"punctuation.section.method.begin.java"}},end:"(?=})",name:"meta.method.body.java",patterns:[{include:"#code"}]},{include:"#comments"}]},"object-types":{patterns:[{begin:"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<",end:">|[^\\w\\s,\\?<\\[\\]]",name:"storage.type.generic.java",patterns:[{include:"#object-types"},{begin:"<",end:">|[^\\w\\s,\\[\\]<]",name:"storage.type.generic.java"}]},{begin:"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)(?=\\[)",end:"(?=[^\\]\\s])",name:"storage.type.object.array.java",patterns:[{begin:"\\[",end:"\\]",patterns:[{include:"#code"}]}]},{captures:{1:{name:"keyword.operator.dereference.java"}},match:"\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b",name:"storage.type.java"}]},"object-types-inherited":{patterns:[{begin:"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<",end:">|[^\\w\\s,<]",name:"entity.other.inherited-class.java",patterns:[{include:"#object-types"},{begin:"<",end:">|[^\\w\\s,<]",name:"storage.type.generic.java"}]},{captures:{1:{name:"keyword.operator.dereference.java"}},match:"\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*",name:"entity.other.inherited-class.java"}]},parameters:{patterns:[{match:"final",name:"storage.modifier.java"},{include:"#annotations"},{include:"#primitive-arrays"},{include:"#primitive-types"},{include:"#object-types"},{match:"\\w+",name:"variable.parameter.java"}]},parens:{begin:"\\(",end:"\\)",patterns:[{include:"#code"}]},"primitive-arrays":{patterns:[{match:"\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\[\\])*\\b",name:"storage.type.primitive.array.java"}]},"primitive-types":{patterns:[{match:"\\b(?:void|var|boolean|byte|char|short|int|float|long|double)\\b",name:"storage.type.primitive.java"}]},"storage-modifiers":{captures:{1:{name:"storage.modifier.java"}},match:"\\b(public|private|protected|static|final|native|synchronized|volatile|abstract|threadsafe|transient)\\b"},strings:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.java"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.java"}},name:"string.quoted.double.java",patterns:[{match:"\\\\.",name:"constant.character.escape.java"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.java"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.java"}},name:"string.quoted.single.java",patterns:[{match:"\\\\.",name:"constant.character.escape.java"}]}]},throws:{begin:"throws",beginCaptures:{0:{name:"storage.modifier.java"}},end:"(?={|;)",name:"meta.throwables.java",patterns:[{include:"#object-types"}]},values:{patterns:[{include:"#strings"},{include:"#object-types"},{include:"#constants-and-special-vars"}]},variables:{applyEndPatternLast:!0,patterns:[{begin:`(?x:(?=
(?:
(?:private|protected|public|native|synchronized|volatile|abstract|threadsafe|transient|static|final) # visibility/modifier
|
(?:def)
|
(?:void|boolean|byte|char|short|int|float|long|double)
|
(?:(?:[a-z]\\w*\\.)*[A-Z]+\\w*) # object type
)
\\s+
(?!private|protected|public|native|synchronized|volatile|abstract|threadsafe|transient|static|final|def|void|boolean|byte|char|short|int|float|long|double)
[\\w\\d_<>\\[\\],\\?][\\w\\d_<>\\[\\],\\? \\t]*
(?:=|$)
))`,end:"(?=;)",name:"meta.definition.variable.java",patterns:[{match:"\\s"},{captures:{1:{name:"constant.other.variable.java"}},match:"([A-Z_0-9]+)\\s+(?=\\=)"},{captures:{1:{name:"meta.definition.variable.name.java"}},match:"(\\w[^\\s,]*)\\s+(?=\\=)"},{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.java"}},end:"(?=;)",patterns:[{include:"#code"}]},{captures:{1:{name:"meta.definition.variable.name.java"}},match:"(\\w[^\\s=]*)(?=\\s*;)"},{include:"#code"}]}]}},scopeName:"source.java"},Hn=ka;var xa={extensions:["._js",".bones",".cjs",".cy",".es6",".jake",".javascript",".js",".js.erb",".jsb",".jscad",".jsfl",".jslib",".jsm",".json5",".jsonld",".jspre",".jss",".jsx",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],names:["cycript","javascript","javascript+erb","js","json5","jsonld","node","qt-script"],patterns:[{begin:"(?<!\\.)\\b(import)(?!\\s*[:(])\\b",beginCaptures:{1:{name:"keyword.control.js"}},end:"(?=;|$)",name:"meta.import.js",patterns:[{begin:"{",beginCaptures:{0:{name:"punctuation.definition.modules.begin.js"}},end:"}",endCaptures:{0:{name:"punctuation.definition.modules.end.js"}},patterns:[{captures:{1:{name:"variable.language.default.js"},2:{name:"variable.other.module.js"},3:{name:"keyword.control.js"},4:{name:"invalid.illegal.js"},5:{name:"variable.other.module-alias.js"}},match:`(?x)
(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)
\\s*
(\\b as \\b)
\\s*
(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)`},{match:",",name:"meta.delimiter.object.comma.js"},{include:"#comments"},{match:"\\b([a-zA-Z_$][\\w$]*)\\b",name:"variable.other.module.js"}]},{captures:{1:{name:"variable.language.default.js"},2:{name:"variable.language.import-all.js"},3:{name:"variable.other.module.js"},4:{name:"keyword.control.js"},5:{name:"invalid.illegal.js"},6:{name:"variable.other.module-alias.js"}},match:`(?x)
(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)
\\s*
(\\b as \\b)
\\s*
(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)`},{match:"\\*",name:"variable.language.import-all.js"},{match:"\\b(default)\\b",name:"variable.language.default.js"},{include:"#strings"},{include:"#comments"},{match:"\\b(from)\\b",name:"keyword.control.js"},{match:"\\b([a-zA-Z_$][\\w$]*)\\b(?=.*\\bfrom\\b)",name:"variable.other.module.js"},{match:",",name:"meta.delimiter.object.comma.js"}]},{captures:{0:{name:"meta.export.js"},1:{name:"keyword.control.js"},2:{name:"variable.language.default.js"},3:{name:"variable.other.module.js"}},match:`(?x)
\\b(export)\\b\\s*
\\b(default)\\b\\s*
\\b((?!\\b(?:function|class|let|var|const)\\b)[a-zA-Z_$][\\w$]*)?\\b`},{begin:"(?<!\\.)\\b(export)(?!\\s*[:(])\\b",beginCaptures:{1:{name:"keyword.control.js"}},end:"(?=;|\\bfunction\\b|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)",name:"meta.export.js",patterns:[{include:"#numbers"},{begin:"(?![a-zA-Z_$0-9]){",beginCaptures:{0:{name:"punctuation.definition.modules.begin.js"}},end:"}",endCaptures:{0:{name:"punctuation.definition.modules.end.js"}},patterns:[{captures:{1:{name:"variable.language.default.js"},2:{name:"variable.other.module.js"},3:{name:"keyword.control.js"},4:{name:"variable.language.default.js"},5:{name:"invalid.illegal.js"},6:{name:"variable.other.module-alias.js"}},match:`(?x)
(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)
\\s*
(\\b as \\b)
\\s*
(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)`},{include:"#comments"},{match:",",name:"meta.delimiter.object.comma.js"},{match:"\\b([a-zA-Z_$][\\w$]*)\\b",name:"variable.other.module.js"}]},{match:"\\*(?=.*\\bfrom\\b)",name:"variable.language.import-all.js"},{match:"\\b(default)\\b",name:"variable.language.default.js"},{include:"#strings"},{include:"#comments"},{match:"\\b(from)\\b",name:"keyword.control.js"},{match:"\\b([a-zA-Z_$][\\w$]*)\\b",name:"variable.other.module.js"},{match:",",name:"meta.delimiter.object.comma.js"},{include:"#operators"}]},{match:"(?:(?<=\\.{3})|(?<!\\.)\\b)(?<!\\$)(super|this|arguments)(?!\\s*:|\\$)\\b",name:"variable.language.js"},{begin:"(?=(\\basync\\b\\s*)?\\bfunction\\b(?!\\s*:))",end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=\\))",name:"meta.function.js",patterns:[{include:"#function_innards"}]}]},{begin:"(?=(\\.)?[a-zA-Z_$][\\w$]*\\s*=\\s*(\\basync\\b\\s*)?\\bfunction\\b)",end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?!\\G)(?<=\\))",name:"meta.function.js",patterns:[{captures:{1:{name:"meta.delimiter.method.period.js"},2:{name:"entity.name.function.js"},3:{name:"keyword.operator.assignment.js"}},match:"(\\.)?([a-zA-Z_$][\\w$]*)\\s*(=)\\s*"},{include:"#function_innards"}]}]},{begin:"(?=\\b[a-zA-Z_$][\\w$]*\\s*:\\s*(\\basync\\b\\s*)?\\bfunction\\b)",end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=\\))",name:"meta.function.json.js",patterns:[{captures:{1:{name:"entity.name.function.js"},2:{name:"keyword.operator.assignment.js"}},match:"\\b([a-zA-Z_$][\\w$]*)\\s*(:)\\s*"},{include:"#function_innards"}]}]},{begin:`(?=(('[^']*?')|("[^"]*?"))\\s*:\\s*(\\basync\\b\\s*)?\\bfunction\\b)`,end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=\\))",name:"meta.function.json.js",patterns:[{captures:{1:{name:"string.quoted.single.js"},2:{name:"punctuation.definition.string.begin.js"},3:{name:"entity.name.function.js"},4:{name:"punctuation.definition.string.end.js"},5:{name:"string.quoted.double.js"},6:{name:"punctuation.definition.string.begin.js"},7:{name:"entity.name.function.js"},8:{name:"punctuation.definition.string.end.js"},9:{name:"keyword.operator.assignment.js"}},match:`(?:((')([^']*?)('))|((")([^"]*?)(")))\\s*(:)`},{include:"#function_innards"}]}]},{begin:"(?=\\bconstructor\\b\\s*)",end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=\\))",name:"meta.function.js",patterns:[{match:"\\b(constructor)\\s*",name:"entity.name.function.constructor.js"},{include:"#function_innards"}]}]},{begin:`(?x)
(?=
(?!
(break|case|catch|continue|do|else|finally|for|function|if|
return|switch|throw|try|while|with)
[\\s\\(]
)
(
\\b(get|set) # Property getter/setter: get foo(){}
(?:\\s+|(?=\\[)) # Followed by whitespace or square bracket
)?+
( # Method name
\\b[a-zA-Z_$][\\w$]* # Fixed name
|
\\[ # Computed property key
[^\\[\\]]++ # Contains at least one non-brace character
\\]
)
\\s*\\(\\s* # Start of arguments list
(
"[^"]*" | # Double-quoted string
'[^']*' | # Single-quoted string
[^"()'] # Any non-bracket or non-quote
)*
\\)\\s* # End of arguments
{ # Beginning of body
)`,end:"(?<=})",patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=\\))",name:"meta.function.method.definition.js",patterns:[{captures:{1:{name:"punctuation.definition.computed-key.begin.bracket.square.js"},2:{patterns:[{include:"$self"},{match:"[a-zA-Z_$][\\w$]*",name:"variable.parameter.property.js"}]},3:{name:"punctuation.definition.computed-key.end.bracket.square.js"}},match:"(\\[)(.+)(\\])(?=\\s*\\()",name:"meta.computed-key.js"},{match:"\\b(get|set)(?=\\s*\\[.+\\]\\s*\\(|\\s+[^\\s\\[(]+\\s*\\()",name:"keyword.operator.$1ter.js"},{match:"\\b([a-zA-Z_$][\\w$]*)",name:"entity.name.function.js"},{include:"#function_params"}]}]},{begin:`(?x)
(?=
(?<![A-Za-z0-9])
((\\(([^\\(\\)]*)?\\))|[\\w$]+)
\\s*=>
)`,end:`(?x)
(?<=})|
((?!
\\s*{|
\\G\\(|
\\G[\\w$]+|
\\s*/\\*|\\s*//
)(?=\\s*\\S))`,patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=(=>))",name:"meta.function.arrow.js",patterns:[{include:"#arrow_function_innards"}]}]},{begin:`(?x)
(?=
(\\.)?[a-zA-Z_$][\\w$]*
\\s*(=)\\s*
((\\(([^\\(\\)]*)?\\))|[\\w$]+)
\\s*=>
)`,end:`(?x)
(?<=})|
((?!
\\s*{|
\\G(\\.)?[a-zA-Z_$][\\w$]*\\s*(=)\\s*\\(|
\\G(\\.)?[a-zA-Z_$][\\w$]*\\s*(=)\\s*[\\w$]+|
\\s*/\\*|\\s*//
)(?=\\s*\\S))`,patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=(=>))",name:"meta.function.arrow.js",patterns:[{captures:{1:{name:"meta.delimiter.method.period.js"},2:{name:"entity.name.function.js"},3:{name:"keyword.operator.assignment.js"}},match:"\\G(\\.)?([a-zA-Z_$][\\w$]*)\\s*(=)"},{include:"#arrow_function_innards"}]}]},{begin:`(?x)
(?=
\\b[a-zA-Z_$][\\w$]*
\\s*:\\s*
((\\(([^\\(\\)]*)?\\))|[\\w$]+)
\\s*=>
)`,end:`(?x)
(?<=})|
((?!
\\s*{|
\\G[\\w$]+\\s*:|
\\s*/\\*|\\s*//
)(?=\\s*\\S))`,patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=(=>))",name:"meta.function.arrow.json.js",patterns:[{captures:{1:{name:"entity.name.function.js"},2:{name:"keyword.operator.assignment.js"}},match:"\\b([a-zA-Z_$][\\w$]*)\\s*(:)\\s*"},{include:"#arrow_function_innards"}]}]},{begin:`(?x)
(?=
(('[^']*?')|("[^"]*?"))
\\s*:\\s*
((\\(([^\\(\\)]*)?\\))|[\\w$]+)
\\s*=>
)`,end:`(?x)
(?<=})|
((?!
\\G(('[^']*?')|("[^"]*?"))|
\\s*{|
\\s*/\\*|\\s*//
)(?=\\s*\\S))`,patterns:[{include:"#comments"},{include:"#function_body"},{begin:"\\G",end:"(?<=(=>))",name:"meta.function.arrow.json.js",patterns:[{captures:{1:{name:"string.quoted.single.js"},2:{name:"punctuation.definition.string.begin.js"},3:{name:"entity.name.function.js"},4:{name:"punctuation.definition.string.end.js"},5:{name:"string.quoted.double.js"},6:{name:"punctuation.definition.string.begin.js"},7:{name:"entity.name.function.js"},8:{name:"punctuation.definition.string.end.js"},9:{name:"keyword.operator.assignment.js"}},match:`(?:((')([^']*?)('))|((")([^"]*?)(")))\\s*(:)`},{include:"#arrow_function_innards"}]}]},{captures:{0:{name:"meta.function.arrow.js"},1:{name:"storage.type.function.arrow.js"}},match:"(=>)"},{captures:{1:{name:"storage.type.class.js"},2:{name:"storage.modifier.js"},3:{name:"entity.other.inherited-class.js"},4:{name:"entity.name.type.class.js"},5:{name:"storage.modifier.js"},6:{name:"entity.other.inherited-class.js"}},match:`(?x)
\\b(class)
(?:
(?:\\s+(extends)\\s+([a-zA-Z_$][\\w$]*))
|
(?:
(?:\\s+([a-zA-Z_$][\\w$]*))
(?:\\s+(extends)\\s+([a-zA-Z_$][\\w$]*))?
)
)`,name:"meta.class.js"},{captures:{1:{name:"keyword.operator.new.js"},2:{name:"entity.name.type.instance.js",patterns:[{match:"\\.",name:"meta.delimiter.property.period.js"}]}},match:"(new)\\s+([\\w$]+[\\w.$]*)",name:"meta.class.instance.constructor.js"},{begin:"(?<![\\w$])console(?![\\w$]|\\s*:)",beginCaptures:{0:{name:"entity.name.type.object.console.js"}},end:`(?x)
(?<=\\)) | (?=
(?! (\\s*//)|(\\s*/\\*)|(\\s*(\\.)\\s*
(assert|clear|debug|error|info|log|profile|profileEnd|time|timeEnd|warn)
\\s*\\(
)) \\s*\\S
)`,patterns:[{include:"#comments"},{begin:"\\s*(\\.)\\s*(\\w+)\\s*(?=\\()",beginCaptures:{1:{name:"meta.delimiter.method.period.js"},2:{name:"support.function.console.js"}},end:"(?<=\\))",name:"meta.method-call.js",patterns:[{include:"#arguments"}]}]},{begin:"(?<![\\w$])Math(?![\\w$]|\\s*:)",beginCaptures:{0:{name:"support.class.math.js"}},end:`(?x)
(?<=E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2|\\)
) | (?=
(?! (\\s*//)|(\\s*/\\*)|(\\s*\\.\\s* (
((abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|
expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|
round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\s*\\(
) | (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)(?!\\s*[\\w$(]))
)) \\s*\\S
)`,patterns:[{include:"#comments"},{begin:"\\s*(\\.)\\s*(\\w+)\\s*(?=\\()",beginCaptures:{1:{name:"meta.delimiter.method.period.js"},2:{name:"support.function.math.js"}},end:"(?<=\\))",name:"meta.method-call.js",patterns:[{include:"#arguments"}]},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"support.constant.property.math.js"}},match:"\\s*(\\.)\\s*(\\w+)\\b"}]},{begin:"(?<![\\w$])Promise(?![\\w$]|\\s*:)",beginCaptures:{0:{name:"support.class.promise.js"}},end:`(?x)
(?<=\\)) | (?=
(?! (\\s*//)|(\\s*/\\*)|(\\s*\\.\\s*(all|race|reject|resolve)\\s*\\() )\\s*\\S
)`,patterns:[{include:"#comments"},{begin:"\\s*(\\.)\\s*(\\w+)\\s*(?=\\()",beginCaptures:{1:{name:"meta.delimiter.method.period.js"},2:{name:"support.function.promise.js"}},end:"(?<=\\))",name:"meta.method-call.js",patterns:[{include:"#arguments"}]}]},{include:"#strings"},{include:"#comments"},{captures:{0:{name:"punctuation.definition.comment.html.js"},2:{name:"punctuation.definition.comment.html.js"}},match:"(<!--|-->)",name:"comment.block.html.js"},{match:"(?<!\\.)\\b(class|enum|function|interface)(?!\\s*:)\\b",name:"storage.type.js"},{match:"(?<!\\.)\\b(async|export|extends|implements|private|protected|public|static)(?!\\s*:)\\b",name:"storage.modifier.js"},{match:"(?<!\\.)\\b(let|var)(?!\\s*:)\\b",name:"storage.type.var.js"},{begin:"(?<!\\.)\\b(const)(?!\\s*:)\\b",beginCaptures:{1:{name:"storage.type.const.js"}},end:"(\\bof\\b|\\bin\\b)|(;)|(=)|(?<![,{])\\n",endCaptures:{1:{name:"keyword.operator.$1.js"},2:{name:"punctuation.terminator.statement.js"},3:{name:"keyword.operator.assignment.js"}},patterns:[{captures:{2:{name:"keyword.operator.assignment.js"},3:{name:"constant.other.js"}},match:"([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(:)\\s*([$_a-zA-Z][$_a-zA-Z0-9]*)?"},{captures:{1:{name:"constant.other.js"}},match:"([$_a-zA-Z][$_a-zA-Z0-9]*)"},{match:"\\.\\.\\.",name:"keyword.operator.spread.js"},{match:",",name:"meta.delimiter.object.comma.js"},{match:"\\(|\\)",name:"meta.brace.round.js"},{match:"{|}",name:"meta.brace.curly.js"},{match:"\\[|\\]",name:"meta.brace.square.js"},{include:"#comments"}]},{captures:{1:{name:"keyword.control.js"},2:{name:"storage.modifier.js"}},match:"(?<!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?",name:"meta.control.yield.js"},{match:"(?:(?<=\\.{3})|(?<!\\.))\\b(await)(?!\\s*:)\\b",name:"keyword.control.js"},{match:"(?<!\\.)\\b(break|catch|continue|do|else|finally|for|if|import|package|return|throw|try|while|with)(?!\\s*:)\\b",name:"keyword.control.js"},{include:"#switch_statement"},{match:"(?<!\\.)\\b(delete|in|of|instanceof|new|typeof|void)(?!\\s*:)\\b",name:"keyword.operator.$1.js"},{match:"\\.\\.\\.",name:"keyword.operator.spread.js"},{match:"(?<!\\.)\\b(true|false)(?!\\s*:)\\b",name:"constant.language.boolean.$1.js"},{match:"(?<!\\.)\\b(null)(?!\\s*:)\\b",name:"constant.language.null.js"},{match:"(?<!\\.)\\b(debugger)(?!\\s*:)\\b",name:"keyword.other.debugger.js"},{match:`(?x) (?<!\\$) \\b
(AggregateError|Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Error|EvalError|Float32Array|Float64Array
|Function|Generator|GeneratorFunction|Int16Array|Int32Array|Int8Array|InternalError|Intl|JSON|Map|Number
|Object|Proxy|RangeError|ReferenceError|Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|SyntaxError
|TypeError|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|URIError|WeakMap|WeakSet)
\\b`,name:"support.class.js"},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"support.variable.property.js"},3:{name:"support.constant.js"}},match:`(?x) (\\.) \\s* (?:
(constructor|length|prototype) |
(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)
)\\b`},{captures:{1:{name:"support.variable.dom.js"},2:{name:"support.class.dom.js"}},match:`(?x) (?<!\\$) \\b (?:
(document|event|navigator|performance|screen|window|self|frames)
|
(AnalyserNode|ArrayBufferView|Attr|AudioBuffer|AudioBufferSourceNode|AudioContext|AudioDestinationNode|AudioListener
|AudioNode|AudioParam|BatteryManager|BeforeUnloadEvent|BiquadFilterNode|Blob|BufferSource|ByteString|CSS|CSSConditionRule
|CSSCounterStyleRule|CSSGroupingRule|CSSMatrix|CSSMediaRule|CSSPageRule|CSSPrimitiveValue|CSSRule|CSSRuleList|CSSStyleDeclaration
|CSSStyleRule|CSSStyleSheet|CSSSupportsRule|CSSValue|CSSValueList|CanvasGradient|CanvasImageSource|CanvasPattern
|CanvasRenderingContext2D|ChannelMergerNode|ChannelSplitterNode|CharacterData|ChromeWorker|CloseEvent|Comment|CompositionEvent
|Console|ConvolverNode|Coordinates|Credential|CredentialsContainer|Crypto|CryptoKey|CustomEvent|DOMError|DOMException
|DOMHighResTimeStamp|DOMImplementation|DOMString|DOMStringList|DOMStringMap|DOMTimeStamp|DOMTokenList|DataTransfer
|DataTransferItem|DataTransferItemList|DedicatedWorkerGlobalScope|DelayNode|DeviceProximityEvent|DirectoryEntry
|DirectoryEntrySync|DirectoryReader|DirectoryReaderSync|Document|DocumentFragment|DocumentTouch|DocumentType|DragEvent
|DynamicsCompressorNode|Element|Entry|EntrySync|ErrorEvent|Event|EventListener|EventSource|EventTarget|FederatedCredential
|FetchEvent|File|FileEntry|FileEntrySync|FileException|FileList|FileReader|FileReaderSync|FileSystem|FileSystemSync
|FontFace|FormData|GainNode|Gamepad|GamepadButton|GamepadEvent|Geolocation|GlobalEventHandlers|HTMLAnchorElement
|HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement
|HTMLCollection|HTMLContentElement|HTMLDListElement|HTMLDataElement|HTMLDataListElement|HTMLDialogElement|HTMLDivElement
|HTMLDocument|HTMLElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFormControlsCollection|HTMLFormElement
|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLInputElement
|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMediaElement
|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement
|HTMLOptionsCollection|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement
|HTMLQuoteElement|HTMLScriptElement|HTMLSelectElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement
|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement
|HTMLTableRowElement|HTMLTableSectionElement|HTMLTextAreaElement|HTMLTimeElement|HTMLTitleElement|HTMLTrackElement
|HTMLUListElement|HTMLUnknownElement|HTMLVideoElement|HashChangeEvent|History|IDBCursor|IDBCursorWithValue|IDBDatabase
|IDBEnvironment|IDBFactory|IDBIndex|IDBKeyRange|IDBMutableFile|IDBObjectStore|IDBOpenDBRequest|IDBRequest|IDBTransaction
|IDBVersionChangeEvent|IIRFilterNode|IdentityManager|ImageBitmap|ImageBitmapFactories|ImageData|Index|InputDeviceCapabilities
|InputEvent|InstallEvent|InstallTrigger|KeyboardEvent|LinkStyle|LocalFileSystem|LocalFileSystemSync|Location|MIDIAccess
|MIDIConnectionEvent|MIDIInput|MIDIInputMap|MIDIOutputMap|MediaElementAudioSourceNode|MediaError|MediaKeyMessageEvent
|MediaKeySession|MediaKeyStatusMap|MediaKeySystemAccess|MediaKeySystemConfiguration|MediaKeys|MediaRecorder|MediaStream
|MediaStreamAudioDestinationNode|MediaStreamAudioSourceNode|MessageChannel|MessageEvent|MessagePort|MouseEvent
|MutationObserver|MutationRecord|NamedNodeMap|Navigator|NavigatorConcurrentHardware|NavigatorGeolocation|NavigatorID
|NavigatorLanguage|NavigatorOnLine|Node|NodeFilter|NodeIterator|NodeList|NonDocumentTypeChildNode|Notification
|OfflineAudioCompletionEvent|OfflineAudioContext|OscillatorNode|PageTransitionEvent|PannerNode|ParentNode|PasswordCredential
|Path2D|PaymentAddress|PaymentRequest|PaymentResponse|Performance|PerformanceEntry|PerformanceFrameTiming|PerformanceMark
|PerformanceMeasure|PerformanceNavigation|PerformanceNavigationTiming|PerformanceObserver|PerformanceObserverEntryList
|PerformanceResourceTiming|PerformanceTiming|PeriodicSyncEvent|PeriodicWave|Plugin|Point|PointerEvent|PopStateEvent
|PortCollection|Position|PositionError|PositionOptions|PresentationConnectionClosedEvent|PresentationConnectionList
|PresentationReceiver|ProcessingInstruction|ProgressEvent|PromiseRejectionEvent|PushEvent|PushRegistrationManager
|RTCCertificate|RTCConfiguration|RTCPeerConnection|RTCSessionDescriptionCallback|RTCStatsReport|RadioNodeList|RandomSource
|Range|ReadableByteStream|RenderingContext|SVGAElement|SVGAngle|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement
|SVGAnimateTransformElement|SVGAnimatedAngle|SVGAnimatedBoolean|SVGAnimatedEnumeration|SVGAnimatedInteger|SVGAnimatedLength
|SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedPoints|SVGAnimatedPreserveAspectRatio
|SVGAnimatedRect|SVGAnimatedString|SVGAnimatedTransformList|SVGAnimationElement|SVGCircleElement|SVGClipPathElement
|SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGEvent|SVGFilterElement|SVGFontElement
|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement
|SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGradientElement|SVGHKernElement|SVGImageElement|SVGLength
|SVGLengthList|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMaskElement|SVGMatrix|SVGMissingGlyphElement
|SVGNumber|SVGNumberList|SVGPathElement|SVGPatternElement|SVGPoint|SVGPolygonElement|SVGPolylineElement|SVGPreserveAspectRatio
|SVGRadialGradientElement|SVGRect|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStringList
|SVGStylable|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTests|SVGTextElement
|SVGTextPositioningElement|SVGTitleElement|SVGTransform|SVGTransformList|SVGTransformable|SVGUseElement|SVGVKernElement
|SVGViewElement|ServiceWorker|ServiceWorkerContainer|ServiceWorkerGlobalScope|ServiceWorkerRegistration|ServiceWorkerState
|ShadowRoot|SharedWorker|SharedWorkerGlobalScope|SourceBufferList|StereoPannerNode|Storage|StorageEvent|StyleSheet
|StyleSheetList|SubtleCrypto|SyncEvent|Text|TextMetrics|TimeEvent|TimeRanges|Touch|TouchEvent|TouchList|Transferable
|TreeWalker|UIEvent|USVString|VRDisplayCapabilities|ValidityState|WaveShaperNode|WebGL|WebGLActiveInfo|WebGLBuffer
|WebGLContextEvent|WebGLFramebuffer|WebGLProgram|WebGLRenderbuffer|WebGLRenderingContext|WebGLShader|WebGLShaderPrecisionFormat
|WebGLTexture|WebGLTimerQueryEXT|WebGLTransformFeedback|WebGLUniformLocation|WebGLVertexArrayObject|WebGLVertexArrayObjectOES
|WebSocket|WebSockets|WebVTT|WheelEvent|Window|WindowBase64|WindowEventHandlers|WindowTimers|Worker|WorkerGlobalScope
|WorkerLocation|WorkerNavigator|XMLHttpRequest|XMLHttpRequestEventTarget|XMLSerializer|XPathExpression|XPathResult
|XSLTProcessor)
)\\b`},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"support.constant.dom.js"},3:{name:"support.variable.property.dom.js"}},match:`(?x) (\\.) \\s*
(?:
(ATTRIBUTE_NODE|CDATA_SECTION_NODE|COMMENT_NODE|DOCUMENT_FRAGMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE
|DOMSTRING_SIZE_ERR|ELEMENT_NODE|ENTITY_NODE|ENTITY_REFERENCE_NODE|HIERARCHY_REQUEST_ERR|INDEX_SIZE_ERR
|INUSE_ATTRIBUTE_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR
|NOT_SUPPORTED_ERR|NOTATION_NODE|PROCESSING_INSTRUCTION_NODE|TEXT_NODE|WRONG_DOCUMENT_ERR)
|
(_content|[xyz]|abbr|above|accept|acceptCharset|accessKey|action|align|[av]Link(?:color)?|all|alt|anchors|appCodeName
|appCore|applets|appMinorVersion|appName|appVersion|archive|areas|arguments|attributes|availHeight|availLeft|availTop
|availWidth|axis|background|backgroundColor|backgroundImage|below|bgColor|body|border|borderBottomWidth|borderColor
|borderLeftWidth|borderRightWidth|borderStyle|borderTopWidth|borderWidth|bottom|bufferDepth|callee|caller|caption
|cellPadding|cells|cellSpacing|ch|characterSet|charset|checked|childNodes|chOff|cite|classes|className|clear
|clientInformation|clip|clipBoardData|closed|code|codeBase|codeType|color|colorDepth|cols|colSpan|compact|complete
|components|content|controllers|cookie|cookieEnabled|cords|cpuClass|crypto|current|data|dateTime|declare|defaultCharset
|defaultChecked|defaultSelected|defaultStatus|defaultValue|defaultView|defer|description|dialogArguments|dialogHeight
|dialogLeft|dialogTop|dialogWidth|dir|directories|disabled|display|docmain|doctype|documentElement|elements|embeds
|enabledPlugin|encoding|enctype|entities|event|expando|external|face|fgColor|filename|firstChild|fontFamily|fontSize
|fontWeight|form|formName|forms|frame|frameBorder|frameElement|frames|hasFocus|hash|headers|height|history|host
|hostname|href|hreflang|hspace|htmlFor|httpEquiv|id|ids|ignoreCase|images|implementation|index|innerHeight|innerWidth
|input|isMap|label|lang|language|lastChild|lastIndex|lastMatch|lastModified|lastParen|layer[sXY]|left|leftContext
|lineHeight|link|linkColor|links|listStyleType|localName|location|locationbar|longDesc|lowsrc|lowSrc|marginBottom
|marginHeight|marginLeft|marginRight|marginTop|marginWidth|maxLength|media|menubar|method|mimeTypes|multiline|multiple
|name|nameProp|namespaces|namespaceURI|next|nextSibling|nodeName|nodeType|nodeValue|noHref|noResize|noShade|notationName
|notations|noWrap|object|offscreenBuffering|onLine|onreadystatechange|opener|opsProfile|options|oscpu|outerHeight
|outerWidth|ownerDocument|paddingBottom|paddingLeft|paddingRight|paddingTop|page[XY]|page[XY]Offset|parent|parentLayer
|parentNode|parentWindow|pathname|personalbar|pixelDepth|pkcs11|platform|plugins|port|prefix|previous|previousDibling
|product|productSub|profile|profileend|prompt|prompter|protocol|publicId|readOnly|readyState|referrer|rel|responseText
|responseXML|rev|right|rightContext|rowIndex|rows|rowSpan|rules|scheme|scope|screen[XY]|screenLeft|screenTop|scripts
|scrollbars|scrolling|sectionRowIndex|security|securityPolicy|selected|selectedIndex|selection|self|shape|siblingAbove
|siblingBelow|size|source|specified|standby|start|status|statusbar|statusText|style|styleSheets|suffixes|summary
|systemId|systemLanguage|tagName|tags|target|tBodies|text|textAlign|textDecoration|textIndent|textTransform|tFoot|tHead
|title|toolbar|top|type|undefined|uniqueID|updateInterval|URL|URLUnencoded|useMap|userAgent|userLanguage|userProfile
|vAlign|value|valueType|vendor|vendorSub|version|visibility|vspace|whiteSpace|width|X[MS]LDocument|zIndex)
)
\\b`},{match:"(?<!\\.)\\b(module|exports|__filename|__dirname|global|globalThis|process)(?!\\s*:)\\b",name:"support.variable.js"},{match:"\\b(Infinity|NaN|undefined)\\b",name:"constant.language.js"},{begin:"(?<=[\\[{=(?:+*,!~-]|^|return|=>|&&|\\|\\|)\\s*(/)(?![/*+?])(?=.*/)",beginCaptures:{1:{name:"punctuation.definition.string.begin.js"}},end:"(/)([gimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"meta.flag.regexp"}},name:"string.regexp.js",patterns:[{include:"source.js.regexp"}]},{begin:"\\?",beginCaptures:{0:{name:"keyword.operator.ternary.js"}},end:":",endCaptures:{0:{name:"keyword.operator.ternary.js"}},patterns:[{include:"#prevent_object_keys_matching"},{include:"$self"}]},{include:"#operators"},{include:"#method_calls"},{include:"#function_calls"},{include:"#numbers"},{include:"#objects"},{include:"#properties"},{match:"((?<!\\.|[\\w$])(?![_\\$]+[^A-Z0-9_$])\\$*\\b(?:[A-Z_$][A-Z0-9_$]*)\\b\\$*)",name:"constant.other.js"},{match:"(?<!\\$)\\b[0-9]+[\\w$]*",name:"invalid.illegal.identifier.js"},{match:"\\;",name:"punctuation.terminator.statement.js"},{match:",",name:"meta.delimiter.object.comma.js"},{match:"\\.",name:"meta.delimiter.method.period.js"},{captures:{1:{name:"punctuation.section.scope.begin.js"},2:{name:"punctuation.section.scope.end.js"}},match:"({)(})"},{begin:"{",beginCaptures:{0:{name:"meta.brace.curly.js"}},end:"}",endCaptures:{0:{name:"meta.brace.curly.js"}},patterns:[{include:"$self"}]},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"$self"}]},{match:"\\[|\\]",name:"meta.brace.square.js"},{match:"\\A#!.*$",name:"comment.line.shebang.js"}],repository:{arguments:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.bracket.round.js"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.js"}},name:"meta.arguments.js",patterns:[{include:"$self"}]}]},arrow_function_innards:{patterns:[{match:"=>",name:"storage.type.function.arrow.js"},{include:"#function_params"},{captures:{0:{name:"meta.parameters.js"},1:{name:"variable.parameter.function.js"}},match:"([a-zA-Z_$][\\w$]*)(?=\\s*=>)"},{captures:{0:{name:"meta.parameters.js"},1:{name:"invalid.illegal.identifier.js"}},match:"(\\d[\\w$]*)"}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.begin.js"},2:{name:"punctuation.definition.comment.end.js"}},match:"(/\\*)(\\*/)",name:"comment.block.empty.js"},{begin:"/\\*\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.documentation.js",patterns:[{include:"source.jsdoc"}]},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:"$",name:"comment.line.double-slash.js"}]},function_body:{patterns:[{begin:"{",beginCaptures:{0:{name:"punctuation.definition.function.body.begin.bracket.curly.js"}},end:"}",endCaptures:{0:{name:"punctuation.definition.function.body.end.bracket.curly.js"}},patterns:[{include:"$self"}]}]},function_calls:{patterns:[{begin:"([\\w$]+)\\s*(?=\\()",beginCaptures:{1:{patterns:[{match:`(?x)
\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|
decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|
require|set(Interval|Timeout)|clear(Interval|Timeout))\\b`,name:"support.function.js"},{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.js"},{match:"\\d[\\w$]*",name:"invalid.illegal.identifier.js"}]}},end:"(?<=\\))",name:"meta.function-call.js",patterns:[{include:"#arguments"}]}]},function_innards:{patterns:[{captures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.function.js"},3:{name:"storage.modifier.generator.js"}},match:"(?:\\b(async)\\b\\s*)?\\b(function)\\b(?:\\s*(\\*))?"},{match:"[a-zA-Z_$][\\w$]*(?=\\s*\\()",name:"entity.name.function.js"},{include:"#function_params"},{include:"#comments"}]},function_params:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.js"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.js"}},name:"meta.parameters.js",patterns:[{captures:{1:{name:"keyword.operator.spread.js"},2:{name:"variable.parameter.rest.function.js"}},match:"(\\.\\.\\.)([a-zA-Z_$][\\w$]*)"},{include:"$self"},{match:"[a-zA-Z_$][\\w$]*",name:"variable.parameter.function.js"}]}]},interpolated_js:{patterns:[{begin:"\\${",captures:{0:{name:"punctuation.section.embedded.js"}},end:"}",name:"source.js.embedded.source",patterns:[{begin:"{",beginCaptures:{0:{name:"meta.brace.curly.js"}},end:"}",endCaptures:{0:{name:"meta.brace.curly.js"}},patterns:[{include:"$self"}]},{include:"$self"}]}]},method_calls:{patterns:[{begin:"(\\.)\\s*([\\w$]+)\\s*(?=\\()",beginCaptures:{1:{name:"meta.delimiter.method.period.js"},2:{patterns:[{match:`(?x)
\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|
Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|
Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|
Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|
Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|
Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|
Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|
Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b`,name:"support.function.event-handler.js"},{match:`(?x)
\\b(catch|finally|then|shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|
scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|
sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|
Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|
Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|
savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|
contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|
createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|
test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|
untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|stringify|
print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|
fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|
forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|
abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|
releaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|
Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|
Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|
moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\b`,name:"support.function.js"},{match:`(?x)
\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|
appendChild|appendData|before|blur|canPlayType|captureStream|
caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|
cloneContents|cloneNode|cloneRange|close|closest|collapse|
compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|
convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|
createAttributeNS|createCaption|createCDATASection|createComment|
createContextualFragment|createDocument|createDocumentFragment|
createDocumentType|createElement|createElementNS|createEntityReference|
createEvent|createExpression|createHTMLDocument|createNodeIterator|
createNSResolver|createProcessingInstruction|createRange|createShadowRoot|
createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|
deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|
deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|
enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|
exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|
getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|
getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|
getClientRects|getContext|getDestinationInsertionPoints|getElementById|
getElementsByClassName|getElementsByName|getElementsByTagName|
getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|
getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|
hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|
insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|
insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|
isPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|
lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|
moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|
parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|
previousSibling|probablySupportsContext|queryCommandEnabled|
queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|
querySelector|querySelectorAll|registerContentHandler|registerElement|
registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|
removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|
removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|
requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|
scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|
setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|
setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|
setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|
slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|
submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|
toDataURL|toggle|toString|values|write|writeln)\\b`,name:"support.function.dom.js"},{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.js"},{match:"\\d[\\w$]*",name:"invalid.illegal.identifier.js"}]}},end:"(?<=\\))",name:"meta.method-call.js",patterns:[{include:"#arguments"}]}]},numbers:{patterns:[{captures:{0:{patterns:[{include:"#numeric_separators"}]}},match:"\\b(?<!\\$)0(x|X)[0-9a-fA-F]+(?:_[0-9a-fA-F]+)*n?\\b(?!\\$)",name:"constant.numeric.hex.js"},{captures:{0:{patterns:[{include:"#numeric_separators"}]}},match:"\\b(?<!\\$)0(b|B)[01]+(?:_[01]+)*n?\\b(?!\\$)",name:"constant.numeric.binary.js"},{captures:{0:{patterns:[{include:"#numeric_separators"}]}},match:"\\b(?<!\\$)0(o|O)?[0-7]+(?:_[0-7]+)*n?\\b(?!\\$)",name:"constant.numeric.octal.js"},{captures:{0:{patterns:[{include:"#numeric_separators"}]}},match:`(?x)
(?<!\\$)(?:
(?:\\b[0-9]+(?:_[0-9]+)*\\.[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*\\b)| # 1.1E+3
(?:\\b[0-9]+(?:_[0-9]+)*\\.[eE][+-]?[0-9]+(?:_[0-9]+)*\\b)| # 1.E+3
(?:\\B\\.[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*\\b)| # .1E+3
(?:\\b[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*\\b)| # 1E+3
(?:\\b[0-9]+(?:_[0-9]+)*\\.[0-9]+(?:_[0-9]+)*\\b)| # 1.1
(?:\\b[0-9]+(?:_[0-9]+)*\\.\\B)| # 1.
(?:\\B\\.[0-9]+(?:_[0-9]+)*\\b)| # .1
(?:\\b[0-9]+(?:_[0-9]+)*n?\\b(?!\\.)) # 1n
)(?!\\$)`,name:"constant.numeric.decimal.js"}]},numeric_separators:{patterns:[{captures:{1:{name:"meta.delimiter.numeric.separator.js"},2:{name:"meta.delimiter.decimal.period.js"}},match:"(_)|(\\.)"}]},objects:{patterns:[{match:"[A-Z][A-Z0-9_$]*(?=\\s*\\.\\s*[a-zA-Z_$]\\w*)",name:"constant.other.object.js"},{match:"[a-zA-Z_$][\\w$]*(?=\\s*\\.\\s*[a-zA-Z_$]\\w*)",name:"variable.other.object.js"}]},operators:{patterns:[{match:"%=|\\+=|-=|\\*=|(?<!\\()/=",name:"keyword.operator.assignment.compound.js"},{match:"&=|\\^=|<<=|>>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.js"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.js"},{match:"!==|!=|<=|>=|===|==|<|>",name:"keyword.operator.comparison.js"},{match:"&&|!!|!|\\|\\|",name:"keyword.operator.logical.js"},{match:"&|\\||\\^|~",name:"keyword.operator.bitwise.js"},{match:"=|:",name:"keyword.operator.assignment.js"},{match:"--",name:"keyword.operator.decrement.js"},{match:"\\+\\+",name:"keyword.operator.increment.js"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.js"}]},prevent_object_keys_matching:{patterns:[{captures:{1:{patterns:[{include:"$self"}]}},match:"(\\w+)(?=\\s*:)"}]},properties:{patterns:[{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"constant.other.object.property.js"}},match:"(\\.)\\s*([A-Z][A-Z0-9_$]*\\b\\$*)(?=\\s*\\.\\s*[a-zA-Z_$]\\w*)"},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"variable.other.object.property.js"}},match:"(\\.)\\s*(\\$*[a-zA-Z_$][\\w$]*)(?=\\s*\\.\\s*[a-zA-Z_$]\\w*)"},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"constant.other.property.js"}},match:"(\\.)\\s*([A-Z][A-Z0-9_$]*\\b\\$*)"},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"variable.other.property.js"}},match:"(\\.)\\s*(\\$*[a-zA-Z_$][\\w$]*)"},{captures:{1:{name:"meta.delimiter.property.period.js"},2:{name:"invalid.illegal.identifier.js"}},match:"(\\.)\\s*([0-9][\\w$]*)"}]},string_escapes:{patterns:[{match:`\\\\u(?![A-Fa-f0-9]{4}|{[A-Fa-f0-9]+})[^'"]*`,name:"invalid.illegal.unicode-escape.js"},{captures:{1:{name:"punctuation.definition.unicode-escape.begin.bracket.curly.js"},2:{patterns:[{match:"[A-Fa-f\\d]{7,}|(?!10)[A-Fa-f\\d]{6}",name:"invalid.illegal.unicode-escape.js"}]},3:{name:"punctuation.definition.unicode-escape.end.bracket.curly.js"}},match:"\\\\u(?:[A-Fa-f0-9]{4}|({)([A-Fa-f0-9]+)(}))",name:"constant.character.escape.js"},{match:"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",name:"constant.character.escape.js"}]},strings:{patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.single.js",patterns:[{include:"#string_escapes"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.double.js",patterns:[{include:"#string_escapes"}]},{begin:"((\\w+)?(html|HTML|Html))\\s*(`)",beginCaptures:{1:{name:"entity.name.function.js"},4:{name:"punctuation.definition.string.begin.js"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.template.html.js",patterns:[{include:"#string_escapes"},{include:"#interpolated_js"},{include:"text.html.basic"}]},{begin:"(?<=innerHTML)\\s*(\\+?=)\\s*(?=`)",beginCaptures:{1:{name:"keyword.operator.assignment.js"}},contentName:"string.quoted.template.html.js",end:"(?<=`)",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},patterns:[{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},patterns:[{include:"#string_escapes"},{include:"#interpolated_js"},{include:"text.html.basic"}]}]},{begin:"(Relay\\.QL|gql)\\s*(`)",beginCaptures:{1:{name:"entity.name.function.js"},2:{name:"punctuation.definition.string.begin.js"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.template.graphql.js",patterns:[{include:"#string_escapes"},{include:"#interpolated_js"},{include:"source.graphql"}]},{begin:"(sql|SQL|Sql)\\s*(`)",beginCaptures:{1:{name:"entity.name.function.js"},2:{name:"punctuation.definition.string.begin.js"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.template.sql.js",patterns:[{include:"#string_escapes"},{include:"#interpolated_js"},{include:"source.sql"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.template.js",patterns:[{include:"#string_escapes"},{include:"#interpolated_js"}]}]},switch_statement:{patterns:[{begin:"\\bswitch\\b",beginCaptures:{0:{name:"keyword.control.switch.js"}},end:"}",endCaptures:{0:{name:"punctuation.definition.section.switch-block.end.bracket.curly.js"}},name:"meta.switch-statement.js",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.switch-expression.begin.bracket.round.js"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.switch-expression.end.bracket.round.js"}},patterns:[{include:"$self"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.section.switch-block.begin.bracket.curly.js"}},end:"(?=})",patterns:[{begin:"\\bcase\\b",beginCaptures:{0:{name:"keyword.control.case.js"}},end:":",endCaptures:{0:{name:"punctuation.definition.section.case-statement.js"}},patterns:[{include:"#prevent_object_keys_matching"},{include:"$self"}]},{captures:{1:{name:"keyword.control.default.js"},2:{name:"punctuation.definition.section.case-statement.js"}},match:"(?:^\\s*)?\\b(default)\\b\\s*(:)"},{include:"$self"}]}]}]}},scopeName:"source.js"},Wn=xa;var Ca={extensions:[".4dform",".4dproject",".avsc",".epj",".geojson",".gltf",".har",".ice",".ipynb",".json",".json",".json",".json-tmlanguage",".json.example",".jsonl",".maxhelp",".maxpat",".maxproj",".mcmeta",".mxt",".pat",".sarif",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],extensionsWithDot:[".tact"],names:["ecere-projects","geojson","ipython-notebook","json","jsonl","jupyter-notebook","max","max/msp","maxmsp","oasv2-json","oasv3-json","sarif","topojson"],patterns:[{include:"#main"}],repository:{array:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.block.array.begin.json"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.block.array.end.json"}},name:"meta.block.array.json",patterns:[{include:"#main"}]},boolean:{match:"(?<=^|[,:\\s\\[])(true|false)(?=$|[,\\s}\\]])",name:"constant.language.boolean.$1.json"},delimiters:{patterns:[{match:'(?<=")\\s*:',name:"punctuation.separator.key-value.colon.json"},{match:",(?!\\s*[}\\]])",name:"punctuation.separator.comma.json"}]},escapes:{patterns:[{captures:{1:{name:"punctuation.definition.escape.backslash.json"}},match:'(\\\\)["\\\\/bfnrt]',name:"constant.character.escape.json"},{captures:{1:{name:"punctuation.definition.escape.backslash.json"}},match:"(\\\\)u[0-9A-Fa-f]{4}",name:"constant.character.escape.unicode.json"},{match:"\\\\.",name:"invalid.illegal.unrecognised-escape.json"}]},invalid:{match:"\\S[^}\\]]*",name:"invalid.illegal.unexpected-character.json"},key:{captures:{1:{name:"punctuation.definition.key.start.json"},2:{patterns:[{include:"#escapes"}]},3:{name:"punctuation.definition.key.end.json"}},match:'(")((?:[^\\\\"]|\\\\.)*+)(")(?=\\s*:)',name:"entity.name.tag.key.json"},main:{patterns:[{include:"#object"},{include:"#key"},{include:"#array"},{include:"#string"},{include:"#number"},{include:"#boolean"},{include:"#null"},{include:"#delimiters"},{include:"#invalid"}]},null:{match:"(?<=^|[,:\\s\\[])null(?=$|[,\\s}\\]])",name:"constant.language.null.json"},number:{patterns:[{match:"-?0\\d+(?:\\.\\d+)?(?:[eE][-+]?[0-9]+)?",name:"invalid.illegal.leading-zero.json"},{match:"-?\\d+(?:\\.\\d+)?(?:[eE][-+]?[0-9]+)?",name:"constant.numeric.json"}]},object:{begin:"{",beginCaptures:{0:{name:"punctuation.definition.block.object.begin.json"}},end:"}",endCaptures:{0:{name:"punctuation.definition.block.object.end.json"}},name:"meta.block.object.json",patterns:[{include:"#main"}]},string:{captures:{1:{name:"punctuation.definition.string.begin.json"},2:{patterns:[{include:"#escapes"}]},3:{name:"punctuation.definition.string.end.json"}},match:'(")((?:[^\\\\"]|\\\\.)*+)(")(?!\\s*:)',name:"string.quoted.double.json"}},scopeName:"source.json"},Zn=Ca;var va={extensions:[".gradle.kts",".kt",".ktm",".kts"],names:["gradle-kotlin-dsl","kotlin"],patterns:[{include:"#comments"},{include:"#package"},{include:"#imports"},{include:"#code"}],repository:{annotations:{patterns:[{match:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:\\s*?[a-zA-Z_]\\w*",name:"meta.annotation.kotlin"},{begin:"@[a-zA-Z_]\\w*\\s*(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.kotlin"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.kotlin"}},name:"meta.annotation.kotlin",patterns:[{include:"#code"},{match:",",name:"punctuation.seperator.property.kotlin"}]},{match:"@[a-zA-Z_]\\w*",name:"meta.annotation.kotlin"}]},braces:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},name:"meta.block.kotlin",patterns:[{include:"#code"}]}]},brackets:{patterns:[{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.brackets.begin.kotlin"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.brackets.end.kotlin"}},name:"meta.brackets.kotlin",patterns:[{include:"#code"}]}]},"builtin-functions":{patterns:[{captures:{1:{name:"support.function.kotlin"}},match:"\\b(apply|also|let|run|takeIf|takeWhile|takeUnless|with|print|println)\\b\\s*(?={|\\()"},{captures:{1:{name:"support.function.kotlin"}},match:"\\b(arrayListOf|mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\\b\\s*(?={|\\()"}]},"class-ident":{patterns:[{match:"\\b[A-Z_]\\w*\\b",name:"entity.name.type.class.kotlin"}]},"class-literal":{patterns:[{begin:"(?=\\b(?:(?:(?:data|value)\\s+)?class|(?:data\\s+)?object|(?:(?:fun|value)\\s+)?interface)\\s+\\w+)\\b",end:"(?=\\}|$)",name:"meta.class.kotlin",patterns:[{include:"#keywords"},{begin:"\\b((?:(?:data|value)\\s+)?class|(?:data\\s+)?object|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)",beginCaptures:{1:{name:"storage.modifier.kotlin"},2:{name:"entity.name.class.kotlin"}},end:"(?=\\(|\\{|$)",patterns:[{include:"#comments"},{include:"#annotations"},{include:"#types"}]},{begin:"(\\()",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"},1:{name:"punctuation.definition.parameters.begin.kotlin"}},end:"(\\))",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"},1:{name:"punctuation.definition.parameters.end.kotlin"}},name:"meta.parameters.kotlin",patterns:[{include:"#class-parameter-list"},{include:"#comments"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},name:"meta.block.kotlin",patterns:[{include:"#code"}]}]}],repository:{"class-parameter-list":{patterns:[{include:"#generic"},{include:"#annotations"},{include:"#keywords"},{captures:{1:{name:"variable.parameter.function.kotlin"},2:{name:"keyword.operator.declaration.kotlin"}},match:"(\\w+)\\s*(:)"},{match:",",name:"punctuation.seperator.kotlin"},{include:"#types"},{include:"#literals"}]}}},code:{patterns:[{include:"#comments"},{include:"#annotations"},{include:"#parens"},{include:"#braces"},{include:"#brackets"},{include:"#class-literal"},{include:"#literal-functions"},{include:"#literals"},{include:"#keywords"},{include:"#types"},{include:"#operators"},{include:"#constants"},{include:"#punctuations"},{include:"#builtin-functions"}]},comments:{patterns:[{include:"#inline"},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.kotlin"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.kotlin"}},name:"comment.block.kotlin",patterns:[{include:"#nested"}]}],repository:{inline:{patterns:[{captures:{0:{name:"punctuation.definition.comment.kotlin"},1:{name:"comment.line.double-slash.kotlin"}},match:"(//).*$\\n?"}]},nested:{patterns:[{begin:"/\\*",end:"\\*/",patterns:[{include:"#nested"}]}]}}},constants:{patterns:[{match:"\\b(class)\\b",name:"constant.language.kotlin"},{match:"\\b(this|super)\\b",name:"variable.language.kotlin"}]},generic:{patterns:[{begin:"(?=\\<(?:[A-Z_]|\\*|in|out))",end:"(?<=\\>)(?!\\>)",patterns:[{match:"<",name:"punctuation.bracket.angle.begin.kotlin"},{match:">",name:"punctuation.bracket.angle.end.kotlin"},{match:"\\*",name:"entity.name.type.generic.wildcard.kotlin"},{include:"#generic-parameter-list"},{match:",",name:"punctuation.seperator.kotlin"}]}],repository:{"generic-parameter-list":{patterns:[{include:"#annotations"},{match:"\\b(in|out)\\b",name:"storage.modifier.generic.variance.kotlin"},{include:"#built-in-types"},{include:"#class-ident"},{include:"#generic"},{include:"#operators"}]}}},imports:{patterns:[{captures:{1:{name:"keyword.other.import.kotlin"},2:{name:"storage.modifier.import.kotlin"},3:{name:"keyword.other.kotlin"},4:{name:"entity.name.type"}},match:"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?",name:"meta.import.kotlin"}]},keywords:{patterns:[{match:"(\\!in|\\!is|as\\?)\\b",name:"keyword.operator.kotlin"},{match:"\\b(in|is|as|assert)\\b",name:"keyword.operator.kotlin"},{match:"\\b(val|var)\\b",name:"storage.type.kotlin"},{match:"\\b(\\_)\\b",name:"punctuation.definition.variable.kotlin"},{match:"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b",name:"storage.type.kotlin"},{match:"\\b(out|in|yield|typealias|override)\\b",name:"storage.modifier.kotlin"},{match:"\\b(?<![+-/%*=(,]\\s)(inline|inner|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b",name:"storage.modifier.kotlin"},{match:"\\b(vararg(?=\\s+\\w+:))\\b",name:"storage.modifier.kotlin"},{match:"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b",name:"storage.modifier.kotlin"},{match:"\\b(try|catch|finally|throw)\\b",name:"keyword.control.catch-exception.kotlin"},{match:"\\b(if|else|when)\\b",name:"keyword.control.conditional.kotlin"},{match:"\\b(while|for|do|return|break|continue)\\b",name:"keyword.control.kotlin"},{match:"\\b(constructor|init)\\b",name:"entity.name.function.constructor"},{match:"\\b(companion|object)\\b",name:"storage.type.kotlin"}]},"literal-functions":{patterns:[{begin:"(?=\\b(?:fun)\\b)",end:"(?<=$|=|\\})",name:"meta.function.kotlin",patterns:[{include:"#keywords"},{begin:"\\bfun\\b",beginCaptures:{0:{name:"keyword.other.kotlin"}},end:"(?=\\()",patterns:[{include:"#generic"},{captures:{0:{name:"entity.name.function.kotlin"},1:{name:"string.quoted.backtick.kotlin"}},match:"(`[^`]*`)"},{captures:{2:{name:"entity.name.function.kotlin"}},match:"([\\.<\\?>\\w]+\\.)?(\\w+)"},{include:"#types"}]},{begin:"(\\()",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"},1:{name:"punctuation.definition.parameters.begin.kotlin"}},end:"(\\))",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"},1:{name:"punctuation.definition.parameters.end.kotlin"}},name:"meta.parameters.kotlin",patterns:[{include:"#function-parameter-list"}]},{match:"=",name:"keyword.operator.single-expression.kotlin"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},name:"meta.block.kotlin",patterns:[{include:"#code"}]},{include:"#return-type"}]}],repository:{"function-parameter-list":{patterns:[{include:"#comments"},{include:"#annotations"},{include:"#keywords"},{captures:{1:{name:"variable.parameter.function.kotlin"},2:{name:"keyword.operator.declaration.kotlin"}},match:"(\\w+)\\s*(:)"},{match:",",name:"punctuation.seperator.kotlin"},{include:"#types"}]},"return-type":{patterns:[{begin:"(?<=\\))\\s*(:)(?=\\s*\\S)",end:"(?<![:|&])(?=$|^|[={};,]|//)",name:"meta.return.type.kotlin",patterns:[{include:"#types"}]}]}}},literals:{patterns:[{include:"#boolean"},{include:"#numeric"},{include:"#string"},{include:"#null"}],repository:{boolean:{patterns:[{match:"\\b(true|false)\\b",name:"constant.language.boolean.kotlin"}]},null:{patterns:[{match:"\\b(null)\\b",name:"constant.language.null.kotlin"}]},numeric:{patterns:[{match:"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b",name:"constant.numeric.hex.kotlin"},{match:"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b",name:"constant.numeric.binary.kotlin"},{match:"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b",name:"constant.numeric.float.kotlin"},{match:"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b",name:"constant.numeric.integer.kotlin"}]},string:{patterns:[{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.kotlin"}},end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.kotlin"}},name:"string.quoted.triple.kotlin",patterns:[{include:"#raw-string-content"}]},{begin:`(?!')"`,beginCaptures:{0:{name:"punctuation.definition.string.begin.kotlin"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.kotlin"}},name:"string.quoted.double.kotlin",patterns:[{include:"#string-content"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.kotlin"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.kotlin"}},name:"string.quoted.single.kotlin",patterns:[{include:"#string-content"}]}],repository:{"raw-string-content":{patterns:[{begin:"\\$(\\{)",beginCaptures:{1:{name:"punctuation.section.block.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.kotlin"}},name:"entity.string.template.element.kotlin",patterns:[{include:"#code"}]},{match:"\\$[a-zA-Z_]\\w*",name:"entity.string.template.element.kotlin"}]},"string-content":{patterns:[{match:`\\\\[0\\\\tnr"']`,name:"constant.character.escape.kotlin"},{match:"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)",name:"constant.character.escape.unicode.kotlin"},{begin:"\\$(\\{)",beginCaptures:{1:{name:"punctuation.section.block.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.kotlin"}},name:"entity.string.template.element.kotlin",patterns:[{include:"#code"}]},{match:"\\$[a-zA-Z_]\\w*",name:"entity.string.template.element.kotlin"}]}}}}},"object-literal":{patterns:[{begin:"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)",end:"(?=\\}|$)",name:"meta.class.kotlin",patterns:[{include:"#annotation"},{begin:"\\b(object)\\b\\s*(:)\\s*(\\w+)",beginCaptures:{1:{name:"storage.modifier.kotlin"},2:{name:"keyword.operator.declaration.kotlin"},3:{name:"entity.name.class.kotlin"}},end:"(?=\\(|\\{|$)",patterns:[{include:"#comments"},{include:"#annotations"},{include:"#types"}]},{begin:"(\\()",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"},1:{name:"punctuation.definition.parameters.begin.kotlin"}},end:"(\\))",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"},1:{name:"punctuation.definition.parameters.end.kotlin"}},name:"meta.parameters.kotlin",patterns:[{include:"#comments"},{include:"#class-parameter-list"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},name:"meta.block.kotlin",patterns:[{include:"#code"}]}]}],repository:{"class-parameter-list":{patterns:[{include:"#annotations"},{include:"#keywords"},{captures:{1:{name:"variable.parameter.function.kotlin"},2:{name:"keyword.operator.declaration.kotlin"}},match:"(\\w+)\\s*(:)"},{match:",",name:"punctuation.seperator.kotlin"},{include:"#types"}]}}},operators:{patterns:[{match:"\\b(and|or|not|inv)\\b",name:"keyword.operator.bitwise.kotlin"},{match:"(==|!=|===|!==|<=|>=|<|>)",name:"keyword.operator.comparison.kotlin"},{match:"(=)",name:"keyword.operator.assignment.kotlin"},{match:"(:(?!:))",name:"keyword.operator.declaration.kotlin"},{match:"(\\?:)",name:"keyword.operator.elvis.kotlin"},{match:"(\\-\\-|\\+\\+)",name:"keyword.operator.increment-decrement.kotlin"},{match:"(\\-|\\+|\\*|\\/|%)",name:"keyword.operator.arithmetic.kotlin"},{match:"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)",name:"keyword.operator.arithmetic.assign.kotlin"},{match:"(\\!|\\&\\&|\\|\\|)",name:"keyword.operator.logical.kotlin"},{match:"(\\.\\.)",name:"keyword.operator.range.kotlin"}]},package:{patterns:[{captures:{1:{name:"keyword.other.kotlin"},2:{name:"entity.name.package.kotlin"}},match:"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?"}]},parens:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},name:"meta.group.kotlin",patterns:[{include:"#code"}]}]},punctuations:{patterns:[{match:"::",name:"punctuation.accessor.reference.kotlin"},{match:"\\?\\.",name:"punctuation.accessor.dot.safe.kotlin"},{match:"(?<!\\?)\\.",name:"punctuation.accessor.dot.kotlin"},{match:"\\,",name:"punctuation.seperator.kotlin"},{match:"\\;",name:"punctuation.terminator.kotlin"}]},types:{patterns:[{include:"#built-in-types"},{include:"#class-ident"},{include:"#generic"},{captures:{1:{name:"keyword.operator.type.function.kotlin"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])"},{match:"\\?(?!\\.)",name:"keyword.operator.type.nullable.kotlin"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.group.begin.kotlin"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.group.end.kotlin"}},patterns:[{include:"#types"}]}],repository:{"built-in-types":{patterns:[{match:"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?",name:"support.class.kotlin"},{match:"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?",name:"support.class.kotlin"}]}}}},scopeName:"source.kotlin"},Xn=va;var Sa={extensions:[".lua",".fcgi",".nse",".p8",".pd_lua",".rbxs",".rockspec",".wlua"],names:["lua"],patterns:[{begin:"\\b(?:(local)\\s+)?(function)\\b(?![,:])",beginCaptures:{1:{name:"keyword.local.lua"},2:{name:"keyword.control.lua"}},end:`(?<=[\\)\\-{}\\[\\]"'])`,name:"meta.function.lua",patterns:[{include:"#comment"},{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.lua"}},end:`(\\))|(?=[\\-{}\\[\\]"'])|(?<!\\.)\\.(?!\\.)`,endCaptures:{1:{name:"punctuation.definition.parameters.finish.lua"}},name:"meta.parameter.lua",patterns:[{include:"#comment"},{captures:{1:{name:"constant.language.lua"},2:{name:"variable.parameter.function.lua"}},match:"(\\.{3})\\s*([a-zA-Z_][a-zA-Z0-9_]*)"},{match:"[a-zA-Z_][a-zA-Z0-9_]*",name:"variable.parameter.function.lua"},{match:",",name:"punctuation.separator.arguments.lua"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.arguments.lua"}},end:"(?=[\\),])",patterns:[{include:"#emmydoc.type"}]}]},{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b\\s*(?=:)",name:"entity.name.class.lua"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",name:"entity.name.function.lua"}]},{match:"(?<![\\w\\d.])0[xX][0-9A-Fa-f]+(\\.[0-9A-Fa-f]*)?([eE]-?\\d*)?([pP][-+]\\d+)?",name:"constant.numeric.float.hexadecimal.lua"},{match:"(?<![\\w\\d.])0[xX]\\.[0-9A-Fa-f]+([eE]-?\\d*)?([pP][-+]\\d+)?",name:"constant.numeric.float.hexadecimal.lua"},{match:"(?<![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])",name:"constant.numeric.integer.hexadecimal.lua"},{match:"(?<![\\w\\d.])\\d+(\\.\\d*)?([eE]-?\\d*)?",name:"constant.numeric.float.lua"},{match:"(?<![\\w\\d.])\\.\\d+([eE]-?\\d*)?",name:"constant.numeric.float.lua"},{match:"(?<![\\w\\d.])\\d+(?![pPeE.0-9])",name:"constant.numeric.integer.lua"},{include:"#string"},{captures:{1:{name:"punctuation.definition.comment.lua"}},match:"\\A(#!).*$\\n?",name:"comment.line.shebang.lua"},{include:"#comment"},{captures:{1:{name:"keyword.control.goto.lua"},2:{name:"string.tag.lua"}},match:"\\b(goto)\\s+([a-zA-Z_][a-zA-Z0-9_]*)"},{captures:{1:{name:"punctuation.section.embedded.begin.lua"},2:{name:"punctuation.section.embedded.end.lua"}},match:"(::)\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*(::)",name:"string.tag.lua"},{captures:{0:{name:"storage.type.attribute.lua"}},match:"<\\s*(const|close)\\s*>"},{match:"\\<[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\>",name:"storage.type.generic.lua"},{match:"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\b",name:"keyword.control.lua"},{match:"\\b(local)\\b",name:"keyword.local.lua"},{captures:{1:{name:"keyword.global.lua"}},match:"^\\s*(global)\\b(?!\\s*=)"},{match:"\\b(function)\\b(?![,:])",name:"keyword.control.lua"},{match:"(?<![^.]\\.|:)\\b(false|nil(?!:)|true|_ENV|_G|_VERSION|math\\.(pi|huge|maxinteger|mininteger)|utf8\\.charpattern|io\\.(stdin|stdout|stderr)|package\\.(config|cpath|loaded|loaders|path|preload|searchers))\\b|(?<![.])\\.{3}(?!\\.)",name:"constant.language.lua"},{match:"(?<![^.]\\.|:)\\b(self)\\b",name:"variable.language.self.lua"},{match:"(?<![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?!\\s*=(?!=))",name:"support.function.lua"},{match:"(?<![^.]\\.|:)\\b(async)\\b(?!\\s*=(?!=))",name:"entity.name.tag.lua"},{match:"(?<![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|create|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))",name:"support.function.library.lua"},{match:"\\b(\\|\\||\\&\\&|\\!)\\b",name:"keyword.operator.lua"},{match:"\\b(and|or|not)\\b",name:"keyword.operator.logical.lua"},{match:`\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({"']|\\[\\[))`,name:"support.function.any-method.lua"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*\\??:)",name:"entity.name.class.lua"},{match:"(?<=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)",name:"entity.other.attribute.lua"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)",name:"variable.other.lua"},{match:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*=\\s*\\b(function)\\b)",name:"entity.name.function.lua"},{match:"\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|<=?|>=?|(?<!\\.)\\.{2}(?!\\.)",name:"keyword.operator.lua"}],repository:{comment:{patterns:[{begin:"(^[ \\t]+)?(?=--)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.lua"}},end:"(?!\\G)((?!^)[ \\t]+\\n)?",endCaptures:{1:{name:"punctuation.whitespace.comment.trailing.lua"}},patterns:[{begin:"--\\[(=*)\\[@@@",beginCaptures:{0:{name:"punctuation.definition.comment.begin.lua"}},end:"(--)?\\]\\1\\]",endCaptures:{0:{name:"punctuation.definition.comment.end.lua"}},patterns:[{include:"source.lua"}]},{begin:"--\\[(=*)\\[",beginCaptures:{0:{name:"punctuation.definition.comment.begin.lua"}},end:"(--)?\\]\\1\\]",endCaptures:{0:{name:"punctuation.definition.comment.end.lua"}},name:"comment.block.lua",patterns:[{include:"#emmydoc"},{include:"#ldoc_tag"}]},{begin:"----",beginCaptures:{0:{name:"punctuation.definition.comment.lua"}},end:"\\n",name:"comment.line.double-dash.lua"},{begin:"---",beginCaptures:{0:{name:"punctuation.definition.comment.lua"}},end:"\\n",name:"comment.line.double-dash.documentation.lua",patterns:[{include:"#emmydoc"},{include:"#ldoc_tag"}]},{begin:"--",beginCaptures:{0:{name:"punctuation.definition.comment.lua"}},end:"\\n",name:"comment.line.double-dash.lua",patterns:[{include:"#ldoc_tag"}]}]},{begin:"\\/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.lua"}},end:"\\*\\/",endCaptures:{0:{name:"punctuation.definition.comment.end.lua"}},name:"comment.block.lua",patterns:[{include:"#emmydoc"},{include:"#ldoc_tag"}]}]},emmydoc:{patterns:[{begin:"(?<=---)[ \\t]*@class",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{match:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)",name:"support.class.lua"},{match:":|,",name:"keyword.operator.lua"}]},{begin:"(?<=---)[ \\t]*@enum",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)",beginCaptures:{0:{name:"variable.lua"}},end:"(?=\\n)"}]},{begin:"(?<=---)[ \\t]*@type",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#emmydoc.type"}]},{begin:"(?<=---)[ \\t]*@alias",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)",beginCaptures:{0:{name:"variable.lua"}},end:"(?=[\\n#])",patterns:[{include:"#emmydoc.type"}]}]},{begin:"(?<=---)[ \\t]*(@operator)\\s*(\\b[a-z]+)?",beginCaptures:{1:{name:"storage.type.annotation.lua"},2:{name:"support.function.library.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#emmydoc.type"}]},{begin:"(?<=---)[ \\t]*@cast",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)",beginCaptures:{0:{name:"variable.other.lua"}},end:"(?=\\n)",patterns:[{include:"#emmydoc.type"},{match:"([+-|])",name:"keyword.operator.lua"}]}]},{begin:"(?<=---)[ \\t]*@param",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(\\??)",beginCaptures:{1:{name:"entity.name.variable.lua"},2:{name:"keyword.operator.lua"}},end:"(?=[\\n#])",patterns:[{include:"#emmydoc.type"}]}]},{begin:"(?<=---)[ \\t]*@return",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{match:"\\?",name:"keyword.operator.lua"},{include:"#emmydoc.type"}]},{begin:"(?<=---)[ \\t]*@field",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"(\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b|(\\[))(\\??)",beginCaptures:{2:{name:"entity.name.variable.lua"},3:{name:"keyword.operator.lua"}},end:"(?=[\\n#])",patterns:[{include:"#string"},{include:"#emmydoc.type"},{match:"\\]",name:"keyword.operator.lua"}]}]},{begin:"(?<=---)[ \\t]*@generic",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",beginCaptures:{0:{name:"storage.type.generic.lua"}},end:"(?=\\n)|(,)",endCaptures:{0:{name:"keyword.operator.lua"}},patterns:[{match:":",name:"keyword.operator.lua"},{include:"#emmydoc.type"}]}]},{begin:"(?<=---)[ \\t]*@vararg",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#emmydoc.type"}]},{begin:"(?<=---)[ \\t]*@overload",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#emmydoc.type"}]},{begin:"(?<=---)[ \\t]*@deprecated",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])"},{begin:"(?<=---)[ \\t]*@meta",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])"},{begin:"(?<=---)[ \\t]*@private",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])"},{begin:"(?<=---)[ \\t]*@protected",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])"},{begin:"(?<=---)[ \\t]*@package",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])"},{begin:"(?<=---)[ \\t]*@version",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{match:"\\b(5\\.1|5\\.2|5\\.3|5\\.4|JIT)\\b",name:"support.class.lua"},{match:",|\\>|\\<",name:"keyword.operator.lua"}]},{begin:"(?<=---)[ \\t]*@see",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{match:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)",name:"support.class.lua"},{match:"#",name:"keyword.operator.lua"}]},{begin:"(?<=---)[ \\t]*@diagnostic",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{begin:"([a-zA-Z_\\-0-9]+)[ \\t]*(:)?",beginCaptures:{1:{name:"keyword.other.unit"},2:{name:"keyword.operator.unit"}},end:"(?=\\n)",patterns:[{match:"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\-]*)",name:"support.class.lua"},{match:",",name:"keyword.operator.lua"}]}]},{begin:"(?<=---)[ \\t]*@module",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#string"}]},{match:"(?<=---)[ \\t]*@(async|nodiscard)",name:"storage.type.annotation.lua"},{begin:"(?<=---)\\|\\s*[\\>\\+]?",beginCaptures:{0:{name:"storage.type.annotation.lua"}},end:"(?=[\\n@#])",patterns:[{include:"#string"}]}]},"emmydoc.type":{patterns:[{begin:"\\bfun\\b",beginCaptures:{0:{name:"keyword.control.lua"}},end:"(?=[\\s#])",patterns:[{match:"[\\(\\),\\:\\?\\[\\]\\<\\>][ \\t]*",name:"keyword.operator.lua"},{match:"([a-zA-Z_][a-zA-Z0-9_\\.\\*\\-]*)(?<!,)[ \\t]*(?=\\??:)",name:"entity.name.variable.lua"},{include:"#emmydoc.type"},{include:"#string"}]},{match:"\\<[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\>",name:"storage.type.generic.lua"},{match:"\\basync\\b",name:"entity.name.tag.lua"},{match:"[\\{\\}\\:\\,\\?\\|\\`][ \\t]*",name:"keyword.operator.lua"},{begin:`(?=[a-zA-Z_\\.\\*"'\\[])`,end:"(?=[\\s\\)\\,\\?\\:\\}\\|#])",patterns:[{match:"([a-zA-Z0-9_\\.\\*\\[\\]\\<\\>\\,\\-]+)(?<!,)[ \\t]*",name:"support.type.lua"},{match:"(\\.\\.\\.)[ \\t]*",name:"constant.language.lua"},{include:"#string"}]}]},escaped_char:{patterns:[{match:`\\\\[abfnrtv\\\\"'\\n]`,name:"constant.character.escape.lua"},{match:"\\\\z[\\n\\t ]*",name:"constant.character.escape.lua"},{match:"\\\\\\d{1,3}",name:"constant.character.escape.byte.lua"},{match:"\\\\x[0-9A-Fa-f][0-9A-Fa-f]",name:"constant.character.escape.byte.lua"},{match:"\\\\u\\{[0-9A-Fa-f]+\\}",name:"constant.character.escape.unicode.lua"},{match:"\\\\.",name:"invalid.illegal.character.escape.lua"}]},ldoc_tag:{captures:{1:{name:"punctuation.definition.block.tag.ldoc"},2:{name:"storage.type.class.ldoc"}},match:"\\G[ \\t]*(@)(alias|annotation|author|charset|class|classmod|comment|constructor|copyright|description|example|export|factory|field|file|fixme|function|include|lfunction|license|local|module|name|param|pragma|private|raise|release|return|script|section|see|set|static|submodule|summary|tfield|thread|tparam|treturn|todo|topic|type|usage|warning|within)\\b"},string:{patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.lua"}},end:"'[ \\t]*|(?=\\n)",endCaptures:{0:{name:"punctuation.definition.string.end.lua"}},name:"string.quoted.single.lua",patterns:[{include:"#escaped_char"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.lua"}},end:'"[ \\t]*|(?=\\n)',endCaptures:{0:{name:"punctuation.definition.string.end.lua"}},name:"string.quoted.double.lua",patterns:[{include:"#escaped_char"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.lua"}},end:"`[ \\t]*|(?=\\n)",endCaptures:{0:{name:"punctuation.definition.string.end.lua"}},name:"string.quoted.double.lua"},{begin:"(?<=\\.cdef)\\s*(\\[(=*)\\[)",beginCaptures:{0:{name:"string.quoted.other.multiline.lua"},1:{name:"punctuation.definition.string.begin.lua"}},contentName:"meta.embedded.lua",end:"(\\]\\2\\])[ \\t]*",endCaptures:{0:{name:"string.quoted.other.multiline.lua"},1:{name:"punctuation.definition.string.end.lua"}},patterns:[{include:"source.c"}]},{begin:"(?<!--)\\[(=*)\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.lua"}},end:"\\]\\1\\][ \\t]*",endCaptures:{0:{name:"punctuation.definition.string.end.lua"}},name:"string.quoted.other.multiline.lua"}]}},scopeName:"source.lua"},Yn=Sa;var Aa={dependencies:["source.shell"],extensions:[".mak",".make",".makefile",".mk",".mkfile"],names:["makefile","bsdmake","make","mf"],patterns:[{include:"#comment"},{include:"#variable-assignment"},{include:"#recipe"},{include:"#directives"}],repository:{comment:{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.makefile"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.makefile"}},end:"\\n",name:"comment.line.number-sign.makefile",patterns:[{match:"\\\\\\n",name:"constant.character.escape.continuation.makefile"}]}]},directives:{patterns:[{begin:"^[ ]*([s\\-]?include)\\b",beginCaptures:{1:{name:"keyword.control.include.makefile"}},end:"^",patterns:[{include:"#comment"},{include:"#variables"},{match:"%",name:"constant.other.placeholder.makefile"}]},{begin:"^[ ]*(vpath)\\b",beginCaptures:{1:{name:"keyword.control.vpath.makefile"}},end:"^",patterns:[{include:"#comment"},{include:"#variables"},{match:"%",name:"constant.other.placeholder.makefile"}]},{begin:"^(?:(override)\\s*)?(define)\\s*([^\\s]+)\\s*(=|\\?=|:=|\\+=)?(?=\\s)",captures:{1:{name:"keyword.control.override.makefile"},2:{name:"keyword.control.define.makefile"},3:{name:"variable.other.makefile"},4:{name:"punctuation.separator.key-value.makefile"}},end:"^(endef)\\b",name:"meta.scope.conditional.makefile",patterns:[{begin:"\\G(?!\\n)",end:"^",patterns:[{include:"#comment"}]},{include:"#variables"},{include:"#comment"},{include:"#directives"}]},{begin:"^[ ]*(export)\\b",beginCaptures:{1:{name:"keyword.control.$1.makefile"}},end:"^",patterns:[{include:"#comment"},{include:"#variable-assignment"},{match:"[^\\s]+",name:"variable.other.makefile"}]},{begin:"^[ ]*(override|private)\\b",beginCaptures:{1:{name:"keyword.control.$1.makefile"}},end:"^",patterns:[{include:"#comment"},{include:"#variable-assignment"}]},{begin:"^[ ]*(unexport|undefine)\\b",beginCaptures:{1:{name:"keyword.control.$1.makefile"}},end:"^",patterns:[{include:"#comment"},{match:"[^\\s]+",name:"variable.other.makefile"}]},{begin:"^(ifdef|ifndef)\\s*([^\\s]+)(?=\\s)",captures:{1:{name:"keyword.control.$1.makefile"},2:{name:"variable.other.makefile"},3:{name:"punctuation.separator.key-value.makefile"}},end:"^(endif)\\b",name:"meta.scope.conditional.makefile",patterns:[{begin:"\\G(?!\\n)",end:"^",patterns:[{include:"#comment"}]},{include:"$self"}]},{begin:"^(ifeq|ifneq)(?=\\s)",captures:{1:{name:"keyword.control.$1.makefile"}},end:"^(endif)\\b",name:"meta.scope.conditional.makefile",patterns:[{begin:"\\G",end:"^",name:"meta.scope.condition.makefile",patterns:[{include:"#variables"},{include:"#comment"}]},{begin:"^else(?=\\s)",beginCaptures:{0:{name:"keyword.control.else.makefile"}},end:"^"},{include:"$self"}]}]},interpolation:{begin:"(?=`)",end:"(?!\\G)",name:"meta.embedded.line.shell",patterns:[{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.makefile"}},contentName:"source.shell",end:"(`)",endCaptures:{0:{name:"punctuation.definition.string.makefile"},1:{name:"source.shell"}},name:"string.interpolated.backtick.makefile",patterns:[{include:"source.shell"}]}]},recipe:{begin:"^(?!\\t)([^:]*)(:)(?!\\=)",beginCaptures:{1:{patterns:[{captures:{1:{name:"support.function.target.$1.makefile"}},match:"^\\s*(\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\s*$"},{begin:"(?=\\S)",end:"(?=\\s|$)",name:"entity.name.function.target.makefile",patterns:[{include:"#variables"},{match:"%",name:"constant.other.placeholder.makefile"}]}]},2:{name:"punctuation.separator.key-value.makefile"}},end:"^(?!\\t)",name:"meta.scope.target.makefile",patterns:[{begin:"\\G",end:"^",name:"meta.scope.prerequisites.makefile",patterns:[{match:"\\\\\\n",name:"constant.character.escape.continuation.makefile"},{match:"%|\\*",name:"constant.other.placeholder.makefile"},{include:"#comment"},{include:"#variables"}]},{begin:"^\\t",name:"meta.scope.recipe.makefile",patterns:[{captures:{0:{patterns:[{match:"\\\\\\n",name:"constant.character.escape.continuation.makefile"},{include:"#variables"},{include:"source.shell"}]}},match:".+\\n?"}],while:"^\\t"}]},"variable-assignment":{begin:"(^[ ]*|\\G\\s*)([^\\s]+)\\s*(=|\\?=|:=|\\+=)",beginCaptures:{2:{name:"variable.other.makefile"},3:{name:"punctuation.separator.key-value.makefile"}},end:"\\n",patterns:[{match:"\\\\\\n",name:"constant.character.escape.continuation.makefile"},{include:"#comment"},{include:"#variables"},{include:"#interpolation"}]},variables:{patterns:[{captures:{1:{name:"punctuation.definition.variable.makefile"}},match:"(\\$?\\$)[@%<?^+*]",name:"variable.language.makefile"},{begin:"\\$?\\$\\(",captures:{0:{name:"punctuation.definition.variable.makefile"}},end:"\\)",name:"string.interpolated.makefile",patterns:[{include:"#variables"},{match:"\\G(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\.LIBPATTERNS)(?=\\s*\\))",name:"variable.language.makefile"},{begin:"\\G(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\s",beginCaptures:{1:{name:"support.function.$1.makefile"}},end:"(?=\\))",name:"meta.scope.function-call.makefile",patterns:[{include:"#variables"},{match:"%|\\*",name:"constant.other.placeholder.makefile"}]},{begin:"\\G(origin|flavor)\\s(?=[^\\s)]+\\s*\\))",contentName:"variable.other.makefile",end:"(?=\\))",name:"meta.scope.function-call.makefile",patterns:[{include:"#variables"}]},{begin:"\\G(?!\\))",end:"(?=\\))",name:"variable.other.makefile",patterns:[{include:"#variables"}]}]}]}},scopeName:"source.makefile"},Qn=Aa;var Ea={dependencies:["source.c","source.objc.platform"],extensions:[],names:["objective-c","obj-c","objc","objectivec"],patterns:[{begin:"((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?",captures:{1:{name:"storage.type.objc"},2:{name:"punctuation.definition.storage.type.objc"},4:{name:"entity.name.type.objc"},6:{name:"punctuation.definition.entity.other.inherited-class.objc"},7:{name:"entity.other.inherited-class.objc"},8:{name:"meta.divider.objc"},9:{name:"meta.inherited-class.objc"}},contentName:"meta.scope.interface.objc",end:"((@)end)\\b",name:"meta.interface-or-protocol.objc",patterns:[{include:"#interface_innards"}]},{begin:"((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?",captures:{1:{name:"storage.type.objc"},2:{name:"punctuation.definition.storage.type.objc"},4:{name:"entity.name.type.objc"},5:{name:"entity.other.inherited-class.objc"}},contentName:"meta.scope.implementation.objc",end:"((@)end)\\b",name:"meta.implementation.objc",patterns:[{include:"#implementation_innards"}]},{applyEndPatternLast:!0,begin:'(?=@")',end:"(?=\\S)",patterns:[{begin:'@?"',beginCaptures:{0:{name:"punctuation.definition.string.begin.objc"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{include:"source.c#string_escaped_char"},{match:`(?x)%
(\\d+\\$)? # field (argument #)
[#0\\- +']* # flags
((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width
(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision
[@] # conversion type
`,name:"constant.other.placeholder.objc"},{include:"source.c#string_placeholder"}]}]},{begin:"\\b(id)\\s*(?=<)",beginCaptures:{1:{name:"storage.type.objc"}},end:"(?<=>)",name:"meta.id-with-protocol.objc",patterns:[{include:"#protocol_list"}]},{match:"\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b",name:"keyword.control.macro.objc"},{captures:{1:{name:"punctuation.definition.keyword.objc"}},match:"(@)(try|catch|finally|throw)\\b",name:"keyword.control.exception.objc"},{captures:{1:{name:"punctuation.definition.keyword.objc"}},match:"(@)(synchronized)\\b",name:"keyword.control.synchronize.objc"},{captures:{1:{name:"punctuation.definition.keyword.objc"}},match:"(@)(required|optional)\\b",name:"keyword.control.protocol-specification.objc"},{captures:{1:{name:"punctuation.definition.keyword.objc"}},match:"(@)(defs|encode)\\b",name:"keyword.other.objc"},{captures:{1:{name:"punctuation.definition.storage.type.objc"}},match:"(@)(class|protocol)\\b",name:"storage.type.objc"},{begin:"((@)selector)\\s*(\\()",beginCaptures:{1:{name:"storage.type.objc"},2:{name:"punctuation.definition.storage.type.objc"},3:{name:"punctuation.definition.storage.type.objc"}},contentName:"meta.selector.method-name.objc",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.storage.type.objc"}},name:"meta.selector.objc",patterns:[{captures:{1:{name:"punctuation.separator.arguments.objc"}},match:"\\b(?:[a-zA-Z_:][\\w]*)+",name:"support.function.any-method.name-of-parameter.objc"}]},{captures:{1:{name:"punctuation.definition.storage.modifier.objc"}},match:"(@)(synchronized|public|package|private|protected)\\b",name:"storage.modifier.objc"},{match:"\\b(YES|NO|Nil|nil)\\b",name:"constant.language.objc"},{include:"source.objc.platform"},{include:"source.objc.platform#functions"},{include:"source.c"},{include:"#bracketed_content"}],repository:{bracketed_content:{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.scope.begin.objc"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.scope.end.objc"}},name:"meta.bracketed.objc",patterns:[{begin:"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)",beginCaptures:{1:{name:"support.function.any-method.objc"},2:{name:"punctuation.separator.arguments.objc"}},end:"(?=\\])",name:"meta.function-call.predicate.objc",patterns:[{captures:{1:{name:"punctuation.separator.arguments.objc"}},match:"\\bargument(Array|s)(:)",name:"support.function.any-method.name-of-parameter.objc"},{captures:{1:{name:"punctuation.separator.arguments.objc"}},match:"\\b\\w+(:)",name:"invalid.illegal.unknown-method.objc"},{begin:'@"',beginCaptures:{0:{name:"punctuation.definition.string.begin.objc"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.objc"}},name:"string.quoted.double.objc",patterns:[{match:"\\b(AND|OR|NOT|IN)\\b",name:"keyword.operator.logical.predicate.cocoa"},{match:"\\b(ALL|ANY|SOME|NONE)\\b",name:"constant.language.predicate.cocoa"},{match:"\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b",name:"constant.language.predicate.cocoa"},{match:"\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b",name:"keyword.operator.comparison.predicate.cocoa"},{match:"\\bC(ASEINSENSITIVE|I)\\b",name:"keyword.other.modifier.predicate.cocoa"},{match:"\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b",name:"keyword.other.predicate.cocoa"},{match:`\\\\(\\\\|[abefnrtv'"?]|[0-3]\\d{0,2}|[4-7]\\d?|x[a-zA-Z0-9]+)`,name:"constant.character.escape.objc"},{match:"\\\\.",name:"invalid.illegal.unknown-escape.objc"}]},{include:"#special_variables"},{include:"#c_functions"},{include:"$base"}]},{begin:'(?=\\w)(?<=[\\w\\]\\s)"]\\s)(\\w+(?:(:)|(?=\\])))',beginCaptures:{1:{name:"support.function.any-method.objc"},2:{name:"punctuation.separator.arguments.objc"}},end:"(?=\\])",name:"meta.function-call.objc",patterns:[{captures:{1:{name:"punctuation.separator.arguments.objc"}},match:"\\b\\w+(:)",name:"support.function.any-method.name-of-parameter.objc"},{include:"#special_variables"},{include:"#c_functions"},{include:"$base"}]},{include:"#special_variables"},{include:"#c_functions"},{include:"$self"}]},c_functions:{patterns:[{captures:{1:{name:"punctuation.whitespace.function-call.leading.c"},2:{name:"support.function.any-method.c"},3:{name:"punctuation.definition.parameters.c"}},match:`(?x) (?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+))?
(\\b
(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name
)
\\s*(\\()`,name:"meta.function-call.c"}]},comment:{patterns:[{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.objc"}},end:"\\*/",name:"comment.block.objc"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.objc"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.objc"}},end:"\\n",name:"comment.line.double-slash.objc",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.objc"}]}]}]},disabled:{begin:"^\\s*#\\s*if(n?def)?\\b.*$",end:"^\\s*#\\s*endif\\b.*$",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},implementation_innards:{patterns:[{include:"#preprocessor-rule-enabled-implementation"},{include:"#preprocessor-rule-disabled-implementation"},{include:"#preprocessor-rule-other-implementation"},{include:"#property_directive"},{include:"#special_variables"},{include:"#method_super"},{include:"$base"}]},interface_innards:{patterns:[{include:"#preprocessor-rule-enabled-interface"},{include:"#preprocessor-rule-disabled-interface"},{include:"#preprocessor-rule-other-interface"},{include:"#properties"},{include:"#protocol_list"},{include:"#method"},{include:"$base"}]},method:{begin:"^(-|\\+)\\s*",end:"(?=\\{|#)|;",name:"meta.function.objc",patterns:[{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.type.begin.objc"}},end:"(\\))\\s*(\\w+\\b)",endCaptures:{1:{name:"punctuation.definition.type.end.objc"},2:{name:"entity.name.function.objc"}},name:"meta.return-type.objc",patterns:[{include:"#protocol_list"},{include:"#protocol_type_qualifier"},{include:"$base"}]},{match:"\\b\\w+(?=:)",name:"entity.name.function.name-of-parameter.objc"},{begin:"((:))\\s*(\\()",beginCaptures:{1:{name:"entity.name.function.name-of-parameter.objc"},2:{name:"punctuation.separator.arguments.objc"},3:{name:"punctuation.definition.type.begin.objc"}},end:"(\\))\\s*(\\w+\\b)?",endCaptures:{1:{name:"punctuation.definition.type.end.objc"},2:{name:"variable.parameter.function.objc"}},name:"meta.argument-type.objc",patterns:[{include:"#protocol_list"},{include:"#protocol_type_qualifier"},{include:"$base"}]},{include:"#comment"}]},method_super:{begin:"^(?=-|\\+)",end:"(?<=\\})|(?=#)",name:"meta.function-with-body.objc",patterns:[{include:"#method"},{include:"$base"}]},"pragma-mark":{captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.pragma.c"},3:{name:"meta.toc-list.pragma-mark.c"}},match:"^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))",name:"meta.section"},"preprocessor-rule-disabled-implementation":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",name:"comment.block.preprocessor.if-branch.c",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-disabled-interface":{begin:"^\\s*(#(if)\\s+(0)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",name:"comment.block.preprocessor.if-branch.c",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]}]},"preprocessor-rule-enabled-implementation":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},contentName:"comment.block.preprocessor.else-branch.c",end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#implementation_innards"}]}]},"preprocessor-rule-enabled-interface":{begin:"^\\s*(#(if)\\s+(0*1)\\b)",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.if.c"},3:{name:"constant.numeric.preprocessor.c"}},end:"^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{begin:"^\\s*(#\\s*(else)\\b).*",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.else.c"}},contentName:"comment.block.preprocessor.else-branch.c",end:"(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#disabled"},{include:"#pragma-mark"}]},{end:"(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",patterns:[{include:"#interface_innards"}]}]},"preprocessor-rule-other-implementation":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.c"}},end:"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",patterns:[{include:"#implementation_innards"}]},"preprocessor-rule-other-interface":{begin:"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",captures:{1:{name:"meta.preprocessor.c"},2:{name:"keyword.control.import.c"}},end:"^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",patterns:[{include:"#interface_innards"}]},properties:{patterns:[{begin:"((@)property)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.property.objc"},2:{name:"punctuation.definition.keyword.objc"},3:{name:"punctuation.section.scope.begin.objc"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.scope.end.objc"}},name:"meta.property-with-attributes.objc",patterns:[{match:"\\b(getter|setter|readonly|readwrite|assign|retain|copy|atomic|nonatomic|strong|weak|nullable|nonnull|class)\\b",name:"keyword.other.property.attribute"}]},{captures:{1:{name:"keyword.other.property.objc"},2:{name:"punctuation.definition.keyword.objc"}},match:"((@)property)\\b",name:"meta.property.objc"}]},property_directive:{captures:{1:{name:"punctuation.definition.keyword.objc"}},match:"(@)(dynamic|synthesize)\\b",name:"keyword.other.property.directive.objc"},protocol_list:{begin:"(<)",beginCaptures:{1:{name:"punctuation.section.scope.begin.objc"}},end:"(>)",endCaptures:{1:{name:"punctuation.section.scope.end.objc"}},name:"meta.protocol-list.objc",patterns:[{include:"source.objc.platform#protocols"}]},protocol_type_qualifier:{match:"\\b(in|out|inout|oneway|bycopy|byref)\\b",name:"storage.modifier.protocol.objc"},special_variables:{patterns:[{match:"\\b_cmd\\b",name:"variable.other.selector.objc"},{match:"\\b(self|super)\\b",name:"variable.language.objc"}]}},scopeName:"source.objc"},Jn=Ea;var Ta={extensions:[],names:[],patterns:[{match:"\\bNS(?:AnyType|CompositingOperationHighlight|DoubleType|FloatType|IntType|Positive(?:DoubleType|FloatType|IntType))\\b",name:"invalid.deprecated.10.0.support.constant.cocoa.objc"},{match:"\\bNS(?:CompositeHighlight|SmallIconButtonBezelStyle)\\b",name:"invalid.deprecated.10.0.support.variable.cocoa.objc"},{match:"\\bNS(?:CalendarDate|Form|GarbageCollector)\\b",name:"invalid.deprecated.10.10.support.class.cocoa.objc"},{match:"\\bNS(?:Alert(?:AlternateReturn|DefaultReturn|ErrorReturn|OtherReturn)|Ca(?:lendarCalendarUnit|ncelButton)|D(?:ayCalendarUnit|ragOperationAll(?:_Obsolete)?)|EraCalendarUnit|H(?:PUXOperatingSystem|ourCalendarUnit)|M(?:ACHOperatingSystem|inuteCalendarUnit|onthCalendarUnit)|O(?:KButton|SF1OperatingSystem)|PopoverAppearance(?:HUD|Minimal)|QuarterCalendarUnit|Run(?:AbortedResponse|ContinuesResponse|StoppedResponse)|S(?:cale(?:None|Proportionally|ToFit)|econdCalendarUnit|olarisOperatingSystem|unOSOperatingSystem)|TimeZoneCalendarUnit|UndefinedDateComponent|W(?:eek(?:CalendarUnit|Of(?:MonthCalendarUnit|YearCalendarUnit)|day(?:CalendarUnit|OrdinalCalendarUnit))|indows(?:95OperatingSystem|NTOperatingSystem)|rapCalendarComponents)|Year(?:CalendarUnit|ForWeekOfYearCalendarUnit))\\b",name:"invalid.deprecated.10.10.support.constant.cocoa.objc"},{match:"\\bNSPopoverAppearance\\b",name:"invalid.deprecated.10.10.support.type.cocoa.objc"},{match:"\\bNS(?:A(?:ccessibilityMatte(?:ContentUIElementAttribute|HoleAttribute)|ppearanceNameLightContent)|BuddhistCalendar|ChineseCalendar|GregorianCalendar|HebrewCalendar|I(?:SO8601Calendar|ndianCalendar|slamicC(?:alendar|ivilCalendar))|JapaneseCalendar|PersianCalendar|RepublicOfChinaCalendar)\\b",name:"invalid.deprecated.10.10.support.variable.cocoa.objc"},{match:"\\bNS(?:Glyph(?:Attribute(?:BidiLevel|Elastic|Inscribe|Soft)|Inscribe(?:Above|B(?:ase|elow)|Over(?:Below|strike)))|StringDrawing(?:DisableScreenFontSubstitution|OneShot)|TextWritingDirection(?:Embedding|Override)|WorkspaceLaunch(?:AllowingClassicStartup|PreferringClassic))\\b",name:"invalid.deprecated.10.11.support.constant.cocoa.objc"},{match:"\\bNSConfinementConcurrencyType\\b",name:"invalid.deprecated.10.11.support.constant.objc"},{match:"\\bNS(?:GlyphInscription|WorkspaceFileOperationName)\\b",name:"invalid.deprecated.10.11.support.type.cocoa.objc"},{match:"\\bNS(?:AccessibilityException|CharacterShapeAttributeName|U(?:nderlineByWordMask|sesScreenFontsDocumentAttribute)|Workspace(?:Co(?:mpressOperation|pyOperation)|D(?:e(?:c(?:ompressOperation|ryptOperation)|stroyOperation)|idPerformFileOperationNotification|uplicateOperation)|EncryptOperation|LinkOperation|MoveOperation|RecycleOperation))\\b",name:"invalid.deprecated.10.11.support.variable.cocoa.objc"},{match:"\\bPDFAnnotation(?:ButtonWidget|C(?:hoiceWidget|ircle)|FreeText|Ink|Lin(?:e|k)|Markup|Popup|S(?:quare|tamp)|Text(?:Widget)?)\\b",name:"invalid.deprecated.10.12.support.class.objc"},{match:"\\bNSOpenGLPFAStereo\\b",name:"invalid.deprecated.10.12.support.constant.cocoa.objc"},{match:"\\bNSPersistentStoreUbiquitousTransitionType(?:Account(?:Added|Removed)|ContentRemoved|InitialImportCompleted)\\b",name:"invalid.deprecated.10.12.support.constant.objc"},{match:"\\bNSGradientType\\b",name:"invalid.deprecated.10.12.support.type.cocoa.objc"},{match:"\\bNSPersistentStoreUbiquitousTransitionType\\b",name:"invalid.deprecated.10.12.support.type.objc"},{match:"\\bNS(?:A(?:WTEventType|l(?:phaShiftKeyMask|ternateKeyMask)|nyEventMask|pp(?:KitDefined(?:Mask)?|lication(?:ActivatedEventType|De(?:activatedEventType|fined(?:Mask)?))))|BorderlessWindowMask|C(?:enterTextAlignment|ircularSlider|losableWindowMask|o(?:m(?:mandKeyMask|posite(?:C(?:lear|o(?:lor(?:Burn|Dodge)?|py))|D(?:arken|estination(?:Atop|In|O(?:ut|ver))|ifference)|Exclusion|H(?:ardLight|ue)|L(?:ighten|uminosity)|Multiply|Overlay|Plus(?:Darker|Lighter)|S(?:aturation|creen|o(?:ftLight|urce(?:Atop|In|O(?:ut|ver))))|XOR))|ntrolKeyMask)|riticalAlertStyle|ursor(?:PointingDevice|Update(?:Mask)?))|D(?:eviceIndependentModifierFlagsMask|ocModalWindowMask)|EraserPointingDevice|F(?:lagsChanged(?:Mask)?|u(?:llS(?:creenWindowMask|izeContentViewWindowMask)|nctionKeyMask))|H(?:UDWindowMask|elpKeyMask)|InformationalAlertStyle|JustifiedTextAlignment|Key(?:Down(?:Mask)?|Up(?:Mask)?)|L(?:eft(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|TextAlignment)|inearSlider)|M(?:ini(?:ControlSize|aturizableWindowMask)|ouse(?:E(?:ntered(?:Mask)?|ventSubtype|xited(?:Mask)?)|Moved(?:Mask)?))|N(?:aturalTextAlignment|onactivatingPanelMask|umericPadKeyMask)|OtherMouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|P(?:e(?:n(?:LowerSideMask|PointingDevice|TipMask|UpperSideMask)|riodic(?:Mask)?)|owerOffEventType)|R(?:e(?:gularControlSize|sizableWindowMask)|ight(?:Mouse(?:D(?:own(?:Mask)?|ragged(?:Mask)?)|Up(?:Mask)?)|TextAlignment))|S(?:cr(?:eenChangedEventType|ollWheel(?:Mask)?)|hiftKeyMask|mallControlSize|ystemDefined(?:Mask)?)|T(?:abletP(?:oint(?:EventSubtype|Mask)?|roximity(?:EventSubtype|Mask)?)|exturedBackgroundWindowMask|hick(?:SquareBezelStyle|erSquareBezelStyle)|i(?:ckMark(?:Above|Below|Left|Right)|tledWindowMask)|ouchEventSubtype)|U(?:n(?:ifiedTitleAndToolbarWindowMask|knownPointingDevice)|tilityWindowMask)|W(?:arningAlertStyle|indow(?:ExposedEventType|FullScreenButton|MovedEventType)))\\b",name:"invalid.deprecated.10.12.support.variable.cocoa.objc"},{match:"\\bNSPersistentStore(?:DidImportUbiquitousContentChangesNotification|Re(?:buildFromUbiquitousContentOption|moveUbiquitousMetadataOption)|Ubiquitous(?:Cont(?:ainerIdentifierKey|ent(?:NameKey|URLKey))|PeerTokenOption|TransitionTypeKey))\\b",name:"invalid.deprecated.10.12.support.variable.objc"},{match:"\\bNS(?:Archiver|Connection|D(?:istantObject(?:Request)?|rawer)|M(?:achBootstrapServer|essagePortNameServer)|Port(?:Coder|NameServer)|SocketPortNameServer|Unarchiver)\\b",name:"invalid.deprecated.10.13.support.class.cocoa.objc"},{match:"\\bNS(?:BackingStore(?:Nonretained|Retained)|Drawer(?:Clos(?:edState|ingState)|Open(?:State|ingState))|FileHandlingPanel(?:CancelButton|OKButton)|NativeShortGlyphPacking)\\b",name:"invalid.deprecated.10.13.support.constant.cocoa.objc"},{match:"\\bNSMultibyteGlyphPacking\\b",name:"invalid.deprecated.10.13.support.type.cocoa.objc"},{match:"\\bNS(?:Connection(?:Did(?:DieNotification|InitializeNotification)|ReplyMode)|D(?:ockWindowLevel|ra(?:gPboard|wer(?:Did(?:CloseNotification|OpenNotification)|Will(?:CloseNotification|OpenNotification))))|F(?:ailedAuthenticationException|indPboard|ontPboard)|GeneralPboard|RulerPboard)\\b",name:"invalid.deprecated.10.13.support.variable.cocoa.objc"},{match:"\\b(?:NS(?:BinaryExternalRecordType|E(?:ntityNameInPathKey|xternalRecord(?:ExtensionOption|s(?:DirectoryOption|FileFormatOption)))|ModelPathKey|ObjectURIKey|Store(?:PathKey|UUIDInPathKey)|XMLExternalRecordType)|kPDFAnnotationKey_(?:A(?:ction|dditionalActions|ppearance(?:Dictionary|State))|Border(?:Style)?|Co(?:lor|ntents)|D(?:ate|e(?:faultAppearance|stination))|Flags|HighlightingMode|I(?:conName|n(?:klist|teriorColor))|Line(?:EndingStyles|Points)|Name|Open|P(?:a(?:ge|rent)|opup)|Quad(?:Points|ding)|Rect|Subtype|TextLabel|Widget(?:AppearanceDictionary|DefaultValue|Field(?:Flags|Type)|MaxLen|Options|TextLabelUI|Value)))\\b",name:"invalid.deprecated.10.13.support.variable.objc"},{match:"\\b(?:DOM(?:A(?:bstractView|ttr)|Blob|C(?:DATASection|SS(?:CharsetRule|FontFaceRule|ImportRule|MediaRule|P(?:ageRule|rimitiveValue)|Rule(?:List)?|Style(?:Declaration|Rule|Sheet)|UnknownRule|Value(?:List)?)|haracterData|o(?:mment|unter))|Document(?:Fragment|Type)?|E(?:lement|ntity(?:Reference)?|vent)|File(?:List)?|HTML(?:A(?:nchorElement|ppletElement|reaElement)|B(?:RElement|ase(?:Element|FontElement)|odyElement|uttonElement)|Collection|D(?:ListElement|i(?:rectoryElement|vElement)|ocument)|E(?:lement|mbedElement)|F(?:ieldSetElement|o(?:ntElement|rmElement)|rame(?:Element|SetElement))|H(?:RElement|ead(?:Element|ingElement)|tmlElement)|I(?:FrameElement|mageElement|nputElement)|L(?:IElement|abelElement|egendElement|inkElement)|M(?:a(?:pElement|rqueeElement)|e(?:nuElement|taElement)|odElement)|O(?:ListElement|bjectElement|pt(?:GroupElement|ion(?:Element|sCollection)))|P(?:ara(?:graphElement|mElement)|reElement)|QuoteElement|S(?:criptElement|electElement|tyleElement)|T(?:able(?:C(?:aptionElement|ellElement|olElement)|Element|RowElement|SectionElement)|extAreaElement|itleElement)|UListElement)|Implementation|KeyboardEvent|M(?:ediaList|ouseEvent|utationEvent)|N(?:amedNodeMap|ode(?:Iterator|List)?)|O(?:bject|verflowEvent)|Pro(?:cessingInstruction|gressEvent)|R(?:GBColor|ange|ect)|StyleSheet(?:List)?|T(?:ext|reeWalker)|UIEvent|WheelEvent|XPath(?:Expression|Result))|NSOpenGL(?:Context|Layer|PixelFormat|View)|Web(?:Archive|BackForwardList|D(?:ataSource|ownload)|Frame(?:View)?|History(?:Item)?|Preferences|ScriptObject|Undefined|View))\\b",name:"invalid.deprecated.10.14.support.class.cocoa.objc"},{match:"\\b(?:CAOpenGLLayer|IKImageBrowserView|QCCompositionLayer)\\b",name:"invalid.deprecated.10.14.support.class.objc"},{match:"\\b(?:DOM_(?:A(?:DDITION|LLOW_KEYBOARD_INPUT|NY_(?:TYPE|UNORDERED_NODE_TYPE)|T(?:TRIBUTE_NODE|_TARGET))|B(?:AD_BOUNDARYPOINTS_ERR|O(?:OLEAN_TYPE|TH)|UBBLING_PHASE)|C(?:APTURING_PHASE|DATA_SECTION_NODE|HARSET_RULE|OMMENT_NODE|SS_(?:ATTR|C(?:M|OUNTER|USTOM)|D(?:EG|IMENSION)|E(?:MS|XS)|GRAD|HZ|I(?:DENT|N(?:HERIT)?)|KHZ|M(?:M|S)|NUMBER|P(?:C|ERCENTAGE|RIMITIVE_VALUE|T|X)|R(?:AD|ECT|GBCOLOR)|S(?:TRING)?|U(?:NKNOWN|RI)|V(?:ALUE_LIST|H|M(?:AX|IN)|W)))|DO(?:CUMENT_(?:FRAGMENT_NODE|NODE|POSITION_(?:CONTAIN(?:ED_BY|S)|DISCONNECTED|FOLLOWING|IMPLEMENTATION_SPECIFIC|PRECEDING)|TYPE_NODE)|M(?:STRING_SIZE_ERR|_DELTA_(?:LINE|P(?:AGE|IXEL))))|E(?:LEMENT_NODE|N(?:D_TO_(?:END|START)|TITY_(?:NODE|REFERENCE_NODE)))|F(?:I(?:LTER_(?:ACCEPT|REJECT|SKIP)|RST_ORDERED_NODE_TYPE)|ONT_FACE_RULE)|H(?:IERARCHY_REQUEST_ERR|ORIZONTAL)|I(?:MPORT_RULE|N(?:DEX_SIZE_ERR|USE_ATTRIBUTE_ERR|VALID_(?:ACCESS_ERR|CHARACTER_ERR|EXPRESSION_ERR|MODIFICATION_ERR|NODE_TYPE_ERR|STATE_ERR)))|KEY(?:FRAME(?:S_RULE|_RULE)|_LOCATION_(?:LEFT|NUMPAD|RIGHT|STANDARD))|M(?:EDIA_RULE|ODIFICATION)|N(?:AMESPACE_(?:ERR|RULE)|O(?:DE_(?:AFTER|BEFORE(?:_AND_AFTER)?|INSIDE)|NE|T(?:ATION_NODE|_(?:FOUND_ERR|SUPPORTED_ERR))|_(?:DATA_ALLOWED_ERR|MODIFICATION_ALLOWED_ERR))|UMBER_TYPE)|ORDERED_NODE_(?:ITERATOR_TYPE|SNAPSHOT_TYPE)|P(?:AGE_RULE|ROCESSING_INSTRUCTION_NODE)|REMOVAL|S(?:HOW_(?:A(?:LL|TTRIBUTE)|C(?:DATA_SECTION|OMMENT)|DOCUMENT(?:_(?:FRAGMENT|TYPE))?|E(?:LEMENT|NTITY(?:_REFERENCE)?)|NOTATION|PROCESSING_INSTRUCTION|TEXT)|T(?:ART_TO_(?:END|START)|RING_TYPE|YLE_RULE)|UPPORTS_RULE|YNTAX_ERR)|T(?:EXT_NODE|YPE_ERR)|UN(?:KNOWN_RULE|ORDERED_NODE_(?:ITERATOR_TYPE|SNAPSHOT_TYPE)|SPECIFIED_EVENT_TYPE_ERR)|VERTICAL|W(?:EBKIT_(?:KEYFRAME(?:S_RULE|_RULE)|REGION_RULE)|RONG_DOCUMENT_ERR))|NS(?:LandscapeOrientation|O(?:nlyScrollerArrows|penGL(?:ContextParameter(?:CurrentRendererID|GPU(?:FragmentProcessing|VertexProcessing)|HasDrawable|MPSwapsInFlight|R(?:asterizationEnable|eclaimResources)|S(?:tateValidation|urface(?:BackingSize|O(?:pacity|rder)|SurfaceVolatile)|wap(?:Interval|Rectangle(?:Enable)?)))|GO(?:ClearFormatCache|FormatCacheSize|RetainRenderers|UseBuildCache)|P(?:FA(?:A(?:cc(?:elerated(?:Compute)?|umSize)|l(?:l(?:Renderers|owOfflineRenderers)|phaSize)|ux(?:Buffers|DepthStencil))|BackingStore|C(?:losestPolicy|olor(?:Float|Size))|D(?:epthSize|oubleBuffer)|M(?:aximumPolicy|inimumPolicy|ultisample)|NoRecovery|OpenGLProfile|RendererID|S(?:ample(?:Alpha|Buffers|s)|creenMask|tencilSize|upersample)|TripleBuffer|VirtualScreenCount)|rofileVersion(?:3_2Core|4_1Core|Legacy))))|PortraitOrientation|Scroller(?:DecrementLine|IncrementLine))|Web(?:CacheModel(?:Document(?:Browser|Viewer)|PrimaryWebBrowser)|Drag(?:DestinationAction(?:Any|DHTML|Edit|Load|None)|SourceAction(?:Any|DHTML|Image|Link|None|Selection))|KitError(?:BlockedPlugInVersion|Cannot(?:FindPlugIn|LoadPlugIn|Show(?:MIMEType|URL))|FrameLoadInterruptedByPolicyChange|JavaUnavailable)|MenuItem(?:PDF(?:A(?:ctualSize|utoSize)|Continuous|FacingPages|NextPage|PreviousPage|SinglePage|Zoom(?:In|Out))|Tag(?:C(?:opy(?:ImageToClipboard|LinkToClipboard)?|ut)|Download(?:ImageToDisk|LinkToDisk)|Go(?:Back|Forward)|IgnoreSpelling|L(?:earnSpelling|ookUpInDictionary)|NoGuessesFound|O(?:pen(?:FrameInNewWindow|ImageInNewWindow|LinkInNewWindow|WithDefaultApplication)|ther)|Paste|Reload|S(?:earch(?:InSpotlight|Web)|pellingGuess|top)))|NavigationType(?:BackForward|Form(?:Resubmitted|Submitted)|LinkClicked|Other|Reload)|ViewInsertAction(?:Dropped|Pasted|Typed)))\\b",name:"invalid.deprecated.10.14.support.constant.cocoa.objc"},{match:"\\b(?:DOM(?:E(?:ventExceptionCode|xceptionCode)|RangeExceptionCode|XPathExceptionCode)|NS(?:CellStateValue|OpenGL(?:ContextParameter|GlobalOption|PixelFormatAttribute)|Pr(?:intingOrientation|ogressIndicatorThickness)|Scroll(?:ArrowPosition|erArrow)|WindowBackingLocation)|Web(?:CacheModel|Drag(?:DestinationAction|SourceAction)|NavigationType|ViewInsertAction))\\b",name:"invalid.deprecated.10.14.support.type.cocoa.objc"},{match:"\\bQLPreviewItemLoadingBlock\\b",name:"invalid.deprecated.10.14.support.type.objc"},{match:"\\b(?:DOM(?:E(?:ventException|xception)|RangeException|XPathException)|NS(?:16Bit(?:BigEndianBitmapFormat|LittleEndianBitmapFormat)|32Bit(?:BigEndianBitmapFormat|LittleEndianBitmapFormat)|A(?:cceleratorButton|lpha(?:FirstBitmapFormat|NonpremultipliedBitmapFormat))|BMPFileType|C(?:MYK(?:ColorSpaceModel|ModeColorPanel)|ircularBezelStyle|o(?:lor(?:ListModeColorPanel|PboardType)|ntinuousCapacityLevelIndicatorStyle)|rayonModeColorPanel|ustomPaletteModeColorPanel)|D(?:e(?:faultTokenStyle|viceNColorSpaceModel)|isc(?:losureBezelStyle|reteCapacityLevelIndicatorStyle))|F(?:ile(?:namesPboardType|sPromisePboardType)|loatingPointSamplesBitmapFormat|ontPboardType)|G(?:IFFileType|ray(?:ColorSpaceModel|ModeColorPanel))|H(?:SBModeColorPanel|TMLPboardType|elpButtonBezelStyle)|In(?:dexedColorSpaceModel|kTextPboardType|lineBezelStyle)|JPEG(?:2000FileType|FileType)|KeyedUnarchiveFromDataTransformerName|LABColorSpaceModel|M(?:ixedState|omentary(?:ChangeButton|LightButton|PushInButton)|ulti(?:LevelAcceleratorButton|pleTextSelectionPboardType))|NoModeColorPanel|O(?:ffState|n(?:OffButton|State)|penGLCP(?:CurrentRendererID|GPU(?:FragmentProcessing|VertexProcessing)|HasDrawable|MPSwapsInFlight|R(?:asterizationEnable|eclaimResources)|S(?:tateValidation|urface(?:BackingSize|O(?:pacity|rder)|SurfaceVolatile)|wap(?:Interval|Rectangle(?:Enable)?))))|P(?:DFPboardType|NGFileType|a(?:steboardTypeFindPanelSearchOptions|tternColorSpaceModel)|lainTextTokenStyle|ostScriptPboardType|rogressIndicator(?:BarStyle|SpinningStyle)|ushOnPushOffButton)|R(?:GB(?:ColorSpaceModel|ModeColorPanel)|TF(?:DPboardType|PboardType)|a(?:dioButton|tingLevelIndicatorStyle)|e(?:cessedBezelStyle|gularSquareBezelStyle|levancyLevelIndicatorStyle)|ound(?:RectBezelStyle|ed(?:BezelStyle|DisclosureBezelStyle|TokenStyle))|ulerPboardType)|S(?:ha(?:dowlessSquareBezelStyle|ringServiceName(?:Post(?:ImageOnFlickr|On(?:Facebook|LinkedIn|SinaWeibo|T(?:encentWeibo|witter))|VideoOn(?:Tudou|Vimeo|Youku))|UseAs(?:FacebookProfileImage|LinkedInProfileImage|TwitterProfileImage)))|mallSquareBezelStyle|tringPboardType|witchButton)|T(?:IFF(?:FileType|PboardType)|abularTextPboardType|extured(?:RoundedBezelStyle|SquareBezelStyle)|oggleButton)|U(?:RLPboardType|n(?:archiveFromDataTransformerName|knownColorSpaceModel))|V(?:CardPboardType|iew(?:GlobalFrameDidChangeNotification|NoInstrinsicMetric))|WheelModeColorPanel)|Web(?:A(?:ction(?:ButtonKey|ElementKey|ModifierFlagsKey|NavigationTypeKey|OriginalURLKey)|rchivePboardType)|Element(?:DOMNodeKey|FrameKey|I(?:mage(?:AltStringKey|Key|RectKey|URLKey)|sSelectedKey)|Link(?:LabelKey|T(?:argetFrameKey|itleKey)|URLKey))|History(?:AllItemsRemovedNotification|Item(?:ChangedNotification|s(?:AddedNotification|Key|RemovedNotification))|LoadedNotification|SavedNotification)|KitError(?:Domain|MIMETypeKey|PlugIn(?:NameKey|PageURLStringKey))|P(?:lugIn(?:AttributesKey|BaseURLKey|Contain(?:erKey|ingElementKey)|ShouldLoadMainResourceKey)|referencesChangedNotification)|ViewProgress(?:EstimateChangedNotification|FinishedNotification|StartedNotification)))\\b",name:"invalid.deprecated.10.14.support.variable.cocoa.objc"},{match:"\\b(?:IOSurfacePropertyAllocSizeKey|QCComposition(?:InputRSS(?:ArticleDurationKey|FeedURLKey)|ProtocolRSSVisualizer)|kCIImageTexture(?:Format|Target))\\b",name:"invalid.deprecated.10.14.support.variable.objc"},{match:"\\bQC(?:Composition(?:P(?:arameterView|icker(?:Panel|View))|Repository)?|P(?:atchController|lugIn(?:ViewController)?)|Renderer|View)\\b",name:"invalid.deprecated.10.15.support.class.objc"},{match:"\\bNSURLNetworkServiceTypeVoIP\\b",name:"invalid.deprecated.10.15.support.constant.cocoa.objc"},{match:"\\bQCPlugIn(?:BufferReleaseCallback|ExecutionMode|T(?:extureReleaseCallback|imeMode))\\b",name:"invalid.deprecated.10.15.support.type.objc"},{match:"\\bQC(?:Composition(?:Attribute(?:BuiltInKey|C(?:ategoryKey|opyrightKey)|DescriptionKey|HasConsumersKey|IsTimeDependentKey|NameKey)|Category(?:Distortion|Stylize|Utility)|Input(?:Audio(?:PeakKey|SpectrumKey)|DestinationImageKey|ImageKey|Pr(?:eviewModeKey|imaryColorKey)|S(?:creenImageKey|econdaryColorKey|ourceImageKey)|Track(?:InfoKey|PositionKey|SignalKey)|XKey|YKey)|Output(?:ImageKey|WebPageURLKey)|P(?:icker(?:PanelDidSelectCompositionNotification|ViewDidSelectCompositionNotification)|rotocol(?:Graphic(?:Animation|Transition)|ImageFilter|MusicVisualizer|ScreenSaver))|RepositoryDidUpdateNotification)|P(?:lugIn(?:Attribute(?:C(?:ategoriesKey|opyrightKey)|DescriptionKey|ExamplesKey|NameKey)|ExecutionArgument(?:EventKey|MouseLocationKey)|PixelFormat(?:ARGB8|BGRA8|I(?:8|f)|RGBAf))|ort(?:Attribute(?:DefaultValueKey|M(?:aximumValueKey|enuItemsKey|inimumValueKey)|NameKey|TypeKey)|Type(?:Boolean|Color|I(?:mage|ndex)|Number|Str(?:ing|ucture))))|Renderer(?:EventKey|MouseLocationKey)|ViewDidSt(?:artRenderingNotification|opRenderingNotification))\\b",name:"invalid.deprecated.10.15.support.variable.objc"},{match:"\\bNSPrint(?:FormName|JobFeatures|ManualFeed|Pa(?:gesPerSheet|perFeed))\\b",name:"invalid.deprecated.10.2.support.variable.cocoa.objc"},{match:"\\bNSOpenGLGOResetLibrary\\b",name:"invalid.deprecated.10.4.support.constant.cocoa.objc"},{match:"\\bNS(?:F(?:TPProperty(?:ActiveTransferModeKey|F(?:TPProxy|ileOffsetKey)|User(?:LoginKey|PasswordKey))|ontColorAttribute)|HTTPProperty(?:ErrorPageDataKey|HTTPProxy|RedirectionHeadersKey|S(?:erverHTTPVersionKey|tatus(?:CodeKey|ReasonKey)))|ViewFocusDidChangeNotification)\\b",name:"invalid.deprecated.10.4.support.variable.cocoa.objc"},{match:"\\bNSMovie\\b",name:"invalid.deprecated.10.5.support.class.cocoa.objc"},{match:"\\bNSOpenGLPFA(?:M(?:PSafe|ultiScreen)|Robust)\\b",name:"invalid.deprecated.10.5.support.constant.cocoa.objc"},{match:"\\bNS(?:AMPMDesignation|CurrencySymbol|D(?:ate(?:FormatString|TimeOrdering)|ecimal(?:Digits|Separator))|EarlierTimeDesignations|HourNameDesignations|Int(?:HashCallBacks|Map(?:KeyCallBacks|ValueCallBacks)|ernationalCurrencyString)|LaterTimeDesignations|MonthNameArray|Ne(?:gativeCurrencyFormatString|xt(?:DayDesignations|NextDayDesignations))|P(?:ositiveCurrencyFormatString|riorDayDesignations)|Short(?:DateFormatString|MonthNameArray|TimeDateFormatString|WeekDayNameArray)|T(?:h(?:isDayDesignations|ousandsSeparator)|ime(?:DateFormatString|FormatString))|VoiceLanguage|WeekDayNameArray|YearMonthWeekDesignations)\\b",name:"invalid.deprecated.10.5.support.variable.cocoa.objc"},{match:"\\bNS(?:CachedImageRep|Input(?:Manager|Server))\\b",name:"invalid.deprecated.10.6.support.class.cocoa.objc"},{match:"\\bNSOpenGLPFAFullScreen\\b",name:"invalid.deprecated.10.6.support.constant.cocoa.objc"},{match:"\\bNS(?:A(?:ccessibilitySortButtonRole|pplicationFileType)|CalibratedBlackColorSpace|D(?:eviceBlackColorSpace|irectoryFileType)|ErrorFailingURLStringKey|FilesystemFileType|P(?:ICTPboardType|lainFileType|rintSavePath)|ShellCommandFileType)\\b",name:"invalid.deprecated.10.6.support.variable.cocoa.objc"},{match:"\\bNSOpenGLPixelBuffer\\b",name:"invalid.deprecated.10.7.support.class.cocoa.objc"},{match:"\\bNS(?:AutosaveOperation|OpenGLPFA(?:OffScreen|PixelBuffer|RemotePixelBuffer)|PathStyleNavigationBar)\\b",name:"invalid.deprecated.10.7.support.constant.cocoa.objc"},{match:"\\b(?:NS(?:FileHandleNotificationMonitorModes|ImageNameDotMac)|kAB(?:AIM(?:HomeLabel|InstantProperty|MobileMeLabel|WorkLabel)|ICQ(?:HomeLabel|InstantProperty|WorkLabel)|Jabber(?:HomeLabel|InstantProperty|WorkLabel)|MSN(?:HomeLabel|InstantProperty|WorkLabel)|Yahoo(?:HomeLabel|InstantProperty|WorkLabel)))\\b",name:"invalid.deprecated.10.7.support.variable.cocoa.objc"},{match:"\\bNS(?:MacintoshInterfaceStyle|N(?:extStepInterfaceStyle|oInterfaceStyle)|PointerFunctionsZeroingWeakMemory|Windows95InterfaceStyle)\\b",name:"invalid.deprecated.10.8.support.constant.cocoa.objc"},{match:"\\bNSInterfaceStyle\\b",name:"invalid.deprecated.10.8.support.type.cocoa.objc"},{match:"\\bCalSpan\\b",name:"invalid.deprecated.10.8.support.type.objc"},{match:"\\bNS(?:ApplicationLaunchRemoteNotificationKey|HashTableZeroingWeakMemory|InterfaceStyleDefault|MapTableZeroingWeakMemory|Nib(?:Owner|TopLevelObjects)|URLUbiquitousItemPercent(?:DownloadedKey|UploadedKey))\\b",name:"invalid.deprecated.10.8.support.variable.cocoa.objc"},{match:"\\bCal(?:AlarmAction(?:Display|Email|Procedure|Sound)|Calendar(?:StoreErrorDomain|Type(?:Birthday|CalDAV|Exchange|IMAP|Local|Subscription)|sChanged(?:ExternallyNotification|Notification))|DefaultRecurrenceInterval|EventsChanged(?:ExternallyNotification|Notification)|SenderProcessIDKey|TasksChanged(?:ExternallyNotification|Notification)|UserUIDKey)\\b",name:"invalid.deprecated.10.8.support.variable.objc"},{match:"\\bNS(?:NoUnderlineStyle|OpenGLPFA(?:Compliant|SingleRenderer|Window)|SingleUnderlineStyle|URLBookmarkCreationPreferFileIDResolution)\\b",name:"invalid.deprecated.10.9.support.constant.cocoa.objc"},{match:"\\bNS(?:M(?:etadataUbiquitousItemIsDownloadedKey|omentary(?:Light|PushButton))|U(?:RLUbiquitousItemIsDownloadedKey|n(?:derlineStrikethroughMask|scaledWindowMask)))\\b",name:"invalid.deprecated.10.9.support.variable.cocoa.objc"},{match:"\\bNSUserNotification(?:Action|Center)?\\b",name:"invalid.deprecated.tba.support.class.cocoa.objc"},{match:"\\bNS(?:AtomicWrite|DataReadingMapped|JSONReadingAllowFragments|MappedRead|U(?:ncachedRead|serNotificationActivationType(?:ActionButtonClicked|ContentsClicked|None))|VisualEffectMaterial(?:AppearanceBased|Dark|Light|MediumLight|UltraDark)|W(?:indowStyleMaskTexturedBackground|orkspaceLaunch(?:A(?:nd(?:Hide(?:Others)?|Print)|sync)|Default|InhibitingBackgroundOnly|NewInstance|With(?:ErrorPresentation|outA(?:ctivation|ddingToRecents)))))\\b",name:"invalid.deprecated.tba.support.constant.cocoa.objc"},{match:"\\bNS(?:UserNotificationActivationType|WorkspaceLaunchConfigurationKey)\\b",name:"invalid.deprecated.tba.support.type.cocoa.objc"},{match:"\\bNS(?:AutoPagination|B(?:ackgroundStyle(?:Dark|Light)|evelLineJoinStyle|ox(?:OldStyle|Secondary)|uttLineCapStyle)|C(?:l(?:ipPagination|o(?:ckAndCalendarDatePickerStyle|sePathBezierPathElement))|ontrolTintDidChangeNotification|urveToBezierPathElement)|E(?:raDatePickerElementFlag|venOddWindingRule)|FitPagination|HourMinute(?:DatePickerElementFlag|SecondDatePickerElementFlag)|LineToBezierPathElement|M(?:iterLineJoinStyle|oveToBezierPathElement|ultipleValuesMarker)|No(?:SelectionMarker|nZeroWindingRule|tApplicableMarker)|R(?:angeDateMode|oundLine(?:CapStyle|JoinStyle))|S(?:ingleDateMode|quareLineCapStyle)|T(?:extField(?:AndStepperDatePickerStyle|DatePickerStyle)|humbnail1024x1024SizeKey|imeZoneDatePickerElementFlag|oolbar(?:CustomizeToolbarItemIdentifier|SeparatorItemIdentifier))|U(?:RLThumbnail(?:DictionaryKey|Key)|serNotificationDefaultSoundName)|WorkspaceLaunchConfiguration(?:A(?:ppleEvent|r(?:chitecture|guments))|Environment)|YearMonthDa(?:tePickerElementFlag|yDatePickerElementFlag))\\b",name:"invalid.deprecated.tba.support.variable.cocoa.objc"},{match:"\\bIB(?:Action|Inspectable|Outlet|_DESIGNABLE)\\b",name:"storage.type.cocoa.objc"},{match:"\\binstancetype\\b",name:"storage.type.objc"},{match:"\\b(?:CI(?:QRCodeFeature|RectangleFeature)|NS(?:AsynchronousFetchRe(?:quest|sult)|BatchUpdateRe(?:quest|sult)|PersistentStore(?:AsynchronousResult|Result)))\\b",name:"support.class.10.10.objc"},{match:"\\b(?:AU(?:AudioUnit(?:Bus(?:Array)?|Preset|V2Bridge)?|Parameter(?:Group|Node|Tree)?)|C(?:A(?:MetalLayer|SpringAnimation)|I(?:ColorKernel|TextFeature|WarpKernel))|M(?:DL(?:A(?:reaLight|sset)|C(?:amera|heckerboardTexture|olorSwatchTexture)|Light(?:Probe)?|M(?:aterial(?:Property)?|esh(?:Buffer(?:Data(?:Allocator)?|Map))?)|No(?:iseTexture|rmalMapTexture)|Object(?:Container)?|Ph(?:otometricLight|ysicallyPlausible(?:Light|ScatteringFunction))|S(?:catteringFunction|kyCubeTexture|tereoscopicCamera|ubmesh(?:Topology)?)|T(?:exture(?:Filter|Sampler)?|ransform)|URLTexture|V(?:ertex(?:Attribute(?:Data)?|BufferLayout|Descriptor)|oxelArray))|T(?:K(?:Mesh(?:Buffer(?:Allocator)?)?|Submesh|TextureLoader|View)|L(?:Ar(?:gument|rayType)|Comp(?:ileOptions|utePipeline(?:Descriptor|Reflection))|DepthStencilDescriptor|RenderP(?:ass(?:AttachmentDescriptor|ColorAttachmentDescriptor(?:Array)?|De(?:pthAttachmentDescriptor|scriptor)|StencilAttachmentDescriptor)|ipeline(?:ColorAttachmentDescriptor(?:Array)?|Descriptor|Reflection))|S(?:amplerDescriptor|t(?:encilDescriptor|ruct(?:Member|Type)))|TextureDescriptor|Vertex(?:Attribute(?:Descriptor(?:Array)?)?|BufferLayoutDescriptor(?:Array)?|Descriptor))))|NS(?:BatchDeleteRe(?:quest|sult)|ConstraintConflict))\\b",name:"support.class.10.11.objc"},{match:"\\b(?:CIImageProcessorKernel|IOSurface|M(?:DLMaterialProperty(?:Connection|Graph|Node)|TL(?:Attribute(?:Descriptor(?:Array)?)?|BufferLayoutDescriptor(?:Array)?|FunctionConstant(?:Values)?|StageInputOutputDescriptor))|NS(?:FetchedResultsController|Persistent(?:Container|StoreDescription)|QueryGenerationToken))\\b",name:"support.class.10.12.objc"},{match:"\\b(?:CI(?:AztecCodeDescriptor|B(?:arcodeDescriptor|lendKernel)|DataMatrixCodeDescriptor|PDF417CodeDescriptor|QRCodeDescriptor|Render(?:Destination|Info|Task))|M(?:DL(?:Animat(?:ed(?:Matrix4x4|QuaternionArray|Scalar(?:Array)?|V(?:alue|ector(?:2|3(?:Array)?|4)))|ionBindComponent)|BundleAssetResolver|M(?:atrix4x4Array|eshBufferZoneDefault)|Pa(?:ckedJointAnimation|thAssetResolver)|RelativeAssetResolver|Skeleton|Transform(?:MatrixOp|Rotate(?:Op|XOp|YOp|ZOp)|S(?:caleOp|tack)|TranslateOp))|TL(?:ArgumentDescriptor|CaptureManager|HeapDescriptor|P(?:ipelineBufferDescriptor(?:Array)?|ointerType)|T(?:extureReferenceType|ype)))|NS(?:CoreDataCoreSpotlightDelegate|FetchIndex(?:Description|ElementDescription)|PersistentHistory(?:Change(?:Request)?|Result|T(?:oken|ransaction)))|PDFAppearanceCharacteristics)\\b",name:"support.class.10.13.objc"},{match:"\\bM(?:DL(?:AnimatedQuaternion|TransformOrientOp)|TL(?:IndirectCommandBufferDescriptor|Shared(?:Event(?:Handle|Listener)|TextureHandle)))\\b",name:"support.class.10.14.objc"},{match:"\\b(?:CAEDRMetadata|MTL(?:C(?:aptureDescriptor|ounterSampleBufferDescriptor)|RasterizationRate(?:Layer(?:Array|Descriptor)|MapDescriptor|SampleArray))|NS(?:BatchInsertRe(?:quest|sult)|DerivedAttributeDescription|PersistentCloudKitContainer(?:Options)?))\\b",name:"support.class.10.15.objc"},{match:"\\b(?:NS(?:AccessibilityElement|BackgroundActivityScheduler|ClickGestureRecognizer|Date(?:ComponentsFormatter|IntervalFormatter)|E(?:nergyFormatter|xtension(?:Context|Item))|FileAccessIntent|GestureRecognizer|ItemProvider|LengthFormatter|Ma(?:gnificationGestureRecognizer|ssFormatter)|P(?:a(?:nGestureRecognizer|thControlItem)|ress(?:GestureRecognizer|ureConfiguration))|RotationGestureRecognizer|S(?:plitView(?:Controller|Item)|t(?:atusBarButton|oryboard(?:Segue)?))|T(?:abViewController|itlebarAccessoryViewController)|U(?:RLQueryItem|serActivity)|VisualEffectView)|WK(?:BackForwardList(?:Item)?|FrameInfo|Navigation(?:Action|Response)?|Pr(?:eferences|ocessPool)|ScriptMessage|User(?:ContentController|Script)|W(?:ebView(?:Configuration)?|indowFeatures)))\\b",name:"support.class.cocoa.10.10.objc"},{match:"\\b(?:NS(?:AlignmentFeedbackFilter|CollectionView(?:FlowLayout(?:InvalidationContext)?|GridLayout|Layout(?:Attributes|InvalidationContext)?|TransitionLayout|UpdateItem)|D(?:ataAsset|ictionaryControllerKeyValuePair)|HapticFeedbackManager|Layout(?:Anchor|Dimension|Guide|XAxisAnchor|YAxisAnchor)|PersonNameComponents(?:Formatter)?|StringDrawingContext|TableViewRowAction|URLSessionStreamTask)|WK(?:SecurityOrigin|WebsiteData(?:Record|Store)))\\b",name:"support.class.cocoa.10.11.objc"},{match:"\\b(?:NS(?:C(?:andidateListTouchBarItem|olorPickerTouchBarItem|ustomTouchBarItem)|D(?:ateInterval|imension)|FilePromise(?:Provider|Receiver)|Gr(?:id(?:C(?:ell|olumn)|Row|View)|oupTouchBarItem)|ISO8601DateFormatter|Measurement(?:Formatter)?|PopoverTouchBarItem|S(?:crubber(?:ArrangedView|FlowLayout|I(?:mageItemView|temView)|Layout(?:Attributes)?|ProportionalLayout|Selection(?:Style|View)|TextItemView)?|haringServicePickerTouchBarItem|lider(?:Accessory(?:Behavior)?|TouchBarItem))|TouchBar(?:Item)?|U(?:RLSessionTask(?:Metrics|TransactionMetrics)|nit(?:A(?:cceleration|ngle|rea)|Con(?:centrationMass|verter(?:Linear)?)|D(?:ispersion|uration)|E(?:lectric(?:C(?:harge|urrent)|PotentialDifference|Resistance)|nergy)|F(?:requency|uelEfficiency)|Illuminance|Length|Mass|P(?:ower|ressure)|Speed|Temperature|Volume)?))|WKOpenPanelParameters)\\b",name:"support.class.cocoa.10.12.objc"},{match:"\\b(?:NS(?:AccessibilityCustom(?:Action|Rotor(?:ItemResult|SearchParameters)?)|F(?:ileProviderService|ontAssetRequest)|UserInterfaceCompressionOptions|WindowTab(?:Group)?)|WK(?:ContentRuleList(?:Store)?|HTTPCookieStore|SnapshotConfiguration))\\b",name:"support.class.cocoa.10.13.objc"},{match:"\\b(?:NS(?:BindingSelectionMarker|SecureUnarchiveFromDataTransformer|WorkspaceAuthorization)|UN(?:CalendarNotificationTrigger|MutableNotificationContent|Notification(?:A(?:ction|ttachment)|C(?:ategory|ontent)|Re(?:quest|sponse)|S(?:e(?:rviceExtension|ttings)|ound)|Trigger)?|PushNotificationTrigger|T(?:extInputNotification(?:Action|Response)|imeIntervalNotificationTrigger)|UserNotificationCenter))\\b",name:"support.class.cocoa.10.14.objc"},{match:"\\b(?:NS(?:ButtonTouchBarItem|Col(?:lection(?:Layout(?:Anchor|BoundarySupplementaryItem|D(?:ecorationItem|imension)|EdgeSpacing|Group(?:CustomItem)?|Item|S(?:ection|ize|pacing|upplementaryItem))|View(?:CompositionalLayout(?:Configuration)?|DiffableDataSource))|orSampler)|DiffableDataSourceSnapshot|ListFormatter|MenuToolbarItem|OrderedCollection(?:Change|Difference)|PickerTouchBarItem|RelativeDateTimeFormatter|S(?:haringServicePickerToolbarItem|tepperTouchBarItem|witch)|TextCheckingController|U(?:RLSessionWebSocket(?:Message|Task)|nitInformationStorage)|WorkspaceOpenConfiguration)|WKWebpagePreferences)\\b",name:"support.class.cocoa.10.15.objc"},{match:"\\bNS(?:ByteCountFormatter|PageController|SharingService(?:Picker)?|TextAlternatives|U(?:UID|ser(?:A(?:ppleScriptTask|utomatorTask)|ScriptTask|UnixTask))|XPC(?:Co(?:der|nnection)|Interface|Listener(?:Endpoint)?))\\b",name:"support.class.cocoa.10.8.objc"},{match:"\\bNS(?:Appearance|MediaLibraryBrowserController|P(?:DF(?:Info|Panel)|rogress)|StackView|URL(?:Components|Session(?:Configuration|Task)?))\\b",name:"support.class.cocoa.10.9.objc"},{match:"\\b(?:AB(?:AddressBook|Group|Mu(?:ltiValue|tableMultiValue)|Pe(?:oplePickerView|rson(?:View)?)|Record|SearchElement)|NS(?:A(?:TSTypesetter|ctionCell|ffineTransform|lert|nimation(?:Context)?|ppl(?:e(?:Event(?:Descriptor|Manager)|Script)|ication)|rray(?:Controller)?|ssertionHandler|ttributedString|utoreleasePool)|B(?:ezierPath|itmapImageRep|lockOperation|ox|rowser(?:Cell)?|u(?:ndle(?:ResourceRequest)?|tton(?:Cell)?))|C(?:IImageRep|a(?:che(?:dURLResponse)?|lendar)|ell|haracterSet|l(?:assDescription|ipView|o(?:neCommand|seCommand))|o(?:der|l(?:lectionView(?:Item)?|or(?:List|P(?:anel|icker)|Space|Well)?)|m(?:boBox(?:Cell)?|p(?:arisonPredicate|oundPredicate))|n(?:dition(?:Lock)?|stantString|trol(?:ler)?)|unt(?:Command|edSet))|reateCommand|u(?:rsor|stomImageRep))|D(?:at(?:a(?:Detector)?|e(?:Components|Formatter|Picker(?:Cell)?)?)|e(?:cimalNumber(?:Handler)?|leteCommand)|i(?:ctionary(?:Controller)?|rectoryEnumerator|stributed(?:Lock|NotificationCenter))|oc(?:kTile|ument(?:Controller)?)|ragging(?:I(?:mageComponent|tem)|Session))|E(?:PSImageRep|numerator|rror|vent|x(?:ception(?:Handler)?|istsCommand|pression))|F(?:ile(?:Coordinator|Handle|Manager|Security|Version|Wrapper)|o(?:nt(?:Collection|Descriptor|Manager|Panel)?|rm(?:Cell|atter)))|G(?:etCommand|lyph(?:Generator|Info)|ra(?:dient|phicsContext))|H(?:TTP(?:Cookie(?:Storage)?|URLResponse)|ashTable|elpManager|ost)|I(?:mage(?:Cell|Rep|View)?|n(?:dex(?:Path|S(?:et|pecifier))|putStream|vocation(?:Operation)?))|JSONSerialization|Keyed(?:Archiver|Unarchiver)|L(?:ayout(?:Constraint|Manager)|evelIndicator(?:Cell)?|inguisticTagger|o(?:c(?:ale|k)|gicalTest))|M(?:a(?:chPort|pTable|trix)|e(?:nu(?:Item(?:Cell)?)?|ssagePort|t(?:adata(?:Item|Query(?:AttributeValueTuple|ResultGroup)?)|hodSignature))|iddleSpecifier|oveCommand|utable(?:A(?:rray|ttributedString)|CharacterSet|D(?:ata|ictionary)|FontCollection|IndexSet|OrderedSet|ParagraphStyle|S(?:et|tring)|URLRequest))|N(?:ameSpecifier|etService(?:Browser)?|ib(?:Con(?:nector|trolConnector)|OutletConnector)?|otification(?:Center|Queue)?|u(?:ll|mber(?:Formatter)?))|O(?:bjectController|pe(?:nPanel|ration(?:Queue)?)|r(?:deredSet|thography)|ut(?:lineView|putStream))|P(?:DFImageRep|ICTImageRep|a(?:geLayout|nel|ragraphStyle|steboard(?:Item)?|thC(?:ell|o(?:mponentCell|ntrol)))|ersistentDocument|ipe|o(?:inter(?:Array|Functions)|p(?:UpButton(?:Cell)?|over)|rt(?:Message)?|sitionalSpecifier)|r(?:edicate(?:Editor(?:RowTemplate)?)?|int(?:Info|Operation|Panel|er)|o(?:cessInfo|gressIndicator|perty(?:ListSerialization|Specifier)|tocolChecker|xy))|urgeableData)|QuitCommand|R(?:an(?:domSpecifier|geSpecifier)|e(?:cursiveLock|gularExpression|lativeSpecifier|sponder)|u(?:le(?:Editor|r(?:Marker|View))|n(?:Loop|ningApplication)))|S(?:avePanel|c(?:anner|r(?:een|ipt(?:C(?:lassDescription|o(?:ercionHandler|mmand(?:Description)?))|ExecutionContext|ObjectSpecifier|SuiteRegistry|WhoseTest)|oll(?:View|er)))|e(?:archField(?:Cell)?|cureTextField(?:Cell)?|gmentedC(?:ell|ontrol)|t(?:Command)?)|hadow|impleCString|lider(?:Cell)?|o(?:cketPort|rtDescriptor|und)|p(?:e(?:cifierTest|ech(?:Recognizer|Synthesizer)|ll(?:Checker|Server))|litView)|t(?:atus(?:Bar|Item)|epper(?:Cell)?|r(?:eam|ing)))|T(?:a(?:b(?:View(?:Item)?|le(?:C(?:ellView|olumn)|Header(?:Cell|View)|RowView|View))|sk)|ext(?:Attachment(?:Cell)?|Block|C(?:heckingResult|ontainer)|Fi(?:eld(?:Cell)?|nder)|InputContext|List|Storage|Tab(?:le(?:Block)?)?|View)?|hread|ime(?:Zone|r)|o(?:kenField(?:Cell)?|olbar(?:Item(?:Group)?)?|uch)|r(?:ackingArea|ee(?:Controller|Node))|ypesetter)|U(?:RL(?:AuthenticationChallenge|C(?:ache|onnection|redential(?:Storage)?)|Download|Handle|Prot(?:ectionSpace|ocol)|Re(?:quest|sponse)|Session(?:D(?:ataTask|ownloadTask)|UploadTask))?|biquitousKeyValueStore|n(?:doManager|iqueIDSpecifier)|serDefaults(?:Controller)?)|V(?:alue(?:Transformer)?|iew(?:Animation|Controller)?)|W(?:hoseSpecifier|indow(?:Controller)?|orkspace)|XML(?:D(?:TD(?:Node)?|ocument)|Element|Node|Parser))|UNLocationNotificationTrigger|WebResource)\\b",name:"support.class.cocoa.objc"},{match:"\\b(?:AM(?:A(?:ction|ppleScriptAction)|BundleAction|ShellScriptAction|Work(?:flow(?:Controller|View)?|space))|C(?:A(?:Animation(?:Group)?|BasicAnimation|Constraint(?:LayoutManager)?|DisplayLink|Emitter(?:Cell|Layer)|GradientLayer|KeyframeAnimation|Layer|MediaTimingFunction|PropertyAnimation|Re(?:moteLayer(?:Client|Server)|nderer|plicatorLayer)|S(?:crollLayer|hapeLayer)|T(?:extLayer|iledLayer|rans(?:action|formLayer|ition))|ValueFunction)|B(?:GroupIdentity|Identity(?:Authority|Picker)?|UserIdentity)|I(?:Co(?:lor|ntext)|Detector|F(?:aceFeature|eature|ilter(?:Generator|Shape)?)|Image(?:Accumulator)?|Kernel|PlugIn|Sampler|Vector)|X(?:A(?:ction|nswerCallAction)|Call(?:Action|Controller|Directory(?:ExtensionContext|Manager|Provider)|Observer|Update)?|EndCallAction|Handle|P(?:layDTMFCallAction|rovider(?:Configuration)?)|S(?:et(?:GroupCallAction|HeldCallAction|MutedCallAction)|tartCallAction)|Transaction)|al(?:A(?:larm|ttendee)|Calendar(?:Item|Store)?|Event|NthWeekDay|Recurrence(?:End|Rule)|Task))|DR(?:Burn|CDTextBlock|Device|Erase|F(?:SObject|ile|older)|MSF(?:Formatter)?|NotificationCenter|Track)|I(?:C(?:Camera(?:Device|F(?:ile|older)|Item)|Device(?:Browser)?|Scanner(?:BandData|Device|F(?:eature(?:Boolean|Enumeration|Range|Template)?|unctionalUnit(?:DocumentFeeder|Flatbed|NegativeTransparency|PositiveTransparency)?)))|K(?:CameraDeviceView|DeviceBrowserView|Filter(?:Browser(?:Panel|View)|UIView)|Image(?:BrowserCell|EditPanel|View)|PictureTaker|S(?:aveOptions|cannerDeviceView|lideshow))|OBluetooth(?:AccessibilityIgnored(?:ImageCell|TextFieldCell)|Device(?:Inquiry|Pair|SelectorController)?|H(?:andsFree(?:AudioGateway|Device)?|ostController)|L2CAPChannel|O(?:BEXSession|bject(?:PushUIController)?)|Pa(?:iringController|sskeyDisplay)|RFCOMMChannel|S(?:DP(?:DataElement|Service(?:Attribute|Record)|UUID)|erviceBrowserController)|UserNotification))|NS(?:At(?:omicStore(?:CacheNode)?|tributeDescription)|E(?:ntity(?:Description|M(?:apping|igrationPolicy))|xpressionDescription)|Fetch(?:Request(?:Expression)?|edPropertyDescription)|IncrementalStore(?:Node)?|M(?:a(?:nagedObject(?:Context|ID|Model)?|ppingModel)|erge(?:Conflict|Policy)|igrationManager)|Object|P(?:ersistentStore(?:Coordinator|Request)?|r(?:eferencePane|operty(?:Description|Mapping)))|RelationshipDescription|SaveChangesRequest)|O(?:BEX(?:FileTransferServices|Session)|SA(?:Language(?:Instance)?|Script(?:Controller|View)?))|PDF(?:A(?:ction(?:GoTo|Named|Re(?:moteGoTo|setForm)|URL)?|nnotation)|Border|D(?:estination|ocument)|Outline|Page|Selection|ThumbnailView|View)|Q(?:LPreview(?:Panel|View)|uartzFilter(?:Manager|View)?)|S(?:F(?:Authorization(?:PluginView|View)?|C(?:ertificate(?:Panel|TrustPanel|View)|hooseIdentity(?:Panel|TableCellView))|KeychainS(?:avePanel|ettingsPanel))|creenSaver(?:Defaults|View)))\\b",name:"support.class.objc"},{match:"\\bNS(?:BatchUpdateRequestType|StatusOnlyResultType|UpdatedObject(?:IDsResultType|sCountResultType))\\b",name:"support.constant.10.10.objc"},{match:"\\b(?:MTL(?:Argument(?:Access(?:Read(?:Only|Write)|WriteOnly)|Type(?:Buffer|Sampler|T(?:exture|hreadgroupMemory)))|Bl(?:end(?:Factor(?:Blend(?:Alpha|Color)|Destination(?:Alpha|Color)|One(?:Minus(?:Blend(?:Alpha|Color)|Destination(?:Alpha|Color)|Source(?:Alpha|Color)))?|Source(?:Alpha(?:Saturated)?|Color)|Zero)|Operation(?:Add|M(?:ax|in)|ReverseSubtract|Subtract))|itOption(?:DepthFromDepthStencil|None|StencilFromDepthStencil))|C(?:PUCacheMode(?:DefaultCache|WriteCombined)|o(?:lorWriteMask(?:Al(?:l|pha)|Blue|Green|None|Red)|m(?:mandBuffer(?:Error(?:Blacklisted|In(?:ternal|validResource)|No(?:ne|tPermitted)|OutOfMemory|PageFault|Timeout)|Status(?:Com(?:mitted|pleted)|E(?:nqueued|rror)|NotEnqueued|Scheduled))|pareFunction(?:Always|Equal|Greater(?:Equal)?|Less(?:Equal)?|N(?:ever|otEqual))))|ullMode(?:Back|Front|None))|D(?:ataType(?:Array|Bool(?:2|3|4)?|Char(?:2|3|4)?|Float(?:2(?:x(?:2|3|4))?|3(?:x(?:2|3|4))?|4(?:x(?:2|3|4))?)?|Half(?:2(?:x(?:2|3|4))?|3(?:x(?:2|3|4))?|4(?:x(?:2|3|4))?)?|Int(?:2|3|4)?|None|S(?:hort(?:2|3|4)?|truct)|U(?:Char(?:2|3|4)?|Int(?:2|3|4)?|Short(?:2|3|4)?))|epthClipModeCl(?:amp|ip))|F(?:eatureSet_(?:OSX_GPUFamily1_v1|macOS_GPUFamily1_v1)|unctionType(?:Fragment|Kernel|Vertex))|IndexTypeUInt(?:16|32)|L(?:anguageVersion1_1|ibraryError(?:Compile(?:Failure|Warning)|Internal|Unsupported)|oadAction(?:Clear|DontCare|Load))|P(?:i(?:pelineOption(?:ArgumentInfo|BufferTypeInfo|None)|xelFormat(?:A8Unorm|B(?:C(?:1_RGBA(?:_sRGB)?|2_RGBA(?:_sRGB)?|3_RGBA(?:_sRGB)?|4_R(?:Snorm|Unorm)|5_RG(?:Snorm|Unorm)|6H_RGB(?:Float|Ufloat)|7_RGBAUnorm(?:_sRGB)?)|GR(?:A8Unorm(?:_sRGB)?|G422))|Depth(?:24Unorm_Stencil8|32Float(?:_Stencil8)?)|GBGR422|Invalid|R(?:16(?:Float|S(?:int|norm)|U(?:int|norm))|32(?:Float|Sint|Uint)|8(?:S(?:int|norm)|U(?:int|norm))|G(?:1(?:1B10Float|6(?:Float|S(?:int|norm)|U(?:int|norm)))|32(?:Float|Sint|Uint)|8(?:S(?:int|norm)|U(?:int|norm))|B(?:10A2U(?:int|norm)|9E5Float|A(?:16(?:Float|S(?:int|norm)|U(?:int|norm))|32(?:Float|Sint|Uint)|8(?:S(?:int|norm)|U(?:int|norm(?:_sRGB)?))))))|Stencil8))|rimitiveT(?:opologyClass(?:Line|Point|Triangle|Unspecified)|ype(?:Line(?:Strip)?|Point|Triangle(?:Strip)?))|urgeableState(?:Empty|KeepCurrent|NonVolatile|Volatile))|Resource(?:CPUCacheMode(?:DefaultCache|WriteCombined)|OptionCPUCacheMode(?:Default|WriteCombined)|StorageMode(?:Managed|Private|Shared))|S(?:ampler(?:AddressMode(?:ClampTo(?:Edge|Zero)|Mirror(?:ClampToEdge|Repeat)|Repeat)|Mi(?:nMagFilter(?:Linear|Nearest)|pFilter(?:Linear|N(?:earest|otMipmapped))))|t(?:encilOperation(?:Decrement(?:Clamp|Wrap)|In(?:crement(?:Clamp|Wrap)|vert)|Keep|Replace|Zero)|or(?:ageMode(?:Managed|Private|Shared)|eAction(?:DontCare|MultisampleResolve|Store))))|T(?:exture(?:Type(?:1D(?:Array)?|2D(?:Array|Multisample)?|3D|Cube(?:Array)?)|Usage(?:PixelFormatView|RenderTarget|Shader(?:Read|Write)|Unknown))|riangleFillMode(?:Fill|Lines))|V(?:ertex(?:Format(?:Char(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|Float(?:2|3|4)?|Half(?:2|3|4)|In(?:t(?:1010102Normalized|2|3|4)?|valid)|Short(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|U(?:Char(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|Int(?:1010102Normalized|2|3|4)?|Short(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)))|StepFunction(?:Constant|Per(?:Instance|Vertex)))|isibilityResultMode(?:Boolean|Counting|Disabled))|WindingC(?:lockwise|ounterClockwise))|NSBatchDeleteRe(?:questType|sultType(?:Count|ObjectIDs|StatusOnly)))\\b",name:"support.constant.10.11.objc"},{match:"\\b(?:MTL(?:AttributeFormat(?:Char(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|Float(?:2|3|4)?|Half(?:2|3|4)|In(?:t(?:1010102Normalized|2|3|4)?|valid)|Short(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|U(?:Char(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)|Int(?:1010102Normalized|2|3|4)?|Short(?:2(?:Normalized)?|3(?:Normalized)?|4(?:Normalized)?)))|BlendFactor(?:OneMinusSource1(?:Alpha|Color)|Source1(?:Alpha|Color))|FeatureSet_(?:OSX_(?:GPUFamily1_v2|ReadWriteTextureTier2)|macOS_(?:GPUFamily1_v2|ReadWriteTextureTier2))|L(?:anguageVersion1_2|ibraryErrorF(?:ileNotFound|unctionNotFound))|P(?:atchType(?:None|Quad|Triangle)|ixelFormat(?:Depth16Unorm|X(?:24_Stencil8|32_Stencil8)))|S(?:ampler(?:AddressModeClampToBorderColor|BorderColor(?:Opaque(?:Black|White)|TransparentBlack))|t(?:epFunction(?:Constant|Per(?:Instance|Patch(?:ControlPoint)?|Vertex)|ThreadPositionInGrid(?:X(?:Indexed)?|Y(?:Indexed)?))|oreAction(?:StoreAndMultisampleResolve|Unknown)))|Tessellation(?:ControlPointIndexType(?:None|UInt(?:16|32))|Factor(?:FormatHalf|StepFunction(?:Constant|Per(?:Instance|Patch(?:AndPerInstance)?)))|PartitionMode(?:Fractional(?:Even|Odd)|Integer|Pow2))|VertexStepFunctionPerPatch(?:ControlPoint)?)|NSFetchedResultsChange(?:Delete|Insert|Move|Update))\\b",name:"support.constant.10.12.objc"},{match:"\\b(?:M(?:DLDataPrecision(?:Double|Float|Undefined)|TL(?:A(?:rgumentBuffersTier(?:1|2)|ttributeFormat(?:Char(?:Normalized)?|Half|Short(?:Normalized)?|U(?:Char(?:4Normalized_BGRA|Normalized)?|Short(?:Normalized)?)))|CommandBufferErrorDeviceRemoved|DataType(?:Pointer|Sampler|Texture)|FeatureSet_macOS_GPUFamily1_v3|LanguageVersion2_0|Mutability(?:Default|Immutable|Mutable)|PixelFormatBGR10A2Unorm|Re(?:adWriteTextureTier(?:1|2|None)|nderStage(?:Fragment|Vertex)|source(?:HazardTrackingMode(?:Default|Untracked)|Usage(?:Read|Sample|Write)))|StoreAction(?:CustomSampleDepthStore|Option(?:CustomSamplePositions|None))|VertexFormat(?:Char(?:Normalized)?|Half|Short(?:Normalized)?|U(?:Char(?:4Normalized_BGRA|Normalized)?|Short(?:Normalized)?))))|NS(?:FetchIndexElementType(?:Binary|RTree)|PersistentHistory(?:ChangeType(?:Delete|Insert|Update)|ResultType(?:C(?:hangesOnly|ount)|ObjectIDs|StatusOnly|Transactions(?:AndChanges|Only)))|U(?:RIAttributeType|UIDAttributeType)))\\b",name:"support.constant.10.13.objc"},{match:"\\bMTL(?:BarrierScope(?:Buffers|RenderTargets|Textures)|D(?:ataType(?:IndirectCommandBuffer|RenderPipeline)|ispatchType(?:Concurrent|Serial))|FeatureSet_macOS_GPUFamily(?:1_v4|2_v1)|IndirectCommandTypeDraw(?:Indexed)?|LanguageVersion2_1|Multisample(?:DepthResolveFilter(?:M(?:ax|in)|Sample0)|StencilResolveFilter(?:DepthResolvedSample|Sample0))|TextureType(?:2DMultisampleArray|TextureBuffer))\\b",name:"support.constant.10.14.objc"},{match:"\\b(?:MTL(?:C(?:apture(?:Destination(?:DeveloperTools|GPUTraceDocument)|Error(?:AlreadyCapturing|InvalidDescriptor|NotSupported))|ounterSampleBufferError(?:Internal|OutOfMemory))|DeviceLocation(?:BuiltIn|External|Slot|Unspecified)|GPUFamily(?:Apple(?:1|2|3|4|5)|Common(?:1|2|3)|Mac(?:1|2|Catalyst(?:1|2)))|H(?:azardTrackingMode(?:Default|Tracked|Untracked)|eapType(?:Automatic|Placement))|LanguageVersion2_2|ResourceHazardTrackingModeTracked|TextureSwizzle(?:Alpha|Blue|Green|One|Red|Zero))|NSBatchInsertRequest(?:ResultType(?:Count|ObjectIDs|StatusOnly)|Type))\\b",name:"support.constant.10.15.objc"},{match:"\\b(?:NS(?:B(?:ackgroundActivityResult(?:Deferred|Finished)|itmapFormat(?:SixteenBit(?:BigEndian|LittleEndian)|ThirtyTwoBit(?:BigEndian|LittleEndian))|uttonType(?:Accelerator|MultiLevelAccelerator))|CompositingOperation(?:Color(?:Burn|Dodge)?|D(?:arken|ifference)|Exclusion|H(?:ardLight|ue)|L(?:ighten|uminosity)|Multiply|Overlay|S(?:aturation|creen|oftLight))|DateIntervalFormatter(?:FullStyle|LongStyle|MediumStyle|NoStyle|ShortStyle)|E(?:nergyFormatterUnit(?:Calorie|Joule|Kilo(?:calorie|joule))|vent(?:MaskPressure|Type(?:DirectTouch|Pressure)))|F(?:ileCoordinator(?:Reading(?:ForUploading|ImmediatelyAvailableMetadataOnly)|WritingContentIndependentMetadataOnly)|ormatting(?:Context(?:BeginningOfSentence|Dynamic|ListItem|MiddleOfSentence|Standalone|Unknown)|UnitStyle(?:Long|Medium|Short)))|ItemProvider(?:ItemUnavailableError|Un(?:expectedValueClassError|knownError))|LengthFormatterUnit(?:Centimeter|Foot|Inch|Kilometer|M(?:eter|il(?:e|limeter))|Yard)|MassFormatterUnit(?:Gram|Kilogram|Ounce|Pound|Stone)|Pro(?:cessInfoThermalState(?:Critical|Fair|Nominal|Serious)|pertyListWriteInvalidError)|QualityOfService(?:Background|Default|U(?:serIn(?:itiated|teractive)|tility))|SegmentS(?:tyleSeparated|witchTrackingMomentaryAccelerator)|TokenStyle(?:PlainSquared|Squared)|U(?:RL(?:Error(?:BackgroundSession(?:InUseByAnotherProcess|RequiresSharedContainer|WasDisconnected)|CancelledReason(?:BackgroundUpdatesDisabled|InsufficientSystemResources|UserForceQuitApplication))|Relationship(?:Contains|Other|Same))|ser(?:Activity(?:ConnectionUnavailableError|ErrorM(?:aximum|inimum)|Handoff(?:FailedError|UserInfoTooLargeError)|RemoteApplicationTimedOutError)|NotificationActivationTypeAdditionalActionClicked))|WindowStyleMaskFullSizeContentView)|WK(?:Error(?:JavaScriptExceptionOccurred|Unknown|Web(?:ContentProcessTerminated|ViewInvalidated))|Navigation(?:ActionPolicy(?:Allow|Cancel)|ResponsePolicy(?:Allow|Cancel)|Type(?:BackForward|Form(?:Resubmitted|Submitted)|LinkActivated|Other|Reload))|UserScriptInjectionTimeAtDocument(?:End|Start)))\\b",name:"support.constant.cocoa.10.10.objc"},{match:"\\b(?:NS(?:Appl(?:eEventSend(?:AlwaysInteract|Can(?:Interact|SwitchLayer)|D(?:efaultOptions|ont(?:Annotate|Execute|Record))|N(?:everInteract|oReply)|QueueReply|WaitForReply)|icationPresentationDisableCursorLocationAssistance)|BundleErrorM(?:aximum|inimum)|Co(?:der(?:ErrorM(?:aximum|inimum)|ReadCorruptError|ValueNotFoundError)|llection(?:ElementCategory(?:DecorationView|I(?:nterItemGap|tem)|SupplementaryView)|View(?:ItemHighlight(?:AsDropTarget|For(?:Deselection|Selection)|None)|ScrollDirection(?:Horizontal|Vertical)))|n(?:ditionalExpressionType|trolCharacterAction(?:ContainerBreak|HorizontalTab|LineBreak|ParagraphBreak|Whitespace|ZeroAdvancement)))|DecodingFailurePolicy(?:RaiseException|SetErrorAndReturn)|FileManagerUnmount(?:AllPartitionsAndEjectDisk|BusyError|UnknownError|WithoutUI)|GlyphProperty(?:ControlCharacter|Elastic|N(?:onBaseCharacter|ull))|ItemProviderUnavailableCoercionError|Layout(?:AttributeFirstBaseline|FormatAlignAllFirstBaseline)|NumberFormatter(?:Currency(?:AccountingStyle|ISOCodeStyle|PluralStyle)|OrdinalStyle)|PersonNameComponentsFormatter(?:Phonetic|Style(?:Abbreviated|Default|Long|Medium|Short))|URL(?:ErrorAppTransportSecurityRequiresSecureConnection|SessionResponseBecomeStream)|VisualEffectMaterial(?:Menu|Popover|Sidebar)|W(?:indowCollectionBehaviorFullScreen(?:AllowsTiling|DisallowsTiling)|ritingDirection(?:Embedding|Override)))|WKErrorJavaScriptResultTypeIsUnsupported)\\b",name:"support.constant.cocoa.10.11.objc"},{match:"\\b(?:NS(?:CloudSharing(?:ConflictError|ErrorM(?:aximum|inimum)|N(?:etworkFailureError|oPermissionError)|OtherError|QuotaExceededError|TooManyParticipantsError)|DateComponentsFormatterUnitsStyleBrief|EventMaskDirectTouch|I(?:SO8601DateFormatWith(?:ColonSeparatorInTime(?:Zone)?|Da(?:shSeparatorInDate|y)|Full(?:Date|Time)|InternetDateTime|Month|SpaceBetweenDateAndTime|Time(?:Zone)?|WeekOfYear|Year)|mage(?:Leading|Trailing))|MeasurementFormatterUnitOptions(?:NaturalScale|ProvidedUnit|TemperatureWithoutUnit)|URL(?:ErrorFileOutsideSafeArea|NetworkServiceTypeCallSignaling|SessionTaskMetricsResourceFetchType(?:LocalCache|NetworkLoad|ServerPush|Unknown)))|WK(?:AudiovisualMediaType(?:A(?:ll|udio)|None|Video)|UserInterfaceDirectionPolicy(?:Content|System)))\\b",name:"support.constant.cocoa.10.12.objc"},{match:"\\b(?:NS(?:CoderInvalidValueError|Font(?:AssetDownloadError|ErrorM(?:aximum|inimum))|I(?:SO8601DateFormatWithFractionalSeconds|temProvider(?:FileOptionOpenInPlace|RepresentationVisibility(?:All|Group|OwnProcess)))|JSONWritingSortedKeys|URLSessionDelayedRequest(?:C(?:ancel|ontinueLoading)|UseNewRequest))|WKErrorContentRuleListStore(?:CompileFailed|LookUpFailed|RemoveFailed|VersionMismatch))\\b",name:"support.constant.cocoa.10.13.objc"},{match:"\\b(?:NS(?:VisualEffectMaterial(?:ContentBackground|FullScreenUI|H(?:UDWindow|eaderView)|Sheet|ToolTip|Under(?:PageBackground|WindowBackground)|WindowBackground)|Workspace(?:AuthorizationInvalidError|ErrorM(?:aximum|inimum)))|UN(?:A(?:lertStyle(?:Alert|Banner|None)|uthorization(?:Option(?:Alert|Badge|C(?:arPlay|riticalAlert)|Provi(?:desAppNotificationSettings|sional)|Sound)|Status(?:Authorized|Denied|NotDetermined|Provisional)))|ErrorCode(?:Attachment(?:Corrupt|Invalid(?:FileSize|URL)|MoveIntoDataStoreFailed|NotInDataStore|UnrecognizedType)|Notification(?:InvalidNo(?:Content|Date)|sNotAllowed))|Notification(?:ActionOption(?:AuthenticationRequired|Destructive|Foreground)|CategoryOption(?:CustomDismissAction|HiddenPreviewsShow(?:Subtitle|Title))|PresentationOption(?:Alert|Badge|Sound)|Setting(?:Disabled|Enabled|NotSupported))|ShowPreviewsSetting(?:Always|Never|WhenAuthenticated)))\\b",name:"support.constant.cocoa.10.14.objc"},{match:"\\b(?:NS(?:Co(?:llectionChange(?:Insert|Remove)|mpression(?:ErrorM(?:aximum|inimum)|FailedError))|D(?:ataCompressionAlgorithm(?:LZ(?:4|FSE|MA)|Zlib)|ecompressionFailedError|irectoryEnumeration(?:IncludesDirectoriesPostOrder|ProducesRelativePathURLs))|Event(?:MaskChangeMode|TypeChangeMode)|JSONWritingWithoutEscapingSlashes|OrderedCollectionDifferenceCalculation(?:InferMoves|Omit(?:InsertedObjects|RemovedObjects))|PickerTouchBarItem(?:ControlRepresentation(?:Automatic|Collapsed|Expanded)|SelectionMode(?:Momentary|Select(?:Any|One)))|RelativeDateTimeFormatter(?:StyleN(?:amed|umeric)|UnitsStyle(?:Abbreviated|Full|S(?:hort|pellOut)))|T(?:extScaling(?:Standard|iOS)|oolbarItemGroup(?:ControlRepresentation(?:Automatic|Collapsed|Expanded)|SelectionMode(?:Momentary|Select(?:Any|One))))|URL(?:ErrorNetworkUnavailableReason(?:C(?:ellular|onstrained)|Expensive)|SessionWebSocket(?:CloseCode(?:AbnormalClosure|GoingAway|In(?:ternalServerError|valid(?:FramePayloadData)?)|M(?:andatoryExtensionMissing|essageTooBig)|No(?:StatusReceived|rmalClosure)|P(?:olicyViolation|rotocolError)|TLSHandshakeFailure|UnsupportedData)|MessageType(?:Data|String))))|WKErrorAttributedStringContent(?:FailedToLoad|LoadTimedOut))\\b",name:"support.constant.cocoa.10.15.objc"},{match:"\\bNS(?:A(?:pplicationScriptsDirectory|utosaveAsOperation)|DataWritingWithoutOverwriting|Event(?:MaskSmartMagnify|Type(?:QuickLook|SmartMagnify))|FeatureUnsupportedError|PointerFunctionsWeakMemory|RemoteNotificationType(?:Alert|Sound)|TrashDirectory|U(?:RLCredentialPersistenceSynchronizable|biquitousKeyValueStoreAccountChange)|XPCConnection(?:ErrorM(?:aximum|inimum)|In(?:terrupted|valid)|Privileged|ReplyInvalid))\\b",name:"support.constant.cocoa.10.8.objc"},{match:"\\bNS(?:A(?:ctivity(?:AutomaticTerminationDisabled|Background|Idle(?:DisplaySleepDisabled|SystemSleepDisabled)|LatencyCritical|SuddenTerminationDisabled|UserInitiated(?:AllowingIdleSystemSleep)?)|nyKeyExpressionType)|Calendar(?:Match(?:First|Last|NextTime(?:PreservingSmallerUnits)?|PreviousTimePreservingSmallerUnits|Strictly)|SearchBackwards)|DataBase64(?:DecodingIgnoreUnknownCharacters|Encoding(?:64CharacterLineLength|76CharacterLineLength|EndLineWith(?:CarriageReturn|LineFeed)))|NetServiceListenForConnections|TableViewDraggingDestinationFeedbackStyleGap|U(?:RL(?:NetworkServiceType(?:AVStreaming|ResponsiveAV)|Session(?:AuthChallenge(?:CancelAuthenticationChallenge|PerformDefaultHandling|RejectProtectionSpace|UseCredential)|Response(?:Allow|BecomeDownload|Cancel)|TaskState(?:C(?:anceling|ompleted)|Running|Suspended)))|biquitousFile(?:ErrorM(?:aximum|inimum)|NotUploadedDueToQuotaError|U(?:biquityServerNotAvailable|navailableError))|serNotificationActivationTypeReplied)|ViewLayerContentsRedrawCrossfade)\\b",name:"support.constant.cocoa.10.9.objc"},{name:"support.constant.cocoa.objc"},{name:"support.constant.objc"},{match:"\\bOBJC_ASSOCIATION_(?:ASSIGN|COPY(?:_NONATOMIC)?|RETAIN(?:_NONATOMIC)?)\\b",name:"support.constant.run-time.objc"},{match:"\\bNSBatchUpdateRequestResultType\\b",name:"support.type.10.10.objc"},{match:"\\b(?:MTL(?:Argument(?:Access|Type)|Bl(?:end(?:Factor|Operation)|itOption)|C(?:PUCacheMode|o(?:lorWriteMask|m(?:mandBuffer(?:Error|Status)|pareFunction))|ullMode)|D(?:ataType|epthClipMode)|F(?:eatureSet|unctionType)|IndexType|L(?:anguageVersion|ibraryError|oadAction)|P(?:i(?:pelineOption|xelFormat)|rimitiveT(?:opologyClass|ype)|urgeableState)|ResourceOptions|S(?:ampler(?:AddressMode|Mi(?:nMagFilter|pFilter))|t(?:encilOperation|or(?:ageMode|eAction)))|T(?:exture(?:Type|Usage)|riangleFillMode)|V(?:ertex(?:Format|StepFunction)|isibilityResultMode)|Winding)|NSBatchDeleteRequestResultType)\\b",name:"support.type.10.11.objc"},{match:"\\b(?:MT(?:KTextureLoaderArrayCallback|L(?:AttributeFormat|PatchType|S(?:amplerBorderColor|tepFunction)|Tessellation(?:ControlPointIndexType|Factor(?:Format|StepFunction)|PartitionMode)))|NSFetchedResultsChangeType)\\b",name:"support.type.10.12.objc"},{match:"\\b(?:M(?:DLDataPrecision|TL(?:ArgumentBuffersTier|DeviceNotification(?:Handler|Name)|Mutability|Re(?:adWriteTextureTier|nderStages|sourceUsage)|StoreActionOptions))|NS(?:FetchIndexElementType|PersistentHistory(?:ChangeType|ResultType))|PDFDisplayDirection)\\b",name:"support.type.10.13.objc"},{match:"\\bMTL(?:BarrierScope|DispatchType|IndirectCommand(?:BufferExecutionRange|Type)|Multisample(?:DepthResolveFilter|StencilResolveFilter)|StageInRegionIndirectArguments)\\b",name:"support.type.10.14.objc"},{match:"\\b(?:IC(?:CameraItem(?:MetadataOption|ThumbnailOption)|Delete(?:Error|Result)|SessionOptions)|MTL(?:C(?:apture(?:Destination|Error)|o(?:mmonCounter(?:Set)?|unter(?:Result(?:Sta(?:geUtilization|tistic)|Timestamp)|SampleBufferError)))|DeviceLocation|GPUFamily|H(?:azardTrackingMode|eapType)|TextureSwizzle(?:Channels)?|VertexAmplificationViewMapping)|NSBatchInsertRequestResultType)\\b",name:"support.type.10.15.objc"},{match:"\\b(?:NS(?:Accessibility(?:Orientation|RulerMarkerType|SortDirection|Units)|BackgroundActivityResult|Date(?:ComponentsFormatter(?:UnitsStyle|ZeroFormattingBehavior)|IntervalFormatterStyle)|EnergyFormatterUnit|Formatting(?:Context|UnitStyle)|GestureRecognizerState|I(?:mageResizingMode|temProviderErrorCode)|LengthFormatterUnit|MassFormatterUnit|Pr(?:essureBehavior|ocessInfoThermalState)|QualityOfService|TabViewControllerTabStyle|URLRelationship|Vi(?:ewControllerTransitionOptions|sualEffect(?:BlendingMode|Material|State))|WindowTitleVisibility)|WK(?:ErrorCode|Navigation(?:ActionPolicy|ResponsePolicy|Type)|UserScriptInjectionTime))\\b",name:"support.type.cocoa.10.10.objc"},{match:"\\bNS(?:AppleEventSendOptions|Co(?:llection(?:ElementCategory|UpdateAction|View(?:ItemHighlightState|ScrollDirection))|ntrolCharacterAction)|D(?:ataAssetName|ecodingFailurePolicy)|FileManagerUnmountOptions|GlyphProperty|HapticFeedbackP(?:attern|erformanceTime)|PersonNameComponentsFormatter(?:Options|Style)|S(?:p(?:litViewItem(?:Behavior|CollapseBehavior)|ringLoading(?:Highlight|Options))|tackViewDistribution)|T(?:able(?:RowActionEdge|ViewRowActionStyle)|extStorageEditActions)|WritingDirectionFormatType)\\b",name:"support.type.cocoa.10.11.objc"},{match:"\\b(?:NS(?:CloudKitSharingServiceOptions|DisplayGamut|Grid(?:CellPlacement|RowAlignment)|ImageLayoutDirection|MeasurementFormatterUnitOptions|PasteboardContentsOptions|S(?:crubber(?:Alignment|Mode)|liderAccessoryWidth|tatusItemBehavior)|T(?:ab(?:Position|ViewBorderType)|ouch(?:BarItemPriority|Type(?:Mask)?))|URLSessionTaskMetricsResourceFetchType|Window(?:ListOptions|TabbingMode|UserTabbingPreference))|WK(?:AudiovisualMediaTypes|UserInterfaceDirectionPolicy))\\b",name:"support.type.cocoa.10.12.objc"},{match:"\\bNS(?:Accessibility(?:AnnotationPosition|CustomRotor(?:SearchDirection|Type))|FontAssetRequestOptions|ItemProvider(?:FileOptions|RepresentationVisibility)|SegmentDistribution|URLSessionDelayedRequestDisposition)\\b",name:"support.type.cocoa.10.13.objc"},{match:"\\b(?:NS(?:ColorSystemEffect|WorkspaceAuthorizationType)|UN(?:A(?:lertStyle|uthorization(?:Options|Status))|ErrorCode|Notification(?:ActionOptions|CategoryOptions|PresentationOptions|Setting)|ShowPreviewsSetting))\\b",name:"support.type.cocoa.10.14.objc"},{match:"\\bNS(?:AttributedStringCompletionHandler|Collection(?:ChangeType|LayoutSectionOrthogonalScrollingBehavior)|D(?:ataCompressionAlgorithm|irectional(?:EdgeInsets|RectEdge))|OrderedCollectionDifferenceCalculationOptions|PickerTouchBarItem(?:ControlRepresentation|SelectionMode)|Re(?:ctAlignment|lativeDateTimeFormatter(?:Style|UnitsStyle))|T(?:extScalingType|oolbarItemGroup(?:ControlRepresentation|SelectionMode))|URL(?:ErrorNetworkUnavailableReason|SessionWebSocket(?:CloseCode|MessageType)))\\b",name:"support.type.cocoa.10.15.objc"},{match:"\\bNS(?:PageControllerTransitionStyle|SharingContentScope|XPCConnectionOptions)\\b",name:"support.type.cocoa.10.8.objc"},{match:"\\bNS(?:A(?:c(?:cessibilityPriorityLevel|tivityOptions)|pplicationOcclusionState)|DataBase64(?:DecodingOptions|EncodingOptions)|MediaLibrary|P(?:DFPanelOptions|aperOrientation)|StackView(?:Gravity|VisibilityPriority)|U(?:RLSession(?:AuthChallengeDisposition|ResponseDisposition|TaskState)|serInterfaceLayoutOrientation)|WindowOcclusionState|XMLParserExternalEntityResolvingPolicy)\\b",name:"support.type.cocoa.10.9.objc"},{match:"\\b(?:AB(?:P(?:eoplePickerSelectionBehavior|ropertyType)|SearchCo(?:mparison|njunction))|DOM(?:ObjectInternal|TimeStamp)|NS(?:A(?:boutPanelOptionKey|c(?:cessibility(?:A(?:ctionName|nnotation(?:AttributeKey|Position)|ttributeName)|CustomRotor(?:SearchDirection|Type)|FontAttributeKey|LoadingToken|Notification(?:Name|UserInfoKey)|Orientation(?:Value)?|P(?:arameterizedAttributeName|riorityLevel)|R(?:ole|uler(?:MarkerType(?:Value)?|UnitValue))|S(?:ortDirection(?:Value)?|ubrole)|Units)|tivityOptions)|ffineTransformStruct|l(?:ertStyle|ignmentOptions)|nimat(?:ablePropertyKey|ion(?:BlockingMode|Curve|Effect|Progress))|pp(?:KitVersion|earanceName|l(?:eEvent(?:ManagerSuspensionID|SendOptions)|ication(?:Activation(?:Options|Policy)|DelegateReply|OcclusionState|Pr(?:esentationOptions|intReply)|TerminateReply)))|ttributedString(?:Document(?:AttributeKey|ReadingOptionKey|Type)|EnumerationOptions|Key)|utoresizingMaskOptions)|B(?:ack(?:ground(?:Activity(?:CompletionHandler|Result)|Style)|ingStoreType)|ez(?:elStyle|ierPathElement)|i(?:n(?:arySearchingOptions|ding(?:InfoKey|Name|Option))|tmap(?:Format|Image(?:FileType|RepPropertyKey)))|o(?:rderType|xType)|rowser(?:Column(?:ResizingType|sAutosaveName)|DropOperation)|uttonType|yteCountFormatter(?:CountStyle|Units))|C(?:al(?:culationError|endar(?:Identifier|Options|Unit))|ell(?:Attribute|HitResult|ImagePosition|StyleMask|Type)|haracterCollection|loudKitSharingServiceOptions|o(?:l(?:lection(?:ChangeType|ElementCategory|Layout(?:GroupCustomItemProvider|Section(?:OrthogonalScrollingBehavior|VisibleItemsInvalidationHandler))|UpdateAction|View(?:CompositionalLayoutSectionProvider|D(?:ecorationElementKind|iffableDataSource(?:ItemProvider|SupplementaryViewProvider)|ropOperation)|ItemHighlightState|S(?:croll(?:Direction|Position)|upplementaryElementKind)|TransitionLayoutAnimatedKey))|or(?:ListName|Name|Panel(?:Mode|Options)|RenderingIntent|S(?:pace(?:Model|Name)|ystemEffect)|Type))|mp(?:ar(?:ator|ison(?:Predicate(?:Modifier|Options)|Result))|o(?:sitingOperation|undPredicateType))|ntrol(?:CharacterAction|S(?:ize|tateValue)|Tint)|rrection(?:IndicatorType|Response)))|D(?:at(?:a(?:Base64(?:DecodingOptions|EncodingOptions)|CompressionAlgorithm|ReadingOptions|SearchOptions|WritingOptions)|e(?:ComponentsFormatter(?:UnitsStyle|ZeroFormattingBehavior)|Formatter(?:Behavior|Style)|IntervalFormatterStyle|Picker(?:ElementFlags|Mode|Style)))|e(?:c(?:imal|odingFailurePolicy)|finition(?:OptionKey|PresentationType)|viceDescriptionKey)|i(?:rect(?:ional(?:EdgeInsets|RectEdge)|oryEnumerationOptions)|s(?:playGamut|tributedNotification(?:CenterType|Options)))|ocumentChangeType|ra(?:g(?:Operation|ging(?:Context|Formation|I(?:mageComponentKey|temEnumerationOptions)))|werState))|E(?:dgeInsets|n(?:ergyFormatterUnit|umerationOptions)|rror(?:Domain|UserInfoKey)|vent(?:ButtonMask|GestureAxis|M(?:ask|odifierFlags)|Phase|S(?:ubtype|wipeTrackingOptions)|Type)|x(?:ceptionName|pressionType))|F(?:astEnumerationState|i(?:le(?:Attribute(?:Key|Type)|Coordinator(?:ReadingOptions|WritingOptions)|Manager(?:ItemReplacementOptions|UnmountOptions)|Pro(?:tectionType|viderServiceName)|Version(?:AddingOptions|ReplacingOptions)|Wrapper(?:ReadingOptions|WritingOptions))|ndPanel(?:Action|SubstringMatchType))|o(?:cusRing(?:Placement|Type)|nt(?:A(?:ction|ssetRequestOptions)|Collection(?:ActionTypeKey|MatchingOptionKey|Name|Options|UserInfoKey|Visibility)|Descriptor(?:AttributeName|FeatureKey|Sy(?:mbolicTraits|stemDesign)|TraitKey|VariationKey)|FamilyClass|PanelModeMask|RenderingMode|SymbolicTraits|TraitMask|Weight)|rmatting(?:Context|UnitStyle)))|G(?:estureRecognizerState|lyph(?:Inscription|Property)?|r(?:a(?:dient(?:DrawingOptions|Type)|phicsContext(?:AttributeKey|RepresentationFormatName))|id(?:CellPlacement|RowAlignment)))|H(?:TTPCookie(?:AcceptPolicy|PropertyKey|StringPolicy)|a(?:pticFeedbackP(?:attern|erformanceTime)|sh(?:Enumerator|Table(?:CallBacks|Options)))|elp(?:AnchorName|BookName|ManagerContextHelpKey))|I(?:SO8601DateFormatOptions|mage(?:Alignment|CacheMode|FrameStyle|HintKey|Interpolation|L(?:ayoutDirection|oadStatus)|Name|Re(?:pLoadStatus|sizingMode)|Scaling)|nsertionPosition|temProvider(?:CompletionHandler|ErrorCode|FileOptions|LoadHandler|RepresentationVisibility))|JSON(?:ReadingOptions|WritingOptions)|KeyValue(?:Change(?:Key)?|O(?:bservingOptions|perator)|SetMutationKind)|L(?:ayout(?:Attribute|ConstraintOrientation|FormatOptions|Priority|Relation)|e(?:ngthFormatterUnit|velIndicator(?:PlaceholderVisibility|Style))|in(?:e(?:BreakMode|CapStyle|JoinStyle|MovementDirection|SweepDirection)|guisticTag(?:Scheme|ger(?:Options|Unit))?)|ocale(?:Key|LanguageDirection))|M(?:a(?:chPortOptions|p(?:Enumerator|Table(?:KeyCallBacks|Options|ValueCallBacks))|ssFormatterUnit|t(?:ching(?:Flags|Options)|rixMode))|e(?:asurementFormatterUnitOptions|diaLibrary|nuProperties)|odal(?:Response|Session)|ultibyteGlyphPacking)|N(?:etService(?:Options|sError)|ibName|otification(?:Coalescing|Name|SuspensionBehavior)|umberFormatter(?:Behavior|PadPosition|RoundingMode|Style))|O(?:pe(?:nGL(?:ContextParameter|GlobalOption)|rati(?:ngSystemVersion|onQueuePriority))|rderedCollectionDifferenceCalculationOptions)|P(?:DFPanelOptions|a(?:geController(?:ObjectIdentifier|TransitionStyle)|perOrientation|steboard(?:ContentsOptions|Name|ReadingOption(?:Key|s)|Type(?:FindPanelSearchOptionKey|TextFinderOptionKey)?|WritingOptions)|thStyle)|ersonNameComponentsFormatter(?:Options|Style)|ickerTouchBarItem(?:ControlRepresentation|SelectionMode)|o(?:int(?:Array|Pointer|erFunctionsOptions|ingDeviceType)?|p(?:UpArrowPosition|over(?:Appearance|Behavior|CloseReasonValue))|stingStyle)|r(?:e(?:dicateOperatorType|ssureBehavior)|int(?:Info(?:AttributeKey|SettingKey)|JobDispositionValue|Panel(?:AccessorySummaryKey|JobStyleHint|Options)|RenderingQuality|er(?:PaperName|T(?:ableStatus|ypeName))|ing(?:Orientation|Pag(?:eOrder|inationMode)))|o(?:cessInfoThermalState|gress(?:FileOperationKind|Indicator(?:Style|Thickness)|Kind|PublishingHandler|U(?:npublishingHandler|serInfoKey))|pertyList(?:Format|MutabilityOptions|ReadOptions|WriteOptions))))|QualityOfService|R(?:ange(?:Pointer)?|e(?:ct(?:A(?:lignment|rray)|Edge|Pointer)?|gularExpressionOptions|lative(?:DateTimeFormatter(?:Style|UnitsStyle)|Position)|moteNotificationType|questUserAttentionType)|oundingMode|u(?:le(?:Editor(?:NestingMode|PredicatePartKey|RowType)|r(?:Orientation|ViewUnitName))|nLoopMode))|S(?:aveOp(?:erationType|tions)|cr(?:oll(?:ArrowPosition|Elasticity|ViewFindBarPosition|er(?:Arrow|KnobStyle|Part|Style))|ubber(?:Alignment|Mode))|e(?:arch(?:FieldRecentsAutosaveName|PathD(?:irectory|omainMask))|gment(?:Distribution|S(?:tyle|witchTracking))|lection(?:Affinity|Direction|Granularity)|rviceProviderName)|haring(?:ContentScope|ServiceName)|ize(?:Array|Pointer)?|liderType|o(?:cketNativeHandle|rtOptions|und(?:Name|PlaybackDeviceIdentifier))|p(?:e(?:ech(?:Boundary|CommandDelimiterKey|DictionaryKey|ErrorKey|Mode|P(?:honemeInfoKey|ropertyKey)|S(?:tatusKey|ynthesizer(?:InfoKey|VoiceName)))|llingState)|litView(?:AutosaveName|DividerStyle|Item(?:Behavior|CollapseBehavior))|ringLoading(?:Highlight|Options))|t(?:a(?:ckView(?:Distribution|Gravity)|tusItem(?:AutosaveName|Behavior))|oryboard(?:ControllerCreator|Name|S(?:ceneIdentifier|egueIdentifier))|r(?:eam(?:Event|NetworkServiceTypeValue|PropertyKey|S(?:OCKSProxy(?:Configuration|Version)|ocketSecurityLevel|tatus))|ing(?:CompareOptions|DrawingOptions|En(?:coding(?:ConversionOptions|DetectionOptionsKey)?|umerationOptions)|Transform)))|wapped(?:Double|Float))|T(?:IFFCompression|a(?:b(?:Position|State|View(?:BorderType|ControllerTabStyle|Type)|le(?:ColumnResizingOptions|RowActionEdge|View(?:A(?:nimationOptions|utosaveName)|ColumnAutoresizingStyle|Dr(?:aggingDestinationFeedbackStyle|opOperation)|GridLineStyle|Row(?:ActionStyle|SizeStyle)|SelectionHighlightStyle)))|skTerminationReason)|e(?:stComparisonOperation|xt(?:Alignment|Block(?:Dimension|Layer|V(?:alueType|erticalAlignment))|Checking(?:Key|OptionKey|Type(?:s)?)|EffectStyle|Fi(?:eldBezelStyle|nder(?:Action|MatchingType))|Input(?:SourceIdentifier|TraitType)|L(?:ayout(?:Orientation|SectionKey)|ist(?:MarkerFormat|Options))|Movement|S(?:calingType|torageEdit(?:Actions|edOptions))|Tab(?:OptionKey|Type|leLayoutAlgorithm)))|hreadPrivate|i(?:ckMarkPosition|me(?:Interval|ZoneNameStyle)|tlePosition)|o(?:kenStyle|ol(?:TipTag|bar(?:DisplayMode|I(?:dentifier|tem(?:Group(?:ControlRepresentation|SelectionMode)|Identifier|VisibilityPriority))|SizeMode))|uch(?:Bar(?:CustomizationIdentifier|ItemIdentifier)|Phase|Type(?:Mask)?))|racking(?:AreaOptions|RectTag)|ypesetter(?:Behavior|ControlCharacterAction))|U(?:RL(?:Bookmark(?:CreationOptions|FileCreationOptions|ResolutionOptions)|C(?:acheStoragePolicy|redentialPersistence)|ErrorNetworkUnavailableReason|File(?:ProtectionType|ResourceType)|HandleStatus|Re(?:lationship|quest(?:CachePolicy|NetworkServiceType)|sourceKey)|Session(?:AuthChallengeDisposition|DelayedRequestDisposition|MultipathServiceType|ResponseDisposition|Task(?:MetricsResourceFetchType|State)|WebSocket(?:CloseCode|MessageType))|ThumbnailDictionaryItem|Ubiquitous(?:ItemDownloadingStatus|SharedItem(?:Permissions|Role)))|n(?:caughtExceptionHandler|derlineStyle)|s(?:ableScrollerParts|er(?:A(?:ctivityPersistentIdentifier|ppleScriptTaskCompletionHandler|utomatorTaskCompletionHandler)|Interface(?:ItemIdentifier|Layout(?:Direction|Orientation))|NotificationActivationType|ScriptTaskCompletionHandler|UnixTaskCompletionHandler)))|V(?:alueTransformerName|i(?:ew(?:Animation(?:EffectName|Key)|ControllerTransitionOptions|FullScreenModeOptionKey|LayerContents(?:Placement|RedrawPolicy))|sualEffect(?:BlendingMode|Material|State))|o(?:ice(?:AttributeKey|GenderName)|lumeEnumerationOptions))|W(?:hoseSubelementIdentifier|ind(?:ingRule|ow(?:AnimationBehavior|B(?:ackingLocation|utton)|CollectionBehavior|Depth|FrameAutosaveName|L(?:evel|istOptions)|NumberListOptions|O(?:cclusionState|rderingMode)|PersistableFrameDescriptor|S(?:haringType|tyleMask)|T(?:abbing(?:Identifier|Mode)|itleVisibility)|UserTabbingPreference))|orkspace(?:AuthorizationType|DesktopImageOptionKey|IconCreationOptions|LaunchOptions)|ritingDirection(?:FormatType)?)|X(?:ML(?:D(?:TDNodeKind|ocumentContentKind)|Node(?:Kind|Options)|ParserE(?:rror|xternalEntityResolvingPolicy))|PCConnectionOptions)|Zone)|UN(?:A(?:lertStyle|uthorization(?:Options|Status))|ErrorCode|Notification(?:ActionOptions|CategoryOptions|PresentationOptions|S(?:etting|oundName))|ShowPreviewsSetting)|W(?:K(?:AudiovisualMediaTypes|ContentMode|ErrorCode|Navigation(?:ActionPolicy|ResponsePolicy|Type)|User(?:InterfaceDirectionPolicy|ScriptInjectionTime))|eb(?:CacheModel|Drag(?:DestinationAction|SourceAction)|NavigationType|PreferencesPrivate|ViewInsertAction))|unichar)\\b",name:"support.type.cocoa.objc"},{match:"\\b(?:A(?:M(?:ErrorCode|LogLevel)|U(?:Audio(?:ChannelCount|FrameCount|ObjectID|Unit(?:BusType|Status))|EventSampleTime|Host(?:MusicalContextBlock|TransportState(?:Block|Flags))|I(?:mplementor(?:DisplayNameWithLengthCallback|StringFromValueCallback|Value(?:FromStringCallback|Observer|Provider))|n(?:putHandler|ternalRenderBlock))|MIDI(?:CIProfileChangedBlock|Event|OutputEventBlock)|Parameter(?:A(?:ddress|utomation(?:Event(?:Type)?|Observer))|Event|Observer(?:Token)?|RecordingObserver)|Re(?:cordedParameterEvent|nder(?:Block|Event(?:Header|Type)?|Observer|PullInputBlock))|Schedule(?:MIDIEventBlock|ParameterBlock)|Value)|uthorization(?:C(?:allbacks|ontextFlags)|EngineRef|Mechanism(?:Id|Ref)|Plugin(?:I(?:d|nterface)|Ref)|Result|SessionId|Value(?:Vector)?))|Bluetooth(?:A(?:FH(?:HostChannelClassification|Mode|Results)|MP(?:C(?:ommandRejectReason|reatePhysicalLinkResponseStatus)|Disco(?:nnectPhysicalLinkResponseStatus|verResponseControllerStatus)|Get(?:AssocResponseStatus|InfoResponseStatus)|ManagerCode)|irMode|llowRoleSwitch|uthenticationRequirements(?:Values)?)|C(?:l(?:assOfDevice|ockOffset)|o(?:mpanyIdentifers|nnectionHandle))|Device(?:Address|ClassM(?:ajor|inor)|Name)|E(?:n(?:cryptionEnable|hancedSynchronousConnectionInfo)|ventFilterCondition)|FeatureBits|HCI(?:A(?:CLDataByteCount|FHChannelAssessmentMode(?:s)?|cceptSynchronousConnectionRequestParams|ut(?:henti(?:cationEnable|onEnableModes)|omaticFlushTimeout(?:Info)?))|BufferSize|C(?:o(?:mmandOpCode(?:Command|Group)?|n(?:nection(?:AcceptTimeout|Mode(?:s)?)|tentFormat)|untryCode)|urrentInquiryAccessCodes(?:ForWrite)?)|D(?:ataID|eleteStoredLinkKeyFlag(?:s)?)|E(?:n(?:cryption(?:KeySize(?:Info)?|Mode(?:s)?)|hanced(?:AcceptSynchronousConnectionRequestParams|SetupSynchronousConnectionParams))|rroneousDataReporting|vent(?:AuthenticationCompleteResults|C(?:hangeConnectionLinkKeyCompleteResults|o(?:de|nnection(?:CompleteResults|PacketTypeResults|RequestResults)))|D(?:ataBufferOverflowResults|isconnectionCompleteResults)|Encryption(?:ChangeResults|KeyRefreshCompleteResults)|Fl(?:owSpecificationData|ushOccurredResults)|HardwareErrorResults|ID|L(?:E(?:Connection(?:CompleteResults|UpdateCompleteResults)|EnhancedConnectionCompleteResults|LongTermKeyRequestResults|MetaResults|ReadRemoteUsedFeaturesCompleteResults)|inkKeyNotificationResults)|M(?:a(?:s(?:k|terLinkKeyCompleteResults)|xSlotsChangeResults)|odeChangeResults)|PageScan(?:ModeChangeResults|RepetitionModeChangeResults)|QoS(?:SetupCompleteResults|ViolationResults)|R(?:e(?:ad(?:ClockOffsetResults|ExtendedFeaturesResults|Remote(?:ExtendedFeaturesResults|SupportedFeaturesResults|VersionInfoResults)|SupportedFeaturesResults)|moteNameRequestResults|turnLinkKeysResults)|oleChangeResults)|S(?:implePairingCompleteResults|niffSubratingResults|tatus|ynchronousConnectionC(?:hangedResults|ompleteResults))|VendorSpecificResults)|xtended(?:FeaturesInfo|InquiryRes(?:ponse(?:DataType(?:s)?)?|ult)))|F(?:ECRequired(?:Values)?|ailedContact(?:Count|Info)|lowControlState)|GeneralFlowControlStates|HoldModeActivity(?:States)?|In(?:put(?:Bandwidth|Cod(?:edDataSize|ingFormat)|DataPath|PCM(?:DataFormat|SamplePayloadMSBPosition)|TransportUnitSize)|quiry(?:AccessCode(?:Count)?|Length|Mode(?:s)?|Result(?:s)?|ScanType(?:s)?|WithRSSIResult(?:s)?))|L(?:E(?:BufferSize|SupportedFeatures|UsedFeatures)|ink(?:PolicySettings(?:Info|Values)?|Quality(?:Info)?|SupervisionTimeout)|oopbackMode)|M(?:axLatency|odeInterval)|Num(?:BroadcastRetransmissions|LinkKeys(?:Deleted|ToWrite))|O(?:perationID|utput(?:Bandwidth|Cod(?:edDataSize|ingFormat)|DataPath|PCM(?:DataFormat|SamplePayloadMSBPosition)|TransportUnitSize))|P(?:a(?:ge(?:Number|Scan(?:EnableState(?:s)?|Mode(?:s)?|PeriodMode(?:s)?|Type(?:s)?)|Timeout)|r(?:amByteCount|kModeBeaconInterval))|owerState)|Q(?:oSFlags|ualityOfServiceSetupParams)|R(?:SSI(?:Info|Value)|e(?:ad(?:ExtendedInquiryResponseResults|L(?:MPHandleResults|ocalOOBDataResults)|StoredLinkKeysFlag(?:s)?)|ceive(?:Bandwidth|Cod(?:ecFrameSize|ingFormat))|quest(?:CallbackInfo|ID)|sponseCount|transmissionEffort(?:Types)?)|ole(?:Info|s)?)|S(?:CO(?:DataByteCount|FlowControlStates)|canActivity|etupSynchronousConnectionParams|i(?:gnalID|mplePairing(?:Mode(?:s)?|OOBData))|niff(?:AttemptCount|Timeout)|t(?:atus|oredLinkKeysInfo)|upported(?:Commands|Features|IAC))|T(?:imeoutValues|rans(?:mit(?:Bandwidth|Cod(?:ecFrameSize|ingFormat)|PowerLevel(?:Info|Type)?|ReadPowerLevelTypes)|port(?:CommandID|ID)))|V(?:e(?:ndorCommandSelector|rsion(?:Info|s))|oiceSetting))|I(?:OCapabilit(?:ies|y(?:Response)?)|RK)|Key(?:Flag|Type|boardReturnType|pressNotification(?:Type(?:s)?)?)?|L(?:2CAP(?:ByteCount|C(?:hannelID|o(?:mmand(?:ByteCount|Code|ID|RejectReason)|n(?:figuration(?:Option|Re(?:sult|transmissionAndFlowControlFlags))|nection(?:Result|Status))))|FlushTimeout|GroupID|Information(?:ExtendedFeaturesMask|Result|Type)|LinkTimeout|MTU|PSM|Q(?:oSType|ualityOfServiceOptions)|RetransmissionAndFlowControlOptions|S(?:egmentationAndReassembly|upervisoryFuctionType))|AP|E(?:Ad(?:dressType|vertisingType)|ConnectionInterval|FeatureBits|S(?:can(?:DuplicateFilter|Filter|Type)?|ecurityManager(?:CommandCode|IOCapability|Key(?:DistributionFormat|pressNotificationType)|OOBData|PairingFailedReasonCode|User(?:InputCapability|OutputCapability))))|MP(?:Handle|Subversion|Version(?:s)?)|inkType(?:s)?)|Ma(?:nufacturerName|xSlots)|NumericValue|OOBDataPresence(?:Values)?|P(?:IN(?:Code|Type)|a(?:cketType|geScan(?:Mode|PeriodMode|RepetitionMode)|sskey))|R(?:FCOMM(?:ChannelID|LineStatus|MTU|ParityType)|e(?:a(?:dClockInfo|sonCode)|moteHostSupportedFeaturesNotification)|ole)|S(?:DP(?:DataElement(?:SizeDescriptor|TypeDescriptor)|ErrorCode|PDUID|Service(?:AttributeID|RecordHandle)|TransactionID|UUID(?:16|32))|e(?:rviceClassMajor|tEventMask)|implePairingDebugMode(?:s)?|ynchronousConnectionInfo)|Transport(?:Info(?:Ptr)?|Types)|User(?:ConfirmationRequest|PasskeyNotification))|C(?:A(?:A(?:nimation(?:CalculationMode|RotationMode)|utoresizingMask)|Co(?:nstraintAttribute|rnerMask)|E(?:dgeAntialiasingMask|mitterLayer(?:Emitter(?:Mode|Shape)|RenderMode))|GradientLayerType|LayerCo(?:ntents(?:F(?:ilter|ormat)|Gravity)|rnerCurve)|MediaTimingF(?:illMode|unction(?:Name|Private))|OpenGLLayerPrivate|RendererPriv|S(?:crollLayerScrollMode|hapeLayer(?:FillRule|Line(?:Cap|Join)))|T(?:extLayer(?:AlignmentMode|Private|TruncationMode)|ransition(?:Subtype|Type))|ValueFunctionName)|I(?:ContextOption|DataMatrixCodeECCVersion|F(?:ilterGeneratorStruct|ormat)|Image(?:AutoAdjustmentOption|Option|RepresentationOption)|KernelROICallback|QRCodeErrorCorrectionLevel|R(?:AWFilterOption|enderDestinationAlphaMode))|X(?:Call(?:Directory(?:EnabledStatus|PhoneNumber)|EndedReason)|ErrorCode(?:CallDirectoryManagerError|IncomingCallError|RequestTransactionError)?|HandleType|PlayDTMFCallActionType)|al(?:Priority|RecurrenceType))|DRFile(?:Fork|systemInclusionMask)|FTSFileType|I(?:C(?:D(?:evice(?:Capability|Location(?:Options|Type(?:Mask)?)|Status|T(?:ransport|ype(?:Mask)?))|ownloadOption)|EXIFOrientationType|LegacyReturnCode|Return(?:Co(?:de(?:Offset)?|nnectionErrorCode)|DownloadErrorCode|MetadataErrorCode|ObjectErrorCode|PTPDeviceErrorCode|ThumbnailErrorCode)|Scanner(?:BitDepth|ColorDataFormatType|DocumentType|F(?:eatureType|unctionalUnit(?:State|Type))|MeasurementUnit|PixelDataType|TransferMode)|UploadOption)|K(?:CameraDeviceView(?:DisplayMode|TransferMode)|DeviceBrowserViewDisplayMode|ImageBrowser(?:CellState|DropOperation)|ScannerDeviceView(?:DisplayMode|TransferMode))|MKLocationToOffsetMappingMode|O(?:Bluetooth(?:Device(?:Ref|Se(?:arch(?:Attributes|DeviceAttributes|Options(?:Bits)?|Types(?:Bits)?)|lectorControllerRef))|HandsFree(?:AudioGatewayFeatures|C(?:allHoldModes|odecID)|DeviceFeatures|PDUMessageStatus|SMSSupport)|L2CAPChannel(?:DataBlock|Event(?:Type)?|Incoming(?:DataListener|EventListener)|Ref)|O(?:BEXSessionOpenConnectionCallback|bject(?:ID|Ref))|PairingControllerRef|RFCOMMChannelRef|S(?:DP(?:DataElementRef|ServiceRecordRef|UUIDRef)|MSMode|erviceBrowserController(?:Options|Ref))|UserNotification(?:C(?:allback|hannelDirection)|Ref))|DataQueue(?:Appendix|Entry|Memory)|SurfacePropertyKey))|M(?:DL(?:A(?:nimatedValueInterpolation|xisAlignedBoundingBox)|CameraProjection|DataPrecision|GeometryType|IndexBitDepth|LightType|M(?:aterial(?:Face|MipMapFilterMode|PropertyType|Semantic|Texture(?:FilterMode|WrapMode))|eshBufferType)|ProbePlacement|T(?:extureChannelEncoding|ransformOpRotationOrder)|V(?:ertexFormat|oxelIndex(?:Extent)?))|IDIChannelNumber|T(?:K(?:ModelError|TextureLoader(?:C(?:allback|ubeLayout)|Error|O(?:ption|rigin)))|L(?:A(?:rgument(?:Access|BuffersTier|Type)|ttributeFormat|utoreleased(?:Argument|ComputePipelineReflection|RenderPipelineReflection))|B(?:arrierScope|l(?:end(?:Factor|Operation)|itOption))|C(?:PUCacheMode|apture(?:Destination|Error)|learColor|o(?:lorWriteMask|m(?:mandBuffer(?:Error|Handler|Status)|pareFunction)|ordinate2D|unterSampleBufferError)|ullMode)|D(?:ataType|e(?:pthClipMode|viceLocation)|ispatchT(?:hreadgroupsIndirectArguments|ype)|raw(?:IndexedPrimitivesIndirectArguments|P(?:atchIndirectArguments|rimitivesIndirectArguments)|ablePresentedHandler))|F(?:eatureSet|unctionType)|GPUFamily|H(?:azardTrackingMode|eapType)|Ind(?:exType|irectCommandType)|L(?:anguageVersion|ibraryError|oadAction)|Mu(?:ltisample(?:DepthResolveFilter|StencilResolveFilter)|tability)|New(?:ComputePipelineState(?:CompletionHandler|WithReflectionCompletionHandler)|LibraryCompletionHandler|RenderPipelineState(?:CompletionHandler|WithReflectionCompletionHandler))|Origin|P(?:atchType|i(?:pelineOption|xelFormat)|rimitiveT(?:opologyClass|ype)|urgeableState)|QuadTessellationFactorsHalf|Re(?:adWriteTextureTier|gion|nderStages|source(?:Options|Usage))|S(?:ample(?:Position|r(?:AddressMode|BorderColor|Mi(?:nMagFilter|pFilter)))|cissorRect|hared(?:Event(?:HandlePrivate|NotificationBlock)|TextureHandlePrivate)|ize(?:AndAlign)?|t(?:e(?:ncilOperation|pFunction)|or(?:ageMode|eAction(?:Options)?)))|T(?:e(?:ssellation(?:ControlPointIndexType|Factor(?:Format|StepFunction)|PartitionMode)|xture(?:Swizzle|Type|Usage))|riangle(?:FillMode|TessellationFactorsHalf))|V(?:ertex(?:Format|StepFunction)|i(?:ewport|sibilityResultMode))|Winding)))|NS(?:AttributeType|Batch(?:DeleteRequestResultType|InsertRequestResultType|UpdateRequestResultType)|DeleteRule|EntityMappingType|Fetch(?:IndexElementType|RequestResultType|edResultsChangeType)|M(?:anagedObjectContextConcurrencyType|ergePolicyType)|P(?:ersistent(?:CloudKitContainerSchemaInitializationOptions|History(?:ChangeType|ResultType)|Store(?:AsynchronousFetchResultCompletionBlock|RequestType|UbiquitousTransitionType))|referencePaneUnselectReply)|SnapshotEventType)|O(?:BEX(?:AbortCommand(?:Data|ResponseData)|Con(?:nect(?:Command(?:Data|ResponseData)|FlagValues)|stants)|DisconnectCommand(?:Data|ResponseData)|Error(?:Codes|Data)?|Flags|GetCommand(?:Data|ResponseData)|HeaderIdentifier(?:s)?|MaxPacketLength|NonceFlagValues|OpCode(?:CommandValues|ResponseValues|SessionValues)?|Put(?:Command(?:Data|ResponseData)|FlagValues)|RealmValues|Se(?:ssion(?:Event(?:Callback|Type(?:s)?)?|ParameterTags|Ref)|tPathCommand(?:Data|ResponseData))|TransportEvent(?:Type(?:s)?)?|Version(?:s)?)|SA(?:LanguageFeatures|S(?:criptState|torageOptions))|paque(?:IOBluetoothObjectRef|OBEXSessionRef|PrivOBEXSessionData))|P(?:DF(?:A(?:ctionNamedName|nnotation(?:HighlightingMode|Key|LineEndingStyle|Subtype|TextIconType|WidgetSubtype)|ppearanceCharacteristicsKey|reaOfInterest)|Border(?:Key|Style)|D(?:isplay(?:Box|Direction|Mode)|ocument(?:Attribute|Permissions|WriteOption))|InterpolationQuality|LineStyle|MarkupType|PrintScalingMode|TextAnnotationIconType|WidgetC(?:ellState|ontrolType))|r(?:ivOBEXSessionDataRef|otocolParameters))|QLPreviewViewStyle|S(?:DP(?:Attribute(?:DeviceIdentificationRecord|IdentifierCodes)|ServiceClasses)|F(?:AuthorizationViewState|ButtonType|ViewType))|TransmissionPower)\\b",name:"support.type.objc"},{match:"\\b(?:BOOL|C(?:ategory|lass)|I(?:MP|var)|Method|NS(?:Integer|UInteger)|SEL|id|mach_header|objc_(?:AssociationPolicy|c(?:ategory|lass)|func_loadImage|hook_(?:get(?:Class|ImageName)|setAssociatedObject)|ivar|method(?:_(?:description|list))?|object(?:ptr_t)?|property(?:_(?:attribute_t|t))?|selector))\\b",name:"support.type.run-time.objc"},{match:"\\b(?:CIDetector(?:AspectRatio|FocalLength|Type(?:QRCode|Rectangle))|kCII(?:mageAutoAdjust(?:Crop|Level)|nput(?:ColorNoiseReductionAmountKey|EnableVendorLensCorrectionKey|LuminanceNoiseReductionAmountKey|NoiseReduction(?:ContrastAmountKey|DetailAmountKey|SharpnessAmountKey))))\\b",name:"support.variable.10.10.objc"},{match:"\\b(?:CIDetector(?:NumberOfAngles|ReturnSubFeatures|TypeText)|MT(?:K(?:ModelError(?:Domain|Key)|TextureLoader(?:Error(?:Domain|Key)|Option(?:AllocateMipmaps|SRGB|Texture(?:CPUCacheMode|Usage))))|L(?:CommandBufferErrorDomain|LibraryErrorDomain))|k(?:CI(?:Attribute(?:FilterAvailable_(?:Mac|iOS)|Type(?:Color|Image|Transform))|ContextHighQualityDownsample|Format(?:A(?:16|8|BGR8|f|h)|R(?:16|8|G(?:16|8|f|h)|f|h))|Input(?:VersionKey|WeightsKey))|UTType(?:3dObject|Alembic|Polygon|Stereolithography)))\\b",name:"support.variable.10.11.objc"},{match:"\\b(?:CIDetectorMaxFeatureCount|IOSurfacePropertyKey(?:BytesPer(?:Element|Row)|CacheMode|Element(?:Height|Width)|Height|Offset|P(?:ixel(?:Format|SizeCastingAllowed)|lane(?:B(?:ase|ytesPer(?:Element|Row))|Element(?:Height|Width)|Height|Info|Offset|Size|Width))|Width)|MTKTextureLoader(?:CubeLayoutVertical|O(?:ption(?:CubeLayout|GenerateMipmaps|Origin|TextureStorageMode)|rigin(?:BottomLeft|FlippedVertically|TopLeft)))|NS(?:ManagedObjectContextQueryGenerationKey|PersistentStoreConnectionPoolMaxSizeKey)|k(?:C(?:AContentsFormat(?:Gray8Uint|RGBA(?:16Float|8Uint))|I(?:Context(?:AllowLowPower|CacheIntermediates|PriorityRequestLow)|FormatL(?:16|8|A(?:16|8|f|h)|f|h)|Input(?:BaselineExposureKey|DisableGamutMapKey)))|UTTypeUniversalSceneDescription))\\b",name:"support.variable.10.12.objc"},{match:"\\b(?:MTLDevice(?:RemovalRequestedNotification|Was(?:AddedNotification|RemovedNotification))|NS(?:BinaryStore(?:InsecureDecodingCompatibilityOption|SecureDecodingClasses)|CoreDataCoreSpotlightExporter|PersistentHistoryTrackingKey)|PDF(?:A(?:nnotation(?:HighlightingMode(?:Invert|None|Outline|Push)|Key(?:A(?:ction|dditionalActions|ppearance(?:Dictionary|State))|Border(?:Style)?|Co(?:lor|ntents)|D(?:ate|e(?:faultAppearance|stination))|Flags|HighlightingMode|I(?:conName|n(?:klist|teriorColor))|Line(?:EndingStyles|Points)|Name|Open|P(?:a(?:ge|rent)|opup)|Quad(?:Points|ding)|Rect|Subtype|TextLabel|Widget(?:AppearanceDictionary|B(?:ackgroundColor|orderColor)|Caption|D(?:efaultValue|ownCaption)|Field(?:Flags|Type)|MaxLen|Options|Ro(?:lloverCaption|tation)|TextLabelUI|Value))|LineEndingStyle(?:C(?:ircle|losedArrow)|Diamond|None|OpenArrow|Square)|Subtype(?:Circle|FreeText|Highlight|Ink|Lin(?:e|k)|Popup|S(?:quare|t(?:amp|rikeOut))|Text|Underline|Widget)|TextIconType(?:Comment|Help|Insert|Key|N(?:ewParagraph|ote)|Paragraph)|WidgetSubtype(?:Button|Choice|Signature|Text))|ppearanceCharacteristicsKey(?:B(?:ackgroundColor|orderColor)|Caption|DownCaption|Ro(?:lloverCaption|tation)))|BorderKey(?:DashPattern|LineWidth|Style))|kCII(?:mage(?:A(?:pplyOrientationProperty|uxiliaryD(?:epth|isparity))|NearestSampling|Representation(?:AVDepthData|D(?:epthImage|isparityImage)))|nput(?:D(?:epthImageKey|isparityImageKey)|MoireAmountKey)))\\b",name:"support.variable.10.13.objc"},{match:"\\b(?:IOSurfacePropertyKeyAllocSize|NSPersistent(?:HistoryTokenKey|Store(?:RemoteChangeNotification|URLKey))|kC(?:A(?:GradientLayerConic|RendererMetalCommandQueue)|II(?:mage(?:AuxiliaryPortraitEffectsMatte|Representation(?:AVPortraitEffectsMatte|PortraitEffectsMatteImage))|nput(?:AmountKey|EnableEDRModeKey|MatteImageKey))))\\b",name:"support.variable.10.14.objc"},{match:"\\b(?:IC(?:Delete(?:Canceled|Error(?:Canceled|DeviceMissing|FileMissing|ReadOnly)|Failed|Successful)|E(?:numerationChronologicalOrder|rrorDomain)|ImageSource(?:ShouldCache|ThumbnailMaxPixelSize))|MTLC(?:aptureErrorDomain|o(?:mmonCounter(?:C(?:lipper(?:Invocations|PrimitivesOut)|omputeKernelInvocations)|Fragment(?:Cycles|Invocations|sPassed)|PostTessellationVertex(?:Cycles|Invocations)|RenderTargetWriteCycles|Set(?:Sta(?:geUtilization|tistic)|Timestamp)|T(?:essellation(?:Cycles|InputPatches)|imestamp|otalCycles)|Vertex(?:Cycles|Invocations))|unterErrorDomain))|NSPersistentStoreRemoteChangeNotificationPostOptionKey|kC(?:ACornerCurveC(?:ircular|ontinuous)|IImage(?:AuxiliarySemanticSegmentation(?:HairMatte|SkinMatte|TeethMatte)|Representation(?:AVSemanticSegmentationMattes|SemanticSegmentation(?:HairMatteImage|SkinMatteImage|TeethMatteImage)))))\\b",name:"support.variable.10.15.objc"},{match:"\\b(?:CIDetector(?:ImageOrientation|MinFeatureSize|Tracking)|NSPersistentStoreForceDestroyOption|kCIImage(?:AutoAdjust(?:Enhance|Features|RedEye)|Properties))\\b",name:"support.variable.10.8.objc"},{match:"\\b(?:CIDetector(?:EyeBlink|Smile)|NSPersistentStoreCoordinatorStoresWillChangeNotification)\\b",name:"support.variable.10.9.objc"},{match:"\\b(?:NS(?:A(?:ccessibility(?:AlternateUIVisibleAttribute|SharedFocusElementsAttribute)|ppearanceNameVibrant(?:Dark|Light))|CalendarIdentifierIslamic(?:Tabular|UmmAlQura)|E(?:dgeInsetsZero|xtension(?:Item(?:Att(?:achmentsKey|ributed(?:ContentTextKey|TitleKey))|sAndErrorsKey)|JavaScriptPreprocessingResultsKey))|ItemProvider(?:ErrorDomain|PreferredImageSizeKey)|Metadata(?:QueryAccessibleUbiquitousExternalDocumentsScope|UbiquitousItem(?:ContainerDisplayNameKey|DownloadRequestedKey|IsExternalDocumentKey|URLInLocalContainerKey))|ProcessInfoThermalStateDidChangeNotification|StringEncodingDetection(?:AllowLossyKey|DisallowedEncodingsKey|FromWindowsKey|L(?:ikelyLanguageKey|ossySubstitutionKey)|SuggestedEncodingsKey|UseOnlySuggestedEncodingsKey)|T(?:extEffect(?:AttributeName|LetterpressStyle)|ypeIdentifier(?:AddressText|DateText|PhoneNumberText|TransitInformationText))|U(?:RL(?:AddedToDirectoryDateKey|DocumentIdentifierKey|ErrorBackgroundTaskCancelledReasonKey|GenerationIdentifierKey|QuarantinePropertiesKey|SessionTaskPriority(?:Default|High|Low)|UbiquitousItem(?:ContainerDisplayNameKey|DownloadRequestedKey))|serActivityDocumentURLKey)|WorkspaceAccessibilityDisplayOptionsDidChangeNotification)|WKErrorDomain)\\b",name:"support.variable.cocoa.10.10.objc"},{match:"\\b(?:NS(?:AccessibilityListItem(?:IndexTextAttribute|LevelTextAttribute|PrefixTextAttribute)|CollectionElementKind(?:InterItemGapIndicator|Section(?:Footer|Header))|DefaultAttributesDocumentAttribute|F(?:ileManagerUnmountDissentingProcessIdentifierErrorKey|ontWeight(?:B(?:lack|old)|Heavy|Light|Medium|Regular|Semibold|Thin|UltraLight))|PersonNameComponent(?:Delimiter|FamilyName|GivenName|Key|MiddleName|Nickname|Prefix|Suffix)|S(?:plitView(?:ControllerAutomaticDimension|ItemUnspecifiedDimension)|tringTransform(?:FullwidthToHalfwidth|HiraganaToKatakana|LatinTo(?:Arabic|Cyrillic|Greek|H(?:angul|ebrew|iragana)|Katakana|Thai)|MandarinToLatin|Strip(?:CombiningMarks|Diacritics)|To(?:Latin|UnicodeName|XMLHex)))|ToolbarToggleSidebarItemIdentifier|URL(?:ApplicationIsScriptableKey|IsApplicationKey)|ViewNoIntrinsicMetric)|WKWebsiteDataType(?:Cookies|DiskCache|IndexedDBDatabases|LocalStorage|MemoryCache|OfflineWebApplicationCache|SessionStorage|WebSQLDatabases))\\b",name:"support.variable.cocoa.10.11.objc"},{match:"\\bNS(?:Accessibility(?:MenuBarItemRole|RequiredAttribute|TextAlignmentAttribute)|GridViewSizeForContent|Image(?:HintUserInterfaceLayoutDirection|Name(?:Go(?:BackTemplate|ForwardTemplate)|TouchBar(?:A(?:dd(?:DetailTemplate|Template)|larmTemplate|udio(?:Input(?:MuteTemplate|Template)|Output(?:MuteTemplate|Volume(?:HighTemplate|LowTemplate|MediumTemplate|OffTemplate))))|BookmarksTemplate|Co(?:lorPicker(?:F(?:ill|ont)|Stroke)|m(?:munication(?:AudioTemplate|VideoTemplate)|poseTemplate))|D(?:eleteTemplate|ownloadTemplate)|E(?:nterFullScreenTemplate|xitFullScreenTemplate)|F(?:astForwardTemplate|older(?:CopyToTemplate|MoveToTemplate|Template))|G(?:etInfoTemplate|o(?:BackTemplate|DownTemplate|ForwardTemplate|UpTemplate))|HistoryTemplate|IconViewTemplate|ListViewTemplate|MailTemplate|New(?:FolderTemplate|MessageTemplate)|OpenInBrowserTemplate|P(?:auseTemplate|lay(?:PauseTemplate|Template|headTemplate))|QuickLookTemplate|R(?:e(?:cordSt(?:artTemplate|opTemplate)|freshTemplate|windTemplate)|otate(?:LeftTemplate|RightTemplate))|S(?:earchTemplate|hareTemplate|idebarTemplate|kip(?:Ahead(?:15SecondsTemplate|30SecondsTemplate|Template)|Back(?:15SecondsTemplate|30SecondsTemplate|Template)|To(?:EndTemplate|StartTemplate))|lideshowTemplate)|T(?:agIconTemplate|ext(?:Bo(?:ldTemplate|xTemplate)|CenterAlignTemplate|ItalicTemplate|JustifiedAlignTemplate|L(?:eftAlignTemplate|istTemplate)|RightAlignTemplate|StrikethroughTemplate|UnderlineTemplate))|User(?:AddTemplate|GroupTemplate|Template)|Volume(?:DownTemplate|UpTemplate))))|MetadataUbiquitous(?:ItemIsSharedKey|SharedItem(?:CurrentUser(?:PermissionsKey|RoleKey)|MostRecentEditorNameComponentsKey|OwnerNameComponentsKey|PermissionsRead(?:Only|Write)|Role(?:Owner|Participant)))|S(?:haringServiceNameCloudSharing|liderAccessoryWidth(?:Default|Wide)|pellCheckerDidChangeAutomatic(?:CapitalizationNotification|PeriodSubstitutionNotification|TextCompletionNotification)|treamNetworkServiceTypeCallSignaling)|T(?:extCheckingSelectedRangeKey|o(?:olbarCloudSharingItemIdentifier|uchBarItem(?:Identifier(?:C(?:andidateList|haracterPicker)|F(?:ixedSpace(?:Large|Small)|lexibleSpace)|OtherItemsProxy|Text(?:Alignment|ColorPicker|Format|List|Style))|Priority(?:High|Low|Normal))))|URL(?:CanonicalPathKey|Ubiquitous(?:ItemIsSharedKey|SharedItem(?:CurrentUser(?:PermissionsKey|RoleKey)|MostRecentEditorNameComponentsKey|OwnerNameComponentsKey|PermissionsRead(?:Only|Write)|Role(?:Owner|Participant)))|Volume(?:Is(?:EncryptedKey|RootFileSystemKey)|Supports(?:CompressionKey|ExclusiveRenamingKey|FileCloningKey|SwapRenamingKey))))\\b",name:"support.variable.cocoa.10.12.objc"},{match:"\\b(?:NS(?:A(?:boutPanelOption(?:Application(?:Icon|Name|Version)|Credits|Version)|ccessibility(?:Annotation(?:Element|L(?:abel|ocation)|TextAttribute)|C(?:ollectionListSubrole|ustomTextAttribute)|LanguageTextAttribute|PageRole|SectionListSubrole|TabButtonSubrole))|ImageNameTouchBarRemoveTemplate|LocalizedFailureErrorKey|Pasteboard(?:Name(?:Drag|F(?:ind|ont)|General|Ruler)|Type(?:FileURL|URL))|RulerViewUnit(?:Centimeters|Inches|P(?:icas|oints))|Text(?:ListMarker(?:Box|C(?:heck|ircle)|D(?:ecimal|i(?:amond|sc))|Hyphen|Lowercase(?:Alpha|Hexadecimal|Latin|Roman)|Octal|Square|Uppercase(?:Alpha|Hexadecimal|Latin|Roman))|MovementUserInfoKey)|URLVolume(?:AvailableCapacityFor(?:ImportantUsageKey|OpportunisticUsageKey)|Supports(?:AccessPermissionsKey|ImmutableFilesKey)))|WKWebsiteDataType(?:FetchCache|ServiceWorkerRegistrations))\\b",name:"support.variable.cocoa.10.13.objc"},{match:"\\b(?:NS(?:Appearance(?:DocumentAttribute|Name(?:AccessibilityHighContrast(?:Aqua|DarkAqua|Vibrant(?:Dark|Light))|DarkAqua))|MenuItemImportFromDeviceIdentifier|SecureUnarchiveFromDataTransformerName)|UN(?:AuthorizationOptionNone|ErrorDomain|Notification(?:A(?:ctionOptionNone|ttachmentOptionsT(?:humbnail(?:ClippingRectKey|HiddenKey|TimeKey)|ypeHintKey))|CategoryOptionNone|D(?:efaultActionIdentifier|ismissActionIdentifier)|PresentationOptionNone)))\\b",name:"support.variable.cocoa.10.14.objc"},{match:"\\bNS(?:DirectionalEdgeInsetsZero|FontDescriptorSystemDesign(?:Default|Monospaced|Rounded|Serif)|HTTPCookieSameSite(?:Lax|Policy|Strict)|ReadAccessURLDocumentOption|SourceTextScalingDocument(?:Attribute|Option)|T(?:argetTextScalingDocumentOption|extScalingDocumentAttribute)|URLErrorNetworkUnavailableReasonKey)\\b",name:"support.variable.cocoa.10.15.objc"},{match:"\\b(?:NS(?:A(?:ccessibilityExtrasMenuBarAttribute|pplicationLaunchUserNotificationKey)|HashTableWeakMemory|ImageNameShareTemplate|MapTableWeakMemory|S(?:crollView(?:DidEndLiveMagnifyNotification|WillStartLiveMagnifyNotification)|haringServiceName(?:AddTo(?:Aperture|IPhoto|SafariReadingList)|Compose(?:Email|Message)|SendViaAirDrop|UseAsDesktopPicture))|TextAlternatives(?:AttributeName|SelectedAlternativeStringNotification)|U(?:RL(?:IsExcludedFromBackupKey|PathKey)|biquityIdentityDidChangeNotification))|kABSocialProfileServiceSinaWeibo)\\b",name:"support.variable.cocoa.10.8.objc"},{match:"\\b(?:NS(?:A(?:ccessibility(?:ContainsProtectedContentAttribute|DescriptionListSubrole|LayoutChangedNotification|PriorityKey|S(?:how(?:AlternateUIAction|DefaultUIAction)|witchSubrole)|ToggleSubrole|UIElementsKey)|pp(?:earanceNameAqua|licationDidChangeOcclusionStateNotification))|CalendarDayChangedNotification|KeyedArchiveRootObjectKey|M(?:etadata(?:Item(?:A(?:cquisitionM(?:akeKey|odelKey)|l(?:bumKey|titudeKey)|p(?:ertureKey|pl(?:eLoop(?:DescriptorsKey|s(?:KeyFilterTypeKey|LoopModeKey|RootKeyKey))|icationCategoriesKey))|ttributeChangeDateKey|u(?:di(?:encesKey|o(?:BitRateKey|ChannelCountKey|EncodingApplicationKey|SampleRateKey|TrackNumberKey))|thor(?:AddressesKey|EmailAddressesKey|sKey)))|BitsPerSampleKey|C(?:FBundleIdentifierKey|ameraOwnerKey|ityKey|o(?:decsKey|lorSpaceKey|m(?:mentKey|poserKey)|nt(?:actKeywordsKey|ent(?:CreationDateKey|ModificationDateKey|Type(?:Key|TreeKey))|ributorsKey)|pyrightKey|untryKey|verageKey)|reatorKey)|D(?:ateAddedKey|e(?:liveryTypeKey|scriptionKey)|irectorKey|ownloadedDateKey|u(?:eDateKey|rationSecondsKey))|E(?:XIF(?:GPSVersionKey|VersionKey)|ditorsKey|mailAddressesKey|ncodingApplicationsKey|x(?:ecutable(?:ArchitecturesKey|PlatformKey)|posure(?:ModeKey|ProgramKey|TimeS(?:econdsKey|tringKey))))|F(?:NumberKey|inderCommentKey|lashOnOffKey|o(?:calLength(?:35mmKey|Key)|ntsKey))|G(?:PS(?:AreaInformationKey|D(?:OPKey|ateStampKey|est(?:BearingKey|DistanceKey|L(?:atitudeKey|ongitudeKey))|ifferentalKey)|M(?:apDatumKey|easureModeKey)|ProcessingMethodKey|StatusKey|TrackKey)|enreKey)|H(?:asAlphaChannelKey|eadlineKey)|I(?:SOSpeedKey|dentifierKey|mageDirectionKey|n(?:formationKey|st(?:antMessageAddressesKey|ructionsKey))|s(?:ApplicationManagedKey|GeneralMIDISequenceKey|LikelyJunkKey))|K(?:ey(?:SignatureKey|wordsKey)|indKey)|L(?:a(?:nguagesKey|stUsedDateKey|titudeKey|yerNamesKey)|ensModelKey|ongitudeKey|yricistKey)|M(?:axApertureKey|e(?:diaTypesKey|teringModeKey)|usical(?:GenreKey|Instrument(?:CategoryKey|NameKey)))|N(?:amedLocationKey|umberOfPagesKey)|Or(?:ganizationsKey|i(?:entationKey|ginal(?:FormatKey|SourceKey)))|P(?:a(?:ge(?:HeightKey|WidthKey)|rticipantsKey)|erformersKey|honeNumbersKey|ixel(?:CountKey|HeightKey|WidthKey)|ro(?:ducerKey|fileNameKey|jectsKey)|ublishersKey)|R(?:e(?:c(?:ipient(?:AddressesKey|EmailAddressesKey|sKey)|ording(?:DateKey|YearKey))|dEyeOnOffKey|solution(?:HeightDPIKey|WidthDPIKey))|ightsKey)|S(?:ecurityMethodKey|peedKey|t(?:a(?:rRatingKey|teOrProvinceKey)|reamableKey)|ubjectKey)|T(?:e(?:mpoKey|xtContentKey)|hemeKey|i(?:me(?:SignatureKey|stampKey)|tleKey)|otalBitRateKey)|V(?:ersionKey|ideoBitRateKey)|Wh(?:ereFromsKey|iteBalanceKey))|Query(?:Indexed(?:LocalComputerScope|NetworkScope)|Update(?:AddedItemsKey|ChangedItemsKey|RemovedItemsKey))|UbiquitousItem(?:Downloading(?:ErrorKey|Status(?:Current|Downloaded|Key|NotDownloaded))|UploadingErrorKey))|odalResponse(?:Abort|Continue|Stop))|OutlineView(?:DisclosureButtonKey|ShowHideButtonKey)|Progress(?:EstimatedTimeRemainingKey|File(?:AnimationImage(?:Key|OriginalRectKey)|CompletedCountKey|IconKey|OperationKind(?:Copying|D(?:ecompressingAfterDownloading|ownloading)|Key|Receiving)|TotalCountKey|URLKey)|KindFile|ThroughputKey)|S(?:crollView(?:Did(?:EndLiveScrollNotification|LiveScrollNotification)|WillStartLiveScrollNotification)|pellCheckerDidChangeAutomatic(?:DashSubstitutionNotification|QuoteSubstitutionNotification)|tackView(?:SpacingUseDefault|VisibilityPriority(?:DetachOnlyIfNecessary|MustHold|NotVisible)))|URL(?:CredentialStorageRemoveSynchronizableCredentials|Session(?:DownloadTaskResumeData|TransferSizeUnknown)|TagNamesKey|UbiquitousItem(?:Downloading(?:ErrorKey|Status(?:Current|Downloaded|Key|NotDownloaded))|UploadingErrorKey))|WindowDidChangeOcclusionStateNotification)|kABSocialProfileService(?:TencentWeibo|Yelp))\\b",name:"support.variable.cocoa.10.9.objc"},{match:"\\b(?:AB(?:AddressBookErrorDomain|MultiValueIdentifiersErrorKey|PeoplePicker(?:DisplayedPropertyDidChangeNotification|GroupSelectionDidChangeNotification|NameSelectionDidChangeNotification|ValueSelectionDidChangeNotification))|NS(?:A(?:bort(?:ModalException|PrintingException)|ccessibility(?:A(?:ctivationPointAttribute|llowedValuesAttribute|nnouncement(?:Key|RequestedNotification)|pplication(?:ActivatedNotification|DeactivatedNotification|HiddenNotification|Role|ShownNotification)|scendingSortDirectionValue|tt(?:achmentTextAttribute|ributedStringForRangeParameterizedAttribute)|utocorrectedTextAttribute)|B(?:ackgroundColorTextAttribute|oundsForRangeParameterizedAttribute|rowserRole|u(?:syIndicatorRole|ttonRole))|C(?:ancel(?:Action|ButtonAttribute)|e(?:ll(?:ForColumnAndRowParameterizedAttribute|Role)|nt(?:erTabStopMarkerTypeValue|imetersUnitValue))|h(?:eckBoxRole|ildrenAttribute)|l(?:earButtonAttribute|oseButton(?:Attribute|Subrole))|o(?:l(?:orWellRole|umn(?:CountAttribute|HeaderUIElementsAttribute|IndexRangeAttribute|Role|TitlesAttribute|sAttribute))|mboBoxRole|n(?:firmAction|tent(?:ListSubrole|sAttribute)))|r(?:eatedNotification|iticalValueAttribute))|D(?:e(?:c(?:imalTabStopMarkerTypeValue|rement(?:A(?:ction|rrowSubrole)|ButtonAttribute|PageSubrole))|f(?:aultButtonAttribute|initionListSubrole)|leteAction|sc(?:endingSortDirectionValue|riptionAttribute))|i(?:alogSubrole|sclos(?:ed(?:ByRowAttribute|RowsAttribute)|ingAttribute|ure(?:LevelAttribute|TriangleRole)))|ocumentAttribute|rawer(?:CreatedNotification|Role))|E(?:ditedAttribute|nabledAttribute|rrorCodeExceptionInfo|xpandedAttribute)|F(?:i(?:lenameAttribute|rstLineIndentMarkerTypeValue)|loatingWindowSubrole|o(?:cused(?:Attribute|UIElement(?:Attribute|ChangedNotification)|Window(?:Attribute|ChangedNotification))|nt(?:FamilyKey|NameKey|SizeKey|TextAttribute)|regroundColorTextAttribute)|rontmostAttribute|ullScreenButton(?:Attribute|Subrole))|Gr(?:idRole|o(?:upRole|wArea(?:Attribute|Role)))|H(?:andle(?:Role|sAttribute)|e(?:ad(?:IndentMarkerTypeValue|erAttribute)|lp(?:Attribute|Tag(?:CreatedNotification|Role)))|iddenAttribute|orizontal(?:OrientationValue|ScrollBarAttribute|Unit(?:DescriptionAttribute|sAttribute)))|I(?:dentifierAttribute|mageRole|n(?:c(?:hesUnitValue|rement(?:A(?:ction|rrowSubrole)|ButtonAttribute|PageSubrole|orRole))|dexAttribute|sertionPointLineNumberAttribute))|L(?:a(?:bel(?:UIElementsAttribute|ValueAttribute)|yout(?:AreaRole|ItemRole|PointForScreenPointParameterizedAttribute|SizeForScreenSizeParameterizedAttribute))|e(?:ftTabStopMarkerTypeValue|velIndicatorRole)|i(?:n(?:eForIndexParameterizedAttribute|k(?:Role|TextAttribute|edUIElementsAttribute))|stRole))|M(?:a(?:in(?:Attribute|Window(?:Attribute|ChangedNotification))|rke(?:dMisspelledTextAttribute|r(?:GroupUIElementAttribute|Type(?:Attribute|DescriptionAttribute)|UIElementsAttribute|ValuesAttribute))|tteRole|xValueAttribute)|enu(?:B(?:ar(?:Attribute|Role)|uttonRole)|ItemRole|Role)|i(?:n(?:ValueAttribute|imize(?:Button(?:Attribute|Subrole)|dAttribute))|sspelledTextAttribute)|o(?:dalAttribute|vedNotification))|N(?:extContentsAttribute|umberOfCharactersAttribute)|O(?:r(?:deredByRowAttribute|ientationAttribute)|utlineRo(?:le|wSubrole)|verflowButtonAttribute)|P(?:arentAttribute|ic(?:asUnitValue|kAction)|laceholderValueAttribute|o(?:intsUnitValue|p(?:UpButtonRole|overRole)|sitionAttribute)|r(?:e(?:ssAction|viousContentsAttribute)|o(?:gressIndicatorRole|xyAttribute)))|R(?:TFForRangeParameterizedAttribute|a(?:dio(?:ButtonRole|GroupRole)|iseAction|ngeFor(?:IndexParameterizedAttribute|LineParameterizedAttribute|PositionParameterizedAttribute)|tingIndicatorSubrole)|e(?:levanceIndicatorRole|sizedNotification)|ightTabStopMarkerTypeValue|o(?:le(?:Attribute|DescriptionAttribute)|w(?:Co(?:llapsedNotification|unt(?:Attribute|ChangedNotification))|ExpandedNotification|HeaderUIElementsAttribute|IndexRangeAttribute|Role|sAttribute))|uler(?:MarkerRole|Role))|S(?:cr(?:een(?:PointForLayoutPointParameterizedAttribute|SizeForLayoutSizeParameterizedAttribute)|oll(?:AreaRole|BarRole))|e(?:arch(?:ButtonAttribute|FieldSubrole|MenuAttribute)|cureTextFieldSubrole|lected(?:Attribute|C(?:ells(?:Attribute|ChangedNotification)|hildren(?:Attribute|ChangedNotification|MovedNotification)|olumns(?:Attribute|ChangedNotification))|Rows(?:Attribute|ChangedNotification)|Text(?:Attribute|ChangedNotification|Range(?:Attribute|sAttribute)))|rvesAsTitleForUIElementsAttribute)|h(?:a(?:dowTextAttribute|red(?:CharacterRangeAttribute|TextUIElementsAttribute))|eet(?:CreatedNotification|Role)|ow(?:MenuAction|nMenuAttribute))|izeAttribute|liderRole|ort(?:ButtonSubrole|DirectionAttribute)|plit(?:GroupRole|ter(?:Role|sAttribute))|t(?:a(?:ndardWindowSubrole|ticTextRole)|ri(?:kethrough(?:ColorTextAttribute|TextAttribute)|ngForRangeParameterizedAttribute)|yleRangeForIndexParameterizedAttribute)|u(?:broleAttribute|perscriptTextAttribute)|ystem(?:DialogSubrole|FloatingWindowSubrole|WideRole))|T(?:a(?:b(?:GroupRole|leRo(?:le|wSubrole)|sAttribute)|ilIndentMarkerTypeValue)|ext(?:A(?:reaRole|ttachmentSubrole)|FieldRole|LinkSubrole)|i(?:melineSubrole|tle(?:Attribute|ChangedNotification|UIElementAttribute))|o(?:olbar(?:Button(?:Attribute|Subrole)|Role)|pLevelUIElementAttribute))|U(?:IElementDestroyedNotification|RLAttribute|n(?:derline(?:ColorTextAttribute|TextAttribute)|it(?:DescriptionAttribute|s(?:Attribute|ChangedNotification))|known(?:MarkerTypeValue|OrientationValue|Role|S(?:ortDirectionValue|ubrole)|UnitValue)))|V(?:alue(?:Attribute|ChangedNotification|DescriptionAttribute|IndicatorRole)|ertical(?:OrientationValue|ScrollBarAttribute|Unit(?:DescriptionAttribute|sAttribute))|isible(?:C(?:ellsAttribute|h(?:aracterRangeAttribute|ildrenAttribute)|olumnsAttribute)|NameKey|RowsAttribute))|W(?:arningValueAttribute|indow(?:Attribute|CreatedNotification|DeminiaturizedNotification|M(?:iniaturizedNotification|ovedNotification)|R(?:esizedNotification|ole)|sAttribute))|ZoomButton(?:Attribute|Subrole))|l(?:ert(?:FirstButtonReturn|SecondButtonReturn|ThirdButtonReturn)|ignmentBinding|l(?:RomanInputSourcesLocaleIdentifier|ows(?:EditingMultipleValuesSelectionBindingOption|NullArgumentBindingOption))|ternate(?:ImageBinding|TitleBinding)|waysPresentsApplicationModalAlertsBindingOption)|n(?:imat(?:eBinding|ion(?:DelayBinding|ProgressMark(?:Notification)?|TriggerOrder(?:In|Out)))|tialiasThresholdChangedNotification)|pp(?:Kit(?:IgnoredException|V(?:ersionNumber(?:10_(?:0|1(?:0(?:_(?:2|3|4|5|Max))?|1(?:_(?:1|2|3))?|2(?:_(?:1|2))?|3(?:_(?:1|2|4))?|4(?:_(?:1|2|3|4|5))?)?|2(?:_3)?|3(?:_(?:2|3|5|7|9))?|4(?:_(?:1|3|4|7))?|5(?:_(?:2|3))?|6|7(?:_(?:2|3|4))?|8|9)|With(?:C(?:o(?:lumnResizingBrowser|ntinuousScrollingBrowser)|u(?:rsorSizeSupport|stomSheetPosition))|D(?:eferredWindowDisplaySupport|irectionalTabs|ockTilePlugInSupport)|PatternColorLeakFix))?|irtualMemoryException))|l(?:e(?:Event(?:ManagerWillProcessFirstEventNotification|TimeOut(?:Default|None))|ScriptError(?:AppName|BriefMessage|Message|Number|Range))|ication(?:Did(?:BecomeActiveNotification|ChangeScreenParametersNotification|Finish(?:LaunchingNotification|RestoringWindowsNotification)|HideNotification|ResignActiveNotification|U(?:nhideNotification|pdateNotification))|LaunchIsDefaultLaunchKey|Will(?:BecomeActiveNotification|FinishLaunchingNotification|HideNotification|ResignActiveNotification|TerminateNotification|U(?:nhideNotification|pdateNotification)))))?|rgument(?:Binding|Domain)|ssertionHandlerKey|tt(?:achmentAttributeName|ributedStringBinding)|uthorDocumentAttribute|verageKeyValueOperator)|B(?:a(?:ck(?:groundColor(?:AttributeName|DocumentAttribute)|ingPropertyOld(?:ColorSpaceKey|ScaleFactorKey))|d(?:BitmapParametersException|ComparisonException|RTF(?:ColorTableException|DirectiveException|FontTableException|StyleSheetException))|se(?:URLDocumentOption|lineOffsetAttributeName))|lack|ottomMarginDocumentAttribute|rowser(?:ColumnConfigurationDidChangeNotification|IllegalDelegateException)|undle(?:DidLoadNotification|ResourceRequestLo(?:adingPriorityUrgent|wDiskSpaceNotification)))|C(?:a(?:l(?:endarIdentifier(?:Buddhist|C(?:hinese|optic)|EthiopicAmete(?:Alem|Mihret)|Gregorian|Hebrew|I(?:SO8601|ndian|slamic(?:Civil)?)|Japanese|Persian|RepublicOfChina)|ibrated(?:RGBColorSpace|WhiteColorSpace))|tegoryDocumentAttribute)|haracter(?:ConversionException|EncodingDocument(?:Attribute|Option))|lassDescriptionNeededForClassNotification|o(?:coa(?:ErrorDomain|VersionDocumentAttribute)|lor(?:List(?:DidChangeNotification|IOException|NotEditableException)|PanelColorDidChangeNotification)|m(?:boBox(?:Selection(?:DidChangeNotification|IsChangingNotification)|Will(?:DismissNotification|PopUpNotification))|mentDocumentAttribute|panyDocumentAttribute)|n(?:ditionallySets(?:E(?:ditableBindingOption|nabledBindingOption)|HiddenBindingOption)|t(?:e(?:nt(?:Array(?:Binding|ForMultipleSelectionBinding)|Binding|DictionaryBinding|HeightBinding|Object(?:Binding|sBinding)|PlacementTagBindingOption|SetBinding|ValuesBinding|WidthBinding)|xtHelpModeDid(?:ActivateNotification|DeactivateNotification))|inuouslyUpdatesValueBindingOption|rol(?:StateValue(?:Mixed|O(?:ff|n))|TextDid(?:BeginEditingNotification|ChangeNotification|EndEditingNotification)))|vertedDocumentAttribute)|pyrightDocumentAttribute|untKeyValueOperator)|r(?:eat(?:esSortDescriptorBindingOption|ionTimeDocumentAttribute)|iticalValueBinding)|u(?:r(?:rentLocaleDidChangeNotification|sorAttributeName)|stomColorSpace))|D(?:a(?:rkGray|taBinding)|e(?:bugDescriptionErrorKey|cimalNumber(?:DivideByZeroException|ExactnessException|OverflowException|UnderflowException)|f(?:ault(?:AttributesDocumentOption|RunLoopMode|TabIntervalDocumentAttribute)|initionPresentationType(?:DictionaryApplication|Key|Overlay))|letesObjectsOnRemoveBindingsOption|stinationInvalidException|vice(?:BitsPerSample|C(?:MYKColorSpace|olorSpaceName)|Is(?:Printer|Screen)|R(?:GBColorSpace|esolution)|Size|WhiteColorSpace))|i(?:dBecomeSingleThreadedNotification|s(?:play(?:NameBindingOption|Pattern(?:BindingOption|TitleBinding|ValueBinding))|tinctUnionOf(?:ArraysKeyValueOperator|ObjectsKeyValueOperator|SetsKeyValueOperator)))|o(?:c(?:FormatTextDocumentType|ument(?:EditedBinding|TypeDocument(?:Attribute|Option)))|ubleClick(?:ArgumentBinding|TargetBinding))|ragging(?:Exception|ImageComponent(?:IconKey|LabelKey)))|E(?:dit(?:ableBinding|orDocumentAttribute)|nabledBinding|vent(?:DurationForever|TrackingRunLoopMode)|x(?:cluded(?:ElementsDocumentAttribute|KeysBinding)|pansionAttributeName|tension(?:Host(?:Did(?:BecomeActiveNotification|EnterBackgroundNotification)|Will(?:EnterForegroundNotification|ResignActiveNotification))|JavaScriptFinalizeArgumentKey)))|F(?:i(?:l(?:e(?:AppendOnly|Busy|C(?:ontentsPboardType|reationDate)|DeviceIdentifier|ExtensionHidden|GroupOwnerAccount(?:ID|Name)|H(?:FS(?:CreatorCode|TypeCode)|andle(?:ConnectionAcceptedNotification|DataAvailableNotification|Notification(?:DataItem|FileHandleItem)|OperationException|Read(?:CompletionNotification|ToEndOfFileCompletionNotification)))|Immutable|ModificationDate|OwnerAccount(?:ID|Name)|P(?:athErrorKey|osixPermissions|rotection(?:Complete(?:Un(?:lessOpen|tilFirstUserAuthentication))?|Key|None))|ReferenceCount|S(?:ize|ystem(?:F(?:ileNumber|ree(?:Nodes|Size))|N(?:odes|umber)|Size))|Type(?:BlockSpecial|CharacterSpecial|D(?:irectory|ocument(?:Attribute|Option))|Regular|S(?:ocket|ymbolicLink)|Unknown)?)|terPredicateBinding)|ndPanel(?:CaseInsensitiveSearch|S(?:earchOptionsPboardType|ubstringMatch)))|loatingWindowLevel|o(?:nt(?:AttributeName|B(?:inding|oldBinding)|C(?:ascadeListAttribute|haracterSetAttribute|ollection(?:A(?:ctionKey|llFonts)|Di(?:dChangeNotification|sallowAutoActivationOption)|Favorites|IncludeDisabledFontsOption|NameKey|OldNameKey|Re(?:centlyUsed|moveDuplicatesOption)|User|VisibilityKey|Was(?:Hidden|Renamed|Shown)))|F(?:a(?:ceAttribute|mily(?:Attribute|NameBinding))|eature(?:Se(?:lectorIdentifierKey|ttingsAttribute)|TypeIdentifierKey)|ixedAdvanceAttribute)|I(?:dentityMatrix|talicBinding)|MatrixAttribute|Name(?:Attribute|Binding)|S(?:etChangedNotification|ize(?:Attribute|Binding)|lantTrait|ymbolicTrait)|TraitsAttribute|UnavailableException|V(?:ariationA(?:ttribute|xis(?:DefaultValueKey|IdentifierKey|M(?:aximumValueKey|inimumValueKey)|NameKey))|isibleNameAttribute)|W(?:eightTrait|idthTrait))|regroundColorAttributeName|undationVersionNumber)|ullScreenMode(?:A(?:llScreens|pplicationPresentationOptions)|Setting|WindowLevel))|G(?:enericException|l(?:obalDomain|yphInfoAttributeName)|ra(?:mmar(?:Corrections|Range|UserDescription)|phicsContext(?:DestinationAttributeName|P(?:DFFormat|SFormat)|RepresentationFormatAttributeName)))|H(?:T(?:MLTextDocumentType|TPCookie(?:Comment(?:URL)?|D(?:iscard|omain)|Expires|Ma(?:nager(?:AcceptPolicyChangedNotification|CookiesChangedNotification)|ximumAge)|Name|OriginURL|P(?:ath|ort)|Secure|V(?:alue|ersion)))|a(?:ndlesContentAsCompoundValueBindingOption|shTable(?:CopyIn|ObjectPointerPersonality|StrongMemory))|e(?:aderTitleBinding|lpAnchorErrorKey)|iddenBinding|yphenationFactorDocumentAttribute)|I(?:llegalSelectorException|mage(?:Binding|C(?:acheException|o(?:lorSyncProfileData|mpression(?:Factor|Method))|urrentFrame(?:Duration)?)|DitherTransparency|EXIFData|F(?:allbackBackgroundColor|rameCount)|Gamma|Hint(?:CTM|Interpolation)|Interlaced|LoopCount|Name(?:A(?:ctionTemplate|d(?:dTemplate|vanced)|pplicationIcon)|B(?:luetoothTemplate|o(?:njour|okmarksTemplate))|C(?:aution|o(?:l(?:orPanel|umnViewTemplate)|mputer))|E(?:nterFullScreenTemplate|veryone|xitFullScreenTemplate)|F(?:lowViewTemplate|o(?:l(?:der(?:Burnable|Smart)?|lowLinkFreestandingTemplate)|ntPanel))|Go(?:LeftTemplate|RightTemplate)|HomeTemplate|I(?:ChatTheaterTemplate|conViewTemplate|n(?:fo|validDataFreestandingTemplate))|L(?:eftFacingTriangleTemplate|istViewTemplate|ock(?:LockedTemplate|UnlockedTemplate))|M(?:enu(?:MixedStateTemplate|OnStateTemplate)|obileMe|ultipleDocuments)|Network|P(?:athTemplate|referencesGeneral)|QuickLookTemplate|R(?:e(?:fresh(?:FreestandingTemplate|Template)|moveTemplate|vealFreestandingTemplate)|ightFacingTriangleTemplate)|S(?:lideshowTemplate|martBadgeTemplate|t(?:atus(?:Available|None|PartiallyAvailable|Unavailable)|opProgress(?:FreestandingTemplate|Template)))|Trash(?:Empty|Full)|User(?:Accounts|G(?:roup|uest))?)|Progressive|R(?:GBColorTable|epRegistryDidChangeNotification))|n(?:c(?:ludedKeysBinding|onsistentArchiveException)|itial(?:KeyBinding|ValueBinding)|sertsNullPlaceholderBindingOption|te(?:ger(?:HashCallBacks|Map(?:KeyCallBacks|ValueCallBacks))|rnalInconsistencyException)|v(?:alid(?:Ar(?:chiveOperationException|gumentException)|ReceivePortException|SendPortException|UnarchiveOperationException)|o(?:cationOperation(?:CancelledException|VoidResultException)|kesSeparatelyWithArrayObjectsBindingOption)))|s(?:IndeterminateBinding|N(?:ilTransformerName|otNilTransformerName)))|Ke(?:rnAttributeName|y(?:ValueChange(?:IndexesKey|KindKey|N(?:ewKey|otificationIsPriorKey)|OldKey)|wordsDocumentAttribute))|L(?:a(?:belBinding|youtPriority(?:D(?:efault(?:High|Low)|ragThatCan(?:ResizeWindow|notResizeWindow))|FittingSizeCompression|Required|WindowSizeStayPut))|eftMarginDocumentAttribute|i(?:g(?:atureAttributeName|htGray)|n(?:guisticTag(?:Ad(?:jective|verb)|C(?:l(?:assifier|ose(?:Parenthesis|Quote))|onjunction)|D(?:ash|eterminer)|I(?:diom|nterjection)|N(?:oun|umber)|O(?:pen(?:Parenthesis|Quote)|rganizationName|ther(?:Punctuation|W(?:hitespace|ord))?)|P(?:ar(?:agraphBreak|ticle)|ersonalName|laceName|r(?:eposition|onoun)|unctuation)|S(?:cheme(?:L(?:anguage|e(?:mma|xicalClass))|NameType(?:OrLexicalClass)?|Script|TokenType)|entenceTerminator)|Verb|W(?:hitespace|ord(?:Joiner)?))|kAttributeName))|o(?:adedClasses|cal(?:NotificationCenterType|e(?:AlternateQuotation(?:BeginDelimiterKey|EndDelimiterKey)|C(?:alendar|o(?:llat(?:ionIdentifier|orIdentifier)|untryCode)|urrency(?:Code|Symbol))|DecimalSeparator|ExemplarCharacterSet|GroupingSeparator|Identifier|LanguageCode|MeasurementSystem|Quotation(?:BeginDelimiterKey|EndDelimiterKey)|ScriptCode|UsesMetricSystem|VariantCode)|ized(?:DescriptionKey|FailureReasonErrorKey|KeyDictionaryBinding|Recovery(?:OptionsErrorKey|SuggestionErrorKey)))))|M(?:a(?:c(?:SimpleTextDocumentType|hErrorDomain)|inMenuWindowLevel|llocException|nage(?:dObjectContextBinding|rDocumentAttribute)|pTable(?:CopyIn|ObjectPointerPersonality|StrongMemory)|rkedClauseSegmentAttributeName|x(?:ValueBinding|WidthBinding|imum(?:KeyValueOperator|RecentsBinding)))|e(?:nu(?:Did(?:AddItemNotification|BeginTrackingNotification|ChangeItemNotification|EndTrackingNotification|RemoveItemNotification|SendActionNotification)|WillSendActionNotification)|tadata(?:Item(?:DisplayNameKey|FS(?:C(?:ontentChangeDateKey|reationDateKey)|NameKey|SizeKey)|IsUbiquitousKey|PathKey|URLKey)|Query(?:Did(?:FinishGatheringNotification|StartGatheringNotification|UpdateNotification)|GatheringProgressNotification|LocalComputerScope|NetworkScope|ResultContentRelevanceAttribute|U(?:biquitousD(?:ataScope|ocumentsScope)|serHomeScope))|UbiquitousItem(?:HasUnresolvedConflictsKey|Is(?:DownloadingKey|Upload(?:edKey|ingKey))|Percent(?:DownloadedKey|UploadedKey))))|i(?:n(?:ValueBinding|WidthBinding|imumKeyValueOperator)|xedStateImageBinding)|od(?:al(?:Panel(?:RunLoopMode|WindowLevel)|Response(?:Cancel|OK))|ificationTimeDocumentAttribute)|ultipleValuesPlaceholderBindingOption)|N(?:amedColorSpace|e(?:gateBooleanTransformerName|tServicesError(?:Code|Domain))|ibLoadingException|o(?:SelectionPlaceholderBindingOption|n(?:OwnedPointer(?:HashCallBacks|Map(?:KeyCallBacks|ValueCallBacks)|OrNullMapKeyCallBacks)|RetainedObject(?:HashCallBacks|Map(?:KeyCallBacks|ValueCallBacks)))|rmalWindowLevel|t(?:ApplicablePlaceholderBindingOption|Found|ification(?:DeliverImmediately|PostToAllSessions)))|ullPlaceholderBindingOption)|O(?:SStatusErrorDomain|b(?:ject(?:HashCallBacks|InaccessibleException|Map(?:KeyCallBacks|ValueCallBacks)|NotAvailableException)|liquenessAttributeName|served(?:KeyPathKey|ObjectKey))|ff(?:StateImageBinding|iceOpenXMLTextDocumentType)|ldStyleException|nStateImageBinding|p(?:e(?:nDocumentTextDocumentType|ration(?:NotSupportedForKeyException|QueueDefaultMaxConcurrentOperationCount))|tionsKey)|utlineView(?:ColumnDid(?:MoveNotification|ResizeNotification)|Item(?:Did(?:CollapseNotification|ExpandNotification)|Will(?:CollapseNotification|ExpandNotification))|Selection(?:DidChangeNotification|IsChangingNotification))|wned(?:ObjectIdentityHashCallBacks|Pointer(?:HashCallBacks|Map(?:KeyCallBacks|ValueCallBacks))))|P(?:OSIXErrorDomain|PD(?:Include(?:NotFoundException|Stack(?:OverflowException|UnderflowException))|ParseException)|a(?:perSizeDocumentAttribute|r(?:agraphStyleAttributeName|seErrorException)|steboard(?:CommunicationException|Type(?:Color|Font|HTML|MultipleTextSelection|P(?:DF|NG)|R(?:TF(?:D)?|uler)|S(?:ound|tring)|T(?:IFF|abularText|extFinderOptions))|URLReading(?:ContentsConformToTypesKey|FileURLsOnlyKey))|tternColorSpace)|lainTextDocumentType|o(?:interToStructHashCallBacks|p(?:Up(?:Button(?:CellWillPopUpNotification|WillPopUpNotification)|MenuWindowLevel)|over(?:CloseReason(?:DetachToWindow|Key|Standard)|Did(?:CloseNotification|ShowNotification)|Will(?:CloseNotification|ShowNotification)))|rt(?:DidBecomeInvalidNotification|ReceiveException|SendException|TimeoutException)|sitioningRectBinding)|r(?:e(?:dicate(?:Binding|FormatBindingOption)|f(?:erredScrollerStyleDidChangeNotification|ixSpacesDocumentAttribute))|int(?:AllP(?:ages|resetsJobStyleHint)|BottomMargin|C(?:ancelJob|opies)|DetailedErrorReporting|F(?:axNumber|irstPage)|H(?:eaderAndFooter|orizontal(?:Pagination|lyCentered))|Job(?:Disposition|Saving(?:FileNameExtensionHidden|URL))|L(?:astPage|eftMargin)|MustCollate|NoPresetsJobStyleHint|O(?:perationExistsException|rientation)|P(?:a(?:ckageException|ges(?:Across|Down)|nelAccessorySummaryItem(?:DescriptionKey|NameKey)|per(?:Name|Size))|hotoJobStyleHint|r(?:eviewJob|inter(?:Name)?))|R(?:eversePageOrder|ightMargin)|S(?:aveJob|calingFactor|electionOnly|poolJob)|T(?:ime|opMargin)|Vertical(?:Pagination|lyCentered)|ingCommunicationException)|ocessInfoPowerStateDidChangeNotification))|R(?:TF(?:DTextDocumentType|PropertyStackOverflowException|TextDocumentType)|a(?:isesForNotApplicableKeysBindingOption|ngeException)|e(?:adOnlyDocumentAttribute|c(?:entSearchesBinding|overyAttempterErrorKey)|gistrationDomain|presentedFilenameBinding)|ightMarginDocumentAttribute|owHeightBinding|u(?:leEditor(?:Predicate(?:C(?:omp(?:arisonModifier|oundType)|ustomSelector)|LeftExpression|Op(?:eratorType|tions)|RightExpression)|RowsDidChangeNotification)|nLoopCommonModes))|S(?:creen(?:ColorSpaceDidChangeNotification|SaverWindowLevel)|e(?:archField(?:ClearRecentsMenuItemTag|NoRecentsMenuItemTag|Recents(?:MenuItemTag|TitleMenuItemTag))|lect(?:ed(?:I(?:dentifierBinding|ndexBinding)|LabelBinding|Object(?:Binding|sBinding)|TagBinding|Value(?:Binding|sBinding))|ionIndex(?:PathsBinding|esBinding)|orNameBindingOption|sAllWhenSettingContentBindingOption))|hadowAttributeName|o(?:rtDescriptorsBinding|undPboardType)|p(?:e(?:ech(?:C(?:haracterModeProperty|ommand(?:DelimiterProperty|Prefix|Suffix)|urrentVoiceProperty)|Dictionary(?:Abbreviations|Entry(?:Phonemes|Spelling)|LocaleIdentifier|ModificationDate|Pronunciations)|Error(?:Count|NewestC(?:haracterOffset|ode)|OldestC(?:haracterOffset|ode)|sProperty)|InputModeProperty|Mode(?:Literal|Normal|Phoneme|Text)|NumberModeProperty|OutputToFileURLProperty|P(?:honeme(?:Info(?:Example|Hilite(?:End|Start)|Opcode|Symbol)|SymbolsProperty)|itch(?:BaseProperty|ModProperty))|R(?:ateProperty|e(?:centSyncProperty|setProperty))|S(?:tatus(?:NumberOfCharactersLeft|Output(?:Busy|Paused)|P(?:honemeCode|roperty))|ynthesizerInfo(?:Identifier|Property|Version))|VolumeProperty)|ll(?:CheckerDidChangeAutomatic(?:SpellingCorrectionNotification|TextReplacementNotification)|ingStateAttributeName))|litView(?:DidResizeSubviewsNotification|WillResizeSubviewsNotification))|quareStatusItemLength|t(?:a(?:ckTraceKey|tusWindowLevel)|r(?:eam(?:DataWrittenToMemoryStreamKey|FileCurrentOffsetKey|NetworkServiceType(?:Background|V(?:ideo|o(?:IP|ice)))?|S(?:OCKS(?:ErrorDomain|Proxy(?:ConfigurationKey|HostKey|P(?:asswordKey|ortKey)|UserKey|Version(?:4|5|Key)))|ocketS(?:SLErrorDomain|ecurityLevel(?:Key|N(?:egotiatedSSL|one)|SSLv(?:2|3)|TLSv1))))|i(?:kethrough(?:ColorAttributeName|StyleAttributeName)|ngEncodingErrorKey)|oke(?:ColorAttributeName|WidthAttributeName)))|u(?:b(?:jectDocumentAttribute|menuWindowLevel)|mKeyValueOperator|perscriptAttributeName)|ystem(?:C(?:lockDidChangeNotification|olorsDidChangeNotification)|TimeZoneDidChangeNotification))|T(?:IFFException|a(?:b(?:ColumnTerminatorsAttributeName|leView(?:ColumnDid(?:MoveNotification|ResizeNotification)|RowViewKey|Selection(?:DidChangeNotification|IsChangingNotification)))|rgetBinding|skDidTerminateNotification)|ext(?:C(?:hecking(?:AirlineKey|C(?:ityKey|ountryKey)|Document(?:AuthorKey|TitleKey|URLKey)|FlightKey|JobTitleKey|NameKey|Or(?:ganizationKey|thographyKey)|PhoneKey|QuotesKey|Re(?:ference(?:DateKey|TimeZoneKey)|gularExpressionsKey|placementsKey)|St(?:ateKey|reetKey)|ZIPKey)|olorBinding)|Did(?:BeginEditingNotification|ChangeNotification|EndEditingNotification)|EncodingNameDocument(?:Attribute|Option)|Finder(?:CaseInsensitiveKey|MatchingTypeKey)|InputContextKeyboardSelectionDidChangeNotification|L(?:ayoutSection(?:Orientation|Range|sAttribute)|ineTooLongException)|NoSelectionException|ReadException|S(?:izeMultiplierDocumentOption|torage(?:DidProcessEditingNotification|WillProcessEditingNotification))|View(?:DidChange(?:SelectionNotification|TypingAttributesNotification)|WillChangeNotifyingTextViewNotification)|WriteException)|hreadWillExitNotification|i(?:meoutDocumentOption|tle(?:Binding|DocumentAttribute))|o(?:ol(?:Tip(?:AttributeName|Binding)|bar(?:DidRemoveItemNotification|FlexibleSpaceItemIdentifier|ItemVisibilityPriority(?:High|Low|Standard|User)|PrintItemIdentifier|S(?:how(?:ColorsItemIdentifier|FontsItemIdentifier)|paceItemIdentifier)|WillAddItemNotification))|pMarginDocumentAttribute|rnOffMenuWindowLevel)|ransparentBinding|ypedStreamVersionException)|U(?:RL(?:A(?:ttributeModificationDateKey|uthenticationMethod(?:ClientCertificate|Default|HT(?:MLForm|TP(?:Basic|Digest))|N(?:TLM|egotiate)|ServerTrust))|C(?:ontent(?:AccessDateKey|ModificationDateKey)|re(?:ationDateKey|dentialStorageChangedNotification)|ustomIconKey)|E(?:ffectiveIconKey|rror(?:Domain|FailingURL(?:ErrorKey|PeerTrustErrorKey|StringErrorKey)|Key))|File(?:AllocatedSizeKey|Protection(?:Complete(?:Un(?:lessOpen|tilFirstUserAuthentication))?|Key|None)|Resource(?:IdentifierKey|Type(?:BlockSpecial|CharacterSpecial|Directory|Key|NamedPipe|Regular|S(?:ocket|ymbolicLink)|Unknown))|S(?:cheme|ecurityKey|izeKey))|HasHiddenExtensionKey|Is(?:AliasFileKey|DirectoryKey|ExecutableKey|HiddenKey|MountTriggerKey|PackageKey|Re(?:adableKey|gularFileKey)|Sy(?:mbolicLinkKey|stemImmutableKey)|U(?:biquitousItemKey|serImmutableKey)|VolumeKey|WritableKey)|KeysOfUnsetValuesKey|L(?:abel(?:ColorKey|NumberKey)|inkCountKey|ocalized(?:LabelKey|NameKey|TypeDescriptionKey))|NameKey|P(?:arentDirectoryURLKey|r(?:eferredIOBlockSizeKey|otectionSpace(?:FTP(?:Proxy)?|HTTP(?:Proxy|S(?:Proxy)?)?|SOCKSProxy)))|T(?:otalFile(?:AllocatedSizeKey|SizeKey)|ypeIdentifierKey)|UbiquitousItem(?:HasUnresolvedConflictsKey|Is(?:DownloadingKey|Upload(?:edKey|ingKey)))|Volume(?:AvailableCapacityKey|CreationDateKey|I(?:dentifierKey|s(?:AutomountedKey|BrowsableKey|EjectableKey|InternalKey|JournalingKey|LocalKey|Re(?:adOnlyKey|movableKey)))|Localized(?:FormatDescriptionKey|NameKey)|MaximumFileSizeKey|NameKey|ResourceCountKey|Supports(?:AdvisoryFileLockingKey|Case(?:PreservedNamesKey|SensitiveNamesKey)|ExtendedSecurityKey|HardLinksKey|JournalingKey|PersistentIDsKey|R(?:enamingKey|ootDirectoryDatesKey)|S(?:parseFilesKey|ymbolicLinksKey)|VolumeSizesKey|ZeroRunsKey)|TotalCapacityKey|U(?:RL(?:ForRemountingKey|Key)|UIDStringKey)))|biquitous(?:KeyValueStore(?:Change(?:ReasonKey|dKeysKey)|DidChangeExternallyNotification)|UserDefaults(?:CompletedInitialSyncNotification|DidChangeAccountsNotification|NoCloudAccountNotification))|n(?:caught(?:RuntimeErrorException|SystemExceptionException)|d(?:e(?:finedKeyException|rl(?:ine(?:ByWord|ColorAttributeName|Pattern(?:D(?:ash(?:Dot(?:Dot)?)?|ot)|Solid)|StyleAttributeName)|yingErrorKey))|o(?:CloseGroupingRunLoopOrdering|Manager(?:CheckpointNotification|Did(?:CloseUndoGroupNotification|OpenUndoGroupNotification|RedoChangeNotification|UndoChangeNotification)|GroupIsDiscardableKey|Will(?:CloseUndoGroupNotification|RedoChangeNotification|UndoChangeNotification))))|ionOf(?:ArraysKeyValueOperator|ObjectsKeyValueOperator|SetsKeyValueOperator))|ser(?:ActivityTypeBrowsingWeb|Defaults(?:DidChangeNotification|SizeLimitExceededNotification)))|V(?:a(?:l(?:idatesImmediatelyBindingOption|ue(?:Binding|PathBinding|Transformer(?:BindingOption|NameBindingOption)|URLBinding))|riableStatusItemLength)|erticalGlyphFormAttributeName|i(?:ew(?:Animation(?:E(?:ffectKey|ndFrameKey)|Fade(?:InEffect|OutEffect)|StartFrameKey|TargetKey)|BoundsDidChangeNotification|DidUpdateTrackingAreasNotification|FrameDidChangeNotification|ModeDocumentAttribute|SizeDocumentAttribute|ZoomDocumentAttribute)|sibleBinding)|oice(?:Age|DemoText|Gender(?:Female|Male|Neuter)?|I(?:dentifier|ndividuallySpokenCharacters)|LocaleIdentifier|Name|SupportedCharacters))|W(?:arningValueBinding|eb(?:ArchiveTextDocumentType|PreferencesDocumentOption|ResourceLoadDelegateDocumentOption)|hite|i(?:dthBinding|llBecomeMultiThreadedNotification|ndow(?:Did(?:Become(?:KeyNotification|MainNotification)|Change(?:BackingPropertiesNotification|Screen(?:Notification|ProfileNotification))|DeminiaturizeNotification|E(?:n(?:d(?:LiveResizeNotification|SheetNotification)|ter(?:FullScreenNotification|VersionBrowserNotification))|x(?:it(?:FullScreenNotification|VersionBrowserNotification)|poseNotification))|M(?:iniaturizeNotification|oveNotification)|Resi(?:gn(?:KeyNotification|MainNotification)|zeNotification)|UpdateNotification)|ServerCommunicationException|Will(?:BeginSheetNotification|CloseNotification|E(?:nter(?:FullScreenNotification|VersionBrowserNotification)|xit(?:FullScreenNotification|VersionBrowserNotification))|M(?:iniaturizeNotification|oveNotification)|StartLiveResizeNotification)))|or(?:d(?:MLTextDocumentType|Tables(?:ReadException|WriteException))|kspace(?:A(?:ctiveSpaceDidChangeNotification|pplicationKey)|D(?:esktopImage(?:AllowClippingKey|FillColorKey|ScalingKey)|id(?:ActivateApplicationNotification|ChangeFileLabelsNotification|DeactivateApplicationNotification|HideApplicationNotification|LaunchApplicationNotification|MountNotification|RenameVolumeNotification|TerminateApplicationNotification|Un(?:hideApplicationNotification|mountNotification)|WakeNotification))|S(?:creensDid(?:SleepNotification|WakeNotification)|essionDid(?:BecomeActiveNotification|ResignActiveNotification))|Volume(?:LocalizedNameKey|Old(?:LocalizedNameKey|URLKey)|URLKey)|Will(?:LaunchApplicationNotification|PowerOffNotification|SleepNotification|UnmountNotification)))|ritingDirectionAttributeName)|XMLParserErrorDomain|Zero(?:Point|Rect|Size))|WebViewDid(?:BeginEditingNotification|Change(?:Notification|SelectionNotification|TypingStyleNotification)|EndEditingNotification)|kAB(?:A(?:ddress(?:C(?:ityKey|ountry(?:CodeKey|Key))|HomeLabel|Property|St(?:ateKey|reetKey)|WorkLabel|ZIPKey)|lternateBirthdayComponentsProperty|nniversaryLabel|ssistantLabel)|B(?:irthday(?:ComponentsProperty|Property)|rotherLabel)|C(?:alendarURIsProperty|hildLabel|reationDateProperty)|D(?:atabaseChanged(?:ExternallyNotification|Notification)|e(?:letedRecords|partmentProperty))|Email(?:HomeLabel|MobileMeLabel|Property|WorkLabel)|F(?:atherLabel|irstNameP(?:honeticProperty|roperty)|riendLabel)|GroupNameProperty|Home(?:Label|Page(?:Label|Property))|Ins(?:ertedRecords|tantMessage(?:Property|Service(?:AIM|Facebook|G(?:aduGadu|oogleTalk)|ICQ|Jabber|Key|MSN|QQ|Skype|Yahoo)|UsernameKey))|JobTitleProperty|LastNameP(?:honeticProperty|roperty)|M(?:a(?:idenNameProperty|nagerLabel)|iddleNameP(?:honeticProperty|roperty)|o(?:bileMeLabel|dificationDateProperty|therLabel))|N(?:icknameProperty|oteProperty)|O(?:rganizationP(?:honeticProperty|roperty)|ther(?:Date(?:ComponentsProperty|sProperty)|Label))|P(?:ar(?:entLabel|tnerLabel)|ersonFlags|hone(?:Home(?:FAXLabel|Label)|M(?:ainLabel|obileLabel)|P(?:agerLabel|roperty)|Work(?:FAXLabel|Label)|iPhoneLabel))|RelatedNamesProperty|S(?:isterLabel|ocialProfile(?:Property|Service(?:F(?:acebook|lickr)|Key|LinkedIn|MySpace|Twitter)|U(?:RLKey|ser(?:IdentifierKey|nameKey)))|pouseLabel|uffixProperty)|TitleProperty|U(?:IDProperty|RLsProperty|pdatedRecords)|WorkLabel))\\b",name:"support.variable.cocoa.objc"},{match:"\\b(?:C(?:I(?:Detector(?:Accuracy(?:High|Low)?|TypeFace)|FeatureType(?:Face|QRCode|Rectangle|Text))|X(?:CallDirectoryPhoneNumberMax|ErrorDomain(?:CallDirectoryManager|IncomingCall|RequestTransaction)?)|al(?:AttendeeStatus(?:Accepted|Declined|NeedsAction|Tentative)|DeletedRecordsKey|InsertedRecordsKey|UpdatedRecordsKey))|DR(?:A(?:bstractFile|ccessDate|llFilesystems|pplicationIdentifier|ttributeModificationDate|udio(?:FourChannelKey|PreEmphasisKey))|B(?:ackupDate|ibliographicFile|lock(?:Size(?:Key)?|TypeKey)|urn(?:AppendableKey|CompletionAction(?:Eject|Key|Mount)|DoubleLayerL0DataZoneBlocksKey|FailureAction(?:Eject|Key|None)|OverwriteDiscKey|RequestedSpeedKey|St(?:atusChangedNotification|rategy(?:BDDAO|CD(?:SAO|TAO)|DVDDAO|IsRequiredKey|Key))|TestingKey|UnderrunProtectionKey|VerifyDiscKey))|C(?:DText(?:ArrangerKey|C(?:haracterCodeKey|losedKey|o(?:mposerKey|pyrightAssertedFor(?:NamesKey|SpecialMessagesKey|TitlesKey)))|DiscIdentKey|Genre(?:CodeKey|Key)|Key|LanguageKey|MCNISRCKey|NSStringEncodingKey|PerformerKey|S(?:izeKey|ongwriterKey|pecialMessageKey)|T(?:OC(?:2Key|Key)|itleKey))|o(?:ntentModificationDate|pyrightFile)|reationDate)|D(?:VD(?:CopyrightInfoKey|TimestampKey)|ata(?:FormKey|Preparer)|e(?:faultDate|vice(?:AppearedNotification|BurnSpeed(?:BD1x|CD1x|DVD1x|HDDVD1x|Max|sKey)|C(?:an(?:TestWrite(?:CDKey|DVDKey)|UnderrunProtect(?:CDKey|DVDKey)|Write(?:BD(?:Key|R(?:EKey|Key))|CD(?:Key|R(?:Key|WKey|awKey)|SAOKey|T(?:AOKey|extKey))|DVD(?:DAOKey|Key|PlusR(?:DoubleLayerKey|Key|W(?:DoubleLayerKey|Key))|R(?:AMKey|DualLayerKey|Key|W(?:DualLayerKey|Key)))|HDDVD(?:Key|R(?:AMKey|DualLayerKey|Key|W(?:DualLayerKey|Key)))|I(?:SRCKey|ndexPointsKey)|Key))|urrentWriteSpeedKey)|DisappearedNotification|FirmwareRevisionKey|I(?:ORegistryEntryPathKey|s(?:BusyKey|TrayOpenKey))|LoadingMechanismCan(?:EjectKey|InjectKey|OpenKey)|M(?:aximumWriteSpeedKey|edia(?:B(?:SDNameKey|locks(?:FreeKey|OverwritableKey|UsedKey))|Class(?:BD|CD|DVD|HDDVD|Key|Unknown)|DoubleLayerL0DataZoneBlocksKey|FreeSpaceKey|I(?:nfoKey|s(?:AppendableKey|BlankKey|ErasableKey|OverwritableKey|ReservedKey))|OverwritableSpaceKey|S(?:essionCountKey|tate(?:InTransition|Key|MediaPresent|None))|T(?:rackCountKey|ype(?:BDR(?:E|OM)?|CDR(?:OM|W)?|DVD(?:PlusR(?:DoubleLayer|W(?:DoubleLayer)?)?|R(?:AM|DualLayer|OM|W(?:DualLayer)?)?)|HDDVDR(?:AM|DualLayer|OM|W(?:DualLayer)?)?|Key|Unknown))|UsedSpaceKey))|P(?:hysicalInterconnect(?:ATAPI|Fi(?:breChannel|reWire)|Key|Location(?:External|Internal|Key|Unknown)|SCSI|USB)|roductNameKey)|S(?:tatusChangedNotification|upportLevel(?:AppleS(?:hipping|upported)|Key|None|Unsupported|VendorSupported))|Track(?:InfoKey|RefsKey)|VendorNameKey|Write(?:BufferSizeKey|CapabilitiesKey))))|E(?:ffectiveDate|r(?:ase(?:StatusChangedNotification|Type(?:Complete|Key|Quick))|rorStatus(?:AdditionalSenseStringKey|Error(?:InfoStringKey|Key|StringKey)|Key|Sense(?:CodeStringKey|Key)))|xpirationDate)|FreeBlocksKey|HFSPlus(?:CatalogNodeID|TextEncodingHint)?|I(?:SO(?:9660(?:Level(?:One|Two)|VersionNumber)?|Level|MacExtensions|RockRidgeExtensions)|n(?:dexPointsKey|visible))|Joliet|LinkType(?:FinderAlias|HardLink|SymbolicLink)|M(?:a(?:c(?:ExtendedFinderFlags|Fi(?:le(?:Creator|Type)|nder(?:Flags|HideExtension))|IconLocation|ScrollPosition|Window(?:Bounds|View))|xBurnSpeedKey)|ediaCatalogNumberKey)|NextWritableAddressKey|P(?:osix(?:FileMode|GID|UID)|reGap(?:IsRequiredKey|LengthKey)|ublisher)|RecordingDate|S(?:CMSCopyright(?:Free|Protected(?:Copy|Original))|e(?:rialCopyManagementStateKey|ssion(?:FormatKey|NumberKey))|tatus(?:Current(?:S(?:essionKey|peedKey)|TrackKey)|EraseTypeKey|P(?:ercentCompleteKey|rogress(?:Current(?:KPS|XFactor)|InfoKey))|State(?:Done|Erasing|F(?:ailed|inishing)|Key|None|Preparing|Session(?:Close|Open)|Track(?:Close|Open|Write)|Verifying)|Total(?:SessionsKey|TracksKey))|u(?:bchannelDataForm(?:Key|None|Pack|Raw)|ppressMacSpecificFiles)|y(?:nchronousBehaviorKey|stemIdentifier))|Track(?:I(?:SRCKey|sEmptyKey)|LengthKey|ModeKey|NumberKey|Packet(?:SizeKey|Type(?:Fixed|Key|Variable))|StartAddressKey|Type(?:Closed|In(?:complete|visible)|Key|Reserved))|UDF(?:ApplicationIdentifierSuffix|ExtendedFilePermissions|InterchangeLevel|Max(?:InterchangeLevel|VolumeSequenceNumber)|PrimaryVolumeDescriptorNumber|RealTimeFile|V(?:ersion1(?:02|50)|olumeSe(?:quenceNumber|t(?:I(?:dentifier|mplementationUse)|Timestamp)))|WriteVersion)?|V(?:erificationType(?:Checksum|Key|None|ProduceAgain|ReceiveData)|olume(?:C(?:heckedDate|reationDate)|E(?:ffectiveDate|xpirationDate)|ModificationDate|Set)))|I(?:C(?:ButtonType(?:Copy|Mail|Print|Scan|Transfer|Web)|CameraDeviceCan(?:AcceptPTPCommands|Delete(?:AllFiles|OneFile)|ReceiveFile|SyncClock|TakePicture(?:UsingShutterReleaseOnCamera)?)|D(?:e(?:leteAfterSuccessfulDownload|vice(?:CanEjectOrDisconnect|LocationDescription(?:Bluetooth|FireWire|MassStorage|USB)))|ownload(?:SidecarFiles|sDirectoryURL))|LocalizedStatusNotificationKey|Overwrite|S(?:ave(?:AsFilename|d(?:AncillaryFiles|Filename))|cannerStatus(?:RequestsOverviewScan|Warm(?:UpDone|ingUp))|tatus(?:CodeKey|NotificationKey))|TransportType(?:Bluetooth|ExFAT|FireWire|MassStorage|TCPIP|USB))|K(?:FilterBrowser(?:DefaultInputImage|Exclude(?:Categories|Filters)|Filter(?:DoubleClickNotification|SelectedNotification)|Show(?:Categories|Preview)|WillPreviewFilterNotification)|ImageBrowser(?:BackgroundColorKey|C(?:GImage(?:RepresentationType|SourceRepresentationType)|ell(?:BackgroundLayer|ForegroundLayer|PlaceHolderLayer|SelectionLayer|s(?:HighlightedTitleAttributesKey|OutlineColorKey|SubtitleAttributesKey|TitleAttributesKey)))|Group(?:BackgroundColorKey|FooterLayer|HeaderLayer|RangeKey|StyleKey|TitleKey)|IconRef(?:PathRepresentationType|RepresentationType)|NS(?:BitmapImageRepresentationType|DataRepresentationType|ImageRepresentationType|URLRepresentationType)|P(?:DFPageRepresentationType|athRepresentationType)|Q(?:CComposition(?:PathRepresentationType|RepresentationType)|TMovie(?:PathRepresentationType|RepresentationType)|uickLookPathRepresentationType)|SelectionColorKey)|OverlayType(?:Background|Image)|PictureTaker(?:Allows(?:EditingKey|FileChoosingKey|VideoCaptureKey)|CropAreaSizeKey|I(?:mageTransformsKey|nformationalTextKey)|OutputImageMaxSizeKey|RemainOpenAfterValidateKey|Show(?:AddressBookPicture(?:Key)?|E(?:ffectsKey|mptyPicture(?:Key)?)|RecentPictureKey)|UpdateRecentPictureKey)|Slideshow(?:AudioFile|Mode(?:Images|Other|PDF)|PDFDisplay(?:Box|Mode|sAsBook)|S(?:creen|tart(?:Index|Paused))|WrapAround)|ToolMode(?:Annotate|Crop|Move|None|Rotate|Select(?:Ellipse|Lasso|Rect)?)|UI(?:FlavorAllowFallback|Size(?:Flavor|Mini|Regular|Small)|maxSize)|_(?:ApertureBundleIdentifier|MailBundleIdentifier|PhotosBundleIdentifier|iPhotoBundleIdentifier))|MKTextOrientationName|OBluetooth(?:H(?:andsFree(?:Call(?:Direction|Index|M(?:ode|ultiparty)|N(?:ame|umber)|Status|Type)|Indicator(?:BattChg|Call(?:Held|Setup)?|Roam|S(?:ervice|ignal)))|ostControllerPoweredO(?:ffNotification|nNotification))|L2CAPChannel(?:PublishedNotification|TerminatedNotification)|PDU(?:Encoding|OriginatingAddress(?:Type)?|ProtocolID|Servic(?:CenterAddress|eCenterAddressType)|T(?:imestamp|ype)|UserData)))|MDLVertexAttribute(?:Anisotropy|Bi(?:normal|tangent)|Color|EdgeCrease|Joint(?:Indices|Weights)|Normal|OcclusionValue|Position|S(?:hadingBasis(?:U|V)|ubdivisionStencil)|T(?:angent|extureCoordinate))|NS(?:A(?:ddedPersistentStoresKey|ffected(?:ObjectsErrorKey|StoresErrorKey))|BinaryStoreType|CoreDataVersionNumber|De(?:letedObjectsKey|tailedErrorsKey)|ErrorMergePolicy|FetchRequestExpressionType|I(?:gnorePersistentStoreVersioningOption|n(?:MemoryStoreType|ferMappingModelAutomaticallyOption|sertedObjectsKey|validated(?:AllObjectsKey|ObjectsKey)))|M(?:anagedObjectContext(?:DidSaveNotification|ObjectsDidChangeNotification|WillSaveNotification)|ergeByProperty(?:ObjectTrumpMergePolicy|StoreTrumpMergePolicy)|igrat(?:ePersistentStoresAutomaticallyOption|ion(?:DestinationObjectKey|Entity(?:MappingKey|PolicyKey)|ManagerKey|PropertyMappingKey|SourceObjectKey)))|OverwriteMergePolicy|P(?:ersistentStore(?:Coordinator(?:StoresDidChangeNotification|WillRemoveStoreNotification)|FileProtectionKey|OSCompatibility|SaveConflictsErrorKey|TimeoutOption)|ref(?:PaneHelpMenu(?:AnchorKey|InfoPListKey|TitleKey)|erenceP(?:ane(?:CancelUnselectNotification|DoUnselectNotification|SwitchToPaneNotification|UpdateHelpMenuNotification)|refPaneIsAvailableNotification)))|R(?:e(?:adOnlyPersistentStoreOption|freshedObjectsKey|movedPersistentStoresKey)|ollbackMergePolicy)|S(?:QLite(?:AnalyzeOption|ErrorDomain|ManualVacuumOption|PragmasOption|StoreType)|tore(?:ModelVersion(?:HashesKey|IdentifiersKey)|TypeKey|UUIDKey))|U(?:UIDChangedPersistentStoresKey|pdatedObjectsKey)|Validat(?:eXMLStoreOption|ion(?:KeyErrorKey|ObjectErrorKey|PredicateErrorKey|ValueErrorKey))|XMLStoreType)|OSAS(?:criptError(?:App(?:AddressKey|Name(?:Key)?)|BriefMessage(?:Key)?|ExpectedTypeKey|Message(?:Key)?|Number(?:Key)?|OffendingObjectKey|PartialResultKey|Range(?:Key)?)|torage(?:Application(?:BundleType|Type)|Script(?:BundleType|Type)|TextType))|PDF(?:Document(?:AuthorAttribute|Creat(?:ionDateAttribute|orAttribute)|Did(?:Begin(?:FindNotification|Page(?:FindNotification|WriteNotification)|WriteNotification)|End(?:FindNotification|Page(?:FindNotification|WriteNotification)|WriteNotification)|FindMatchNotification|UnlockNotification)|KeywordsAttribute|ModificationDateAttribute|OwnerPasswordOption|ProducerAttribute|SubjectAttribute|TitleAttribute|UserPasswordOption)|ThumbnailViewDocumentEditedNotification|View(?:Annotation(?:HitNotification|WillHitNotification)|C(?:hangedHistoryNotification|opyPermissionNotification)|D(?:isplay(?:BoxChangedNotification|ModeChangedNotification)|ocumentChangedNotification)|P(?:ageChangedNotification|rintPermissionNotification)|S(?:caleChangedNotification|electionChangedNotification)|VisiblePagesChangedNotification))|QCCompositionInputPaceKey|SF(?:AuthorizationPluginViewUser(?:NameKey|ShortNameKey)|CertificateViewDisclosureStateDidChange|DisplayViewException)|globalUpdateOK|k(?:C(?:A(?:A(?:lignment(?:Center|Justified|Left|Natural|Right)|nimation(?:Cubic(?:Paced)?|Discrete|Linear|Paced|RotateAuto(?:Reverse)?))|EmitterLayer(?:Additive|BackToFront|C(?:ircle|uboid)|Line|O(?:ldest(?:First|Last)|utline)|Point(?:s)?|Rectangle|S(?:phere|urface)|Unordered|Volume)|Fil(?:l(?:Mode(?:B(?:ackwards|oth)|Forwards|Removed)|Rule(?:EvenOdd|NonZero))|ter(?:Linear|Nearest|Trilinear))|Gra(?:dientLayer(?:Axial|Radial)|vity(?:Bottom(?:Left|Right)?|Center|Left|R(?:esize(?:Aspect(?:Fill)?)?|ight)|Top(?:Left|Right)?))|Line(?:Cap(?:Butt|Round|Square)|Join(?:Bevel|Miter|Round))|MediaTimingFunction(?:Default|Ease(?:In(?:EaseOut)?|Out)|Linear)|OnOrder(?:In|Out)|RendererColorSpace|Scroll(?:Both|Horizontally|None|Vertically)|Tr(?:ans(?:action(?:Animation(?:Duration|TimingFunction)|CompletionBlock|DisableActions)|ition(?:F(?:ade|rom(?:Bottom|Left|Right|Top))|MoveIn|Push|Reveal)?)|uncation(?:End|Middle|None|Start))|ValueFunction(?:Rotate(?:X|Y|Z)|Scale(?:X|Y|Z)?|Translate(?:X|Y|Z)?))|I(?:A(?:ctiveKeys|pplyOption(?:ColorSpace|Definition|Extent|UserInfo)|ttribute(?:Class|D(?:e(?:fault|scription)|isplayName)|Filter(?:Categories|DisplayName|Name)|Identity|M(?:ax|in)|Name|ReferenceDocumentation|SliderM(?:ax|in)|Type(?:Angle|Boolean|Count|Distance|Gradient|Integer|O(?:ffset|paqueColor)|Position(?:3)?|Rectangle|Scalar|Time)?))|C(?:ategory(?:B(?:lur|uiltIn)|Co(?:lor(?:Adjustment|Effect)|mpositeOperation)|DistortionEffect|FilterGenerator|G(?:e(?:nerator|ometryAdjustment)|radient)|H(?:alftoneEffect|ighDynamicRange)|Interlaced|NonSquarePixels|Reduction|S(?:harpen|t(?:illImage|ylize))|T(?:ileEffect|ransition)|Video)|ontext(?:Output(?:ColorSpace|Premultiplied)|UseSoftwareRenderer|Working(?:ColorSpace|Format)))|F(?:ilterGeneratorExportedKey(?:Name|TargetObject)?|ormat(?:ARGB8|BGRA8|RGBA(?:16|8|f|h)))|I(?:mage(?:ColorSpace|Provider(?:TileSize|UserInfo))|nput(?:A(?:llowDraftModeKey|ngleKey|spectRatioKey)|B(?:ackgroundImageKey|iasKey|oost(?:Key|ShadowAmountKey)|rightnessKey)|C(?:enterKey|o(?:lorKey|ntrastKey))|DecoderVersionKey|E(?:VKey|nable(?:ChromaticNoiseTrackingKey|SharpeningKey)|xtentKey)|GradientImageKey|I(?:gnoreImageOrientationKey|mage(?:Key|OrientationKey)|ntensityKey)|LinearSpaceFilter|MaskImageKey|N(?:eutral(?:Chromaticity(?:XKey|YKey)|LocationKey|T(?:emperatureKey|intKey))|oiseReductionAmountKey)|R(?:adiusKey|efractionKey)|S(?:aturationKey|cale(?:FactorKey|Key)|ha(?:dingImageKey|rpnessKey))|T(?:argetImageKey|imeKey|ransformKey)|WidthKey))|Output(?:ImageKey|NativeSizeKey)|S(?:ampler(?:AffineMatrix|ColorSpace|Filter(?:Linear|Mode|Nearest)|Wrap(?:Black|Clamp|Mode))|upportedDecoderVersionsKey)|UI(?:ParameterSet|Set(?:Advanced|Basic|Development|Intermediate))))|FTS(?:Listing(?:NameKey|SizeKey|TypeKey)|Progress(?:BytesT(?:otalKey|ransferredKey)|EstimatedTimeKey|P(?:ercentageKey|recentageKey)|T(?:imeElapsedKey|ransferRateKey)))|OBEXHeaderIDKey(?:A(?:ppParameters|uthorization(?:Challenge|Response))|B(?:ody|yteSequence)|Co(?:nnectionID|unt)|Description|EndOfBody|HTTP|Length|Name|ObjectClass|T(?:arget|ime(?:4Byte|ISO)|ype)|U(?:nknown(?:1ByteQuantity|4ByteQuantity|ByteSequence|UnicodeText)|serDefined)|Who)|PDFDestinationUnspecifiedValue|QuartzFilter(?:ApplicationDomain|ManagerDid(?:AddFilterNotification|ModifyFilterNotification|RemoveFilterNotification|SelectFilterNotification)|P(?:DFWorkflowDomain|rintingDomain))))\\b",name:"support.variable.objc"}],repository:{functions:{patterns:[{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.0.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:HighlightRect|Run(?:AlertPanelRelativeToWindow|CriticalAlertPanelRelativeToWindow|InformationalAlertPanelRelativeToWindow))\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.10.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:Begin(?:AlertSheet|CriticalAlertSheet|InformationalAlertSheet)|CopyBits|Get(?:AlertPanel|CriticalAlertPanel|InformationalAlertPanel)|R(?:eleaseAlertPanel|un(?:AlertPanel|CriticalAlertPanel|InformationalAlertPanel)))\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.11.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:AccessibilityRaiseBadArgumentException|DisableScreenUpdates|EnableScreenUpdates)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.13.support.function.cocoa.objc"}},match:"(\\s*)(\\bNSConvertGlyphsToPackedGlyphs\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.14.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:GetWindowServerMemory|OpenGL(?:Get(?:Option|Version)|SetOption)|ReadPixel)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.5.support.function.cocoa.objc"}},match:"(\\s*)(\\bNXReadNSObjectFromCoder\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.5.support.function.run-time.objc"}},match:"(\\s*)(\\b(?:class_(?:createInstanceFromZone|lookupMethod|respondsToMethod|setSuperclass)|object_copyFromZone)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.6.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:CountWindows(?:ForContext)?|WindowList(?:ForContext)?)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.6.support.function.objc"}},match:"(\\s*)(\\bIOBluetooth(?:GetObjectIDFromArguments|OBEXSessionCreateWithIncomingIOBluetoothRFCOMMChannel)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"invalid.deprecated.10.8.support.function.cocoa.objc"}},match:"(\\s*)(\\bNS(?:CopyObject|InterfaceStyleForKey|RealMemoryAvailable)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.10.11.objc"}},match:"(\\s*)(\\b(?:CGDirectDisplayCopyCurrentMetalDevice|MT(?:KM(?:etalVertex(?:DescriptorFromModelIO|FormatFromModelIO)|odelIOVertex(?:DescriptorFromMetal|FormatFromMetal))|LC(?:opyAllDevices|reateSystemDefaultDevice)))\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.10.12.objc"}},match:"(\\s*)(\\bMTKM(?:etalVertexDescriptorFromModelIOWithError|odelIOVertexDescriptorFromMetalWithError)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.10.13.objc"}},match:"(\\s*)(\\bMTL(?:CopyAllDevicesWithObserver|RemoveDeviceObserver|SamplePositionMake)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.10.14.objc"}},match:"(\\s*)(\\bMTLIndirectCommandBufferExecutionRangeMake\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.10.15.objc"}},match:"(\\s*)(\\bMTLTextureSwizzleChannelsMake\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.cocoa.10.10.objc"}},match:"(\\s*)(\\bNS(?:Accessibility(?:FrameInView|PointInView)|EdgeInsetsEqual)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.cocoa.10.15.objc"}},match:"(\\s*)(\\bNSDirectionalEdgeInsetsMake\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.cocoa.objc"}},match:"(\\s*)(\\b(?:ABLocalizedPropertyOrLabel|CFBridgingRe(?:lease|tain)|NS(?:A(?:ccessibility(?:ActionDescription|PostNotification(?:WithUserInfo)?|RoleDescription(?:ForUIElement)?|SetMayContainProtectedContent|Unignored(?:Ancestor|Children(?:ForOnlyChild)?|Descendant))|ll(?:HashTableObjects|MapTable(?:Keys|Values)|ocate(?:Collectable|MemoryPages|Object))|pplication(?:Load|Main)|vailableWindowDepths)|B(?:e(?:ep|stDepth)|itsPer(?:PixelFromDepth|SampleFromDepth))|C(?:lassFromString|o(?:lorSpaceFromDepth|mpare(?:HashTables|MapTables)|n(?:tainsRect|vert(?:Host(?:DoubleToSwapped|FloatToSwapped)|Swapped(?:DoubleToHost|FloatToHost)))|py(?:HashTableWithZone|M(?:apTableWithZone|emoryPages))|unt(?:HashTable|MapTable))|reate(?:File(?:ContentsPboardType|namePboardType)|HashTable(?:WithZone)?|MapTable(?:WithZone)?|Zone))|D(?:e(?:allocate(?:MemoryPages|Object)|c(?:imal(?:Add|Co(?:mpa(?:ct|re)|py)|Divide|IsNotANumber|Multiply(?:ByPowerOf10)?|Normalize|Power|Round|S(?:tring|ubtract))|rementExtraRefCountWasZero)|faultMallocZone)|ivideRect|ottedFrameRect|raw(?:B(?:itmap|utton)|ColorTiledRects|DarkBezel|Gr(?:ayBezel|oove)|LightBezel|NinePartImage|T(?:hreePartImage|iledRects)|W(?:hiteBezel|indowBackground)))|E(?:dgeInsetsMake|n(?:d(?:HashTableEnumeration|MapTableEnumeration)|umerate(?:HashTable|MapTable))|qual(?:Points|R(?:anges|ects)|Sizes)|raseRect|ventMaskFromType|x(?:ceptionHandlerResume|traRefCount))|F(?:ileTypeForHFSTypeCode|r(?:ameRect(?:WithWidth(?:UsingOperation)?)?|ee(?:HashTable|MapTable))|ullUserName)|Get(?:FileType(?:s)?|SizeAndAlignment|UncaughtExceptionHandler)|H(?:FSType(?:CodeFromFileType|OfFile)|ash(?:Get|Insert(?:IfAbsent|KnownAbsent)?|Remove)|eight|o(?:meDirectory(?:ForUser)?|stByteOrder))|I(?:n(?:crementExtraRefCount|setRect|te(?:gralRect(?:WithOptions)?|rsect(?:ionR(?:ange|ect)|sRect)))|s(?:ControllerMarker|EmptyRect))|Lo(?:cationInRange|g(?:PageSize|v)?)|M(?:a(?:ke(?:Collectable|Point|R(?:ange|ect)|Size)|p(?:Get|Insert(?:IfAbsent|KnownAbsent)?|Member|Remove)|x(?:Range|X|Y))|i(?:d(?:X|Y)|n(?:X|Y))|ouseInRect)|N(?:ext(?:HashEnumeratorItem|MapEnumeratorPair)|umberOfColorComponents)|O(?:ffsetRect|penStepRootDirectory)|P(?:ageSize|erformService|lanarFromDepth|oint(?:From(?:CGPoint|String)|InRect|ToCGPoint)|rotocolFromString)|R(?:angeFromString|e(?:allocateCollectable|c(?:t(?:Clip(?:List)?|F(?:ill(?:List(?:UsingOperation|With(?:Colors(?:UsingOperation)?|Grays))?|UsingOperation)?|rom(?:CGRect|String))|ToCGRect)|ycleZone)|gisterServicesProvider|set(?:HashTable|MapTable))|ound(?:DownToMultipleOfPageSize|UpToMultipleOfPageSize))|S(?:e(?:archPathForDirectoriesInDomains|lectorFromString|t(?:FocusRingStyle|ShowsServicesMenuItem|UncaughtExceptionHandler|ZoneName))|ho(?:uldRetainWithZone|w(?:AnimationEffect|sServicesMenuItem))|ize(?:From(?:CGSize|String)|ToCGSize)|tringFrom(?:Class|HashTable|MapTable|P(?:oint|rotocol)|R(?:ange|ect)|S(?:elector|ize))|wap(?:Big(?:DoubleToHost|FloatToHost|IntToHost|Long(?:LongToHost|ToHost)|ShortToHost)|Double|Float|Host(?:DoubleTo(?:Big|Little)|FloatTo(?:Big|Little)|IntTo(?:Big|Little)|Long(?:LongTo(?:Big|Little)|To(?:Big|Little))|ShortTo(?:Big|Little))|Int|L(?:ittle(?:DoubleToHost|FloatToHost|IntToHost|Long(?:LongToHost|ToHost)|ShortToHost)|ong(?:Long)?)|Short))|T(?:emporaryDirectory|ouchTypeMaskFromType)|U(?:n(?:ionR(?:ange|ect)|registerServicesProvider)|pdateDynamicServices|serName)|Width|Zone(?:Calloc|Fr(?:ee|omPointer)|Malloc|Name|Realloc)))\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.objc"}},match:"(\\s*)(\\b(?:AuthorizationPluginCreate|IOBluetooth(?:DeviceRegisterForDisconnectNotification|FindNumberOfRegistryEntriesOfClassName|Get(?:DeviceSelectorController|PairingController|UniqueFileNameAndPath)|I(?:gnoreHIDDevice|sFileAppleDesignatedPIMData)|L2CAPChannelRegisterForChannelCloseNotification|N(?:SString(?:FromDeviceAddress(?:Colon)?|ToDeviceAddress)|umberOf(?:AvailableHIDDevices|KeyboardHIDDevices|PointingHIDDevices|TabletHIDDevices))|PackData(?:List)?|R(?:FCOMMChannelRegisterForChannelCloseNotification|e(?:gisterFor(?:DeviceConnectNotifications|Filtered(?:L2CAPChannelOpenNotifications|RFCOMMChannelOpenNotifications)|L2CAPChannelOpenNotifications|RFCOMMChannelOpenNotifications)|moveIgnoredHIDDevice))|U(?:npackData(?:List)?|serNotificationUnregister)|ValidateHardwareWithDescription)|MTL(?:C(?:learColorMake|oordinate2DMake)|OriginMake|RegionMake(?:1D|2D|3D)|SizeMake)|OBEX(?:Add(?:A(?:pplicationParameterHeader|uthorization(?:ChallengeHeader|ResponseHeader))|B(?:odyHeader|yteSequenceHeader)|Co(?:nnectionIDHeader|untHeader)|DescriptionHeader|HTTPHeader|LengthHeader|NameHeader|ObjectClassHeader|T(?:argetHeader|ime(?:4ByteHeader|ISOHeader)|ypeHeader)|UserDefinedHeader|WhoHeader)|GetHeaders|HeadersToBytes)|SS(?:CenteredRectInRect|Random(?:FloatBetween|IntBetween|PointForSizeWithinRect)))\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.run-time.10.10.objc"}},match:"(\\s*)(\\bobject_isClass\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.run-time.10.12.objc"}},match:"(\\s*)(\\b(?:object_setI(?:nstanceVariableWithStrongDefault|varWithStrongDefault)|protocol_copyPropertyList2)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.run-time.10.14.objc"}},match:"(\\s*)(\\bobjc_setHook_get(?:Class|ImageName)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.run-time.10.15.objc"}},match:"(\\s*)(\\bobjc_(?:addLoadImageFunc|setHook_setAssociatedObject)\\b)"},{captures:{1:{name:"punctuation.whitespace.support.function.leading"},2:{name:"support.function.run-time.objc"}},match:"(\\s*)(\\b(?:class_(?:add(?:Ivar|Method(?:s)?|Pro(?:perty|tocol))|c(?:o(?:nformsToProtocol|py(?:IvarList|MethodList|Pro(?:pertyList|tocolList)))|reateInstance)|get(?:Class(?:Method|Variable)|I(?:mageName|nstance(?:Method|Size|Variable)|varLayout)|MethodImplementation(?:_stret)?|Name|Property|Superclass|Version|WeakIvarLayout)|isMetaClass|nextMethodList|poseAs|re(?:moveMethods|place(?:Method|Property)|spondsToSelector)|set(?:IvarLayout|Version|WeakIvarLayout))|i(?:mp_(?:getBlock|implementationWithBlock|removeBlock)|var_get(?:Name|Offset|TypeEncoding))|method_(?:copy(?:ArgumentType|ReturnType)|exchangeImplementations|get(?:Argument(?:Info|Type)|Description|Implementation|N(?:ame|umberOfArguments)|ReturnType|SizeOfArguments|TypeEncoding)|setImplementation)|obj(?:c_(?:a(?:ddClass|llocate(?:ClassPair|Protocol))|co(?:nstructInstance|py(?:Class(?:List|NamesForImage)|ImageNames|ProtocolList))|d(?:estructInstance|isposeClassPair|uplicateClass)|enumerationMutation|get(?:AssociatedObject|Class(?:List|es)?|FutureClass|MetaClass|OrigClass|Protocol|RequiredClass)|lo(?:adWeak|okUpClass)|re(?:gister(?:ClassPair|Protocol)|moveAssociatedObjects|tainedObject)|s(?:et(?:AssociatedObject|ClassHandler|EnumerationMutationHandler|ForwardHandler|Multithreaded)|toreWeak)|unretained(?:Object|Pointer))|ect_(?:copy|dispose|get(?:Class(?:Name)?|I(?:n(?:dexedIvars|stanceVariable)|var))|realloc(?:FromZone)?|set(?:Class|I(?:nstanceVariable|var))))|pro(?:perty_(?:copyAttribute(?:List|Value)|get(?:Attributes|Name))|tocol_(?:add(?:MethodDescription|Pro(?:perty|tocol))|co(?:nformsToProtocol|py(?:MethodDescriptionList|Pro(?:pertyList|tocolList)))|get(?:MethodDescription|Name|Property)|isEqual))|sel_(?:get(?:Name|Uid)|is(?:Equal|Mapped)|registerName))\\b)"}]},protocols:{patterns:[{match:"\\bNSConnectionDelegate\\b",name:"invalid.deprecated.10.13.support.other.protocol.cocoa.objc"},{match:"\\b(?:DOM(?:Event(?:Listener|Target)|NodeFilter|XPathNSResolver)|Web(?:Do(?:cument(?:Representation|Searching|Text|View)|wnloadDelegate)|EditingDelegate|FrameLoadDelegate|OpenPanelResultListener|P(?:lugInViewFactory|olicyDe(?:cisionListener|legate))|ResourceLoadDelegate|UIDelegate))\\b",name:"invalid.deprecated.10.14.support.other.protocol.cocoa.objc"},{match:"\\bQC(?:CompositionRenderer|PlugIn(?:Context|InputImageSource|OutputImageProvider))\\b",name:"invalid.deprecated.10.15.support.other.protocol.objc"},{match:"\\bNSURLHandleClient\\b",name:"invalid.deprecated.10.4.support.other.protocol.cocoa.objc"},{match:"\\bM(?:DL(?:Component|MeshBuffer(?:Allocator|Zone)?|Named|ObjectContainerComponent|TransformComponent)|T(?:KViewDelegate|L(?:B(?:litCommandEncoder|uffer)|Com(?:mand(?:Buffer|Encoder|Queue)|pute(?:CommandEncoder|PipelineState))|D(?:e(?:pthStencilState|vice)|rawable)|Function|Library|ParallelRenderCommandEncoder|Re(?:nder(?:CommandEncoder|PipelineState)|source)|SamplerState|Texture)))\\b",name:"support.other.protocol.10.11.objc"},{match:"\\bCIImageProcessor(?:Input|Output)\\b",name:"support.other.protocol.10.12.objc"},{match:"\\bM(?:DL(?:AssetResolver|JointAnimation|TransformOp)|TL(?:ArgumentEncoder|CaptureScope|Fence|Heap))\\b",name:"support.other.protocol.10.13.objc"},{match:"\\bMTL(?:Event|Indirect(?:CommandBuffer|RenderCommand)|SharedEvent)\\b",name:"support.other.protocol.10.14.objc"},{match:"\\bMTL(?:Counter(?:S(?:ampleBuffer|et))?|RasterizationRateMap)\\b",name:"support.other.protocol.10.15.objc"},{match:"\\bNSUserActivityDelegate\\b",name:"support.other.protocol.cocoa.10.10.objc"},{match:"\\b(?:NS(?:Accessibility(?:CustomRotorItemSearchDelegate|ElementLoading)|ItemProvider(?:Reading|Writing))|WK(?:HTTPCookieStoreObserver|URLScheme(?:Handler|Task)))\\b",name:"support.other.protocol.cocoa.10.13.objc"},{match:"\\bUNUserNotificationCenterDelegate\\b",name:"support.other.protocol.cocoa.10.14.objc"},{match:"\\bNS(?:CollectionLayout(?:Container|Environment|VisibleItem)|URLSessionWebSocketDelegate)\\b",name:"support.other.protocol.cocoa.10.15.objc"},{match:"\\b(?:ABImageClient|NS(?:A(?:ccessibility(?:Button|C(?:heckBox|ontainsTransientUI)|Element|Group|Image|L(?:ayout(?:Area|Item)|ist)|NavigableStaticText|Outline|ProgressIndicator|R(?:adioButton|ow)|S(?:lider|t(?:aticText|epper)|witch)|Table)?|l(?:ertDelegate|ignmentFeedbackToken)|nimat(?:ablePropertyContainer|ionDelegate)|pp(?:earanceCustomization|licationDelegate))|BrowserDelegate|C(?:a(?:cheDelegate|ndidateListTouchBarItemDelegate)|hangeSpelling|loudSharing(?:ServiceDelegate|Validation)|o(?:ding|l(?:lectionView(?:D(?:ataSource|elegate(?:FlowLayout)?)|Element|Prefetching|SectionHeaderView)|or(?:Changing|Picking(?:Custom|Default)))|mboBox(?:CellDataSource|D(?:ataSource|elegate))|ntrolTextEditingDelegate|pying))|D(?:atePickerCellDelegate|ecimalNumberBehaviors|iscardableContent|ockTilePlugIn|ra(?:gging(?:Destination|Info|Source)|werDelegate))|E(?:ditor(?:Registration)?|xtensionRequestHandling)|F(?:astEnumeration|ile(?:ManagerDelegate|Pr(?:esenter|omiseProviderDelegate))|ontChanging)|G(?:estureRecognizerDelegate|lyphStorage)|HapticFeedbackPerformer|I(?:gnoreMisspelledWords|mageDelegate|nputServ(?:erMouseTracker|iceProvider))|Keyed(?:ArchiverDelegate|UnarchiverDelegate)|L(?:ayoutManagerDelegate|ocking)|M(?:a(?:chPortDelegate|trixDelegate)|e(?:nu(?:Delegate|ItemValidation)|tadataQueryDelegate)|utableCopying)|NetService(?:BrowserDelegate|Delegate)|O(?:penSavePanelDelegate|utlineViewD(?:ataSource|elegate))|P(?:a(?:geControllerDelegate|steboard(?:ItemDataProvider|Reading|TypeOwner|Writing)|thC(?:ellDelegate|ontrolDelegate))|o(?:poverDelegate|rtDelegate)|r(?:intPanelAccessorizing|ogressReporting))|RuleEditorDelegate|S(?:crubber(?:D(?:ataSource|elegate)|FlowLayoutDelegate)|e(?:archFieldDelegate|cureCoding|guePerforming|rvicesMenuRequestor)|haringService(?:Delegate|Picker(?:Delegate|To(?:olbarItemDelegate|uchBarItemDelegate)))|oundDelegate|p(?:e(?:ech(?:RecognizerDelegate|SynthesizerDelegate)|llServerDelegate)|litViewDelegate|ringLoadingDestination)|t(?:a(?:ckViewDelegate|ndardKeyBindingResponding)|reamDelegate))|T(?:ab(?:ViewDelegate|leViewD(?:ataSource|elegate))|ext(?:AttachmentC(?:ell|ontainer)|CheckingClient|Delegate|Fi(?:eldDelegate|nder(?:BarContainer|Client))|Input(?:Client|Traits)?|LayoutOrientationProvider|StorageDelegate|ViewDelegate)|o(?:kenField(?:CellDelegate|Delegate)|olbar(?:Delegate|ItemValidation)|uchBar(?:Delegate|Provider)))|U(?:RL(?:AuthenticationChallengeSender|ConnectionD(?:ataDelegate|elegate|ownloadDelegate)|DownloadDelegate|ProtocolClient|Session(?:D(?:ataDelegate|elegate|ownloadDelegate)|StreamDelegate|TaskDelegate))|ser(?:ActivityRestoring|Interface(?:Compression|Item(?:Identification|Searching)|Validations)|NotificationCenterDelegate))|V(?:alidatedUserInterfaceItem|iew(?:ControllerPresentationAnimator|LayerContentScaleDelegate|ToolTipOwner))|Window(?:Delegate|Restoration)|X(?:MLParserDelegate|PC(?:ListenerDelegate|ProxyCreating)))|WK(?:NavigationDelegate|ScriptMessageHandler|UIDelegate))\\b",name:"support.other.protocol.cocoa.objc"},{match:"\\b(?:A(?:MWorkflowControllerDelegate|UAudioUnitFactory)|C(?:A(?:A(?:ction|nimationDelegate)|Lay(?:erDelegate|outManager)|Me(?:diaTiming|talDrawable))|I(?:Filter(?:Constructor)?|PlugInRegistration)|X(?:Call(?:DirectoryExtensionContextDelegate|ObserverDelegate)|ProviderDelegate))|DR(?:FileDataProduction|TrackDataProduction)|I(?:C(?:CameraDeviceD(?:elegate|ownloadDelegate)|Device(?:BrowserDelegate|Delegate)|ScannerDeviceDelegate)|K(?:CameraDeviceViewDelegate|DeviceBrowserViewDelegate|FilterCustomUIProvider|ImageEditPanelDataSource|S(?:cannerDeviceViewDelegate|lideshowDataSource))|MK(?:TextInput|UnicodeTextInput)|OBluetooth(?:Device(?:AsyncCallbacks|InquiryDelegate|PairDelegate)|HandsFree(?:AudioGatewayDelegate|De(?:legate|viceDelegate))|L2CAPChannelDelegate|RFCOMMChannelDelegate))|MDLLightProbeIrradianceDataSource|NS(?:Fetch(?:RequestResult|edResults(?:ControllerDelegate|SectionInfo))|Object)|PDF(?:DocumentDelegate|ViewDelegate)|QLPreview(?:Item|PanelD(?:ataSource|elegate)|ingController))\\b",name:"support.other.protocol.objc"}]}},scopeName:"source.objc.platform"},et=Ta;var Na={extensions:[".pl",".cgi",".perl",".ph",".plx",".pm",".psgi",".t"],names:["perl","cperl"],patterns:[{include:"#line_comment"},{begin:"^(?==[a-zA-Z]+)",end:"^(=cut\\b.*$)",endCaptures:{1:{patterns:[{include:"#pod"}]}},name:"comment.block.documentation.perl",patterns:[{include:"#pod"}]},{include:"#variable"},{applyEndPatternLast:!0,begin:"\\b(?=qr\\s*[^\\s\\w])",end:"((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",endCaptures:{1:{name:"string.regexp.compile.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:"(qr)\\s*\\{",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\}",name:"string.regexp.compile.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:"(qr)\\s*\\[",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\]",name:"string.regexp.compile.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:"(qr)\\s*<",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:">",name:"string.regexp.compile.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:"(qr)\\s*\\(",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\)",name:"string.regexp.compile.nested_parens.perl",patterns:[{match:"\\$(?=[^\\s\\w\\\\'\\{\\[\\(\\<])"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:"(qr)\\s*'",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"'",name:"string.regexp.compile.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:"(qr)\\s*([^\\s\\w'\\{\\[\\(\\<])",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\2",name:"string.regexp.compile.simple-delimiter.perl",patterns:[{match:"\\$(?=[^\\s\\w'\\{\\[\\(\\<])",name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:!0,begin:"(?<!\\{|\\+|\\-)\\b(?=m\\s*[^\\sa-zA-Z0-9])",end:"((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",endCaptures:{1:{name:"string.regexp.find-m.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:"(m)\\s*\\{",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\}",name:"string.regexp.find-m.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:"(m)\\s*\\[",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\]",name:"string.regexp.find-m.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:"(m)\\s*<",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:">",name:"string.regexp.find-m.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:"(m)\\s*\\(",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\)",name:"string.regexp.find-m.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:"(m)\\s*'",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"'",name:"string.regexp.find-m.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:"\\G(?<!\\{|\\+|\\-)(m)(?!_)\\s*([^\\sa-zA-Z0-9'\\{\\[\\(\\<])",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\2",name:"string.regexp.find-m.simple-delimiter.perl",patterns:[{match:"\\$(?=[^\\sa-zA-Z0-9'\\{\\[\\(\\<])",name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{begin:"\\[",beginCaptures:{1:{name:"punctuation.definition.character-class.begin.perl"}},end:"\\]",endCaptures:{1:{name:"punctuation.definition.character-class.end.perl"}},name:"constant.other.character-class.set.perl",patterns:[{match:"\\$(?=[^\\s\\w'\\{\\[\\(\\<])",name:"keyword.control.anchor.perl"},{include:"#escaped_char"}]},{include:"#nested_parens_interpolated"}]}]},{applyEndPatternLast:!0,begin:"\\b(?=(?<!\\&)(s)(\\s+\\S|\\s*[;\\,\\{\\}\\(\\)\\[<]|$))",end:"((([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\{\\}\\)\\]>]|\\s*$))",endCaptures:{1:{name:"string.regexp.replace.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:"(s)\\s*\\{",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\}",name:"string.regexp.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},{begin:"(s)\\s*\\[",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\]",name:"string.regexp.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},{begin:"(s)\\s*<",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:">",name:"string.regexp.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt"}]},{begin:"(s)\\s*\\(",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"\\)",name:"string.regexp.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},{begin:"\\{",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\}",name:"string.regexp.format.nested_braces.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},{begin:"\\[",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\]",name:"string.regexp.format.nested_brackets.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},{begin:"<",captures:{0:{name:"punctuation.definition.string.perl"}},end:">",name:"string.regexp.format.nested_ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},{begin:"\\(",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\)",name:"string.regexp.format.nested_parens.perl",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},{begin:"'",captures:{0:{name:"punctuation.definition.string.perl"}},end:"'",name:"string.regexp.format.single_quote.perl",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.perl"}]},{begin:"([^\\s\\w\\[({<;])",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\1",name:"string.regexp.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{match:"\\s+"}]},{begin:"\\b(?=s([^\\sa-zA-Z0-9\\[({<]).*\\1([egimosxradlupcn]*)([\\}\\)\\;\\,]|\\s+))",end:"((([egimosxradlupcn]*)))(?=([\\}\\)\\;\\,]|\\s+|\\s*$))",endCaptures:{1:{name:"string.regexp.replace.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:"(s\\s*)([^\\sa-zA-Z0-9\\[({<])",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"(?=\\2)",name:"string.regexp.replaceXXX.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:"'",captures:{0:{name:"punctuation.definition.string.perl"}},end:"'",name:"string.regexp.replaceXXX.format.single_quote.perl",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.perl.perl"}]},{begin:"([^\\sa-zA-Z0-9\\[({<])",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\1",name:"string.regexp.replaceXXX.format.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:"\\b(?=(?<!\\\\)s\\s*([^\\s\\w\\[({<>]))",end:"((([egimosradlupc]*x[egimosradlupc]*)))\\b",endCaptures:{1:{name:"string.regexp.replace.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{begin:"(s)\\s*(.)",captures:{0:{name:"punctuation.definition.string.perl"},1:{name:"support.function.perl"}},end:"(?=\\2)",name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:"'",captures:{0:{name:"punctuation.definition.string.perl"}},end:"'(?=[egimosradlupc]*x[egimosradlupc]*)\\b",name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"}]},{begin:"(.)",captures:{0:{name:"punctuation.definition.string.perl"}},end:"\\1(?=[egimosradlupc]*x[egimosradlupc]*)\\b",name:"string.regexp.replace.extended.simple_delimiter.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},{begin:"(?<=\\(|\\{|~|&|\\||if|unless|^)\\s*((\\/))",beginCaptures:{1:{name:"string.regexp.find.perl"},2:{name:"punctuation.definition.string.perl"}},contentName:"string.regexp.find.perl",end:"((\\1([egimosxradlupcn]*)))(?=(\\s+\\S|\\s*[;\\,\\#\\{\\}\\)]|\\s*$))",endCaptures:{1:{name:"string.regexp.find.perl"},2:{name:"punctuation.definition.string.perl"},3:{name:"keyword.control.regexp-option.perl"}},patterns:[{match:"\\$(?=\\/)",name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"}]},{captures:{1:{name:"constant.other.key.perl"}},match:"\\b(\\w+)\\s*(?==>)"},{match:"(?<={)\\s*\\w+\\s*(?=})",name:"constant.other.bareword.perl"},{captures:{1:{name:"keyword.control.perl"},2:{name:"entity.name.type.class.perl"}},match:"^\\s*(package)\\s+([^\\s;]+)",name:"meta.class.perl"},{captures:{1:{name:"storage.type.sub.perl"},2:{name:"entity.name.function.perl"},3:{name:"storage.type.method.perl"}},match:"\\b(sub)(?:\\s+([-a-zA-Z0-9_]+))?\\s*(?:\\([\\$\\@\\*;]*\\))?[^\\w\\{]",name:"meta.function.perl"},{captures:{1:{name:"entity.name.function.perl"},2:{name:"punctuation.definition.parameters.perl"},3:{name:"variable.parameter.function.perl"}},match:"^\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\b",name:"meta.function.perl"},{begin:"^(?=(\\t| {4}))",end:"(?=[^\\t\\s])",name:"meta.leading-tabs",patterns:[{captures:{1:{name:"meta.odd-tab"},2:{name:"meta.even-tab"}},match:"(\\t| {4})(\\t| {4})?"}]},{captures:{1:{name:"support.function.perl"},2:{name:"punctuation.definition.string.perl"},5:{name:"punctuation.definition.string.perl"},8:{name:"punctuation.definition.string.perl"}},match:"\\b(tr|y)\\s*([^A-Za-z0-9\\s])(.*?)(?<!\\\\)(\\\\{2})*(\\2)(.*?)(?<!\\\\)(\\\\{2})*(\\2)",name:"string.regexp.replace.perl"},{match:"\\b(__FILE__|__LINE__|__PACKAGE__|__SUB__)\\b",name:"constant.language.perl"},{begin:"\\b(__DATA__|__END__)\\n?",beginCaptures:{1:{name:"constant.language.perl"}},contentName:"comment.block.documentation.perl",end:"\\z",patterns:[{include:"#pod"}]},{match:"(?<!->)\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\b",name:"keyword.control.perl"},{match:"\\b(my|our|local)\\b",name:"storage.modifier.perl"},{match:"(?<!\\w)\\-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b",name:"keyword.operator.filetest.perl"},{match:"\\b(and|or|xor|as|not)\\b",name:"keyword.operator.logical.perl"},{match:"(<=>|=>|->)",name:"keyword.operator.comparison.perl"},{include:"#heredoc"},{begin:"\\bqq\\s*([^\\(\\{\\[\\<\\w\\s])",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"\\bqx\\s*([^'\\(\\{\\[\\<\\w\\s])",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"\\bqx\\s*'",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx.single-quote.perl",patterns:[{include:"#escaped_char"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.double.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"(?<!->)\\bqw?\\s*([^\\(\\{\\[\\<\\w\\s])",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q.perl"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.single.perl",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.perl"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.perl",patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"(?<!->)\\bqq\\s*\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:"\\bqq\\s*\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:"\\bqq\\s*\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:"\\bqq\\s*\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.qq-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:"(?<!->)\\bqx\\s*\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-paren.perl",patterns:[{include:"#escaped_char"},{include:"#nested_parens_interpolated"},{include:"#variable"}]},{begin:"\\bqx\\s*\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-brace.perl",patterns:[{include:"#escaped_char"},{include:"#nested_braces_interpolated"},{include:"#variable"}]},{begin:"\\bqx\\s*\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-bracket.perl",patterns:[{include:"#escaped_char"},{include:"#nested_brackets_interpolated"},{include:"#variable"}]},{begin:"\\bqx\\s*\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.interpolated.qx-ltgt.perl",patterns:[{include:"#escaped_char"},{include:"#nested_ltgt_interpolated"},{include:"#variable"}]},{begin:"(?<!->)\\bqw?\\s*\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-paren.perl",patterns:[{include:"#nested_parens"}]},{begin:"\\bqw?\\s*\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-brace.perl",patterns:[{include:"#nested_braces"}]},{begin:"\\bqw?\\s*\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-bracket.perl",patterns:[{include:"#nested_brackets"}]},{begin:"\\bqw?\\s*\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.quoted.other.q-ltgt.perl",patterns:[{include:"#nested_ltgt"}]},{begin:"^__\\w+__",beginCaptures:{0:{name:"punctuation.definition.string.begin.perl"}},end:"$",endCaptures:{0:{name:"punctuation.definition.string.end.perl"}},name:"string.unquoted.program-block.perl"},{begin:"\\b(format)\\s+(\\w+)\\s*=",beginCaptures:{1:{name:"support.function.perl"},2:{name:"entity.name.function.format.perl"}},end:"^\\.\\s*$",name:"meta.format.perl",patterns:[{include:"#line_comment"},{include:"#variable"}]},{captures:{1:{name:"support.function.perl"},2:{name:"entity.name.function.perl"}},match:"\\b(x)\\s*(\\d+)\\b"},{match:"\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|print|printf|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\b",name:"support.function.perl"},{captures:{1:{name:"punctuation.section.scope.begin.perl"},2:{name:"punctuation.section.scope.end.perl"}},match:"(\\{)(\\})"},{captures:{1:{name:"punctuation.section.scope.begin.perl"},2:{name:"punctuation.section.scope.end.perl"}},match:"(\\()(\\))"}],repository:{escaped_char:{patterns:[{match:"\\\\\\d+",name:"constant.character.escape.perl"},{match:"\\\\c[^\\s\\\\]",name:"constant.character.escape.perl"},{match:"\\\\g(?:\\{(?:\\w*|-\\d+)\\}|\\d+)",name:"constant.character.escape.perl"},{match:"\\\\k(?:\\{\\w*\\}|<\\w*>|'\\w*')",name:"constant.character.escape.perl"},{match:"\\\\N\\{[^\\}]*\\}",name:"constant.character.escape.perl"},{match:"\\\\o\\{\\d*\\}",name:"constant.character.escape.perl"},{match:"\\\\(?:p|P)(?:\\{\\w*\\}|P)",name:"constant.character.escape.perl"},{match:"\\\\x(?:[0-9a-zA-Z]{2}|\\{\\w*\\})?",name:"constant.character.escape.perl"},{match:"\\\\.",name:"constant.character.escape.perl"}]},heredoc:{patterns:[{begin:"((((<<(~)?) *')(HTML)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:"^",end:"\\n",name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:"((((<<(~)?) *')(XML)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:"^",end:"\\n",name:"text.xml",patterns:[{include:"text.xml"}]}]},{begin:"((((<<(~)?) *')(CSS)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:"^",end:"\\n",name:"source.css",patterns:[{include:"source.css"}]}]},{begin:"((((<<(~)?) *')(JAVASCRIPT)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:"^",end:"\\n",name:"source.js",patterns:[{include:"source.js"}]}]},{begin:"((((<<(~)?) *')(SQL)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:"^",end:"\\n",name:"source.sql",patterns:[{include:"source.sql"}]}]},{begin:"((((<<(~)?) *')(POSTSCRIPT)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:"^",end:"\\n",name:"source.postscript",patterns:[{include:"source.postscript"}]}]},{begin:"((((<<(~)?) *')([^']*)(')))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}}},{begin:"((((<<(~)?) *\\\\)((?![=\\d\\$\\( ])[^;,'\"`\\s\\)]*)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.raw.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.raw.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.raw.perl"},3:{name:"punctuation.definition.string.end.perl"}}},{begin:'((((<<(~)?) *")(HTML)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:"^",end:"\\n",name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:'((((<<(~)?) *")(XML)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:"^",end:"\\n",name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:'((((<<(~)?) *")(CSS)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:"^",end:"\\n",name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:'((((<<(~)?) *")(JAVASCRIPT)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:"^",end:"\\n",name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:'((((<<(~)?) *")(SQL)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:"^",end:"\\n",name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:'((((<<(~)?) *")(POSTSCRIPT)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:"^",end:"\\n",name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:'((((<<(~)?) *")([^"]*)(")))(.*)\\n?',beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"((((<<(~)?) *)(HTML)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.html",patterns:[{begin:"^",end:"\\n",name:"text.html.basic",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.html.basic"}]}]},{begin:"((((<<(~)?) *)(XML)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.xml",patterns:[{begin:"^",end:"\\n",name:"text.xml",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"text.xml"}]}]},{begin:"((((<<(~)?) *)(CSS)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.css",patterns:[{begin:"^",end:"\\n",name:"source.css",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.css"}]}]},{begin:"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.js",patterns:[{begin:"^",end:"\\n",name:"source.js",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.js"}]}]},{begin:"((((<<(~)?) *)(SQL)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.sql",patterns:[{begin:"^",end:"\\n",name:"source.sql",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.sql"}]}]},{begin:"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},name:"meta.embedded.block.postscript",patterns:[{begin:"^",end:"\\n",name:"source.postscript",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"source.postscript"}]}]},{begin:"((((<<(~)?) *)((?![=\\d\\$\\( ])[^;,'\"`\\s\\)]*)()))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.interpolated.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]},{begin:"((((<<(~)?) *`)([^`]*)(`)))(.*)\\n?",beginCaptures:{1:{name:"string.unquoted.heredoc.interpolated.perl"},2:{name:"punctuation.definition.string.begin.perl"},3:{name:"punctuation.definition.delimiter.begin.perl"},7:{name:"punctuation.definition.delimiter.end.perl"},8:{patterns:[{include:"$self"}]}},contentName:"string.unquoted.heredoc.shell.perl",end:"^((?!\\5)\\s+)?((\\6))$",endCaptures:{2:{name:"string.unquoted.heredoc.interpolated.perl"},3:{name:"punctuation.definition.string.end.perl"}},patterns:[{include:"#escaped_char"},{include:"#variable"}]}]},line_comment:{patterns:[{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.perl"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.perl"}},end:"\\n",name:"comment.line.number-sign.perl"}]}]},nested_braces:{begin:"\\{",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\}",patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:"\\{",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\}",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:"\\[",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\]",patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:"\\[",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\]",patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_ltgt:{begin:"<",captures:{1:{name:"punctuation.section.scope.perl"}},end:">",patterns:[{include:"#nested_ltgt"}]},nested_ltgt_interpolated:{begin:"<",captures:{1:{name:"punctuation.section.scope.perl"}},end:">",patterns:[{include:"#variable"},{include:"#nested_ltgt_interpolated"}]},nested_parens:{begin:"\\(",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\)",patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:"\\(",captures:{1:{name:"punctuation.section.scope.perl"}},end:"\\)",patterns:[{match:"\\$(?=[^\\s\\w'\\{\\[\\(\\<])",name:"keyword.control.anchor.perl"},{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},pod:{patterns:[{match:"^=(pod|back|cut)\\b",name:"storage.type.class.pod.perl"},{begin:"^(=begin)\\s+(html)\\s*$",beginCaptures:{1:{name:"storage.type.class.pod.perl"},2:{name:"variable.other.pod.perl"}},contentName:"text.embedded.html.basic",end:"^(=end)\\s+(html)|^(?==cut)",endCaptures:{1:{name:"storage.type.class.pod.perl"},2:{name:"variable.other.pod.perl"}},name:"meta.embedded.pod.perl",patterns:[{include:"text.html.basic"}]},{captures:{1:{name:"storage.type.class.pod.perl"},2:{name:"variable.other.pod.perl",patterns:[{include:"#pod-formatting"}]}},match:"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\b\\s*(.*)"},{include:"#pod-formatting"}]},"pod-formatting":{patterns:[{captures:{1:{name:"markup.italic.pod.perl"},2:{name:"markup.italic.pod.perl"}},match:"I(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)",name:"entity.name.type.instance.pod.perl"},{captures:{1:{name:"markup.bold.pod.perl"},2:{name:"markup.bold.pod.perl"}},match:"B(?:<([^<>]+)>|<+(\\s+(?:(?<!\\s)>|[^>])+\\s+)>+)",name:"entity.name.type.instance.pod.perl"},{captures:{1:{name:"markup.raw.pod.perl"},2:{name:"markup.raw.pod.perl"}},match:"C(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)",name:"entity.name.type.instance.pod.perl"},{captures:{1:{name:"markup.underline.link.hyperlink.pod.perl"}},match:"L<([^>]+)>",name:"entity.name.type.instance.pod.perl"},{match:"[EFSXZ]<[^>]*>",name:"entity.name.type.instance.pod.perl"}]},variable:{patterns:[{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)&(?![A-Za-z0-9_])",name:"variable.other.regexp.match.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)`(?![A-Za-z0-9_])",name:"variable.other.regexp.pre-match.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)'(?![A-Za-z0-9_])",name:"variable.other.regexp.post-match.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)\\+(?![A-Za-z0-9_])",name:"variable.other.regexp.last-paren-match.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:'(\\$)"(?![A-Za-z0-9_])',name:"variable.other.readwrite.list-separator.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)0(?![A-Za-z0-9_])",name:"variable.other.predefined.program-name.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)[_ab\\*\\.\\/\\|,\\\\;#%=\\-~^:?!\\$<>\\(\\)\\[\\]@](?![A-Za-z0-9_])",name:"variable.other.predefined.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"(\\$)[0-9]+(?![A-Za-z0-9_])",name:"variable.other.subpattern.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"([\\$\\@\\%](#)?)([a-zA-Zx7f-xff\\$]|::)([a-zA-Z0-9_x7f-xff\\$]|::)*\\b",name:"variable.other.readwrite.global.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"},2:{name:"punctuation.definition.variable.perl"}},match:"(\\$\\{)(?:[a-zA-Zx7f-xff\\$]|::)(?:[a-zA-Z0-9_x7f-xff\\$]|::)*(\\})",name:"variable.other.readwrite.global.perl"},{captures:{1:{name:"punctuation.definition.variable.perl"}},match:"([\\$\\@\\%](#)?)[0-9_]\\b",name:"variable.other.readwrite.global.special.perl"}]}},scopeName:"source.perl"},nt=Na;var Ra={extensions:[".bzl",".eb",".gyp",".gypi",".lmi",".py",".py3",".pyde",".pyi",".pyp",".pyt",".pyw",".rpy",".sage",".sagews",".smk",".snakefile",".spec",".tac",".wsgi",".xpy",".xsh"],names:["bazel","bzl","easybuild","python","python3","rusthon","sage","snakefile","snakemake","starlark","xonsh"],patterns:[{include:"#statement"},{include:"#expression"}],repository:{"annotated-parameter":{begin:`(?x)
\\b
([[:alpha:]_]\\w*) \\s* (:)
`,beginCaptures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.annotation.python"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"},{match:"=(?!=)",name:"keyword.operator.assignment.python"}]},"assignment-operator":{match:`(?x)
<<= | >>= | //= | \\*\\*=
| \\+= | -= | /= | @=
| \\*= | %= | ~= | \\^= | &= | \\|=
| =(?!=)
`,name:"keyword.operator.assignment.python"},backticks:{begin:"\\`",end:"(?:\\`|(?<!\\\\)(\\n))",name:"invalid.deprecated.backtick.python",patterns:[{include:"#expression"}]},"builtin-callables":{patterns:[{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#builtin-exceptions"},{include:"#builtin-functions"},{include:"#builtin-types"}]},"builtin-exceptions":{match:`(?x) (?<!\\.) \\b(
(
Arithmetic | Assertion | Attribute | Buffer | BlockingIO
| BrokenPipe | ChildProcess
| (Connection (Aborted | Refused | Reset)?)
| EOF | Environment | FileExists | FileNotFound
| FloatingPoint | IO | Import | Indentation | Index | Interrupted
| IsADirectory | NotADirectory | Permission | ProcessLookup
| Timeout
| Key | Lookup | Memory | Name | NotImplemented | OS | Overflow
| Reference | Runtime | Recursion | Syntax | System
| Tab | Type | UnboundLocal | Unicode(Encode|Decode|Translate)?
| Value | Windows | ZeroDivision | ModuleNotFound
) Error
|
((Pending)?Deprecation | Runtime | Syntax | User | Future | Import
| Unicode | Bytes | Resource
)? Warning
|
SystemExit | Stop(Async)?Iteration
| KeyboardInterrupt
| GeneratorExit | (Base)?Exception
)\\b
`,name:"support.type.exception.python"},"builtin-functions":{patterns:[{match:`(?x)
(?<!\\.) \\b(
__import__ | abs | aiter | all | any | anext | ascii | bin
| breakpoint | callable | chr | compile | copyright | credits
| delattr | dir | divmod | enumerate | eval | exec | exit
| filter | format | getattr | globals | hasattr | hash | help
| hex | id | input | isinstance | issubclass | iter | len
| license | locals | map | max | memoryview | min | next
| oct | open | ord | pow | print | quit | range | reload | repr
| reversed | round | setattr | sorted | sum | vars | zip
)\\b
`,name:"support.function.builtin.python"},{match:`(?x)
(?<!\\.) \\b(
file | reduce | intern | raw_input | unicode | cmp | basestring
| execfile | long | xrange
)\\b
`,name:"variable.legacy.builtin.python"}]},"builtin-possible-callables":{patterns:[{include:"#builtin-callables"},{include:"#magic-names"}]},"builtin-types":{match:`(?x)
(?<!\\.) \\b(
bool | bytearray | bytes | classmethod | complex | dict
| float | frozenset | int | list | object | property
| set | slice | staticmethod | str | tuple | type
(?# Although 'super' is not a type, it's related to types,
and is special enough to be highlighted differently from
other built-ins)
| super
)\\b
`,name:"support.type.python"},"call-wrapper-inheritance":{begin:`(?x)
\\b(?=
([[:alpha:]_]\\w*) \\s* (\\()
)
`,end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#inheritance-name"},{include:"#function-arguments"}]},"class-declaration":{patterns:[{begin:`(?x)
\\s*(class)\\s+
(?=
[[:alpha:]_]\\w* \\s* (:|\\()
)
`,beginCaptures:{1:{name:"storage.type.class.python"}},end:"(:)",endCaptures:{1:{name:"punctuation.section.class.begin.python"}},name:"meta.class.python",patterns:[{include:"#class-name"},{include:"#class-inheritance"}]}]},"class-inheritance":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.inheritance.begin.python"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.inheritance.end.python"}},name:"meta.class.inheritance.python",patterns:[{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.arguments.python"},{match:",",name:"punctuation.separator.inheritance.python"},{match:"=(?!=)",name:"keyword.operator.assignment.python"},{match:"\\bmetaclass\\b",name:"support.type.metaclass.python"},{include:"#illegal-names"},{include:"#class-kwarg"},{include:"#call-wrapper-inheritance"},{include:"#expression-base"},{include:"#member-access-class"},{include:"#inheritance-identifier"}]},"class-kwarg":{captures:{1:{name:"entity.other.inherited-class.python variable.parameter.class.python"},2:{name:"keyword.operator.assignment.python"}},match:`(?x)
\\b ([[:alpha:]_]\\w*) \\s*(=)(?!=)
`},"class-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`,name:"entity.name.type.class.python"}]},codetags:{captures:{1:{name:"keyword.codetag.notation.python"}},match:"(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)"},comments:{patterns:[{begin:`(?x)
(?:
\\# \\s* (type:)
\\s*+ (?# we want \`\\s*+\` which is possessive quantifier since
we do not actually want to backtrack when matching
whitespace here)
(?! $ | \\#)
)
`,beginCaptures:{0:{name:"meta.typehint.comment.python"},1:{name:"comment.typehint.directive.notation.python"}},contentName:"meta.typehint.comment.python",end:"(?:$|(?=\\#))",name:"comment.line.number-sign.python",patterns:[{match:`(?x)
\\G ignore
(?= \\s* (?: $ | \\#))
`,name:"comment.typehint.ignore.notation.python"},{match:`(?x)
(?<!\\.)\\b(
bool | bytes | float | int | object | str
| List | Dict | Iterable | Sequence | Set
| FrozenSet | Callable | Union | Tuple
| Any | None
)\\b
`,name:"comment.typehint.type.notation.python"},{match:"([\\[\\]\\(\\),\\.\\=\\*]|(->))",name:"comment.typehint.punctuation.notation.python"},{match:"([[:alpha:]_]\\w*)",name:"comment.typehint.variable.notation.python"}]},{include:"#comments-base"}]},"comments-base":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:"($)",name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-double-three":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:'($|(?="""))',name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"comments-string-single-three":{begin:"(\\#)",beginCaptures:{1:{name:"punctuation.definition.comment.python"}},end:"($|(?='''))",name:"comment.line.number-sign.python",patterns:[{include:"#codetags"}]},"curly-braces":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.dict.begin.python"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.dict.end.python"}},patterns:[{match:":",name:"punctuation.separator.dict.python"},{include:"#expression"}]},decorator:{begin:`(?x)
^\\s*
((@)) \\s* (?=[[:alpha:]_]\\w*)
`,beginCaptures:{1:{name:"entity.name.function.decorator.python"},2:{name:"punctuation.definition.decorator.python"}},end:`(?x)
( \\) )
# trailing whitespace and comments are legal
(?: (.*?) (?=\\s*(?:\\#|$)) )
| (?=\\n|\\#)
`,endCaptures:{1:{name:"punctuation.definition.arguments.end.python"},2:{name:"invalid.illegal.decorator.python"}},name:"meta.function.decorator.python",patterns:[{include:"#decorator-name"},{include:"#function-arguments"}]},"decorator-name":{patterns:[{include:"#builtin-callables"},{include:"#illegal-object-name"},{captures:{2:{name:"punctuation.separator.period.python"}},match:`(?x)
([[:alpha:]_]\\w*) | (\\.)
`,name:"entity.name.function.decorator.python"},{include:"#line-continuation"},{captures:{1:{name:"invalid.illegal.decorator.python"}},match:`(?x)
\\s* ([^([:alpha:]\\s_\\.#\\\\] .*?) (?=\\#|$)
`,name:"invalid.illegal.decorator.python"}]},docstring:{patterns:[{begin:`(\\'\\'\\'|\\"\\"\\")`,beginCaptures:{1:{name:"punctuation.definition.string.begin.python"}},end:"(\\1)",endCaptures:{1:{name:"punctuation.definition.string.end.python"}},name:"string.quoted.docstring.multi.python",patterns:[{include:"#docstring-prompt"},{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:`([rR])(\\'\\'\\'|\\"\\"\\")`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python"}},name:"string.quoted.docstring.raw.multi.python",patterns:[{include:"#string-consume-escape"},{include:"#docstring-prompt"},{include:"#codetags"}]},{begin:`(\\'|\\")`,beginCaptures:{1:{name:"punctuation.definition.string.begin.python"}},end:"(\\1)|(\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.docstring.single.python",patterns:[{include:"#codetags"},{include:"#docstring-guts-unicode"}]},{begin:`([rR])(\\'|\\")`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)|(\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.docstring.raw.single.python",patterns:[{include:"#string-consume-escape"},{include:"#codetags"}]}]},"docstring-guts-unicode":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"docstring-prompt":{captures:{1:{name:"keyword.control.flow.python"}},match:`(?x)
(?:
(?:^|\\G) \\s* (?# '\\G' is necessary for ST)
((?:>>>|\\.\\.\\.) \\s) (?=\\s*\\S)
)
`},"docstring-statement":{begin:`^(?=\\s*[rR]?(\\'\\'\\'|\\"\\"\\"|\\'|\\"))`,end:`((?<=\\1)|^)(?!\\s*[rR]?(\\'\\'\\'|\\"\\"\\"|\\'|\\"))`,patterns:[{include:"#docstring"}]},"double-one-regexp-character-set":{patterns:[{match:`(?x)
\\[ \\^? \\] (?! .*?\\])
`},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:'(\\]|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-one-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-one-regexp-character-set"},{include:"#double-one-regexp-comments"},{include:"#regexp-flags"},{include:"#double-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-one-regexp-lookahead"},{include:"#double-one-regexp-lookahead-negative"},{include:"#double-one-regexp-lookbehind"},{include:"#double-one-regexp-lookbehind-negative"},{include:"#double-one-regexp-conditional"},{include:"#double-one-regexp-parentheses-non-capturing"},{include:"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{begin:`(?x)
(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)
`,beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:'(\\)|(?="))|((?=(?<!\\\\)\\n))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{patterns:[{match:`(?x)
\\[ \\^? \\] (?! .*?\\])
`},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:'(\\]|(?="""))',endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"double-three-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#double-three-regexp-character-set"},{include:"#double-three-regexp-comments"},{include:"#regexp-flags"},{include:"#double-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#double-three-regexp-lookahead"},{include:"#double-three-regexp-lookahead-negative"},{include:"#double-three-regexp-lookbehind"},{include:"#double-three-regexp-lookbehind-negative"},{include:"#double-three-regexp-conditional"},{include:"#double-three-regexp-parentheses-non-capturing"},{include:"#double-three-regexp-parentheses"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-named-group":{begin:`(?x)
(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)
`,beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:'(\\)|(?="""))',endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#double-three-regexp-expression"},{include:"#comments-string-double-three"}]},ellipsis:{match:"\\.\\.\\.",name:"constant.other.ellipsis.python"},"escape-sequence":{match:`(?x)
\\\\ (
x[0-9A-Fa-f]{2}
| [0-7]{1,3}
| [\\\\"'abfnrtv]
)
`,name:"constant.character.escape.python"},"escape-sequence-unicode":{patterns:[{match:`(?x)
\\\\ (
u[0-9A-Fa-f]{4}
| U[0-9A-Fa-f]{8}
| N\\{[\\w\\s]+?\\}
)
`,name:"constant.character.escape.python"}]},expression:{patterns:[{include:"#expression-base"},{include:"#member-access"},{match:"(?x) \\b ([[:alpha:]_]\\w*) \\b"}]},"expression-bare":{patterns:[{include:"#backticks"},{include:"#illegal-anno"},{include:"#literal"},{include:"#regexp"},{include:"#string"},{include:"#lambda"},{include:"#generator"},{include:"#illegal-operator"},{include:"#operator"},{include:"#curly-braces"},{include:"#item-access"},{include:"#list"},{include:"#odd-function-call"},{include:"#round-braces"},{include:"#function-call"},{include:"#builtin-functions"},{include:"#builtin-types"},{include:"#builtin-exceptions"},{include:"#magic-names"},{include:"#special-names"},{include:"#illegal-names"},{include:"#special-variables"},{include:"#ellipsis"},{include:"#punctuation"},{include:"#line-continuation"}]},"expression-base":{patterns:[{include:"#comments"},{include:"#expression-bare"},{include:"#line-continuation"}]},"f-expression":{patterns:[{include:"#expression-bare"},{include:"#member-access"},{match:"(?x) \\b ([[:alpha:]_]\\w*) \\b"}]},"fregexp-base-expression":{patterns:[{include:"#fregexp-quantifier"},{include:"#fstring-formatting-braces"},{match:"\\{.*?\\}"},{include:"#regexp-base-common"}]},"fregexp-quantifier":{match:`(?x)
\\{\\{(
\\d+ | \\d+,(\\d+)? | ,\\d+
)\\}\\}
`,name:"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{begin:`(\\b[fF])([bBuU])?('''|""")`,beginCaptures:{1:{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},2:{name:"invalid.illegal.prefix.python"},3:{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{begin:`(\\b[fF])([bBuU])?((['"]))`,beginCaptures:{1:{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},2:{name:"invalid.illegal.prefix.python"},3:{name:"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-formatting":{patterns:[{include:"#fstring-formatting-braces"},{include:"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{patterns:[{captures:{1:{name:"constant.character.format.placeholder.other.python"},2:{name:"invalid.illegal.brace.python"},3:{name:"constant.character.format.placeholder.other.python"}},match:"({)(\\s*?)(})"},{match:"({{|}})",name:"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{match:"(}(?!}))",name:"invalid.illegal.brace.python"},"fstring-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#fstring-formatting"}]},"fstring-illegal-multi-brace":{patterns:[{include:"#impossible"}]},"fstring-illegal-single-brace":{begin:"(\\{)(?=[^\\n}]*$\\n?)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},end:"(\\})|(?=\\n)",endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-multi-brace":{begin:"(\\{)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},end:`(?x)
(\\})
`,endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-multi"},{include:"#f-expression"}]},"fstring-multi-core":{match:`(?x)
(.+?)
(
(?# .* and .*? in multi-line match need special handling of
newlines otherwise SublimeText and Atom will match slightly
differently.
The guard for newlines has to be separate from the
lookahead because of special $ matching rule.)
($\\n?)
|
(?=[\\\\\\}\\{]|'''|""")
)
(?# due to how multiline regexps are matched we need a special case
for matching a newline character)
| \\n
`,name:"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{begin:`(\\b[bBuU])([fF])('''|""")`,beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"string.interpolated.python string.quoted.multi.python storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python string.quoted.multi.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{begin:`(\\b[bBuU])([fF])((['"]))`,beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"string.interpolated.python string.quoted.single.python storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python string.quoted.single.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-single-core"}]},"fstring-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#fstring-formatting"}]},"fstring-raw-multi-core":{match:`(?x)
(.+?)
(
(?# .* and .*? in multi-line match need special handling of
newlines otherwise SublimeText and Atom will match slightly
differently.
The guard for newlines has to be separate from the
lookahead because of special $ matching rule.)
($\\n?)
|
(?=[\\\\\\}\\{]|'''|""")
)
(?# due to how multiline regexps are matched we need a special case
for matching a newline character)
| \\n
`,name:"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{begin:`(\\b(?:[rR][fF]|[fF][rR]))('''|""")`,beginCaptures:{1:{name:"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{include:"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{begin:`(\\b(?:[rR][fF]|[fF][rR]))((['"]))`,beginCaptures:{1:{name:"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},2:{name:"invalid.illegal.newline.python"}},name:"meta.fstring.python",patterns:[{include:"#fstring-raw-guts"},{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{include:"#fstring-raw-single-core"}]},"fstring-raw-single-core":{match:`(?x)
(.+?)
(
(?# .* and .*? in multi-line match need special handling of
newlines otherwise SublimeText and Atom will match slightly
differently.
The guard for newlines has to be separate from the
lookahead because of special $ matching rule.)
($\\n?)
|
(?=[\\\\\\}\\{]|(['"])|((?<!\\\\)\\n))
)
(?# due to how multiline regexps are matched we need a special case
for matching a newline character)
| \\n
`,name:"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{begin:"(\\{)",beginCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},end:`(?x)
(\\})|(?=\\n)
`,endCaptures:{1:{name:"constant.character.format.placeholder.other.python"}},patterns:[{include:"#fstring-terminator-single"},{include:"#f-expression"}]},"fstring-single-core":{match:`(?x)
(.+?)
(
(?# .* and .*? in multi-line match need special handling of
newlines otherwise SublimeText and Atom will match slightly
differently.
The guard for newlines has to be separate from the
lookahead because of special $ matching rule.)
($\\n?)
|
(?=[\\\\\\}\\{]|(['"])|((?<!\\\\)\\n))
)
(?# due to how multiline regexps are matched we need a special case
for matching a newline character)
| \\n
`,name:"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{patterns:[{match:"(=(![rsa])?)(?=})",name:"storage.type.format.python"},{match:"(=?![rsa])(?=})",name:"storage.type.format.python"},{captures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},match:`(?x)
( (?: =?) (?: ![rsa])? )
( : \\w? [<>=^]? [-+ ]? \\#?
\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})
`},{include:"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{begin:"((?:=?)(?:![rsa])?)(:)(?=.*?{)",beginCaptures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},end:"(?=})",patterns:[{include:"#fstring-illegal-multi-brace"},{include:"#fstring-multi-brace"},{match:"([bcdeEfFgGnosxX%])(?=})",name:"storage.type.format.python"},{match:"(\\.\\d+)",name:"storage.type.format.python"},{match:"(,)",name:"storage.type.format.python"},{match:"(\\d+)",name:"storage.type.format.python"},{match:"(\\#)",name:"storage.type.format.python"},{match:"([-+ ])",name:"storage.type.format.python"},{match:"([<>=^])",name:"storage.type.format.python"},{match:"(\\w)",name:"storage.type.format.python"}]},"fstring-terminator-single":{patterns:[{match:"(=(![rsa])?)(?=})",name:"storage.type.format.python"},{match:"(=?![rsa])(?=})",name:"storage.type.format.python"},{captures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},match:`(?x)
( (?: =?) (?: ![rsa])? )
( : \\w? [<>=^]? [-+ ]? \\#?
\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})
`},{include:"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{begin:"((?:=?)(?:![rsa])?)(:)(?=.*?{)",beginCaptures:{1:{name:"storage.type.format.python"},2:{name:"storage.type.format.python"}},end:"(?=})|(?=\\n)",patterns:[{include:"#fstring-illegal-single-brace"},{include:"#fstring-single-brace"},{match:"([bcdeEfFgGnosxX%])(?=})",name:"storage.type.format.python"},{match:"(\\.\\d+)",name:"storage.type.format.python"},{match:"(,)",name:"storage.type.format.python"},{match:"(\\d+)",name:"storage.type.format.python"},{match:"(\\#)",name:"storage.type.format.python"},{match:"([-+ ])",name:"storage.type.format.python"},{match:"([<>=^])",name:"storage.type.format.python"},{match:"(\\w)",name:"storage.type.format.python"}]},"function-arguments":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.function-call.arguments.python",end:"(?=\\))(?!\\)\\s*\\()",patterns:[{match:"(,)",name:"punctuation.separator.arguments.python"},{captures:{1:{name:"keyword.operator.unpacking.arguments.python"}},match:`(?x)
(?:(?<=[,(])|^) \\s* (\\*{1,2})
`},{include:"#lambda-incomplete"},{include:"#illegal-names"},{captures:{1:{name:"variable.parameter.function-call.python"},2:{name:"keyword.operator.assignment.python"}},match:"\\b([[:alpha:]_]\\w*)\\s*(=)(?!=)"},{match:"=(?!=)",name:"keyword.operator.assignment.python"},{include:"#expression"},{captures:{1:{name:"punctuation.definition.arguments.end.python"},2:{name:"punctuation.definition.arguments.begin.python"}},match:"\\s*(\\))\\s*(\\()"}]},"function-call":{begin:`(?x)
\\b(?=
([[:alpha:]_]\\w*) \\s* (\\()
)
`,end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.function-call.python",patterns:[{include:"#special-variables"},{include:"#function-name"},{include:"#function-arguments"}]},"function-declaration":{begin:`(?x)
\\s*
(?:\\b(async) \\s+)? \\b(def)\\s+
(?=
[[:alpha:]_][[:word:]]* \\s* \\(
)
`,beginCaptures:{1:{name:"storage.type.function.async.python"},2:{name:"storage.type.function.python"}},end:`(:|(?=[#'"\\n]))`,endCaptures:{1:{name:"punctuation.section.function.begin.python"}},name:"meta.function.python",patterns:[{include:"#function-def-name"},{include:"#parameters"},{include:"#line-continuation"},{include:"#return-annotation"}]},"function-def-name":{patterns:[{include:"#illegal-object-name"},{include:"#builtin-possible-callables"},{match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`,name:"entity.name.function.python"}]},"function-name":{patterns:[{include:"#builtin-possible-callables"},{match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`,name:"meta.function-call.generic.python"}]},generator:{begin:"\\bfor\\b",beginCaptures:{0:{name:"keyword.control.flow.python"}},end:"\\bin\\b",endCaptures:{0:{name:"keyword.control.flow.python"}},patterns:[{include:"#expression"}]},"illegal-anno":{match:"->",name:"invalid.illegal.annotation.python"},"illegal-names":{captures:{1:{name:"keyword.control.flow.python"},2:{name:"keyword.control.import.python"}},match:`(?x)
\\b(?:
(
and | assert | async | await | break | class | continue | def
| del | elif | else | except | finally | for | from | global
| if | in | is | (?<=\\.)lambda | lambda(?=\\s*[\\.=])
| nonlocal | not | or | pass | raise | return | try | while | with
| yield
) | (
as | import
)
)\\b
`},"illegal-object-name":{match:"\\b(True|False|None)\\b",name:"keyword.illegal.name.python"},"illegal-operator":{patterns:[{match:"&&|\\|\\||--|\\+\\+",name:"invalid.illegal.operator.python"},{match:"[?$]",name:"invalid.illegal.operator.python"},{match:"!\\b",name:"invalid.illegal.operator.python"}]},import:{patterns:[{begin:"\\b(?<!\\.)(from)\\b(?=.+import)",beginCaptures:{1:{name:"keyword.control.import.python"}},end:"$|(?=import)",patterns:[{match:"\\.+",name:"punctuation.separator.period.python"},{include:"#expression"}]},{begin:"\\b(?<!\\.)(import)\\b",beginCaptures:{1:{name:"keyword.control.import.python"}},end:"$",patterns:[{match:"\\b(?<!\\.)as\\b",name:"keyword.control.import.python"},{include:"#expression"}]}]},impossible:{match:"$.^"},"inheritance-identifier":{captures:{1:{name:"entity.other.inherited-class.python"}},match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`},"inheritance-name":{patterns:[{include:"#lambda-incomplete"},{include:"#builtin-possible-callables"},{include:"#inheritance-identifier"}]},"item-access":{patterns:[{begin:`(?x)
\\b(?=
[[:alpha:]_]\\w* \\s* \\[
)
`,end:"(\\])",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},name:"meta.item-access.python",patterns:[{include:"#item-name"},{include:"#item-index"},{include:"#expression"}]}]},"item-index":{begin:"(\\[)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.python"}},contentName:"meta.item-access.arguments.python",end:"(?=\\])",patterns:[{match:":",name:"punctuation.separator.slice.python"},{include:"#expression"}]},"item-name":{patterns:[{include:"#special-variables"},{include:"#builtin-functions"},{include:"#special-names"},{match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`,name:"meta.indexed-name.python"}]},lambda:{patterns:[{captures:{1:{name:"keyword.control.flow.python"}},match:"((?<=\\.)lambda|lambda(?=\\s*[\\.=]))"},{captures:{1:{name:"storage.type.function.lambda.python"}},match:"\\b(lambda)\\s*?(?=[,\\n]|$)"},{begin:`(?x)
\\b (lambda) \\b
`,beginCaptures:{1:{name:"storage.type.function.lambda.python"}},contentName:"meta.function.lambda.parameters.python",end:"(:)|(\\n)",endCaptures:{1:{name:"punctuation.section.function.lambda.begin.python"}},name:"meta.lambda-function.python",patterns:[{match:"/",name:"keyword.operator.positional.parameter.python"},{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-nested-incomplete"},{include:"#illegal-names"},{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.parameters.python"}},match:"([[:alpha:]_]\\w*)\\s*(?:(,)|(?=:|$))"},{include:"#comments"},{include:"#backticks"},{include:"#illegal-anno"},{include:"#lambda-parameter-with-default"},{include:"#line-continuation"},{include:"#illegal-operator"}]}]},"lambda-incomplete":{match:"\\blambda(?=\\s*[,)])",name:"storage.type.function.lambda.python"},"lambda-nested-incomplete":{match:"\\blambda(?=\\s*[:,)])",name:"storage.type.function.lambda.python"},"lambda-parameter-with-default":{begin:`(?x)
\\b
([[:alpha:]_]\\w*) \\s* (=)
`,beginCaptures:{1:{name:"variable.parameter.function.language.python"},2:{name:"keyword.operator.python"}},end:"(,)|(?=:|$)",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"line-continuation":{patterns:[{captures:{1:{name:"punctuation.separator.continuation.line.python"},2:{name:"invalid.illegal.line.continuation.python"}},match:"(\\\\)\\s*(\\S.*$\\n?)"},{begin:"(\\\\)\\s*$\\n?",beginCaptures:{1:{name:"punctuation.separator.continuation.line.python"}},end:`(?x)
(?=^\\s*$)
|
(?! (\\s* [rR]? (\\'\\'\\'|\\"\\"\\"|\\'|\\"))
|
(\\G $) (?# '\\G' is necessary for ST)
)
`,patterns:[{include:"#regexp"},{include:"#string"}]}]},list:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.list.begin.python"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.list.end.python"}},patterns:[{include:"#expression"}]},literal:{patterns:[{match:"\\b(True|False|None|NotImplemented|Ellipsis)\\b",name:"constant.language.python"},{include:"#number"}]},"loose-default":{begin:"(=)",beginCaptures:{1:{name:"keyword.operator.python"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.python"}},patterns:[{include:"#expression"}]},"magic-function-names":{captures:{1:{name:"support.function.magic.python"}},match:`(?x)
\\b(
__(?:
abs | add | aenter | aexit | aiter | and | anext
| await | bool | call | ceil | class_getitem
| cmp | coerce | complex | contains | copy
| deepcopy | del | delattr | delete | delitem
| delslice | dir | div | divmod | enter | eq
| exit | float | floor | floordiv | format | ge
| get | getattr | getattribute | getinitargs
| getitem | getnewargs | getslice | getstate | gt
| hash | hex | iadd | iand | idiv | ifloordiv |
| ilshift | imod | imul | index | init
| instancecheck | int | invert | ior | ipow
| irshift | isub | iter | itruediv | ixor | le
| len | long | lshift | lt | missing | mod | mul
| ne | neg | new | next | nonzero | oct | or | pos
| pow | radd | rand | rdiv | rdivmod | reduce
| reduce_ex | repr | reversed | rfloordiv |
| rlshift | rmod | rmul | ror | round | rpow
| rrshift | rshift | rsub | rtruediv | rxor | set
| setattr | setitem | set_name | setslice
| setstate | sizeof | str | sub | subclasscheck
| truediv | trunc | unicode | xor | matmul
| rmatmul | imatmul | init_subclass | set_name
| fspath | bytes | prepare | length_hint
)__
)\\b
`},"magic-names":{patterns:[{include:"#magic-function-names"},{include:"#magic-variable-names"}]},"magic-variable-names":{captures:{1:{name:"support.variable.magic.python"}},match:`(?x)
\\b(
__(?:
all | annotations | bases | builtins | class
| closure | code | debug | defaults | dict | doc | file | func
| globals | kwdefaults | match_args | members | metaclass | methods
| module | mro | mro_entries | name | qualname | post_init | self
| signature | slots | subclasses | version | weakref | wrapped
| classcell | spec | path | package | future | traceback
)__
)\\b
`},"member-access":{begin:"(\\.)\\s*(?!\\.)",beginCaptures:{1:{name:"punctuation.separator.period.python"}},end:`(?x)
# stop when you've just read non-whitespace followed by non-word
# i.e. when finished reading an identifier or function call
(?<=\\S)(?=\\W) |
# stop when seeing the start of something that's not a word,
# i.e. when seeing a non-identifier
(^|(?<=\\s))(?=[^\\\\\\w\\s]) |
$
`,name:"meta.member.access.python",patterns:[{include:"#function-call"},{include:"#member-access-base"},{include:"#member-access-attribute"}]},"member-access-attribute":{match:`(?x)
\\b ([[:alpha:]_]\\w*) \\b
`,name:"meta.attribute.python"},"member-access-base":{patterns:[{include:"#magic-names"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#special-names"},{include:"#line-continuation"},{include:"#item-access"}]},"member-access-class":{begin:"(\\.)\\s*(?!\\.)",beginCaptures:{1:{name:"punctuation.separator.period.python"}},end:"(?<=\\S)(?=\\W)|$",name:"meta.member.access.python",patterns:[{include:"#call-wrapper-inheritance"},{include:"#member-access-base"},{include:"#inheritance-identifier"}]},number:{name:"constant.numeric.python",patterns:[{include:"#number-float"},{include:"#number-dec"},{include:"#number-hex"},{include:"#number-oct"},{include:"#number-bin"},{include:"#number-long"},{match:"\\b[0-9]+\\w+",name:"invalid.illegal.name.python"}]},"number-bin":{captures:{1:{name:"storage.type.number.python"}},match:`(?x)
(?<![\\w\\.])
(0[bB]) (_?[01])+
\\b
`,name:"constant.numeric.bin.python"},"number-dec":{captures:{1:{name:"storage.type.imaginary.number.python"},2:{name:"invalid.illegal.dec.python"}},match:`(?x)
(?<![\\w\\.])(?:
[1-9](?: _?[0-9] )*
|
0+
|
[0-9](?: _?[0-9] )* ([jJ])
|
0 ([0-9]+)(?![eE\\.])
)\\b
`,name:"constant.numeric.dec.python"},"number-float":{captures:{1:{name:"storage.type.imaginary.number.python"}},match:`(?x)
(?<! \\w)(?:
(?:
\\.[0-9](?: _?[0-9] )*
|
[0-9](?: _?[0-9] )* \\. [0-9](?: _?[0-9] )*
|
[0-9](?: _?[0-9] )* \\.
) (?: [eE][+-]?[0-9](?: _?[0-9] )* )?
|
[0-9](?: _?[0-9] )* (?: [eE][+-]?[0-9](?: _?[0-9] )* )
)([jJ])?\\b
`,name:"constant.numeric.float.python"},"number-hex":{captures:{1:{name:"storage.type.number.python"}},match:`(?x)
(?<![\\w\\.])
(0[xX]) (_?[0-9a-fA-F])+
\\b
`,name:"constant.numeric.hex.python"},"number-long":{captures:{2:{name:"storage.type.number.python"}},match:`(?x)
(?<![\\w\\.])
([1-9][0-9]* | 0) ([lL])
\\b
`,name:"constant.numeric.bin.python"},"number-oct":{captures:{1:{name:"storage.type.number.python"}},match:`(?x)
(?<![\\w\\.])
(0[oO]) (_?[0-7])+
\\b
`,name:"constant.numeric.oct.python"},"odd-function-call":{begin:`(?x)
(?<= \\] | \\) ) \\s*
(?=\\()
`,end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.python"}},patterns:[{include:"#function-arguments"}]},operator:{captures:{1:{name:"keyword.operator.logical.python"},2:{name:"keyword.control.flow.python"},3:{name:"keyword.operator.bitwise.python"},4:{name:"keyword.operator.arithmetic.python"},5:{name:"keyword.operator.comparison.python"},6:{name:"keyword.operator.assignment.python"}},match:`(?x)
\\b(?<!\\.)
(?:
(and | or | not | in | is) (?# 1)
|
(for | if | else | await | (?:yield(?:\\s+from)?)) (?# 2)
)
(?!\\s*:)\\b
| (<< | >> | & | \\| | \\^ | ~) (?# 3)
| (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)
| (!= | == | >= | <= | < | >) (?# 5)
| (:=) (?# 6)
`},"parameter-special":{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"variable.parameter.function.language.special.self.python"},3:{name:"variable.parameter.function.language.special.cls.python"},4:{name:"punctuation.separator.parameters.python"}},match:`(?x)
\\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))
`},parameters:{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.python"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.python"}},name:"meta.function.parameters.python",patterns:[{match:"/",name:"keyword.operator.positional.parameter.python"},{match:"(\\*\\*|\\*)",name:"keyword.operator.unpacking.parameter.python"},{include:"#lambda-incomplete"},{include:"#illegal-names"},{include:"#illegal-object-name"},{include:"#parameter-special"},{captures:{1:{name:"variable.parameter.function.language.python"},2:{name:"punctuation.separator.parameters.python"}},match:`(?x)
([[:alpha:]_]\\w*)
\\s* (?: (,) | (?=[)#\\n=]))
`},{include:"#comments"},{include:"#loose-default"},{include:"#annotated-parameter"}]},punctuation:{patterns:[{match:":",name:"punctuation.separator.colon.python"},{match:",",name:"punctuation.separator.element.python"}]},regexp:{patterns:[{include:"#regexp-single-three-line"},{include:"#regexp-double-three-line"},{include:"#regexp-single-one-line"},{include:"#regexp-double-one-line"}]},"regexp-backreference":{captures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},2:{name:"entity.name.tag.named.backreference.regexp"},3:{name:"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},match:`(?x)
(\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))
`,name:"meta.backreference.named.regexp"},"regexp-backreference-number":{captures:{1:{name:"entity.name.tag.backreference.regexp"}},match:"(\\\\[1-9]\\d?)",name:"meta.backreference.regexp"},"regexp-base-common":{patterns:[{match:"\\.",name:"support.other.match.any.regexp"},{match:"\\^",name:"support.other.match.begin.regexp"},{match:"\\$",name:"support.other.match.end.regexp"},{match:"[+*?]\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.disjunction.regexp"},{include:"#regexp-escape-sequence"}]},"regexp-base-expression":{patterns:[{include:"#regexp-quantifier"},{include:"#regexp-base-common"}]},"regexp-charecter-set-escapes":{patterns:[{match:"\\\\[abfnrtv\\\\]",name:"constant.character.escape.regexp"},{include:"#regexp-escape-special"},{match:"\\\\([0-7]{1,3})",name:"constant.character.escape.regexp"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-escape-catchall"}]},"regexp-double-one-line":{begin:'\\b(([uU]r)|([bB]r)|(r[bB]?))(")',beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:'(")|(?<!\\\\)(\\n)',endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#double-one-regexp-expression"}]},"regexp-double-three-line":{begin:'\\b(([uU]r)|([bB]r)|(r[bB]?))(""")',beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:'(""")',endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#double-three-regexp-expression"}]},"regexp-escape-catchall":{match:"\\\\(.|\\n)",name:"constant.character.escape.regexp"},"regexp-escape-character":{match:`(?x)
\\\\ (
x[0-9A-Fa-f]{2}
| 0[0-7]{1,2}
| [0-7]{3}
)
`,name:"constant.character.escape.regexp"},"regexp-escape-sequence":{patterns:[{include:"#regexp-escape-special"},{include:"#regexp-escape-character"},{include:"#regexp-escape-unicode"},{include:"#regexp-backreference-number"},{include:"#regexp-escape-catchall"}]},"regexp-escape-special":{match:"\\\\([AbBdDsSwWZ])",name:"support.other.escape.special.regexp"},"regexp-escape-unicode":{match:`(?x)
\\\\ (
u[0-9A-Fa-f]{4}
| U[0-9A-Fa-f]{8}
)
`,name:"constant.character.unicode.regexp"},"regexp-flags":{match:"\\(\\?[aiLmsux]+\\)",name:"storage.modifier.flag.regexp"},"regexp-quantifier":{match:`(?x)
\\{(
\\d+ | \\d+,(\\d+)? | ,\\d+
)\\}
`,name:"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{begin:"\\b(([uU]r)|([bB]r)|(r[bB]?))(\\')",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:"(\\')|(?<!\\\\)(\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.single.python",patterns:[{include:"#single-one-regexp-expression"}]},"regexp-single-three-line":{begin:"\\b(([uU]r)|([bB]r)|(r[bB]?))(\\'\\'\\')",beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"storage.type.string.python"},5:{name:"punctuation.definition.string.begin.python"}},end:"(\\'\\'\\')",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.regexp.quoted.multi.python",patterns:[{include:"#single-three-regexp-expression"}]},"return-annotation":{begin:"(->)",beginCaptures:{1:{name:"punctuation.separator.annotation.result.python"}},end:"(?=:)",patterns:[{include:"#expression"}]},"round-braces":{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.begin.python"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.end.python"}},patterns:[{include:"#expression"}]},semicolon:{patterns:[{match:"\\;$",name:"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{patterns:[{match:`(?x)
\\[ \\^? \\] (?! .*?\\])
`},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:"(\\]|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-one-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-one-regexp-character-set"},{include:"#single-one-regexp-comments"},{include:"#regexp-flags"},{include:"#single-one-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-one-regexp-lookahead"},{include:"#single-one-regexp-lookahead-negative"},{include:"#single-one-regexp-lookbehind"},{include:"#single-one-regexp-lookbehind-negative"},{include:"#single-one-regexp-conditional"},{include:"#single-one-regexp-parentheses-non-capturing"},{include:"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{begin:`(?x)
(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)
`,beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:"(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{patterns:[{match:`(?x)
\\[ \\^? \\] (?! .*?\\])
`},{begin:"(\\[)(\\^)?(\\])?",beginCaptures:{1:{name:"punctuation.character.set.begin.regexp constant.other.set.regexp"},2:{name:"keyword.operator.negation.regexp"},3:{name:"constant.character.set.regexp"}},end:"(\\]|(?=\\'\\'\\'))",endCaptures:{1:{name:"punctuation.character.set.end.regexp constant.other.set.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.character.set.regexp",patterns:[{include:"#regexp-charecter-set-escapes"},{match:"[^\\n]",name:"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.comment.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"punctuation.comment.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"comment.regexp",patterns:[{include:"#codetags"}]},"single-three-regexp-conditional":{begin:"(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",beginCaptures:{0:{name:"keyword.operator.conditional.regexp"},1:{name:"punctuation.parenthesis.conditional.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-expression":{patterns:[{include:"#regexp-base-expression"},{include:"#single-three-regexp-character-set"},{include:"#single-three-regexp-comments"},{include:"#regexp-flags"},{include:"#single-three-regexp-named-group"},{include:"#regexp-backreference"},{include:"#single-three-regexp-lookahead"},{include:"#single-three-regexp-lookahead-negative"},{include:"#single-three-regexp-lookbehind"},{include:"#single-three-regexp-lookbehind-negative"},{include:"#single-three-regexp-conditional"},{include:"#single-three-regexp-parentheses-non-capturing"},{include:"#single-three-regexp-parentheses"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead":{begin:"(\\()\\?=",beginCaptures:{0:{name:"keyword.operator.lookahead.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{begin:"(\\()\\?!",beginCaptures:{0:{name:"keyword.operator.lookahead.negative.regexp"},1:{name:"punctuation.parenthesis.lookahead.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{begin:"(\\()\\?<=",beginCaptures:{0:{name:"keyword.operator.lookbehind.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{begin:"(\\()\\?<!",beginCaptures:{0:{name:"keyword.operator.lookbehind.negative.regexp"},1:{name:"punctuation.parenthesis.lookbehind.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-named-group":{begin:`(?x)
(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)
`,beginCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},2:{name:"entity.name.tag.named.group.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},2:{name:"invalid.illegal.newline.python"}},name:"meta.named.regexp",patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses":{begin:"\\(",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{begin:"\\(\\?:",beginCaptures:{0:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},end:"(\\)|(?=\\'\\'\\'))",endCaptures:{1:{name:"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},2:{name:"invalid.illegal.newline.python"}},patterns:[{include:"#single-three-regexp-expression"},{include:"#comments-string-single-three"}]},"special-names":{match:`(?x)
\\b
# we want to see "enough", meaning 2 or more upper-case
# letters in the beginning of the constant
#
# for more details refer to:
# https://github.com/MagicStack/MagicPython/issues/42
(
_* [[:upper:]] [_\\d]* [[:upper:]]
)
[[:upper:]\\d]* (_\\w*)?
\\b
`,name:"constant.other.caps.python"},"special-variables":{captures:{1:{name:"variable.language.special.self.python"},2:{name:"variable.language.special.cls.python"}},match:`(?x)
\\b (?<!\\.) (?:
(self) | (cls)
)\\b
`},statement:{patterns:[{include:"#import"},{include:"#class-declaration"},{include:"#function-declaration"},{include:"#generator"},{include:"#statement-keyword"},{include:"#assignment-operator"},{include:"#decorator"},{include:"#docstring-statement"},{include:"#semicolon"}]},"statement-keyword":{patterns:[{match:"\\b((async\\s+)?\\s*def)\\b",name:"storage.type.function.python"},{match:"\\b(?<!\\.)as\\b(?=.*[:\\\\])",name:"keyword.control.flow.python"},{match:"\\b(?<!\\.)as\\b",name:"keyword.control.import.python"},{match:`(?x)
\\b(?<!\\.)(
async | continue | del | assert | break | finally | for
| from | elif | else | if | except | pass | raise
| return | try | while | with
)\\b
`,name:"keyword.control.flow.python"},{match:`(?x)
\\b(?<!\\.)(
global | nonlocal
)\\b
`,name:"storage.modifier.declaration.python"},{match:"\\b(?<!\\.)(class)\\b",name:"storage.type.class.python"},{captures:{1:{name:"keyword.control.flow.python"}},match:`(?x)
^\\s*(
case | match
)(?=\\s*([-+\\w\\d(\\[{'":#]|$))\\b
`}]},string:{patterns:[{include:"#string-quoted-multi-line"},{include:"#string-quoted-single-line"},{include:"#string-bin-quoted-multi-line"},{include:"#string-bin-quoted-single-line"},{include:"#string-raw-quoted-multi-line"},{include:"#string-raw-quoted-single-line"},{include:"#string-raw-bin-quoted-multi-line"},{include:"#string-raw-bin-quoted-single-line"},{include:"#fstring-fnorm-quoted-multi-line"},{include:"#fstring-fnorm-quoted-single-line"},{include:"#fstring-normf-quoted-multi-line"},{include:"#fstring-normf-quoted-single-line"},{include:"#fstring-raw-quoted-multi-line"},{include:"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{begin:`(\\b[bB])('''|""")`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.multi.python",patterns:[{include:"#string-entity"}]},"string-bin-quoted-single-line":{begin:`(\\b[bB])((['"]))`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.binary.single.python",patterns:[{include:"#string-entity"}]},"string-brace-formatting":{patterns:[{captures:{1:{name:"constant.character.format.placeholder.other.python"},3:{name:"storage.type.format.python"},4:{name:"storage.type.format.python"}},match:`(?x)
(
{{ | }}
| (?:
{
\\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
(![rsa])?
( : \\w? [<>=^]? [-+ ]? \\#?
\\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?
})
)
`,name:"meta.format.brace.python"},{captures:{1:{name:"constant.character.format.placeholder.other.python"},3:{name:"storage.type.format.python"},4:{name:"storage.type.format.python"}},match:`(?x)
(
{
\\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
(![rsa])?
(:)
[^'"{}\\n]* (?:
\\{ [^'"}\\n]*? \\} [^'"{}\\n]*
)*
}
)
`,name:"meta.format.brace.python"}]},"string-consume-escape":{match:`\\\\['"\\n\\\\]`},"string-entity":{patterns:[{include:"#escape-sequence"},{include:"#string-line-continuation"},{include:"#string-formatting"}]},"string-formatting":{captures:{1:{name:"constant.character.format.placeholder.other.python"}},match:`(?x)
(
% (\\([\\w\\s]*\\))?
[-+#0 ]*
(\\d+|\\*)? (\\.(\\d+|\\*))?
([hlL])?
[diouxXeEfFgGcrsab%]
)
`,name:"meta.format.percent.python"},"string-line-continuation":{match:"\\\\$",name:"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{begin:`(?x)
(?= \\{%
( .*? (?!'''|""") )
%\\}
)
`,end:`(?='''|""")`,patterns:[{include:"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{begin:`(?x)
(?= \\{%
( .*? (?!'''|""") )
%\\}
)
`,end:`(?='''|""")`,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{begin:`(?x)
(?!\\{\\{)
(?= \\{ (
\\w*? (?!'''|""") [^!:\\.\\[}\\w]
)
.*?(?!'''|""")
\\}
)
`,end:`(?='''|""")`,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{begin:`(?x)
(?!\\{\\{)
(?= \\{ (
\\w*? (?!'''|""") [^!:\\.\\[}\\w]
)
.*?(?!'''|""")
\\}
)
`,end:`(?='''|""")`,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-quoted-multi-line":{begin:`(?:\\b([rR])(?=[uU]))?([uU])?('''|""")`,beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python"}},end:"(\\3)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-unicode"},{include:"#string-multi-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-quoted-single-line":{begin:`(?:\\b([rR])(?=[uU]))?([uU])?((['"]))`,beginCaptures:{1:{name:"invalid.illegal.prefix.python"},2:{name:"storage.type.string.python"},3:{name:"punctuation.definition.string.begin.python"}},end:"(\\3)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-unicode"},{include:"#string-single-bad-brace2-formatting-unicode"},{include:"#string-unicode-guts"}]},"string-raw-bin-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{begin:`(\\b(?:R[bB]|[bB]R))('''|""")`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.multi.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{begin:`(\\b(?:R[bB]|[bB]R))((['"]))`,beginCaptures:{1:{name:"storage.type.string.python"},2:{name:"punctuation.definition.string.begin.python"}},end:"(\\2)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.binary.single.python",patterns:[{include:"#string-raw-bin-guts"}]},"string-raw-guts":{patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"},{include:"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{begin:`\\b(([uU]R)|(R))('''|""")`,beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"punctuation.definition.string.begin.python"}},end:"(\\4)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.multi.python",patterns:[{include:"#string-multi-bad-brace1-formatting-raw"},{include:"#string-multi-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-raw-quoted-single-line":{begin:`\\b(([uU]R)|(R))((['"]))`,beginCaptures:{2:{name:"invalid.deprecated.prefix.python"},3:{name:"storage.type.string.python"},4:{name:"punctuation.definition.string.begin.python"}},end:"(\\4)|((?<!\\\\)\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.python"},2:{name:"invalid.illegal.newline.python"}},name:"string.quoted.raw.single.python",patterns:[{include:"#string-single-bad-brace1-formatting-raw"},{include:"#string-single-bad-brace2-formatting-raw"},{include:"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{begin:`(?x)
(?= \\{%
( .*? (?!(['"])|((?<!\\\\)\\n)) )
%\\}
)
`,end:`(?=(['"])|((?<!\\\\)\\n))`,patterns:[{include:"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{begin:`(?x)
(?= \\{%
( .*? (?!(['"])|((?<!\\\\)\\n)) )
%\\}
)
`,end:`(?=(['"])|((?<!\\\\)\\n))`,patterns:[{include:"#escape-sequence-unicode"},{include:"#escape-sequence"},{include:"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{begin:`(?x)
(?!\\{\\{)
(?= \\{ (
\\w*? (?!(['"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]
)
.*?(?!(['"])|((?<!\\\\)\\n))
\\}
)
`,end:`(?=(['"])|((?<!\\\\)\\n))`,patterns:[{include:"#string-consume-escape"},{include:"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{begin:`(?x)
(?!\\{\\{)
(?= \\{ (
\\w*? (?!(['"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]
)
.*?(?!(['"])|((?<!\\\\)\\n))
\\}
)
`,end:`(?=(['"])|((?<!\\\\)\\n))`,patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"}]},"string-unicode-guts":{patterns:[{include:"#escape-sequence-unicode"},{include:"#string-entity"},{include:"#string-brace-formatting"}]}},scopeName:"source.python"},tt=Ra;var Ia={extensions:[".r",".rd",".rsx"],names:["r","rscript","splus"],patterns:[{captures:{1:{name:"comment.line.pragma.r"},2:{name:"entity.name.pragma.name.r"}},match:"^(#pragma[ \\t]+mark)[ \\t](.*)",name:"comment.line.pragma-mark.r"},{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.r"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.r"}},end:"\\n",name:"comment.line.number-sign.r"}]},{match:"\\b(logical|numeric|character|complex|matrix|array|data\\.frame|list|factor)(?=\\s*\\()",name:"storage.type.r"},{match:"\\b(function|if|break|next|repeat|else|for|return|switch|while|in|invisible)\\b",name:"keyword.control.r"},{match:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(i|L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b",name:"constant.numeric.r"},{match:"\\b(T|F|TRUE|FALSE|NULL|NA|Inf|NaN)\\b",name:"constant.language.r"},{match:"\\b(pi|letters|LETTERS|month\\.abb|month\\.name)\\b",name:"support.constant.misc.r"},{match:"(\\-|\\+|\\*|\\/|%\\/%|%%|%\\*%|%in%|%o%|%x%|\\^)",name:"keyword.operator.arithmetic.r"},{match:"(=|<-|<<-|->|->>)",name:"keyword.operator.assignment.r"},{match:"(==|!=|<>|<|>|<=|>=)",name:"keyword.operator.comparison.r"},{match:"(!|&{1,2}|[|]{1,2})",name:"keyword.operator.logical.r"},{match:"(\\.\\.\\.|\\$|@|:|\\~)",name:"keyword.other.r"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.r"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.r"}},name:"string.quoted.double.r",patterns:[{match:"\\\\.",name:"constant.character.escape.r"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.r"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.r"}},name:"string.quoted.single.r",patterns:[{match:"\\\\.",name:"constant.character.escape.r"}]},{captures:{1:{name:"entity.name.function.r"},2:{name:"keyword.operator.assignment.r"},3:{name:"keyword.control.r"}},match:"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*(<?<-|=(?!=))\\s*(function)",name:"meta.function.r"},{captures:{1:{name:"entity.name.tag.r"},4:{name:"entity.name.type.r"}},match:'(setMethod|setReplaceMethod|setGeneric|setGroupGeneric|setClass)\\s*\\(\\s*([[:alpha:]\\d]+\\s*=\\s*)?("|\\x{27})([a-zA-Z._\\[\\$@][a-zA-Z0-9._\\[]*?)\\3.*',name:"meta.method.declaration.r"},{match:"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))\\s*\\("},{captures:{1:{name:"variable.parameter.r"},2:{name:"keyword.operator.assignment.r"}},match:"([[:alpha:].][[:alnum:]._]*)\\s*(=(?!=))"},{match:"\\b([\\d_][[:alnum:]._]+)\\b",name:"invalid.illegal.variable.other.r"},{match:"\\b([[:alnum:]_]+)(?=::)",name:"entity.namespace.r"},{match:"((?:`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)|(?:[[:alpha:].][[:alnum:]._]*))",name:"variable.other.r"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.block.begin.r"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.r"}},name:"meta.block.r",patterns:[{include:"source.r"}]}],scopeName:"source.r"},at=Ia;var Da={extensions:[".builder",".druby",".duby",".eye",".gemspec",".god",".jbuilder",".mirah",".mspec",".pluginspec",".podspec",".prawn",".rabl",".rake",".rb",".rbi",".rbuild",".rbw",".rbx",".ru",".ruby",".thor",".watchr"],names:["jruby","macruby","mirah","rake","rb","rbx","ruby"],patterns:[{begin:"\\bclass\\b",beginCaptures:{0:{name:"keyword.control.class.ruby"}},end:"\\s*$|(?![\\s\\w.:<])",name:"meta.class.ruby",patterns:[{match:"[A-Z]\\w*",name:"entity.name.type.class.ruby"},{include:"#separators"},{begin:"(<<)\\s*",beginCaptures:{1:{name:"punctuation.definition.variable.ruby"}},contentName:"variable.other.object.ruby",end:"(?=$)|(?![\\s\\w.:])",patterns:[{match:"[A-Z]\\w*",name:"entity.name.type.class.ruby"},{include:"#separators"}]},{begin:"(<)\\s*",beginCaptures:{1:{name:"punctuation.separator.inheritance.ruby"}},contentName:"entity.other.inherited-class.ruby",end:"(?=$)|(?![\\s\\w.:])",patterns:[{match:"[A-Z]\\w*",name:"entity.name.type.class.ruby"},{include:"#separators"}]}]},{begin:"\\bmodule\\b",beginCaptures:{0:{name:"keyword.control.module.ruby"}},end:"\\s*$|(?![\\s\\w.:])",name:"meta.module.ruby",patterns:[{match:"[A-Z]\\w*(?=::)",name:"entity.other.inherited-class.module.ruby"},{match:"[A-Z]\\w*",name:"entity.name.type.module.ruby"},{include:"#separators"}]},{match:"(?<!\\.)\\belse(\\s)+if\\b",name:"invalid.deprecated.ruby"},{captures:{1:{name:"punctuation.definition.constant.hashkey.ruby"}},match:"(?>[a-zA-Z_]\\w*(?>[?!])?)(:)(?!:)",name:"constant.other.symbol.hashkey.ruby"},{captures:{1:{name:"punctuation.definition.constant.ruby"}},match:"(?<!:)(:)(?>[a-zA-Z_]\\w*(?>[?!])?)(?=\\s*=>)",name:"constant.other.symbol.hashkey.ruby"},{match:"(?<!\\.)\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\b(?![?!])",name:"keyword.control.ruby"},{match:"(?<!\\.)\\bdo\\b",name:"keyword.control.start-block.ruby"},{match:"(?<={)(\\s+)",name:"meta.syntax.ruby.start-block"},{match:"(?<!\\.)\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\b(?![?!])|\\bdefined\\?|\\b(block_given|iterator)\\?",name:"keyword.control.pseudo-method.ruby"},{match:"\\bnil\\b(?![?!])",name:"constant.language.nil.ruby"},{match:"\\b(true|false)\\b(?![?!])",name:"constant.language.boolean.ruby"},{match:"\\b(__(FILE|LINE)__)\\b(?![?!])",name:"variable.language.ruby"},{match:"\\bself\\b(?![?!])",name:"variable.language.self.ruby"},{match:"\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\b(?![?!])",name:"keyword.other.special-method.ruby"},{begin:"\\b(?<!\\.|::)(require|require_relative)\\b(?![?!])",captures:{1:{name:"keyword.other.special-method.ruby"}},end:"$|(?=#|})",name:"meta.require.ruby",patterns:[{include:"$self"}]},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.instance.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(@@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.class.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(\\$)(!|@|&|`|'|\\+|\\d+|~|=|/|\\\\|,|;|\\.|<|>|_|\\*|\\$|\\?|:|\"|-[0adFiIlpv])",name:"variable.other.readwrite.global.pre-defined.ruby"},{begin:"\\b(ENV)\\[",beginCaptures:{1:{name:"variable.other.constant.ruby"}},end:"]",name:"meta.environment-variable.ruby",patterns:[{include:"$self"}]},{match:"\\b[A-Z]\\w*(?=((\\.|::)[A-Za-z]|\\[))",name:"support.class.ruby"},{match:"\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|print|printf|proc|putc|puts|rand|readline|readlines|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\b(?![?!])|autoload\\?|exit!)",name:"support.function.kernel.ruby"},{match:"\\b[_A-Z]\\w*\\b",name:"variable.other.constant.ruby"},{begin:`(?x)
(?=def\\b) # optimization to help Oniguruma fail fast
(?<=^|\\s)(def)\\s+
(
(?:(self)(\\.|::))?
(?>[a-zA-Z_]\\w*(?>(\\.|::)))* # method prefix
(?> # method name
[a-zA-Z_]\\w*(?>[?!]|=(?!>))?
|
===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\|]|\\*\\*?|=?~|[-+]@?|\\[]=?
)
)
\\s*(\\()`,beginCaptures:{1:{name:"keyword.control.def.ruby"},2:{name:"entity.name.function.ruby"},3:{name:"variable.language.self.ruby"},4:{name:"punctuation.separator.method.ruby"},5:{name:"punctuation.separator.method.ruby"},6:{name:"punctuation.definition.parameters.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.ruby"}},name:"meta.function.method.with-arguments.ruby",patterns:[{begin:"(?![\\s,)])",end:"(?=,|\\)\\s*$)",patterns:[{captures:{1:{name:"storage.type.variable.ruby"},2:{name:"constant.other.symbol.hashkey.parameter.function.ruby"},3:{name:"punctuation.definition.constant.hashkey.ruby"},4:{name:"variable.parameter.function.ruby"}},match:"\\G([&*]?)(?:([_a-zA-Z]\\w*(:))|([_a-zA-Z]\\w*))"},{include:"$self"}]},{match:",",name:"punctuation.separator.delimiter.ruby"}]},{begin:`(?x)
(?=def\\b) # optimization to help Oniguruma fail fast
(?<=^|\\s)(def)\\s+
(
(?:(self)(\\.|::))?
(?>[a-zA-Z_]\\w*(?>(\\.|::)))* # method prefix
(?> # method name
[a-zA-Z_]\\w*(?>[?!]|=(?!>))?
|
===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\|]|\\*\\*?|=?~|[-+]@?|\\[]=?
)
)
[ \\t]
(?=[ \\t]*[^\\s#;]) # make sure the following is not comment`,beginCaptures:{1:{name:"keyword.control.def.ruby"},2:{name:"entity.name.function.ruby"},3:{name:"variable.language.self.ruby"},4:{name:"punctuation.separator.method.ruby"},5:{name:"punctuation.separator.method.ruby"}},end:"$",name:"meta.function.method.with-arguments.ruby",patterns:[{begin:"(?![\\s,])",end:"(?=,|$)",patterns:[{captures:{1:{name:"storage.type.variable.ruby"},2:{name:"constant.other.symbol.hashkey.parameter.function.ruby"},3:{name:"punctuation.definition.constant.hashkey.ruby"},4:{name:"variable.parameter.function.ruby"}},match:"\\G([&*]?)(?:([_a-zA-Z]\\w*(:))|([_a-zA-Z]\\w*))"},{include:"$self"}]},{match:",",name:"punctuation.separator.delimiter.ruby"}]},{captures:{1:{name:"keyword.control.def.ruby"},3:{name:"entity.name.function.ruby"},4:{name:"variable.language.self.ruby"},5:{name:"punctuation.separator.method.ruby"},6:{name:"punctuation.separator.method.ruby"}},match:`(?x)
(?=def\\b) # optimization to help Oniguruma fail fast
(?<=^|\\s)(def)\\b
(
\\s+
(
(?:(self)(\\.|::))?
(?>[a-zA-Z_]\\w*(?>(\\.|::)))* # method prefix
(?> # method name
[a-zA-Z_]\\w*(?>[?!]|=(?!>))?
|
===?|!=|>[>=]?|<=>|<[<=]?|[%&\`/\\|]|\\*\\*?|=?~|[-+]@?|\\[]=?
)
)
)?`,name:"meta.function.method.without-arguments.ruby"},{match:`(?x)
\\b
(
[\\d](?>_?\\d)* # 100_000
(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)? # fractional part
([eE][-+]?\\d(?>_?\\d)*)? # 1.23e-4
|
0
(?:
[xX][[:xdigit:]](?>_?[[:xdigit:]])*|
[oO]?[0-7](?>_?[0-7])*|
[bB][01](?>_?[01])*|
[dD]\\d(?>_?\\d)*
) # A base indicator can only be used with an integer
)\\b`,name:"constant.numeric.ruby"},{begin:":'",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:"'",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.ruby"}]},{begin:':"',beginCaptures:{0:{name:"punctuation.section.symbol.begin.ruby"}},end:'"',endCaptures:{0:{name:"punctuation.section.symbol.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{match:"(?<!\\()/=",name:"keyword.operator.assignment.augmented.ruby"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.single.ruby",patterns:[{match:"\\\\'|\\\\\\\\",name:"constant.character.escape.ruby"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.double.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:`(?x)
(?<![\\w)])((/))(?![?*+])
(?=
(?:\\\\/|[^/])*+ # Do NOT change the order
/[eimnosux]*\\s*
(?:
[)\\]}#.,?:]|\\|\\||&&|<=>|=>|==|=~|!~|!=|;|$|
if|else|elsif|then|do|end|unless|while|until|or|and
)
|
$
)`,captures:{1:{name:"string.regexp.interpolated.ruby"},2:{name:"punctuation.section.regexp.ruby"}},contentName:"string.regexp.interpolated.ruby",end:"((/[eimnosux]*))",patterns:[{include:"#regex_sub"}]},{begin:"%r{",beginCaptures:{0:{name:"punctuation.section.regexp.begin.ruby"}},end:"}[eimnosux]*",endCaptures:{0:{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:"%r\\[",beginCaptures:{0:{name:"punctuation.section.regexp.begin.ruby"}},end:"][eimnosux]*",endCaptures:{0:{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:"%r\\(",beginCaptures:{0:{name:"punctuation.section.regexp.begin.ruby"}},end:"\\)[eimnosux]*",endCaptures:{0:{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:"%r<",beginCaptures:{0:{name:"punctuation.section.regexp.begin.ruby"}},end:">[eimnosux]*",endCaptures:{0:{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:"%r([^\\w])",beginCaptures:{0:{name:"punctuation.section.regexp.begin.ruby"}},end:"\\1[eimnosux]*",endCaptures:{0:{name:"punctuation.section.regexp.end.ruby"}},name:"string.regexp.interpolated.ruby",patterns:[{include:"#regex_sub"}]},{begin:"%I\\[",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%I\\(",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%I<",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%I{",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%I([^\\w])",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"%i\\[",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:"%i\\(",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:"%i<",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:"%i{",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:"%i([^\\w])",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\."}]},{begin:"%W\\[",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%W\\(",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%W<",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%W{",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%W([^\\w])",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"%w\\[",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:"%w\\(",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:"%w<",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:"%w{",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:"%w([^\\w])",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\."}]},{begin:"%[Qx]?\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%[Qx]?\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%[Qx]?{",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%[Qx]?<",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%[Qx]([^\\w])",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"%([^\\w\\s=])",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"%q\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:"%q<",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:"%q\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:"%q{",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:"%q([^\\w])",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{match:"\\\\."}]},{begin:"%s\\(",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_parens"}]},{begin:"%s<",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:">",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_ltgt"}]},{begin:"%s\\[",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:"]",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_brackets"}]},{begin:"%s{",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:"}",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{include:"#nest_curly"}]},{begin:"%s([^\\w])",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.ruby"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.symbol.end.ruby"}},name:"constant.other.symbol.ruby",patterns:[{match:"\\\\."}]},{captures:{1:{name:"punctuation.definition.constant.ruby"}},match:`(?x)
(?<!:)(:)
(?>
[$a-zA-Z_]\\w*(?>[?!]|=(?![>=]))?
|
===?|<=>|>[>=]?|<[<=]?|[%&\`/\\|]|\\*\\*?|=?~|[-+]@?|\\[]=?
|
@@?[a-zA-Z_]\\w*
)`,name:"constant.other.symbol.ruby"},{begin:"^=begin",captures:{0:{name:"punctuation.definition.comment.ruby"}},end:"^=end",name:"comment.block.documentation.ruby"},{include:"#yard"},{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ruby"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.ruby"}},end:"\\n",name:"comment.line.number-sign.ruby"}]},{match:"(?<!\\w)\\?(\\\\(x[[:xdigit:]]{1,2}(?![[:xdigit:]])\\b|0[0-7]{0,2}(?![0-7])\\b|[^x0MC])|(\\\\[MC]-)+\\w|[^\\s\\\\])",name:"constant.numeric.ruby"},{begin:"^__END__\\n",captures:{0:{name:"string.unquoted.program-block.ruby"}},contentName:"text.plain",end:"(?=not)impossible",patterns:[{begin:"(?=<?xml|<(?i:html\\b)|!DOCTYPE (?i:html\\b))",end:"(?=not)impossible",name:"text.html.embedded.ruby",patterns:[{include:"text.html.basic"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)HTML)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.html",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)HTML)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.html",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.html.basic"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)XML)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.xml",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)XML)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.xml",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.xml"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)SQL)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.sql",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)SQL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.sql",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.sql"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)GRAPHQL)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.graphql",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)GRAPHQL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.graphql",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.graphql"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)CSS)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.css",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)CSS)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.css",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.css"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)CPP)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.cpp",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)CPP)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.cpp",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c++"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)C)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.c",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)C)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.c",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.js",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)JQUERY)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.js.jquery",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)JQUERY)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js.jquery",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.shell",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.shell",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.shell"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)LUA)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.lua",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)LUA)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.lua",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.lua"},{include:"#escaped_char"}]}]},{begin:"(?=(?><<[-~]([\"'`]?)((?:[_\\w]+_|)RUBY)\\b\\1))",end:"(?!\\G)",name:"meta.embedded.block.ruby",patterns:[{begin:"(?><<[-~]([\"'`]?)((?:[_\\w]+_|)RUBY)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.ruby",end:"^\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.ruby"},{include:"#escaped_char"}]}]},{begin:"(?>=\\s*<<([\"'`]?)(\\w+)\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"^\\2$",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"(?>((<<[-~]([\"'`]?)(\\w+)\\3,\\s?)*<<[-~]([\"'`]?)(\\w+)\\5))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"^\\s*\\6$",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"(?<={|{\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\s|^do\\s)(\\|)",captures:{1:{name:"punctuation.separator.variable.ruby"}},end:"(?<!\\|)(\\|)(?!\\|)",patterns:[{include:"source.ruby"},{match:"[_a-zA-Z][_a-zA-Z0-9]*",name:"variable.other.block.ruby"},{match:",",name:"punctuation.separator.variable.ruby"}]},{include:"#separators"},{match:"->",name:"support.function.kernel.arrow.ruby"},{match:"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<",name:"keyword.operator.assignment.augmented.ruby"},{match:"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",name:"keyword.operator.comparison.ruby"},{match:"(?<!\\.)\\b(and|not|or)\\b(?![?!])",name:"keyword.operator.logical.ruby"},{match:"(?<=^|[ \\t])!|&&|\\|\\||\\^",name:"keyword.operator.logical.ruby"},{match:"(%|&|\\*\\*|\\*|\\+|-|/)",name:"keyword.operator.arithmetic.ruby"},{match:"=",name:"keyword.operator.assignment.ruby"},{match:"\\||~|>>",name:"keyword.operator.other.ruby"},{match:"{",name:"punctuation.section.scope.begin.ruby"},{match:"}",name:"punctuation.section.scope.end.ruby"},{match:"\\[",name:"punctuation.section.array.begin.ruby"},{match:"]",name:"punctuation.section.array.end.ruby"},{match:"\\(|\\)",name:"punctuation.section.function.ruby"}],repository:{escaped_char:{match:"\\\\(?:[0-7]{1,3}|x[\\da-fA-F]{1,2}|.)",name:"constant.character.escape.ruby"},heredoc:{begin:"^<<[-~]?\\w+",end:"$",patterns:[{include:"$self"}]},interpolated_ruby:{patterns:[{begin:"#{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.ruby"}},contentName:"source.ruby",end:"}",endCaptures:{0:{name:"punctuation.section.embedded.end.ruby"}},name:"meta.embedded.line.ruby",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.instance.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#@@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.class.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.ruby"}]},nest_brackets:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"]",patterns:[{include:"#nest_brackets"}]},nest_brackets_i:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"]",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},nest_brackets_r:{begin:"\\[",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"]",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},nest_curly:{begin:"{",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"}",patterns:[{include:"#nest_curly"}]},nest_curly_and_self:{patterns:[{begin:"{",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]},nest_curly_i:{begin:"{",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"}",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},nest_curly_r:{begin:"{",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"}",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},nest_ltgt:{begin:"<",captures:{0:{name:"punctuation.section.scope.ruby"}},end:">",patterns:[{include:"#nest_ltgt"}]},nest_ltgt_i:{begin:"<",captures:{0:{name:"punctuation.section.scope.ruby"}},end:">",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},nest_ltgt_r:{begin:"<",captures:{0:{name:"punctuation.section.scope.ruby"}},end:">",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},nest_parens:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"\\)",patterns:[{include:"#nest_parens"}]},nest_parens_i:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"\\)",patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},nest_parens_r:{begin:"\\(",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"\\)",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},regex_sub:{patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{captures:{1:{name:"punctuation.definition.arbitrary-repetition.ruby"},3:{name:"punctuation.definition.arbitrary-repetition.ruby"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.ruby"},{begin:"\\[(?:\\^?])?",captures:{0:{name:"punctuation.definition.character-class.ruby"}},end:"]",name:"string.regexp.character-class.ruby",patterns:[{include:"#escaped_char"}]},{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.definition.comment.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.comment.end.ruby"}},name:"comment.line.number-sign.ruby",patterns:[{include:"#escaped_char"}]},{begin:"\\(",captures:{0:{name:"punctuation.definition.group.ruby"}},end:"\\)",name:"string.regexp.group.ruby",patterns:[{include:"#regex_sub"}]},{begin:"(?<=^|\\s)(#)\\s(?=[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$)",beginCaptures:{1:{name:"punctuation.definition.comment.ruby"}},end:"$\\n?",endCaptures:{0:{name:"punctuation.definition.comment.ruby"}},name:"comment.line.number-sign.ruby"}]},separators:{patterns:[{match:"=>",name:"punctuation.separator.key-value.ruby"},{match:";",name:"punctuation.terminator.statement.ruby"},{match:",",name:"punctuation.separator.delimiter.ruby"},{captures:{1:{name:"punctuation.separator.namespace.ruby"}},match:"(::)(?=\\s*[A-Z])"},{match:"&?\\.|::",name:"punctuation.separator.method.ruby"},{match:":",name:"punctuation.separator.other.ruby"}]},yard:{patterns:[{include:"#yard_comment"},{include:"#yard_name_types"},{include:"#yard_tag"},{include:"#yard_types"},{include:"#yard_directive"}]},yard_comment:{begin:"^(\\s*)(#)(\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\s|$)",beginCaptures:{2:{name:"punctuation.definition.comment.ruby"},4:{name:"comment.line.keyword.punctuation.yard.ruby"},5:{name:"comment.line.keyword.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:"^(?!\\s*#\\3\\s{2,})",name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_continuation:{match:"^\\s*#",name:"punctuation.definition.comment.ruby"},yard_directive:{begin:"^(\\s*)(#)(\\s*)(@!)(attribute|endgroup|group|macro|method|parse|scope|visibility)(\\s+((\\[).+(])))?(?=\\s)",beginCaptures:{2:{name:"punctuation.definition.comment.ruby"},4:{name:"comment.line.keyword.punctuation.yard.ruby"},5:{name:"comment.line.keyword.yard.ruby"},6:{name:"comment.line.yard.ruby"},7:{name:"comment.line.type.yard.ruby"},8:{name:"comment.line.punctuation.yard.ruby"},9:{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:"^(?!\\s*#\\3\\s{2,})",name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_name_types:{begin:"^(\\s*)(#)(\\s*)(@)(attr|attr_reader|attr_writer|option|param|see|yieldparam)(?=\\s)(\\s+([a-z_][a-zA-Z_]*))?(\\s+((\\[).+(])))?",beginCaptures:{10:{name:"comment.line.punctuation.yard.ruby"},11:{name:"comment.line.punctuation.yard.ruby"},2:{name:"punctuation.definition.comment.ruby"},4:{name:"comment.line.keyword.punctuation.yard.ruby"},5:{name:"comment.line.keyword.yard.ruby"},6:{name:"comment.line.yard.ruby"},7:{name:"comment.line.parameter.yard.ruby"},8:{name:"comment.line.yard.ruby"},9:{name:"comment.line.type.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:"^(?!\\s*#\\3\\s{2,})",name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]},yard_tag:{captures:{2:{name:"punctuation.definition.comment.ruby"},4:{name:"comment.line.keyword.punctuation.yard.ruby"},5:{name:"comment.line.keyword.yard.ruby"}},match:"^(\\s*)(#)(\\s*)(@)(private)$",name:"comment.line.number-sign.ruby"},yard_types:{begin:"^(\\s*)(#)(\\s*)(@)(raise|return|yield(?:return)?)(?=\\s)(\\s+((\\[).+(])))?",beginCaptures:{2:{name:"punctuation.definition.comment.ruby"},4:{name:"comment.line.keyword.punctuation.yard.ruby"},5:{name:"comment.line.keyword.yard.ruby"},6:{name:"comment.line.yard.ruby"},7:{name:"comment.line.type.yard.ruby"},8:{name:"comment.line.punctuation.yard.ruby"},9:{name:"comment.line.punctuation.yard.ruby"}},contentName:"comment.line.string.yard.ruby",end:"^(?!\\s*#\\3\\s{2,})",name:"comment.line.number-sign.ruby",patterns:[{include:"#yard"},{include:"#yard_continuation"}]}},scopeName:"source.ruby"},it=Da;var $a={extensions:[".rs",".rs.in"],names:["rust","rs"],patterns:[{begin:"(<)(\\[)",beginCaptures:{1:{name:"punctuation.brackets.angle.rust"},2:{name:"punctuation.brackets.square.rust"}},end:">",endCaptures:{0:{name:"punctuation.brackets.angle.rust"}},patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#gtypes"},{include:"#lvariables"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#types"}]},{captures:{1:{name:"keyword.operator.macro.dollar.rust"},3:{name:"keyword.other.crate.rust"},4:{name:"entity.name.type.metavariable.rust"},6:{name:"keyword.operator.key-value.rust"},7:{name:"variable.other.metavariable.specifier.rust"}},match:"(\\$)((crate)|([A-Z]\\w*))(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?",name:"meta.macro.metavariable.type.rust",patterns:[{include:"#keywords"}]},{captures:{1:{name:"keyword.operator.macro.dollar.rust"},2:{name:"variable.other.metavariable.name.rust"},4:{name:"keyword.operator.key-value.rust"},5:{name:"variable.other.metavariable.specifier.rust"}},match:"(\\$)([a-z]\\w*)(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?",name:"meta.macro.metavariable.rust",patterns:[{include:"#keywords"}]},{captures:{1:{name:"entity.name.function.macro.rules.rust"},3:{name:"entity.name.function.macro.rust"},4:{name:"entity.name.type.macro.rust"},5:{name:"punctuation.brackets.curly.rust"}},match:"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)",name:"meta.macro.rules.rust"},{captures:{1:{name:"storage.type.rust"},2:{name:"entity.name.module.rust"}},match:"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)"},{begin:"\\b(extern)\\s+(crate)",beginCaptures:{1:{name:"storage.type.rust"},2:{name:"keyword.other.crate.rust"}},end:";",endCaptures:{0:{name:"punctuation.semi.rust"}},name:"meta.import.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#punctuation"}]},{begin:"\\b(use)\\s",beginCaptures:{1:{name:"keyword.other.rust"}},end:";",endCaptures:{0:{name:"punctuation.semi.rust"}},name:"meta.use.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#namespaces"},{include:"#punctuation"},{include:"#types"},{include:"#lvariables"}]},{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#types"},{include:"#keywords"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#variables"}],repository:{attributes:{begin:"(#)(\\!?)(\\[)",beginCaptures:{1:{name:"punctuation.definition.attribute.rust"},3:{name:"punctuation.brackets.attribute.rust"}},end:"\\]",endCaptures:{0:{name:"punctuation.brackets.attribute.rust"}},name:"meta.attribute.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#strings"},{include:"#gtypes"},{include:"#types"}]},"block-comments":{patterns:[{match:"/\\*\\*/",name:"comment.block.rust"},{begin:"/\\*\\*",end:"\\*/",name:"comment.block.documentation.rust",patterns:[{include:"#block-comments"}]},{begin:"/\\*(?!\\*)",end:"\\*/",name:"comment.block.rust",patterns:[{include:"#block-comments"}]}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.rust"}},match:"(///).*$",name:"comment.line.documentation.rust"},{captures:{1:{name:"punctuation.definition.comment.rust"}},match:"(//).*$",name:"comment.line.double-slash.rust"}]},constants:{patterns:[{match:"\\b[A-Z]{2}[A-Z0-9_]*\\b",name:"constant.other.caps.rust"},{captures:{1:{name:"storage.type.rust"},2:{name:"constant.other.caps.rust"}},match:"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"punctuation.separator.dot.decimal.rust"},2:{name:"keyword.operator.exponent.rust"},3:{name:"keyword.operator.exponent.sign.rust"},4:{name:"constant.numeric.decimal.exponent.mantissa.rust"},5:{name:"entity.name.type.numeric.rust"}},match:"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.decimal.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},match:"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.hex.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},match:"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.oct.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},match:"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.bin.rust"},{match:"\\b(true|false)\\b",name:"constant.language.bool.rust"}]},escapes:{captures:{1:{name:"constant.character.escape.backslash.rust"},2:{name:"constant.character.escape.bit.rust"},3:{name:"constant.character.escape.unicode.rust"},4:{name:"constant.character.escape.unicode.punctuation.rust"},5:{name:"constant.character.escape.unicode.punctuation.rust"}},match:"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))",name:"constant.character.escape.rust"},functions:{patterns:[{captures:{1:{name:"keyword.other.rust"},2:{name:"punctuation.brackets.round.rust"}},match:"\\b(pub)(\\()"},{begin:"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(<))",beginCaptures:{1:{name:"keyword.other.fn.rust"},2:{name:"entity.name.function.rust"},4:{name:"punctuation.brackets.round.rust"},5:{name:"punctuation.brackets.angle.rust"}},end:"(\\{)|(;)",endCaptures:{1:{name:"punctuation.brackets.curly.rust"},2:{name:"punctuation.semi.rust"}},name:"meta.function.definition.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]},{begin:"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()",beginCaptures:{1:{name:"entity.name.function.rust"},2:{name:"punctuation.brackets.round.rust"}},end:"\\)",endCaptures:{0:{name:"punctuation.brackets.round.rust"}},name:"meta.function.call.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]},{begin:"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::<.*>\\()",beginCaptures:{1:{name:"entity.name.function.rust"}},end:"\\)",endCaptures:{0:{name:"punctuation.brackets.round.rust"}},name:"meta.function.call.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]}]},gtypes:{patterns:[{match:"\\b(Some|None)\\b",name:"entity.name.type.option.rust"},{match:"\\b(Ok|Err)\\b",name:"entity.name.type.result.rust"}]},interpolations:{captures:{1:{name:"punctuation.definition.interpolation.rust"},2:{name:"punctuation.definition.interpolation.rust"}},match:'({)[^"{}]*(})',name:"meta.interpolation.rust"},keywords:{patterns:[{match:"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b",name:"keyword.control.rust"},{match:"\\b(extern|let|macro|mod)\\b",name:"keyword.other.rust storage.type.rust"},{match:"\\b(const)\\b",name:"storage.modifier.rust"},{match:"\\b(type)\\b",name:"keyword.declaration.type.rust storage.type.rust"},{match:"\\b(enum)\\b",name:"keyword.declaration.enum.rust storage.type.rust"},{match:"\\b(trait)\\b",name:"keyword.declaration.trait.rust storage.type.rust"},{match:"\\b(struct)\\b",name:"keyword.declaration.struct.rust storage.type.rust"},{match:"\\b(abstract|static)\\b",name:"storage.modifier.rust"},{match:"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b",name:"keyword.other.rust"},{match:"\\bfn\\b",name:"keyword.other.fn.rust"},{match:"\\bcrate\\b",name:"keyword.other.crate.rust"},{match:"\\bmut\\b",name:"storage.modifier.mut.rust"},{match:"(\\^|\\||\\|\\||&&|<<|>>|!)(?!=)",name:"keyword.operator.logical.rust"},{match:"&(?![&=])",name:"keyword.operator.borrow.and.rust"},{match:"(\\+=|-=|\\*=|/=|%=|\\^=|&=|\\|=|<<=|>>=)",name:"keyword.operator.assignment.rust"},{match:"(?<![<>])=(?!=|>)",name:"keyword.operator.assignment.equal.rust"},{match:"(=(=)?(?!>)|!=|<=|(?<!=)>=)",name:"keyword.operator.comparison.rust"},{match:"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))",name:"keyword.operator.math.rust"},{captures:{1:{name:"punctuation.brackets.round.rust"},2:{name:"punctuation.brackets.square.rust"},3:{name:"punctuation.brackets.curly.rust"},4:{name:"keyword.operator.comparison.rust"},5:{name:"punctuation.brackets.round.rust"},6:{name:"punctuation.brackets.square.rust"},7:{name:"punctuation.brackets.curly.rust"}},match:"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))"},{match:"::",name:"keyword.operator.namespace.rust"},{captures:{1:{name:"keyword.operator.dereference.rust"}},match:"(\\*)(?=\\w+)"},{match:"@",name:"keyword.operator.subpattern.rust"},{match:"\\.(?!\\.)",name:"keyword.operator.access.dot.rust"},{match:"\\.{2}(=|\\.)?",name:"keyword.operator.range.rust"},{match:":(?!:)",name:"keyword.operator.key-value.rust"},{match:"->|<-",name:"keyword.operator.arrow.skinny.rust"},{match:"=>",name:"keyword.operator.arrow.fat.rust"},{match:"\\$",name:"keyword.operator.macro.dollar.rust"},{match:"\\?",name:"keyword.operator.question.rust"}]},lifetimes:{patterns:[{captures:{1:{name:"punctuation.definition.lifetime.rust"},2:{name:"entity.name.type.lifetime.rust"}},match:"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"},{captures:{1:{name:"keyword.operator.borrow.rust"},2:{name:"punctuation.definition.lifetime.rust"},3:{name:"entity.name.type.lifetime.rust"}},match:"(\\&)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"}]},lvariables:{patterns:[{match:"\\b[Ss]elf\\b",name:"variable.language.self.rust"},{match:"\\bsuper\\b",name:"variable.language.super.rust"}]},macros:{patterns:[{captures:{2:{name:"entity.name.function.macro.rust"},3:{name:"entity.name.type.macro.rust"}},match:"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))",name:"meta.macro.rust"}]},namespaces:{patterns:[{captures:{1:{name:"entity.name.namespace.rust"},2:{name:"keyword.operator.namespace.rust"}},match:"(?<![A-Za-z0-9_])([A-Za-z0-9_]+)((?<!super|self)::)"}]},punctuation:{patterns:[{match:",",name:"punctuation.comma.rust"},{match:"[{}]",name:"punctuation.brackets.curly.rust"},{match:"[()]",name:"punctuation.brackets.round.rust"},{match:";",name:"punctuation.semi.rust"},{match:"[\\[\\]]",name:"punctuation.brackets.square.rust"},{match:"(?<!=)[<>]",name:"punctuation.brackets.angle.rust"}]},strings:{patterns:[{begin:'(b?)(")',beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.string.rust"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.rust"}},name:"string.quoted.double.rust",patterns:[{include:"#escapes"},{include:"#interpolations"}]},{begin:'(b?r)(#*)(")',beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.string.raw.rust"},3:{name:"punctuation.definition.string.rust"}},end:'(")(\\2)',endCaptures:{1:{name:"punctuation.definition.string.rust"},2:{name:"punctuation.definition.string.raw.rust"}},name:"string.quoted.double.rust"},{begin:"(b)?(')",beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.char.rust"}},end:"'",endCaptures:{0:{name:"punctuation.definition.char.rust"}},name:"string.quoted.single.char.rust",patterns:[{include:"#escapes"}]}]},types:{patterns:[{captures:{1:{name:"entity.name.type.numeric.rust"}},match:"(?<![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b"},{begin:"\\b(_?[A-Z][A-Za-z0-9_]*)(<)",beginCaptures:{1:{name:"entity.name.type.rust"},2:{name:"punctuation.brackets.angle.rust"}},end:">",endCaptures:{0:{name:"punctuation.brackets.angle.rust"}},patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lvariables"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#types"},{include:"#variables"}]},{match:"\\b(bool|char|str)\\b",name:"entity.name.type.primitive.rust"},{captures:{1:{name:"keyword.declaration.trait.rust storage.type.rust"},2:{name:"entity.name.type.trait.rust"}},match:"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.struct.rust storage.type.rust"},2:{name:"entity.name.type.struct.rust"}},match:"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.enum.rust storage.type.rust"},2:{name:"entity.name.type.enum.rust"}},match:"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.type.rust storage.type.rust"},2:{name:"entity.name.type.declaration.rust"}},match:"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{match:"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)",name:"entity.name.type.rust"}]},variables:{patterns:[{match:"\\b(?<!(?<!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b",name:"variable.other.rust"}]}},scopeName:"source.rust"},rt=$a;var La={extensions:[".bash",".bats",".command",".csh",".ebuild",".eclass",".ksh",".sbatch",".sh",".sh.in",".slurm",".tcsh",".tmux",".tool",".zsh",".zsh-theme"],names:["abuild","alpine-abuild","apkbuild","bash","envrc","gentoo-ebuild","gentoo-eclass","openrc","openrc-runscript","sh","shell","shell-script","tcsh","zsh"],patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#list"},{include:"#compound-command"},{include:"#loop"},{include:"#string"},{include:"#function-definition"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#keyword"},{include:"#support"}],repository:{"case-clause":{patterns:[{begin:"(?=\\S)",end:";;",endCaptures:{0:{name:"punctuation.terminator.case-clause.shell"}},name:"meta.scope.case-clause.shell",patterns:[{begin:"\\(|(?=\\S)",beginCaptures:{0:{name:"punctuation.definition.case-pattern.shell"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.case-pattern.shell"}},name:"meta.scope.case-pattern.shell",patterns:[{match:"\\|",name:"punctuation.separator.pipe-sign.shell"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#pathname"}]},{begin:"(?<=\\))",end:"(?=;;)",name:"meta.scope.case-clause-body.shell",patterns:[{include:"$self"}]}]}]},comment:{begin:"(^\\s+)?(?<=^|\\W)(?<!-)(?=#)(?!#{)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.shell"}},end:"(?!\\G)",patterns:[{begin:"#!",beginCaptures:{0:{name:"punctuation.definition.comment.shebang.shell"}},end:"$",name:"comment.line.number-sign.shebang.shell"},{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.shell"}},end:"$",name:"comment.line.number-sign.shell"}]},"compound-command":{patterns:[{begin:"\\[{1,2}",beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:"\\]{1,2}",endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical-expression"},{include:"$self"}]},{begin:"\\({2}",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"\\){2}",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.other.math.shell",patterns:[{include:"#math"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.subshell.shell"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.subshell.shell"}},name:"meta.scope.subshell.shell",patterns:[{include:"$self"}]},{begin:"(?<=\\s|^){(?=\\s|$)",beginCaptures:{0:{name:"punctuation.definition.group.shell"}},end:"(?<=^|;)\\s*(})",endCaptures:{1:{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"$self"}]}]},"function-definition":{patterns:[{begin:"(?<=^|;|&|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?",beginCaptures:{1:{name:"storage.type.function.shell"},2:{name:"entity.name.function.shell"},3:{name:"punctuation.definition.arguments.shell"}},end:";|&|$",endCaptures:{0:{name:"punctuation.definition.function.shell"}},name:"meta.function.shell",patterns:[{include:"$self"}]},{begin:"(?<=^|;|&|\\s)([^\\s\\\\=]+)\\s*(\\(\\))",beginCaptures:{1:{name:"entity.name.function.shell"},2:{name:"punctuation.definition.arguments.shell"}},end:";|&|$",endCaptures:{0:{name:"punctuation.definition.function.shell"}},name:"meta.function.shell",patterns:[{include:"$self"}]}]},heredoc:{patterns:[{begin:`(<<)-\\s*("|'|)\\s*(RUBY)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.ruby.embedded.shell",end:"^\\t*(RUBY)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.ruby.shell",patterns:[{include:"source.ruby"}]},{begin:`(<<)\\s*("|'|)\\s*(RUBY)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.ruby.embedded.shell",end:"^(RUBY)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.ruby.shell",patterns:[{include:"source.ruby"}]},{begin:`(<<)-\\s*("|'|)\\s*(PYTHON)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.python.embedded.shell",end:"^\\t*(PYTHON)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.python.shell",patterns:[{include:"source.python"}]},{begin:`(<<)\\s*("|'|)\\s*(PYTHON)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.python.embedded.shell",end:"^(PYTHON)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.python.shell",patterns:[{include:"source.python"}]},{begin:`(<<)-\\s*("|'|)\\s*(APPLESCRIPT)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.applescript.embedded.shell",end:"^\\t*(APPLESCRIPT)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.applescript.shell",patterns:[{include:"source.applescript"}]},{begin:`(<<)\\s*("|'|)\\s*(APPLESCRIPT)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.applescript.embedded.shell",end:"^(APPLESCRIPT)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.applescript.shell",patterns:[{include:"source.applescript"}]},{begin:`(<<)-\\s*("|'|)\\s*(HTML)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.embedded.shell",end:"^\\t*(HTML)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.html.shell",patterns:[{include:"text.html.basic"}]},{begin:`(<<)\\s*("|'|)\\s*(HTML)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.embedded.shell",end:"^(HTML)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.html.shell",patterns:[{include:"text.html.basic"}]},{begin:`(<<)-\\s*("|'|)\\s*(MARKDOWN)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.markdown.embedded.shell",end:"^\\t*(MARKDOWN)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.markdown.shell",patterns:[{include:"text.md"}]},{begin:`(<<)\\s*("|'|)\\s*(MARKDOWN)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.markdown.embedded.shell",end:"^(MARKDOWN)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.markdown.shell",patterns:[{include:"text.md"}]},{begin:`(<<)-\\s*("|'|)\\s*(TEXTILE)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.textile.embedded.shell",end:"^\\t*(TEXTILE)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.textile.shell",patterns:[]},{begin:`(<<)\\s*("|'|)\\s*(TEXTILE)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"text.html.textile.embedded.shell",end:"^(TEXTILE)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.textile.shell",patterns:[]},{begin:`(<<)-\\s*("|'|)\\s*(SHELL)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.shell.embedded.shell",end:"^\\t*(\\3)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.shell.shell",patterns:[{include:"source.shell"}]},{begin:`(<<)\\s*("|'|)\\s*(SHELL)(?=\\s|;|&|<|"|')\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},contentName:"source.shell.embedded.shell",end:"^(\\3)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.shell.shell",patterns:[{include:"source.shell"}]},{begin:`(<<)-\\s*("|')\\s*\\\\?([^;&<\\s]+)\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},end:"^\\t*(\\3)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.no-indent.shell"},{begin:`(<<)\\s*("|')\\s*\\\\?([^;&<\\s]+)\\2`,beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},3:{name:"keyword.control.heredoc-token.shell"}},end:"^(\\3)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.shell"},{begin:"(<<)-\\s*\\\\?([^;&<\\s]+)",beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"keyword.control.heredoc-token.shell"}},end:"^\\t*(\\2)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.expanded.no-indent.shell",patterns:[{match:"\\\\[\\$`\\\\\\n]",name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:"(<<)\\s*\\\\?([^;&<\\s]+)",beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"keyword.control.heredoc-token.shell"}},end:"^(\\2)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.heredoc-token.shell"}},name:"string.unquoted.heredoc.expanded.shell",patterns:[{match:"\\\\[\\$`\\\\\\n]",name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]}]},herestring:{patterns:[{begin:"(<<<)\\s*(('))",beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.single.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.single.shell",end:"(')",endCaptures:{0:{name:"string.quoted.single.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{begin:'(<<<)\\s*(("))',beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.double.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.double.shell",end:'(")',endCaptures:{0:{name:"string.quoted.double.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{captures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.unquoted.herestring.shell",patterns:[{include:"$self"}]}},match:"(<<<)\\s*(([^\\s)\\\\]|\\\\.)+)",name:"meta.herestring.shell"}]},interpolation:{patterns:[{begin:"\\$\\({2}",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"\\){2}",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.other.math.shell",patterns:[{include:"#math"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.backtick.shell",patterns:[{match:"\\\\[`\\\\$]",name:"constant.character.escape.shell"},{begin:"(?<=\\W)(?=#)(?!#{)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.shell"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.shell"}},end:"(?=`)",name:"comment.line.number-sign.shell"}]},{include:"$self"}]},{begin:"\\$\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.dollar.shell",patterns:[{include:"$self"}]}]},keyword:{patterns:[{match:"(?<=^|;|&|\\s)(then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|&|$)",name:"keyword.control.shell"},{match:"(?<=^|;|&|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|&|$)",name:"storage.modifier.shell"}]},list:{patterns:[{match:";|&&|&|\\|\\|",name:"keyword.operator.list.shell"}]},"logical-expression":{patterns:[{match:"=[=~]?|!=?|<|>|&&|\\|\\|",name:"keyword.operator.logical.shell"},{match:"(?<!\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])",name:"keyword.operator.logical.shell"}]},loop:{patterns:[{begin:"(?<=^|;|&|\\s)(for)\\s+(?=\\({2})",beginCaptures:{1:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)done(?=\\s|;|&|$)",endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.for-loop.shell",patterns:[{include:"$self"}]},{begin:"(?<=^|;|&|\\s)(for)\\s+(.+?)\\s+(in)(?=\\s|;|&|$)",beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell",patterns:[{include:"#string"}]},3:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)done(?=\\s|;|&|$)",endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.for-in-loop.shell",patterns:[{include:"$self"}]},{begin:"(?<=^|;|&|\\s)(while|until)(?=\\s|;|&|$)",beginCaptures:{1:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)done(?=\\s|;|&|$)",endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.while-loop.shell",patterns:[{include:"$self"}]},{begin:"(?<=^|;|&|\\s)(select)\\s+((?:[^\\s\\\\]|\\\\.)+)(?=\\s|;|&|$)",beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell"}},end:"(?<=^|;|&|\\s)(done)(?=\\s|;|&|$)",endCaptures:{1:{name:"keyword.control.shell"}},name:"meta.scope.select-block.shell",patterns:[{include:"$self"}]},{begin:"(?<=^|;|&|\\s)case(?=\\s|;|&|$)",beginCaptures:{0:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)esac(?=\\s|;|&|$)",endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.case-block.shell",patterns:[{begin:"(?<=^|;|&|\\s)in(?=\\s|;|&|$)",beginCaptures:{0:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)(?=esac(\\s|;|&|$))",name:"meta.scope.case-body.shell",patterns:[{include:"#comment"},{include:"#case-clause"},{include:"$self"}]},{include:"$self"}]},{begin:"(?<=^|;|&|\\s)if(?=\\s|;|&|$)",beginCaptures:{0:{name:"keyword.control.shell"}},end:"(?<=^|;|&|\\s)fi(?=\\s|;|&|$)",endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.if-block.shell",patterns:[{include:"$self"}]}]},math:{patterns:[{include:"#variable"},{match:"\\+{1,2}|-{1,2}|!|~|\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\|{1,2}|&{1,2}|\\?|\\:|,|=|[*/%+\\-&^|]=|<<=|>>=",name:"keyword.operator.arithmetic.shell"},{match:"0[xX][0-9A-Fa-f]+",name:"constant.numeric.hex.shell"},{match:"0\\d+",name:"constant.numeric.octal.shell"},{match:"\\d{1,2}#[0-9a-zA-Z@_]+",name:"constant.numeric.other.shell"},{match:"\\d+",name:"constant.numeric.integer.shell"}]},pathname:{patterns:[{match:"(?<=\\s|:|=|^)~",name:"keyword.operator.tilde.shell"},{match:"\\*|\\?",name:"keyword.operator.glob.shell"},{begin:"([?*+@!])(\\()",beginCaptures:{1:{name:"keyword.operator.extglob.shell"},2:{name:"punctuation.definition.extglob.shell"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.extglob.shell"}},name:"meta.structure.extglob.shell",patterns:[{include:"$self"}]}]},pipeline:{patterns:[{match:"(?<=^|;|&|\\s)(time)(?=\\s|;|&|$)",name:"keyword.other.shell"},{match:"[|!]",name:"keyword.operator.pipe.shell"}]},redirection:{patterns:[{begin:"[><]\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.process-substitution.shell",patterns:[{include:"$self"}]},{match:"(?<![<>])(&>|\\d*>&\\d*|\\d*(>>|>|<)|\\d*<&|\\d*<>)(?![<>])",name:"keyword.operator.redirect.shell"}]},string:{patterns:[{match:"\\\\.",name:"constant.character.escape.shell"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.shell"},{begin:'\\$?"',beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.double.shell",patterns:[{match:'\\\\[\\$`"\\\\\\n]',name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:"\\$'",beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.dollar.shell",patterns:[{match:"\\\\(a|b|e|f|n|r|t|v|\\\\|')",name:"constant.character.escape.ansi-c.shell"},{match:"\\\\[0-9]{3}",name:"constant.character.escape.octal.shell"},{match:"\\\\x[0-9a-fA-F]{2}",name:"constant.character.escape.hex.shell"},{match:"\\\\c.",name:"constant.character.escape.control-char.shell"}]}]},support:{patterns:[{match:"(?<=^|;|&|\\s)(?::|\\.)(?=\\s|;|&|$)",name:"support.function.builtin.shell"},{match:"(?<=^|;|&|\\s)(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)(?=\\s|;|&|$)",name:"support.function.builtin.shell"}]},variable:{patterns:[{captures:{1:{name:"punctuation.definition.variable.shell"}},match:"(\\$)[a-zA-Z_][a-zA-Z0-9_]*",name:"variable.other.normal.shell"},{captures:{1:{name:"punctuation.definition.variable.shell"}},match:"(\\$)[-*@#?$!0_]",name:"variable.other.special.shell"},{captures:{1:{name:"punctuation.definition.variable.shell"}},match:"(\\$)[1-9]",name:"variable.other.positional.shell"},{begin:"\\${",beginCaptures:{0:{name:"punctuation.definition.variable.shell"}},end:"}",endCaptures:{0:{name:"punctuation.definition.variable.shell"}},name:"variable.other.bracket.shell",patterns:[{match:"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/",name:"keyword.operator.expansion.shell"},{captures:{1:{name:"punctuation.section.array.shell"},3:{name:"punctuation.section.array.shell"}},match:"(\\[)([^\\]]+)(\\])"},{include:"#variable"},{include:"#string"}]}]}},scopeName:"source.shell"},ot=La;var Pa={extensions:[".db2",".ddl",".mysql",".pgsql",".prc",".sql",".sql",".sql",".tab",".udf",".viw"],names:["plpgsql","sql","sqlpl"],patterns:[{include:"#comments"},{captures:{1:{name:"keyword.other.create.sql"},2:{name:"keyword.other.sql"},5:{name:"entity.name.function.sql"}},match:"(?i:^\\s*(create(?:\\s+or\\s+replace)?)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4",name:"meta.create.sql"},{captures:{1:{name:"keyword.other.create.sql"},2:{name:"keyword.other.sql"}},match:"(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))",name:"meta.drop.sql"},{captures:{1:{name:"keyword.other.create.sql"},2:{name:"keyword.other.table.sql"},3:{name:"entity.name.function.sql"},4:{name:"keyword.other.cascade.sql"}},match:"(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)",name:"meta.drop.sql"},{captures:{1:{name:"keyword.other.create.sql"},2:{name:"keyword.other.table.sql"}},match:"(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)",name:"meta.alter.sql"},{captures:{1:{name:"storage.type.sql"},10:{name:"constant.numeric.sql"},11:{name:"storage.type.sql"},12:{name:"storage.type.sql"},13:{name:"storage.type.sql"},14:{name:"constant.numeric.sql"},15:{name:"storage.type.sql"},2:{name:"storage.type.sql"},3:{name:"constant.numeric.sql"},4:{name:"storage.type.sql"},5:{name:"constant.numeric.sql"},6:{name:"storage.type.sql"},7:{name:"constant.numeric.sql"},8:{name:"constant.numeric.sql"},9:{name:"storage.type.sql"}},match:`(?xi)
# normal stuff, capture 1
\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b
# numeric suffix, capture 2 + 3i
|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)
# optional numeric suffix, capture 4 + 5i
|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?
# special case, capture 6 + 7i + 8i
|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?
# special case, captures 9, 10i, 11
|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?
# special case, captures 12, 13, 14i, 15
|\\b(timestamp)(?:(s|tz))?\\b(?:\\((\\d+)\\))?(\\s(with|without)\\stime\\szone\\b)?
`},{match:"(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)",name:"storage.modifier.sql"},{match:"\\b\\d+\\b",name:"constant.numeric.sql"},{match:"(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|or|like|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|join|straight_join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)",name:"keyword.other.DML.sql"},{match:"(?i:\\b(on|((is\\s+)?not\\s+)?null)\\b)",name:"keyword.other.DDL.create.II.sql"},{match:"(?i:\\bvalues\\b)",name:"keyword.other.DML.II.sql"},{match:"(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)",name:"keyword.other.LUW.sql"},{match:"(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)",name:"keyword.other.authorization.sql"},{match:"(?i:\\bin\\b)",name:"keyword.other.data-integrity.sql"},{match:"(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)",name:"keyword.other.object-comments.sql"},{match:"(?i)\\bAS\\b",name:"keyword.other.alias.sql"},{match:"(?i)\\b(DESC|ASC)\\b",name:"keyword.other.order.sql"},{match:"\\*",name:"keyword.operator.star.sql"},{match:"[!<>]?=|<>|<|>",name:"keyword.operator.comparison.sql"},{match:"-|\\+|/",name:"keyword.operator.math.sql"},{match:"\\|\\|",name:"keyword.operator.concatenator.sql"},{match:"(?i)\\b(CURRENT_(DATE|TIME(STAMP)?|USER)|(SESSION|SYSTEM)_USER)\\b",name:"support.function.scalar.sql"},{match:"(?i)\\b(AVG|COUNT|MIN|MAX|SUM)(?=\\s*\\()",name:"support.function.aggregate.sql"},{match:"(?i)\\b(CONCATENATE|CONVERT|LOWER|SUBSTRING|TRANSLATE|TRIM|UPPER)\\b",name:"support.function.string.sql"},{captures:{1:{name:"constant.other.database-name.sql"},2:{name:"constant.other.table-name.sql"}},match:"(\\w+?)\\.(\\w+)"},{include:"#strings"},{include:"#regexps"},{captures:{1:{name:"punctuation.section.scope.begin.sql"},2:{name:"punctuation.section.scope.end.sql"}},match:"(\\()(\\))",name:"meta.block.sql"}],repository:{comments:{patterns:[{begin:"(^[ \\t]+)?(?=--)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.sql"}},end:"(?!\\G)",patterns:[{begin:"--",beginCaptures:{0:{name:"punctuation.definition.comment.sql"}},end:"\\n",name:"comment.line.double-dash.sql"}]},{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.sql"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.sql"}},end:"\\n",name:"comment.line.number-sign.sql"}]},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.sql"}},end:"\\*/",name:"comment.block.c"}]},regexps:{patterns:[{begin:"/(?=\\S.*/)",beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:"/",endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.regexp.sql",patterns:[{include:"#string_interpolation"},{match:"\\\\/",name:"constant.character.escape.slash.sql"}]},{begin:"%r\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.regexp.modr.sql",patterns:[{include:"#string_interpolation"}]}]},string_escape:{match:"\\\\.",name:"constant.character.escape.sql"},string_interpolation:{captures:{1:{name:"punctuation.definition.string.begin.sql"},3:{name:"punctuation.definition.string.end.sql"}},match:"(#\\{)([^\\}]*)(\\})",name:"string.interpolated.sql"},strings:{patterns:[{captures:{1:{name:"punctuation.definition.string.begin.sql"},2:{name:"punctuation.definition.string.end.sql"}},match:"(')[^'\\\\]*(')",name:"string.quoted.single.sql"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.quoted.single.sql",patterns:[{include:"#string_escape"}]},{captures:{1:{name:"punctuation.definition.string.begin.sql"},2:{name:"punctuation.definition.string.end.sql"}},match:"(`)[^`\\\\]*(`)",name:"string.quoted.other.backtick.sql"},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.quoted.other.backtick.sql",patterns:[{include:"#string_escape"}]},{captures:{1:{name:"punctuation.definition.string.begin.sql"},2:{name:"punctuation.definition.string.end.sql"}},match:'(")[^"#]*(")',name:"string.quoted.double.sql"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.quoted.double.sql",patterns:[{include:"#string_interpolation"}]},{begin:"%\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.sql"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.sql"}},name:"string.other.quoted.brackets.sql",patterns:[{include:"#string_interpolation"}]}]}},scopeName:"source.sql"},st=Pa;var Oa={extensions:[".swift"],names:["swift"],patterns:[{include:"#root"}],repository:{"async-throws":{captures:{1:{name:"invalid.illegal.await-must-precede-throws.swift"},2:{name:"storage.modifier.exception.swift"},3:{name:"storage.modifier.async.swift"}},match:"\\b(?:(throws\\s+async|rethrows\\s+async)|(throws|rethrows)|(async))\\b"},attributes:{patterns:[{begin:"((@)available)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.available.swift",patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+([0-9]+(?:\\.[0-9]+)*\\b))?"},{begin:"\\b(introduced|deprecated|obsoleted)\\s*(:)\\s*",beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{match:"\\b[0-9]+(?:\\.[0-9]+)*\\b",name:"constant.numeric.swift"}]},{begin:'\\b(message|renamed)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"keyword.other.swift"},3:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(?:(\\*)|\\b(deprecated|unavailable|noasync)\\b)\\s*(.*?)(?=[,)])"}]},{begin:"((@)objc)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.objc.swift",patterns:[{captures:{1:{name:"invalid.illegal.missing-colon-after-selector-piece.swift"}},match:"\\w*(?::(?:\\w*:)*(\\w*))?",name:"entity.name.function.swift"}]},{begin:"(@)(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)",beginCaptures:{0:{name:"storage.modifier.attribute.swift"},1:{name:"punctuation.definition.attribute.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G\\()",name:"meta.attribute.swift",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.arguments.attribute.swift",patterns:[{include:"#expressions"}]}]}]},"builtin-functions":{patterns:[{match:"(?<=\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\s*[({])\\b",name:"support.function.swift"},{match:"(?<=\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\s*\\()",name:"support.function.swift"},{match:"(?<=\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-global-functions":{patterns:[{begin:"\\b(type)(\\()\\s*(of)(:)",beginCaptures:{1:{name:"support.function.dynamic-type.swift"},2:{name:"punctuation.definition.arguments.begin.swift"},3:{name:"support.variable.parameter.swift"},4:{name:"punctuation.separator.argument-label.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{match:"\\b(?:anyGenerator|autoreleasepool)(?=\\s*[({])\\b",name:"support.function.swift"},{match:"\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\s*\\()",name:"support.function.swift"},{match:"\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-properties":{patterns:[{match:"(?<=^Process\\.|\\WProcess\\.|^CommandLine\\.|\\WCommandLine\\.)(arguments|argc|unsafeArgv)",name:"support.variable.swift"},{match:"(?<=\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\b",name:"support.variable.swift"},{match:"(?<=\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\b",name:"support.variable.swift"},{match:"(?<=\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\b",name:"support.variable.swift"}]},"builtin-types":{patterns:[{include:"#builtin-types-builtin-class-type"},{include:"#builtin-types-builtin-enum-type"},{include:"#builtin-types-builtin-protocol-type"},{include:"#builtin-types-builtin-struct-type"},{include:"#builtin-types-builtin-typealias"},{match:"\\bAny\\b",name:"support.type.any.swift"}]},"builtin-types-builtin-class-type":{match:"\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\b",name:"support.class.swift"},"builtin-types-builtin-enum-type":{patterns:[{match:"\\b(?:CommandLine|Process(?=\\.))\\b",name:"support.constant.swift"},{match:"\\bNever\\b",name:"support.constant.never.swift"},{match:"\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\b",name:"support.type.swift"},{match:"\\b(?:MirrorDisposition|QuickLookObject)\\b",name:"support.type.swift"}]},"builtin-types-builtin-protocol-type":{patterns:[{match:"\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\b",name:"support.type.swift"},{match:"\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\b",name:"support.type.swift"}]},"builtin-types-builtin-struct-type":{patterns:[{match:"\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\b",name:"support.type.swift"},{match:"\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\b",name:"support.type.swift"}]},"builtin-types-builtin-typealias":{patterns:[{match:"\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\b",name:"support.type.swift"},{match:"\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\b",name:"support.type.swift"}]},"code-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.scope.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.scope.end.swift"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.swift"}},match:"\\A^(#!).*$\\n?",name:"comment.line.number-sign.swift"},{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*:",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.playground.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.swift",patterns:[{include:"#comments-nested"}]},{match:"\\*/",name:"invalid.illegal.unexpected-end-of-block-comment.swift"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.swift"}},end:"(?!\\G)",patterns:[{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.triple-slash.documentation.swift"},{begin:"//:",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.documentation.swift"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.swift"}]}]},"comments-nested":{begin:"/\\*",end:"\\*/",patterns:[{include:"#comments-nested"}]},"compiler-control":{patterns:[{begin:"^\\s*(#)(if|elseif)\\s+(false)\\b.*?(?=$|//|/\\*)",beginCaptures:{0:{name:"meta.preprocessor.conditional.swift"},1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{name:"constant.language.boolean.swift"}},contentName:"comment.block.preprocessor.swift",end:"(?=^\\s*(#(elseif|else|endif)\\b))"},{begin:"^\\s*(#)(if|elseif)\\s+",captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"}},end:"(?=\\s*(?://|/\\*))|$",name:"meta.preprocessor.conditional.swift",patterns:[{match:"(&&|\\|\\|)",name:"keyword.operator.logical.swift"},{match:"\\b(true|false)\\b",name:"constant.language.boolean.swift"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.architecture.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(arch)\\s*(\\()\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.os.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(os)\\s*(\\()\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"entity.name.type.module.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(canImport)\\s*(\\()([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(\\))"},{begin:"\\b(targetEnvironment)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:"\\b(simulator|UIKitForMac)\\b",name:"support.constant.platform.environment.swift"}]},{begin:"\\b(swift|compiler)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:">=|<",name:"keyword.operator.comparison.swift"},{match:"\\b[0-9]+(?:\\.[0-9]+)*\\b",name:"constant.numeric.swift"}]}]},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(else|endif)(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.conditional.swift"},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.sourcelocation.swift"},4:{name:"punctuation.definition.parameters.begin.swift"},5:{patterns:[{begin:'(file)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"},3:{name:"constant.numeric.integer.swift"}},match:"(line)\\s*(:)\\s*([0-9]+)"},{match:",",name:"punctuation.separator.parameters.swift"},{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]},6:{name:"punctuation.definition.parameters.begin.swift"},7:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(sourceLocation)((\\()([^)]*)(\\)))(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.sourcelocation.swift"}]},conditionals:{patterns:[{begin:"(?<!\\.)\\b(if|guard|switch|for)\\b",beginCaptures:{1:{patterns:[{include:"#keywords"}]}},end:"(?=\\{)",patterns:[{include:"#expressions-without-trailing-closures"}]},{begin:"(?<!\\.)\\b(while)\\b",beginCaptures:{1:{patterns:[{include:"#keywords"}]}},end:"(?=\\{)|$",patterns:[{include:"#expressions-without-trailing-closures"}]}]},declarations:{patterns:[{include:"#declarations-function"},{include:"#declarations-function-initializer"},{include:"#declarations-function-subscript"},{include:"#declarations-typed-variable-declaration"},{include:"#declarations-import"},{include:"#declarations-operator"},{include:"#declarations-precedencegroup"},{include:"#declarations-protocol"},{include:"#declarations-type"},{include:"#declarations-extension"},{include:"#declarations-typealias"},{include:"#declarations-macro"}]},"declarations-available-types":{patterns:[{include:"#comments"},{include:"#builtin-types"},{include:"#attributes"},{match:"\\basync\\b",name:"storage.modifier.async.swift"},{match:"\\b(?:throws|rethrows)\\b",name:"storage.modifier.exception.swift"},{match:"\\bsome\\b",name:"keyword.other.operator.type.opaque.swift"},{match:"\\bany\\b",name:"keyword.other.operator.type.existential.swift"},{match:"\\b(?:repeat|each)\\b",name:"keyword.control.loop.swift"},{match:"\\b(?:inout|isolated|borrowing|consuming)\\b",name:"storage.modifier.swift"},{match:"\\bSelf\\b",name:"variable.language.swift"},{captures:{1:{name:"keyword.operator.type.function.swift"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.composition.swift"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{match:"[?!]",name:"keyword.operator.type.optional.swift"},{match:"\\.\\.\\.",name:"keyword.operator.function.variadic-parameter.swift"},{match:"\\bprotocol\\b",name:"keyword.other.type.composition.swift"},{match:"(?<=\\.)(?:Protocol|Type)\\b",name:"keyword.other.type.metatype.swift"},{include:"#declarations-available-types-tuple-type"},{include:"#declarations-available-types-collection-type"},{include:"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.collection-type.begin.swift"}},end:"\\]|(?=[>){}])",endCaptures:{0:{name:"punctuation.section.collection-type.end.swift"}},patterns:[{include:"#declarations-available-types"},{include:"#literals-numeric"},{match:"\\b_\\b",name:"support.variable.inferred.swift"},{match:"(?<=\\s)\\bof\\b(?=\\s+[\\p{L}_\\d\\p{N}\\p{M}\\[(])",name:"keyword.other.inline-array.swift"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.key-value.swift"}},end:"(?=\\]|[>){}])",patterns:[{match:":",name:"invalid.illegal.extra-colon-in-dictionary-type.swift"},{include:"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple-type.begin.swift"}},end:"\\)|(?=[>\\]{}])",endCaptures:{0:{name:"punctuation.section.tuple-type.end.swift"}},patterns:[{include:"#declarations-available-types"}]},"declarations-extension":{begin:"\\b(extension)\\s+",beginCaptures:{1:{name:"storage.type.$1.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{begin:"\\G(?!\\s*[:{\\n])",end:"(?=\\s*[:{\\n])|(?!\\G)(?=\\s*where\\b)",name:"entity.name.type.swift",patterns:[{include:"#declarations-available-types"}]},{include:"#comments"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},"declarations-function":{begin:`(?x)
\\b
(func)
\\s+
(
(?<q>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)
| (?:
(
(?<oph> # operator-head
[/=\\-+!*%<>&|^~?]
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
)
(
\\g<oph>
| (?<opc> # operator-character
[\\x{0300}-\\x{036F}]
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)*
)
| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ ) # Dot operators
)
)
\\s*
(?=\\(|<)`,beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})|$(?# functions in protocol declarations or generated interfaces have no body)",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-initializer":{begin:"(?<!\\.)\\b(init[?!]*(?# only one is valid, but we want the in\u21E5 snippet to produce something that looks good))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift",patterns:[{match:"(?<=[?!])[?!]+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:"(?<=\\})|$",name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-result":{begin:"(?<![/=\\-+!*%<>&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])\\s*",beginCaptures:{1:{name:"keyword.operator.function-result.swift"}},end:"(?!\\G)(?=\\{|\\bwhere\\b|;|=)|$",name:"meta.function-result.swift",patterns:[{match:"\\bsending\\b",name:"storage.modifier.swift"},{include:"#declarations-available-types"}]},"declarations-function-subscript":{begin:"(?<!\\.)\\b(subscript)\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"}},end:"(?<=\\})|$",name:"meta.definition.function.subscript.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-generic-argument-clause":{begin:"<",beginCaptures:{0:{name:"punctuation.separator.generic-argument-clause.begin.swift"}},end:">|(?=[)\\]{}])",endCaptures:{0:{name:"punctuation.separator.generic-argument-clause.end.swift"}},name:"meta.generic-argument-clause.swift",patterns:[{include:"#literals-numeric"},{include:"#declarations-available-types"}]},"declarations-generic-parameter-clause":{begin:"<",beginCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.begin.swift"}},end:">|(?=[^\\w\\d:<>\\s,=&`])(?# characters besides these are never valid in a generic param list -- even if it's not really a valid clause, we should stop trying to parse it if we see one of them.)",endCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.end.swift"}},name:"meta.generic-parameter-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause"},{match:"\\blet\\b",name:"keyword.other.declaration-specifier.swift"},{match:"\\beach\\b",name:"keyword.control.loop.swift"},{captures:{1:{name:"variable.language.generic-parameter.swift"}},match:"\\b((?!\\d)\\w[\\w\\d]*)\\b"},{match:",",name:"punctuation.separator.generic-parameters.swift"},{begin:"(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.generic-parameter-constraint.swift"}},end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"meta.generic-parameter-constraint.swift",patterns:[{begin:"\\G",end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"},{include:"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{begin:"\\b(where)\\b\\s*",beginCaptures:{1:{name:"keyword.other.generic-constraint-introducer.swift"}},end:"(?!\\G)$|(?=[>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{begin:"\\G|,\\s*",end:"(?=[,>{};\\n]|//|/\\*)",patterns:[{include:"#comments"},{include:"#constraint"},{include:"#declarations-available-types"},{begin:"(?<![/=\\-+!*%<>&|\\^~.])(==)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.same-type.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.same-type-requirement.swift",patterns:[{include:"#declarations-available-types"}]},{begin:"(?<![/=\\-+!*%<>&|\\^~.])(:)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.conforms-to.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.conformance-requirement.swift",patterns:[{begin:"\\G\\s*",contentName:"entity.other.inherited-class.swift",end:"(?=\\s*[,>{};\\n]|//|/\\*)",patterns:[{include:"#declarations-available-types"}]}]}]},"declarations-import":{begin:"(?<!\\.)\\b(import)\\s+",beginCaptures:{1:{name:"keyword.control.import.swift"}},end:"(;)|$\\n?|(?=//|/\\*)",endCaptures:{1:{name:"punctuation.terminator.statement.swift"}},name:"meta.import.swift",patterns:[{begin:"\\G(?!;|$|//|/\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\s+)?",beginCaptures:{1:{name:"storage.modifier.swift"}},end:"(?=;|$|//|/\\*)",patterns:[{captures:{1:{name:"punctuation.definition.identifier.swift"},2:{name:"punctuation.definition.identifier.swift"}},match:`(?x)
(?<=\\G|\\.)
(?<q>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)`,name:"entity.name.type.swift"},{match:`(?x)
(?<=\\G|\\.)
\\$[0-9]+`,name:"entity.name.type.swift"},{captures:{1:{patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},match:`(?x)
(?<=\\G|\\.)
(?:
(
(?<oph> # operator-head
[/=\\-+!*%<>&|^~?]
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
)
(
\\g<oph>
| (?<opc> # operator-character
[\\x{0300}-\\x{036F}]
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)*
)
| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ ) # Dot operators
)
(?=\\.|;|$|//|/\\*|\\s)`,name:"entity.name.type.swift"},{match:"\\.",name:"punctuation.separator.import.swift"},{begin:"(?!\\s*(;|$|//|/\\*))",end:"(?=\\s*(;|$|//|/\\*))",name:"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{begin:"(:)(?=\\s*\\{)|(:)\\s*",beginCaptures:{1:{name:"invalid.illegal.empty-inheritance-clause.swift"},2:{name:"punctuation.separator.inheritance-clause.swift"}},end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-clause.swift",patterns:[{begin:"\\bclass\\b",beginCaptures:{0:{name:"storage.type.class.swift"}},end:"(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-more-types"}]},{begin:"\\G",end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{begin:"(?=[`\\p{L}_])",end:"(?!\\G)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)|(?=[,={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-list.more-types",patterns:[{include:"#attributes"},{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]},"declarations-macro":{begin:`(?x)
\\b
(macro)
\\s+
((?<q>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))
\\s*
(?=\\(|<|=)`,beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\}|=)",name:"meta.definition.macro.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"}]},"declarations-operator":{begin:`(?x)
(?:
\\b(prefix|infix|postfix)
\\s+
)?
\\b
(operator)
\\s+
(
(
(?<oph> # operator-head
[/=\\-+!*%<>&|^~?]
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
)
(
\\g<oph>
| \\. # Invalid dot
| (?<opc> # operator-character
[\\x{0300}-\\x{036F}]
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)*+
)
| ( \\. ( \\g<oph> | \\g<opc> | \\. )++ ) # Dot operators
)
\\s*`,beginCaptures:{1:{name:"storage.modifier.swift"},2:{name:"storage.type.function.operator.swift"},3:{name:"entity.name.function.operator.swift"},4:{name:"entity.name.function.operator.swift",patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},end:"(;)|$\\n?|(?=//|/\\*)",endCaptures:{1:{name:"punctuation.terminator.statement.swift"}},name:"meta.definition.operator.swift",patterns:[{include:"#declarations-operator-swift2"},{include:"#declarations-operator-swift3"},{match:"((?!$|;|//|/\\*)\\S)+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{begin:"\\G(\\{)",beginCaptures:{1:{name:"punctuation.definition.operator.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.definition.operator.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\s+(left|right)\\b"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.numeric.integer.swift"}},match:"\\b(precedence)\\s+([0-9]+)\\b"},{captures:{1:{name:"storage.modifier.swift"}},match:"\\b(assignment)\\b"}]},"declarations-operator-swift3":{captures:{2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\G(:)\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"},"declarations-parameter-clause":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))(?:\\s*(async)\\b)?",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"},2:{name:"storage.modifier.async.swift"}},name:"meta.parameter-clause.swift",patterns:[{include:"#declarations-parameter-list"}]},"declarations-parameter-list":{patterns:[{captures:{1:{name:"entity.name.function.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"variable.parameter.function.swift"},5:{name:"punctuation.definition.identifier.swift"},6:{name:"punctuation.definition.identifier.swift"}},match:"((?<q1>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>))\\s+((?<q2>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>))(?=\\s*:)"},{captures:{1:{name:"variable.parameter.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"(((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)))(?=\\s*:)"},{begin:":\\s*(?!\\s)",end:"(?=[,)])",patterns:[{match:"\\bsending\\b",name:"storage.modifier.swift"},{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"},{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.swift"}},end:"(?=[,)])",patterns:[{include:"#expressions"}]}]}]},"declarations-precedencegroup":{begin:"\\b(precedencegroup)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(?=\\{)",beginCaptures:{1:{name:"storage.type.precedencegroup.swift"},2:{name:"entity.name.type.precedencegroup.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)",name:"meta.definition.precedencegroup.swift",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.precedencegroup.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.precedencegroup.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\b(higherThan|lowerThan)\\s*:\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\b(?:\\s*:\\s*(right|left|none)\\b)?"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.language.boolean.swift"}},match:"\\b(assignment)\\b(?:\\s*:\\s*(true|false)\\b)?"}]}]},"declarations-protocol":{begin:"\\b(protocol)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.protocol.swift",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-protocol-protocol-method"},{include:"#declarations-protocol-protocol-initializer"},{include:"#declarations-protocol-associated-type"},{include:"$self"}]}]},"declarations-protocol-associated-type":{begin:"\\b(associatedtype)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"variable.language.associatedtype.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=[;}]|$)",name:"meta.definition.associatedtype.swift",patterns:[{include:"#declarations-inheritance-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{begin:"(?<!\\.)\\b(init[?!]*(?# only one is valid, but we want the in\u21E5 snippet to produce something that looks good))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift",patterns:[{match:"(?<=[?!])[?!]+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},end:"$|(?=;|//|/\\*|\\})",name:"meta.definition.function.initializer.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-protocol-protocol-method":{begin:`(?x)
\\b
(func)
\\s+
(
(?<q>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)
| (?:
(
(?<oph> # operator-head
[/=\\-+!*%<>&|^~?]
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
)
(
\\g<oph>
| (?<opc> # operator-character
[\\x{0300}-\\x{036F}]
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)*
)
| ( \\. ( \\g<oph> | \\g<opc> | \\. )+ ) # Dot operators
)
)
\\s*
(?=\\(|<)`,beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\})",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-type":{patterns:[{begin:"\\b(class(?!\\s+(?:func|var|let)\\b)|struct|actor)\\b\\s*((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},{include:"#declarations-type-enum"}]},"declarations-type-enum":{begin:"\\b(enum)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-type-enum-enum-case-clause"},{include:"$self"}]}]},"declarations-type-enum-associated-values":{begin:"\\G\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{include:"#comments"},{begin:`(?x)
(?:(_)|((?<q1>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q1>))
\\s+
(((?<q2>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q2>))
\\s*(:)`,beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"invalid.illegal.distinct-labels-not-allowed.swift"},5:{name:"variable.parameter.function.swift"},7:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k<q>))\\s*(:)",beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"variable.parameter.function.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(?![,)\\]])(?=\\S)",end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{begin:"(?x)((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"variable.other.enummember.swift"}},end:"(?<=\\))|(?![=(])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-associated-values"},{include:"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{begin:"\\b(case)\\b\\s*",beginCaptures:{1:{name:"storage.type.enum.case.swift"}},end:"(?=[;}])|(?!\\G)(?!//|/\\*)(?=[^\\s,])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)(?=[;}]|[^\\s,])",name:"meta.enum-case.more-cases",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)",patterns:[{include:"#comments"},{include:"#literals"}]},"declarations-type-identifier":{begin:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"meta.type-name.swift",patterns:[{include:"#builtin-types"}]},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},end:"(?!<)",patterns:[{begin:"(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{patterns:[{captures:{1:{name:"keyword.operator.type.composition.swift"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.requirement-suppression.swift"}},match:"(?<![/=\\-+!*%<>&|\\^~.])(~)(?![/=\\-+!*%<>&|\\^~.])"}]},"declarations-typealias":{begin:"\\b(typealias)\\s+((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"entity.name.type.typealias.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",name:"meta.definition.typealias.swift",patterns:[{begin:"\\G(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-parameter-clause"}]},{include:"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",patterns:[{include:"#declarations-available-types"}]},"declarations-typed-variable-declaration":{begin:`(?x)
\\b(?:(async)\\s+)?(let|var)\\b\\s+
(?<q>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>)\\s*
:`,beginCaptures:{1:{name:"storage.modifier.async.swift"},2:{name:"keyword.other.declaration-specifier.swift"}},end:"(?=$|[={])",patterns:[{include:"#declarations-available-types"}]},"declarations-types-precedencegroup":{patterns:[{match:"\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\b",name:"support.type.swift"}]},expressions:{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#expressions-trailing-closure"},{include:"#member-reference"}]},"expressions-trailing-closure":{patterns:[{captures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},match:"(#?(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))(?=\\s*\\{)",name:"meta.function-call.trailing-closure-only.swift"},{captures:{1:{name:"support.function.any-method.trailing-closure-label.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},match:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(:)(?=\\s*\\{)"}]},"expressions-without-trailing-closures":{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{patterns:[{include:"#comments"},{include:"#code-block"},{include:"#attributes"},{include:"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{include:"#literals"},{include:"#operators"},{include:"#builtin-types"},{include:"#builtin-functions"},{include:"#builtin-global-functions"},{include:"#builtin-properties"},{include:"#expressions-without-trailing-closures-or-member-references-compound-name"},{include:"#conditionals"},{include:"#keywords"},{include:"#expressions-without-trailing-closures-or-member-references-availability-condition"},{include:"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{include:"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{include:"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{include:"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{match:"\\b_\\b",name:"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{begin:"\\B(#(?:un)?available)(\\()",beginCaptures:{1:{name:"support.function.availability-condition.swift"},2:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\s*\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+([0-9]+(?:\\.[0-9]+)*\\b))"},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(\\*)\\s*(.*?)(?=[,)])"},{match:"[^\\s,)]+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{match:"\\$[0-9]+",name:"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{captures:{1:{name:"entity.name.function.compound-name.swift"},2:{name:"punctuation.definition.entity.swift"},3:{name:"punctuation.definition.entity.swift"},4:{patterns:[{captures:{1:{name:"punctuation.definition.entity.swift"},2:{name:"punctuation.definition.entity.swift"}},match:"(?<q>`?)(?!_:)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>):",name:"entity.name.function.compound-name.swift"}]}},match:`(?x)
((?<q1>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q1>)) # function name
\\(
(
(
((?<q2>\`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q2>)) # argument label
: # colon
)+
)
\\)`},"expressions-without-trailing-closures-or-member-references-expression-element-list":{patterns:[{include:"#comments"},{begin:"((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(:)",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]},{begin:"(?![,)\\]])(?=\\S)",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{patterns:[{begin:"(#?(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))\\s*(\\()",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{begin:"(?<=[`\\])}>\\p{L}_\\p{N}\\p{M}])\\s*(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{match:"(#(?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))",name:"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple.begin.swift"}},end:"(\\))\\s*((?:\\b(?:async|throws|rethrows)\\s)*)",endCaptures:{1:{name:"punctuation.section.tuple.end.swift"},2:{patterns:[{match:"\\brethrows\\b",name:"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{include:"#async-throws"}]}},patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{begin:"(?<=[`\\p{L}_\\p{N}\\p{M}])\\s*(\\[)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.subscript-expression.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},keywords:{patterns:[{match:"(?<!\\.)\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\b",name:"keyword.control.branch.swift"},{match:"(?<!\\.)\\b(?:continue|break|fallthrough|return|yield)\\b",name:"keyword.control.transfer.swift"},{match:"(?<!\\.)\\b(?:while|for|in|each)\\b",name:"keyword.control.loop.swift"},{match:"(?<=\\s)\\bof\\b(?=\\s+[\\p{L}_\\d\\p{N}\\p{M}\\[(])",name:"keyword.other.inline-array.swift"},{match:"\\bany\\b(?=\\s*`?[\\p{L}_])",name:"keyword.other.operator.type.existential.swift"},{captures:{1:{name:"keyword.control.loop.swift"},2:{name:"punctuation.whitespace.trailing.repeat.swift"}},match:"(?<!\\.)\\b(repeat)\\b(\\s*)"},{match:"(?<!\\.)\\bdefer\\b",name:"keyword.control.defer.swift"},{captures:{1:{name:"invalid.illegal.try-must-precede-await.swift"},2:{name:"keyword.control.await.swift"}},match:"(?<!\\.)\\b(?:(await\\s+try)|(await))\\b"},{match:"(?<!\\.)\\b(?:catch|throw|try)\\b|\\btry[?!]\\B",name:"keyword.control.exception.swift"},{match:"(?<!\\.)\\b(?:throws|rethrows)\\b",name:"storage.modifier.exception.swift"},{captures:{1:{name:"keyword.control.exception.swift"},2:{name:"punctuation.whitespace.trailing.do.swift"}},match:"(?<!\\.)\\b(do)\\b(\\s*)"},{captures:{1:{name:"storage.modifier.async.swift"},2:{name:"keyword.other.declaration-specifier.swift"}},match:"(?<!\\.)\\b(?:(async)\\s+)?(let|var)\\b"},{match:"(?<!\\.)\\b(?:associatedtype|operator|typealias)\\b",name:"keyword.other.declaration-specifier.swift"},{match:"(?<!\\.)\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\b(?=\\s*`?[\\p{L}_])",name:"storage.type.$1.swift"},{match:"(?<!\\.)\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\b",name:"storage.modifier.swift"},{match:"\\binit[?!]|\\binit\\b|(?<!\\.)\\b(?:func|deinit|subscript|didSet|get|set|willSet|yielding\\s+borrow|yielding\\s+mutate)\\b",name:"storage.type.function.swift"},{match:"(?<!\\.)\\b(?:fileprivate|private|internal|public|open|package)\\b",name:"keyword.other.declaration-specifier.accessibility.swift"},{match:"(?<!\\.)\\bunowned\\((?:safe|unsafe)\\)|(?<!\\.)\\b(?:weak|unowned)\\b",name:"keyword.other.capture-specifier.swift"},{captures:{1:{name:"keyword.other.type.swift"},2:{name:"keyword.other.type.metatype.swift"}},match:"(?<=\\.)(?:(dynamicType|self)|(Protocol|Type))\\b"},{match:"(?<!\\.)\\b(?:super|self|Self)\\b",name:"variable.language.swift"},{match:"\\B(?:#file|#filePath|#fileID|#line|#column|#function|#dsohandle)\\b|\\b(?:__FILE__|__LINE__|__COLUMN__|__FUNCTION__|__DSO_HANDLE__)\\b",name:"support.variable.swift"},{match:"(?<!\\.)\\bimport\\b",name:"keyword.control.import.swift"},{match:"(?<!\\.)\\bconsume(?=\\s+`?[\\p{L}_])",name:"keyword.control.consume.swift"},{match:"(?<!\\.)\\bcopy(?=\\s+`?[\\p{L}_])",name:"keyword.control.copy.swift"}]},literals:{patterns:[{include:"#literals-boolean"},{include:"#literals-numeric"},{include:"#literals-string"},{match:"\\bnil\\b",name:"constant.language.nil.swift"},{match:"\\B#(colorLiteral|imageLiteral|fileLiteral)\\b",name:"support.function.object-literal.swift"},{match:"\\B#externalMacro\\b",name:"support.function.builtin-macro.swift"},{match:"\\B#keyPath\\b",name:"support.function.key-path.swift"},{begin:"\\B(#selector)(\\()(?:\\s*(getter|setter)\\s*(:))?",beginCaptures:{1:{name:"support.function.selector-reference.swift"},2:{name:"punctuation.definition.arguments.begin.swift"},3:{name:"support.variable.parameter.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{include:"#literals-regular-expression-literal"}]},"literals-boolean":{match:"\\b(true|false)\\b",name:"constant.language.boolean.swift"},"literals-numeric":{patterns:[{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9][0-9_]*(?=\\.[0-9]|[eE])(?:\\.[0-9][0-9_]*)?(?:[eE][-+]?[0-9][0-9_]*)?\\b(?!\\.[0-9])",name:"constant.numeric.float.decimal.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\.[0-9a-fA-F][0-9a-fA-F_]*)?[pP][-+]?[0-9][0-9_]*\\b(?!\\.[0-9])",name:"constant.numeric.float.hexadecimal.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\.[0-9a-fA-F][0-9a-fA-F_]*)?(?:[pP][-+]?\\w*)\\b(?!\\.[0-9])",name:"invalid.illegal.numeric.float.invalid-exponent.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)\\.[0-9][\\w.]*",name:"invalid.illegal.numeric.float.missing-exponent.swift"},{match:"(?<=\\s|^)\\-?\\.[0-9][\\w.]*",name:"invalid.illegal.numeric.float.missing-leading-zero.swift"},{match:"(\\B\\-|\\b)0[box]_[0-9a-fA-F_]*(?:[pPeE][+-]?\\w+)?[\\w.]+",name:"invalid.illegal.numeric.leading-underscore.swift"},{match:"(?<=[\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9]+\\b"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0b[01][01_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.binary.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0o[0-7][0-7_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.octal.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)[0-9][0-9_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.decimal.swift"},{match:"(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0x[0-9a-fA-F][0-9a-fA-F_]*\\b(?!\\.[0-9])",name:"constant.numeric.integer.hexadecimal.swift"},{match:"(\\B\\-|\\b)[0-9][\\w.]*",name:"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{patterns:[{begin:"(#+)/\\n",end:"/\\1",name:"string.regexp.block.swift",patterns:[{include:"#literals-regular-expression-literal-regex-guts"},{include:"#literals-regular-expression-literal-line-comment"}]},{captures:{0:{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},1:{name:"punctuation.definition.string.begin.regexp.swift"},3:{name:"punctuation.definition.string.end.regexp.swift"}},match:`(?x)
(/)
(?!\\s) # non-extended regex literals may not start with a space or tab
(?!/) # disambiguation with line comments (redundant since comment rules occur earlier)
(?:
\\\\\\s(?=/) # may end with a space only if it contains only a single escaped space, i.e. /\\ /
| (?<guts>
(?> # no backtracking, avoids issues with negative lookbehind at end
(?:
\\\\Q
(?:(?!\\\\E)(?!/).)*+
# A quoted sequence may not have a closing E, in which case it extends to the end of the regex
(?:\\\\E | (?=/))
| \\\\.
| \\(\\?\\#[^)]*\\)
| \\(\\?
# InterpolatedCallout
(?>
{[^{].*?}
| {{[^{].*?}}
| {{{[^{].*?}}}
| {{{{[^{].*?}}}}
| {{{{{[^{].*?}}}}}
| {{{{{{.+?}}}}}}
)
(?:\\[(?!\\d)\\w+\\])?
[X<>]?
\\)
# Allow nested character classes to a limited depth
| \\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\]
)+\\]
)+\\]
)+\\]
)+\\]
| \\(\\g<guts>?+\\)
| (?:(?!/)[^()\\[\\\\])+ # any character (until end)
)+
)
)?+
(?<!\\s)
)
(/)`,name:"string.regexp.line.swift"},{captures:{0:{patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},1:{name:"punctuation.definition.string.begin.regexp.swift"},4:{name:"punctuation.definition.string.end.regexp.swift"},5:{name:"invalid.illegal.returns-not-allowed.regexp"}},match:`(?x)
((\\#+)/) # (1) for captures, (2) for matching end
(?<guts>
(?> # no backtracking, avoids issues with negative lookbehind at end
(?:
\\\\Q
(?:(?!\\\\E)(?!/\\2).)*+
# A quoted sequence may not have a closing E, in which case it extends to the end of the regex
(?:\\\\E | (?=/\\2))
| \\\\.
| \\(\\?\\#[^)]*\\)
| \\(\\?
# InterpolatedCallout
(?>
{[^{].*?}
| {{[^{].*?}}
| {{{[^{].*?}}}
| {{{{[^{].*?}}}}
| {{{{{[^{].*?}}}}}
| {{{{{{.+?}}}}}}
)
(?:\\[(?!\\d)\\w+\\])?
[X<>]?
\\)
# Allow nested character classes to a limited depth
| \\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\] |
\\[(?:
\\\\. |
[^\\[\\]\\\\]
)+\\]
)+\\]
)+\\]
)+\\]
| \\(\\g<guts>?+\\)
| (?:(?!/\\2)[^()\\[\\\\])+ # any character (until end)
)+
)
)?+
(/\\2) # (4)
| \\#+/.+(\\n)`,name:"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{patterns:[{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.numeric.integer.decimal.regexp"},6:{name:"keyword.operator.recursion-level.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"constant.character.escape.backslash.regexp"}},match:"(?x)(\\\\g\\{) (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) (\\})"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"constant.numeric.integer.decimal.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"}},match:"(?x)(\\\\g) ([+-]?\\d+) (?:([+-])(\\d+))?"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.numeric.integer.decimal.regexp"},6:{name:"keyword.operator.recursion-level.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"constant.character.escape.backslash.regexp"}},match:"(?x)(\\\\[gk]<) (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) (>)"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.numeric.integer.decimal.regexp"},6:{name:"keyword.operator.recursion-level.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"constant.character.escape.backslash.regexp"}},match:"(?x)(\\\\[gk]') (?: ((?!\\d)\\w+) (?:([+-])(\\d+))? | ([+-]?\\d+) (?:([+-])(\\d+))? ) (')"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.character.escape.backslash.regexp"}},match:"(?x)(\\\\k\\{) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\})"},{match:"\\\\[1-9][0-9]+",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},match:"(?x)(\\(\\?(?:P[=>]|&)) ((?!\\d)\\w+) (?:([+-])(\\d+))? (\\))"},{match:"\\(\\?R\\)",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"constant.numeric.integer.decimal.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},match:"(?x)(\\(\\?) ([+-]?\\d+) (?:([+-])(\\d+))? (\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{captures:{1:{name:"keyword.control.directive.regexp"},2:{name:"keyword.control.directive.regexp"},3:{name:"keyword.control.directive.regexp"},4:{name:"variable.language.tag.regexp"},5:{name:"keyword.control.directive.regexp"},6:{name:"keyword.operator.assignment.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"keyword.control.directive.regexp"},9:{name:"keyword.control.directive.regexp"}},match:`(?x)
(\\(\\*)
(?:
(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)
(?:(:)([^)]+))?
| (?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+))
| (
CRLF | CR | ANYCRLF | ANY | LF | NUL
| BSR_ANYCRLF | BSR_UNICODE
| NOTEMPTY_ATSTART | NOTEMPTY
| NO_AUTO_POSSESS | NO_DOTSTAR_ANCHOR
| NO_JIT | NO_START_OPT | UTF | UCP
)
)
(\\))`},"literals-regular-expression-literal-callout":{captures:{1:{name:"punctuation.definition.group.regexp"},10:{name:"entity.name.function.callout.regexp"},11:{name:"entity.name.function.callout.regexp"},12:{name:"punctuation.definition.group.regexp"},13:{name:"punctuation.definition.group.regexp"},14:{name:"keyword.control.callout.regexp"},15:{name:"entity.name.function.callout.regexp"},16:{name:"variable.language.tag-name.regexp"},17:{name:"punctuation.definition.group.regexp"},18:{name:"punctuation.definition.group.regexp"},19:{name:"keyword.control.callout.regexp"},2:{name:"keyword.control.callout.regexp"},21:{name:"variable.language.tag-name.regexp"},22:{name:"keyword.control.callout.regexp"},23:{name:"punctuation.definition.group.regexp"},3:{name:"constant.numeric.integer.decimal.regexp"},4:{name:"entity.name.function.callout.regexp"},5:{name:"entity.name.function.callout.regexp"},6:{name:"entity.name.function.callout.regexp"},7:{name:"entity.name.function.callout.regexp"},8:{name:"entity.name.function.callout.regexp"},9:{name:"entity.name.function.callout.regexp"}},match:`(?x)
# PCRECallout
(\\()(?<keyw>\\?C)
(?:
(?<num>\\d+)
| \`(?<name>(?:[^\`]|\`\`)*)\`
| '(?<name>(?:[^']|'')*)'
| "(?<name>(?:[^"]|"")*)"
| \\^(?<name>(?:[^\\^]|\\^\\^)*)\\^
| %(?<name>(?:[^%]|%%)*)%
| \\#(?<name>(?:[^#]|\\#\\#)*)\\#
| \\$(?<name>(?:[^$]|\\$\\$)*)\\$
| \\{(?<name>(?:[^}]|\\}\\})*)\\}
)?
(\\))
# NamedCallout
| (\\()(?<keyw>\\*)
(?<name>(?!\\d)\\w+)
(?:\\[(?<tag>(?!\\d)\\w+)\\])?
(?:\\{ [^,}]+ (?:,[^,}]+)* \\})?
(\\))
# InterpolatedCallout
| (\\()(?<keyw>\\?)
(?>(\\{(?:\\g<-1>|(?!{).*?)\\}))
(?:\\[(?<tag>(?!\\d)\\w+)\\])?
(?<keyw>[X<>]?)
(\\))`,name:"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{captures:{1:{name:"support.variable.character-property.regexp"},2:{name:"punctuation.definition.character-class.regexp"},3:{name:"support.variable.character-property.regexp"},4:{name:"punctuation.definition.character-class.regexp"}},match:`(?x)
\\\\[pP]\\{ ([\\s\\w-]+(?:=[\\s\\w-]+)?) \\}
| (\\[:) ([\\s\\w-]+(?:=[\\s\\w-]+)?) (:\\])`,name:"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{patterns:[{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{include:"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{patterns:[{match:"\\\\b",name:"constant.character.escape.backslash.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-quote"},{include:"#literals-regular-expression-literal-set-operators"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{match:`(?x)
\\(\\?
(?:
\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*
| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+
| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*
)
\\)`,name:"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{patterns:[{begin:"(\\()(\\?~)",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.conditional.absent.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.absent.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:`(?x)
# KnownConditionalStart
(\\() (?<cond>\\?\\()
(?:
(?<NumberRef> (?<num>[+-]?\\d+)(?:(?<op>[+-])(?<num>\\d+))? )
| (?<cond>R) \\g<NumberRef>?
| (?<cond>R&) (?<NamedRef> (?<name>(?!\\d)\\w+) (?:(?<op>[+-])(?<num>\\d+))? )
| (?<cond><) (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>>)
| (?<cond>') (?:\\g<NamedRef>|\\g<NumberRef>) (?<cond>')
| (?<cond>DEFINE)
| (?<cond>VERSION)(?<compar>>?=)(?<num>\\d+\\.\\d+)
)
(?<cond>\\))
| (\\()(?<cond>\\?)(?=\\()`,beginCaptures:{1:{name:"punctuation.definition.group.regexp"},10:{name:"variable.other.group-name.regexp"},11:{name:"keyword.operator.recursion-level.regexp"},12:{name:"constant.numeric.integer.decimal.regexp"},13:{name:"keyword.control.conditional.regexp"},14:{name:"keyword.control.conditional.regexp"},15:{name:"keyword.control.conditional.regexp"},16:{name:"keyword.control.conditional.regexp"},17:{name:"keyword.control.conditional.regexp"},18:{name:"keyword.control.conditional.regexp"},19:{name:"keyword.operator.comparison.regexp"},2:{name:"keyword.control.conditional.regexp"},20:{name:"constant.numeric.integer.decimal.regexp"},21:{name:"keyword.control.conditional.regexp"},22:{name:"punctuation.definition.group.regexp"},23:{name:"keyword.control.conditional.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.operator.recursion-level.regexp"},6:{name:"constant.numeric.integer.decimal.regexp"},7:{name:"keyword.control.conditional.regexp"},8:{name:"keyword.control.conditional.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.conditional.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:`(?x)
(\\()
(
# BasicGroupKind
(\\?)
(?:
([:|>=!*] | <[=!*])
# named groups
| P?< (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) >
| ' (?:((?!\\d)\\w+) (-))? ((?!\\d)\\w+) '
# matching options
| (?:
\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*
| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+
| (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})* - (?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*
): # case without : is handled by group-option-toggle
)
# PCRE2GroupKind
| \\*(
atomic
|pla|positive_lookahead
|nla|negative_lookahead
|plb|positive_lookbehind
|nlb|negative_lookbehind
|napla|non_atomic_positive_lookahead
|naplb|non_atomic_positive_lookbehind
|sr|script_run
|asr|atomic_script_run
):
)?+`,beginCaptures:{1:{name:"punctuation.definition.group.regexp"},10:{name:"variable.other.group-name.regexp"},2:{name:"keyword.other.group-options.regexp"},3:{name:"punctuation.definition.group.regexp"},4:{name:"punctuation.definition.group.regexp"},5:{name:"variable.other.group-name.regexp"},6:{name:"keyword.operator.balancing-group.regexp"},7:{name:"variable.other.group-name.regexp"},8:{name:"variable.other.group-name.regexp"},9:{name:"keyword.operator.balancing-group.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{captures:{1:{name:"punctuation.definition.comment.regexp"}},match:"(\\#).*$",name:"comment.line.regexp"},"literals-regular-expression-literal-quote":{begin:"\\\\Q",beginCaptures:{0:{name:"constant.character.escape.backslash.regexp"}},end:"\\\\E|(\\n)",endCaptures:{0:{name:"constant.character.escape.backslash.regexp"},1:{name:"invalid.illegal.returns-not-allowed.regexp"}},name:"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{patterns:[{include:"#literals-regular-expression-literal-quote"},{begin:"\\(\\?\\#",beginCaptures:{0:{name:"punctuation.definition.comment.begin.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.comment.end.regexp"}},name:"comment.block.regexp"},{begin:"<\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.regexp"}},end:"\\}>",endCaptures:{0:{name:"punctuation.section.embedded.end.regexp"}},name:"meta.embedded.expression.regexp"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"},{match:"[$^]|\\\\[AbBGyYzZ]|\\\\K",name:"keyword.control.anchor.regexp"},{include:"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{include:"#literals-regular-expression-literal-callout"},{include:"#literals-regular-expression-literal-backreference-or-subpattern"},{match:"\\.|\\\\[CdDhHNORsSvVwWX]",name:"constant.character.character-class.regexp"},{match:"\\\\c.",name:"constant.character.entity.control-character.regexp"},{match:"\\\\[^c]",name:"constant.character.escape.backslash.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{match:"[*+?]",name:"keyword.operator.quantifier.regexp"},{match:"\\{\\s*\\d+\\s*(?:,\\s*\\d*\\s*)?\\}|\\{\\s*,\\s*\\d+\\s*\\}",name:"keyword.operator.quantifier.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-group-option-toggle"},{include:"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{patterns:[{match:"&&",name:"keyword.operator.intersection.regexp.swift"},{match:"--",name:"keyword.operator.subtraction.regexp.swift"},{match:"\\~\\~",name:"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{match:`(?x)
\\\\u\\{\\s*(?:[0-9a-fA-F]+\\s*)+\\}
| \\\\u[0-9a-fA-F]{4}
| \\\\x\\{[0-9a-fA-F]+\\}
| \\\\x[0-9a-fA-F]{0,2}
| \\\\U[0-9a-fA-F]{8}
| \\\\o\\{[0-7]+\\}
| \\\\0[0-7]{0,3}
| \\\\N\\{(?:U\\+[0-9a-fA-F]{1,8} | [\\s\\w-]+)\\}`,name:"constant.character.numeric.regexp"},"literals-string":{patterns:[{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-string-guts"},{match:'\\S((?!\\\\\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'#"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\#\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-raw-string-guts"},{match:'\\S((?!\\\\#\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'(##+)"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-string-guts"}]},{begin:'(##+)"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},end:'"\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"}]},{begin:'#"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},end:'"#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{patterns:[{match:`\\\\#[0\\\\tnr"']`,name:"constant.character.escape.swift"},{match:"\\\\#u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\#\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"\\)",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",end:"\\)"}]},{match:"\\\\#.",name:"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{patterns:[{match:`\\\\[0\\\\tnr"']`,name:"constant.character.escape.swift"},{match:"\\\\u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"\\)",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",end:"\\)"}]},{match:"\\\\.",name:"invalid.illegal.escape-not-recognized"}]},"member-reference":{patterns:[{captures:{1:{name:"variable.other.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},match:"(?<=\\.)((?<q>`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k<q>))"}]},operators:{patterns:[{match:"\\b(is\\b|as([!?]\\B|\\b))",name:"keyword.operator.type-casting.swift"},{begin:`(?x)
(?=
(?<oph> # operator-head
[/=\\-+!*%<>&|^~?]
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
)
| \\.
(
\\g<oph> # operator-head
| \\.
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)`,end:"(?!\\G)",patterns:[{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G(\\+|\\-)$",name:"keyword.operator.arithmetic.unary.swift"},{match:"\\G!$",name:"keyword.operator.logical.not.swift"},{match:"\\G~$",name:"keyword.operator.bitwise.not.swift"},{match:".+",name:"keyword.operator.custom.prefix.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
(?<=^|[\\s(\\[{,;:])
(
(?!(//|/\\*|\\*/))
(
[/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++
(?![\\s)\\]},;:]|\\z)`},{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G!$",name:"keyword.operator.increment-or-decrement.swift"},{match:".+",name:"keyword.operator.custom.postfix.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
(?<!^|[\\s(\\[{,;:])
(
(?!(//|/\\*|\\*/))
(
[/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++
(?=[\\s)\\]},;:]|\\z)`},{captures:{0:{patterns:[{match:"\\G=$",name:"keyword.operator.assignment.swift"},{match:"\\G(\\+|\\-|\\*|/|%|<<|>>|&|\\^|\\||&&|\\|\\|)=$",name:"keyword.operator.assignment.compound.swift"},{match:"\\G(\\+|\\-|\\*|/)$",name:"keyword.operator.arithmetic.swift"},{match:"\\G&(\\+|\\-|\\*)$",name:"keyword.operator.arithmetic.overflow.swift"},{match:"\\G%$",name:"keyword.operator.arithmetic.remainder.swift"},{match:"\\G(==|!=|>|<|>=|<=|~=)$",name:"keyword.operator.comparison.swift"},{match:"\\G\\?\\?$",name:"keyword.operator.coalescing.swift"},{match:"\\G(&&|\\|\\|)$",name:"keyword.operator.logical.swift"},{match:"\\G(&|\\||\\^|<<|>>)$",name:"keyword.operator.bitwise.swift"},{match:"\\G(===|!==)$",name:"keyword.operator.bitwise.swift"},{match:"\\G\\?$",name:"keyword.operator.ternary.swift"},{match:".+",name:"keyword.operator.custom.infix.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
(
(?!(//|/\\*|\\*/))
(
[/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++`},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.prefix.dot.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
(?<=^|[\\s(\\[{,;:])
\\. # dot
(
(?!(//|/\\*|\\*/))
(
\\. # dot
| [/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++
(?![\\s)\\]},;:]|\\z)`},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.postfix.dot.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
(?<!^|[\\s(\\[{,;:])
\\. # dot
(
(?!(//|/\\*|\\*/))
(
\\. # dot
| [/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++
(?=[\\s)\\]},;:]|\\z)`},{captures:{0:{patterns:[{match:"\\G\\.\\.[.<]$",name:"keyword.operator.range.swift"},{match:".+",name:"keyword.operator.custom.infix.dot.swift"}]}},match:`(?x)
\\G # Matching from the beginning ensures
# that we start with operator-head
\\. # dot
(
(?!(//|/\\*|\\*/))
(
\\. # dot
| [/=\\-+!*%<>&|^~?] # operator-head
| [\\x{00A1}-\\x{00A7}]
| [\\x{00A9}\\x{00AB}]
| [\\x{00AC}\\x{00AE}]
| [\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]
| [\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]
| [\\x{2030}-\\x{203E}]
| [\\x{2041}-\\x{2053}]
| [\\x{2055}-\\x{205E}]
| [\\x{2190}-\\x{23FF}]
| [\\x{2500}-\\x{2775}]
| [\\x{2794}-\\x{2BFF}]
| [\\x{2E00}-\\x{2E7F}]
| [\\x{3001}-\\x{3003}]
| [\\x{3008}-\\x{3030}]
| [\\x{0300}-\\x{036F}] # operator-character
| [\\x{1DC0}-\\x{1DFF}]
| [\\x{20D0}-\\x{20FF}]
| [\\x{FE00}-\\x{FE0F}]
| [\\x{FE20}-\\x{FE2F}]
| [\\x{E0100}-\\x{E01EF}]
)
)++`}]},{match:":",name:"keyword.operator.ternary.swift"}]},root:{patterns:[{include:"#compiler-control"},{include:"#declarations"},{include:"#expressions"}]}},scopeName:"source.swift"},ct=Oa;var Fa={extensions:[".ts",".cts",".mts"],names:["typescript","ts"],patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.ts"},"after-operator-block-as-object-literal":{begin:"(?<!\\+\\+|--)(?<=[:=(,\\[?+!>]|^await|[^\\._$[:alnum:]]await|^return|[^\\._$[:alnum:]]return|^yield|[^\\._$[:alnum:]]yield|^throw|[^\\._$[:alnum:]]throw|^in|[^\\._$[:alnum:]]in|^of|[^\\._$[:alnum:]]of|^typeof|[^\\._$[:alnum:]]typeof|&&|\\|\\||\\*)\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:"\\s*(\\[)",beginCaptures:{1:{name:"meta.brace.square.ts"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.ts"},2:{name:"variable.parameter.ts"}},match:"(?:(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync)\\s+)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(?==>)",name:"meta.arrow.ts"},{begin:`(?x) (?:
(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync)
)? ((?<![})!\\]])\\s*
(?=
# sure shot arrow functions even if => is on new line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?
[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*
(
([)]\\s*:) | # ():
((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:
)
) |
# arrow function possible to detect only with => on same line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)? # typeparameters
\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\"\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`))*)?\\) # parameters
(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type
\\s*=> # arrow operator
)
)
)`,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.arrow.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:"((?<=\\}|\\S)(?<!=>)|((?!\\{)(?=\\S)))(?!\\/[\\/\\*])",name:"meta.arrow.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:"(?<=\\))\\s*(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.return.type.arrow.ts",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:"(?<=[:])(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.async.ts"},"binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern"},{include:"#array-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"}]},"binding-element-const":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern-const"},{include:"#array-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"}]},"boolean-literal":{patterns:[{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.true.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.false.ts"}]},brackets:{patterns:[{begin:"{",end:"}|(?=\\*/)",patterns:[{include:"#brackets"}]},{begin:"\\[",end:"\\]|(?=\\*/)",patterns:[{include:"#brackets"}]}]},cast:{patterns:[{captures:{1:{name:"meta.brace.angle.ts"},2:{name:"storage.modifier.ts"},3:{name:"meta.brace.angle.ts"}},match:"\\s*(<)\\s*(const)\\s*(>)",name:"cast.expr.ts"},{begin:"(?:(?<!\\+\\+|--)(?<=^return|[^\\._$[:alnum:]]return|^throw|[^\\._$[:alnum:]]throw|^yield|[^\\._$[:alnum:]]yield|^await|[^\\._$[:alnum:]]await|^default|[^\\._$[:alnum:]]default|[=(,:>*?\\&\\|\\^]|[^_$[:alnum:]](?:\\+\\+|\\-\\-)|[^\\+]\\+|[^\\-]\\-))\\s*(<)(?!<?\\=)(?!\\s*$)",beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:"(\\>)",endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]},{begin:"(?:(?<=^))\\s*(<)(?=[_$[:alpha:]][_$[:alnum:]]*\\s*>)",beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:"(\\>)",endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]}]},"class-declaration":{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[/*])",beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.class.ts"}},end:"(?<=\\})",name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.class.ts"}},match:"[_$[:alpha:]][_$[:alnum:]]*"},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|\\/[\\/*])",beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.type.class.ts"}},end:"(?<=\\})",name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:"(?<=:)\\s*",end:"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#field-declaration"},{include:"#string"},{include:"#type-annotation"},{include:"#variable-initializer"},{include:"#access-modifier"},{include:"#property-accessor"},{include:"#async-modifier"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-or-interface-heritage":{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(extends|implements)\\b)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"storage.modifier.ts"}},end:"(?=\\{)",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.ts"},2:{name:"punctuation.accessor.ts"},3:{name:"punctuation.accessor.optional.ts"}},match:"([_$[:alpha:]][_$[:alnum:]]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[[:digit:]])))(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\??\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*)"},{captures:{1:{name:"entity.other.inherited-class.ts"}},match:"([_$[:alpha:]][_$[:alnum:]]*)"},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.ts"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.documentation.ts",patterns:[{include:"#docblock"}]},{begin:"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?",beginCaptures:{1:{name:"punctuation.definition.comment.ts"},2:{name:"storage.type.internaldeclaration.ts"},3:{name:"punctuation.decorator.internaldeclaration.ts"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.ts"},{begin:"(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ts"},2:{name:"comment.line.double-slash.ts"},3:{name:"punctuation.definition.comment.ts"},4:{name:"storage.type.internaldeclaration.ts"},5:{name:"punctuation.decorator.internaldeclaration.ts"}},contentName:"comment.line.double-slash.ts",end:"(?=$)"}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.trycatch.ts"},{captures:{1:{name:"keyword.control.loop.ts"},2:{name:"entity.name.label.ts"}},match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([_$[:alpha:]][_$[:alnum:]]*)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.loop.ts"},{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{0:{name:"keyword.control.flow.ts"}},end:"(?=[;}]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.switch.ts"},{include:"#if-statement"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.conditional.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.with.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.other.debugger.ts"}]},"decl-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.block.ts",patterns:[{include:"#statements"}]},declaration:{patterns:[{include:"#decorator"},{include:"#var-expr"},{include:"#function-declaration"},{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#enum-declaration"},{include:"#namespace-declaration"},{include:"#type-alias-declaration"},{include:"#import-equals-declaration"},{include:"#import-declaration"},{include:"#export-declaration"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.ts"}]},decorator:{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))\\@",beginCaptures:{0:{name:"punctuation.decorator.ts"}},end:"(?=\\s)",name:"meta.decorator.ts",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:"(?<!=|:|^of|[^\\._$[:alnum:]]of|^in|[^\\._$[:alnum:]]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$[:alnum:]]of|^in|[^\\._$[:alnum:]]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},name:"meta.parameter.object-binding-pattern.ts",patterns:[{include:"#parameter-object-binding-element"}]},{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},name:"meta.paramter.array-binding-pattern.ts",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"variable.parameter.ts"}},match:"(?:(\\.\\.\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)"},"destructuring-variable":{patterns:[{begin:"(?<!=|:|^of|[^\\._$[:alnum:]]of|^in|[^\\._$[:alnum:]]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$[:alnum:]]of|^in|[^\\._$[:alnum:]]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.readwrite.ts"}},match:"(?:(\\.\\.\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)"},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.constant.ts"}},match:"(?:(\\.\\.\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)"},directives:{begin:"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)",beginCaptures:{1:{name:"punctuation.definition.comment.ts"}},end:"(?=$)",name:"comment.line.triple-slash.directive.ts",patterns:[{begin:"(<)(reference|amd-dependency|amd-module)",beginCaptures:{1:{name:"punctuation.definition.tag.directive.ts"},2:{name:"entity.name.tag.directive.ts"}},end:"/>",endCaptures:{0:{name:"punctuation.definition.tag.directive.ts"}},name:"meta.tag.ts",patterns:[{match:"path|types|no-default-lib|lib|name|resolution-mode",name:"entity.other.attribute-name.directive.ts"},{match:"=",name:"keyword.operator.assignment.ts"},{include:"#string"}]}]},docblock:{patterns:[{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.access-type.jsdoc"}},match:`(?x)
((@)(?:access|api))
\\s+
(private|protected|public)
\\b`},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},5:{name:"constant.other.email.link.underline.jsdoc"},6:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},match:`(?x)
((@)author)
\\s+
(
[^@\\s<>*/]
(?:[^@<>*/]|\\*[^/])*
)
(?:
\\s*
(<)
([^>\\s]+)
(>)
)?`},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"keyword.operator.control.jsdoc"},5:{name:"entity.name.type.instance.jsdoc"}},match:`(?x)
((@)borrows) \\s+
((?:[^@\\s*/]|\\*[^/])+) # <that namepath>
\\s+ (as) \\s+ # as
((?:[^@\\s*/]|\\*[^/])+) # <this namepath>`},{begin:"((@)example)\\s+",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=@|\\*/)",name:"meta.example.jsdoc",patterns:[{match:"^\\s\\*\\s+"},{begin:"\\G(<)caption(>)",beginCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},contentName:"constant.other.description.jsdoc",end:"(</)caption(>)|(?=\\*/)",endCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}}},{captures:{0:{name:"source.embedded.ts"}},match:"[^\\s@*](?:[^*]|\\*[^/])*"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:"(?x) ((@)kind) \\s+ (class|constant|event|external|file|function|member|mixin|module|namespace|typedef) \\b"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.link.underline.jsdoc"},4:{name:"entity.name.type.instance.jsdoc"}},match:`(?x)
((@)see)
\\s+
(?:
# URL
(
(?=https?://)
(?:[^\\s*]|\\*[^/])+
)
|
# JSDoc namepath
(
(?!
# Avoid matching bare URIs (also acceptable as links)
https?://
|
# Avoid matching {@inline tags}; we match those below
(?:\\[[^\\[\\]]*\\])? # Possible description [preceding]{@tag}
{@(?:link|linkcode|linkplain|tutorial)\\b
)
# Matched namepath
(?:[^@\\s*/]|\\*[^/])+
)
)`},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:`(?x)
((@)template)
\\s+
# One or more valid identifiers
(
[A-Za-z_$] # First character: non-numeric word character
[\\w$.\\[\\]]* # Rest of identifier
(?: # Possible list of additional identifiers
\\s* , \\s*
[A-Za-z_$]
[\\w$.\\[\\]]*
)*
)`},{begin:"(?x)((@)template)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:`(?x)
(
(@)
(?:arg|argument|const|constant|member|namespace|param|var)
)
\\s+
(
[A-Za-z_$]
[\\w$.\\[\\]]*
)`},{begin:"((@)typedef)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"(?:[^@\\s*/]|\\*[^/])+",name:"entity.name.type.instance.jsdoc"}]},{begin:"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"},{captures:{1:{name:"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},2:{name:"keyword.operator.assignment.jsdoc"},3:{name:"source.embedded.ts"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:`(?x)
(\\[)\\s*
[\\w$]+
(?:
(?:\\[\\])? # Foo[ ].bar properties within an array
\\. # Foo.Bar namespaced parameter
[\\w$]+
)*
(?:
\\s*
(=) # [foo=bar] Default parameter value
\\s*
(
# The inner regexes are to stop the match early at */ and to not stop at escaped quotes
(?>
"(?:(?:\\*(?!/))|(?:\\\\(?!"))|[^*\\\\])*?" | # [foo="bar"] Double-quoted
'(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?' | # [foo='bar'] Single-quoted
\\[ (?:(?:\\*(?!/))|[^*])*? \\] | # [foo=[1,2]] Array literal
(?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])* # Everything else
)*
)
)?
\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))`,name:"variable.other.jsdoc"}]},{begin:`(?x)
(
(@)
(?:define|enum|exception|export|extends|lends|implements|modifies
|namespace|private|protected|returns?|satisfies|suppress|this|throws|type
|yields?)
)
\\s+(?={)`,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"}},match:`(?x)
(
(@)
(?:alias|augments|callback|constructs|emits|event|fires|exports?
|extends|external|function|func|host|lends|listens|interface|memberof!?
|method|module|mixes|mixin|name|requires|see|this|typedef|uses)
)
\\s+
(
(?:
[^{}@\\s*] | \\*[^/]
)+
)`},{begin:`((@)(?:default(?:value)?|license|version))\\s+(([''"]))`,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"},4:{name:"punctuation.definition.string.begin.jsdoc"}},contentName:"variable.other.jsdoc",end:"(\\3)|(?=$|\\*/)",endCaptures:{0:{name:"variable.other.jsdoc"},1:{name:"punctuation.definition.string.end.jsdoc"}}},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)"},{captures:{1:{name:"punctuation.definition.block.tag.jsdoc"}},match:"(?x) (@) (?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles |callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright |default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception |exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func |function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc |inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method |mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects |override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected |public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary |suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation |version|virtual|writeOnce|yields?) \\b",name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:"((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\\s+)"}]},"enum-declaration":{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([_$[:alpha:]][_$[:alnum:]]*)",beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.enum.ts"},5:{name:"entity.name.type.enum.ts"}},end:"(?<=\\})",name:"meta.enum.declaration.ts",patterns:[{include:"#comment"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{begin:"([_$[:alpha:]][_$[:alnum:]]*)",beginCaptures:{0:{name:"variable.other.enummember.ts"}},end:"(?=,|\\}|$)",patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:"(?=((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))",end:"(?=,|\\}|$)",patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.as.ts"},3:{name:"storage.type.namespace.ts"},4:{name:"entity.name.type.module.ts"}},match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([_$[:alpha:]][_$[:alnum:]]*)"},{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:(?:\\s*(=))|(?:\\s+(default)(?=\\s+)))",beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"},3:{name:"keyword.operator.assignment.ts"},4:{name:"keyword.control.default.ts"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|var|while)\\b))",name:"meta.export.default.ts",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[\\{*])|((?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s|,))(?!\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|var|while)\\b)))",beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$[:alpha:]])\\b)|var|while)\\b))",name:"meta.export.ts",patterns:[{include:"#import-export-declaration"}]}]},expression:{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{captures:{1:{name:"storage.modifier.ts"}},match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"entity.name.function.ts variable.language.this.ts"},4:{name:"entity.name.function.ts"},5:{name:"keyword.operator.optional.ts"}},match:`(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*
# function assignment |
(=\\s*(
((async\\s+)?(
(function\\s*[(<*]) |
(function\\s+) |
([_$[:alpha:]][_$[:alnum:]]*\\s*=>)
)) |
((async\\s*)?(
((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |
# sure shot arrow functions even if => is on new line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?
[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*
(
([)]\\s*:) | # ():
((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:
)
) |
# arrow function possible to detect only with => on same line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)? # typeparameters
\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\"\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`))*)?\\) # parameters
(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type
\\s*=> # arrow operator
)
))
)) |
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
(:\\s*(
(<) |
([(]\\s*(
([)]) |
(\\.\\.\\.) |
([_$[:alnum:]]+\\s*(
([:,?=])|
([)]\\s*=>)
))
))
)) |
(:\\s*(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))) |
(:\\s*((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))) |
(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(
((async\\s+)?(
(function\\s*[(<*]) |
(function\\s+) |
([_$[:alpha:]][_$[:alnum:]]*\\s*=>)
)) |
((async\\s*)?(
((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |
# sure shot arrow functions even if => is on new line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?
[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*
(
([)]\\s*:) | # ():
((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:
)
) |
# arrow function possible to detect only with => on same line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)? # typeparameters
\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\"\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`))*)?\\) # parameters
(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type
\\s*=> # arrow operator
)
))
)))`},{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"variable.parameter.ts variable.language.this.ts"},4:{name:"variable.parameter.ts"},5:{name:"keyword.operator.optional.ts"}},match:"(?x)(?:(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[:,]|$)"},{include:"#type-annotation"},{include:"#variable-initializer"},{match:",",name:"punctuation.separator.parameter.ts"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.flow.ts"},{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*\\*)",beginCaptures:{1:{name:"keyword.control.flow.ts"}},end:"\\*",endCaptures:{0:{name:"keyword.generator.asterisk.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.ts"},2:{name:"keyword.generator.asterisk.ts"}},match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.delete.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.in.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.of.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.instanceof.ts"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.new.ts"},{include:"#typeof-operator"},{match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.void.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[;,:})\\]]))"},{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+",beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:"(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",patterns:[{include:"#type"}]},{match:"\\.\\.\\.",name:"keyword.operator.spread.ts"},{match:"\\*=|(?<!\\()/=|%=|\\+=|\\-=",name:"keyword.operator.assignment.compound.ts"},{match:"\\&=|\\^=|<<=|>>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.ts"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.ts"},{match:"===|!==|==|!=",name:"keyword.operator.comparison.ts"},{match:"<=|>=|<>|<|>",name:"keyword.operator.relational.ts"},{captures:{1:{name:"keyword.operator.logical.ts"},2:{name:"keyword.operator.assignment.compound.ts"},3:{name:"keyword.operator.arithmetic.ts"}},match:"(?<=[_$[:alnum:]])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))"},{match:"\\!|&&|\\|\\||\\?\\?",name:"keyword.operator.logical.ts"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.ts"},{match:"\\=",name:"keyword.operator.assignment.ts"},{match:"--",name:"keyword.operator.decrement.ts"},{match:"\\+\\+",name:"keyword.operator.increment.ts"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.arithmetic.ts"},{begin:"(?<=[_$[:alnum:])\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))",end:"(?:(/=)|(?:(/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/)))",endCaptures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},match:"(?<=[_$[:alnum:])\\]])\\s*(?:(/=)|(?:(/)(?![/*])))"}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#string"},{include:"#regex"},{include:"#comment"},{include:"#function-expression"},{include:"#class-expression"},{include:"#arrow-function"},{include:"#paren-expression-possibly-arrow"},{include:"#cast"},{include:"#ternary-expression"},{include:"#new-expr"},{include:"#instanceof-expr"},{include:"#object-literal"},{include:"#expression-operators"},{include:"#function-call"},{include:"#literal"},{include:"#support-objects"},{include:"#paren-expression"}]},"field-declaration":{begin:`(?x)(?<!\\()(?:(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:
(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3
(?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3
(?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3
(?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3
(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1
(?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.
(?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1
(?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1
)(?!\\$))|(\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|\\}|$))`,beginCaptures:{1:{name:"storage.modifier.ts"}},end:`(?x)(?=\\}|;|,|$|(^(?!\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:
(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3
(?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3
(?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3
(?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3
(?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1
(?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.
(?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1
(?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1
)(?!\\$))|(\\#?[_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|$))))|(?<=\\})`,name:"meta.field.declaration.ts",patterns:[{include:"#variable-initializer"},{include:"#type-annotation"},{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{include:"#comment"},{captures:{1:{name:"meta.definition.property.ts entity.name.function.ts"},2:{name:"keyword.operator.optional.ts"},3:{name:"keyword.operator.definiteassignment.ts"}},match:`(?x)(\\#?[_$[:alpha:]][_$[:alnum:]]*)(?:(\\?)|(\\!))?(?=\\s*\\s*
# function assignment |
(=\\s*(
((async\\s+)?(
(function\\s*[(<*]) |
(function\\s+) |
([_$[:alpha:]][_$[:alnum:]]*\\s*=>)
)) |
((async\\s*)?(
((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |
# sure shot arrow functions even if => is on new line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?
[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*
(
([)]\\s*:) | # ():
((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:
)
) |
# arrow function possible to detect only with => on same line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)? # typeparameters
\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\"\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`))*)?\\) # parameters
(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type
\\s*=> # arrow operator
)
))
)) |
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
(:\\s*(
(<) |
([(]\\s*(
([)]) |
(\\.\\.\\.) |
([_$[:alnum:]]+\\s*(
([:,?=])|
([)]\\s*=>)
))
))
)) |
(:\\s*(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))) |
(:\\s*((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))) |
(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(
((async\\s+)?(
(function\\s*[(<*]) |
(function\\s+) |
([_$[:alpha:]][_$[:alnum:]]*\\s*=>)
)) |
((async\\s*)?(
((<\\s*$)|((<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))) |
# sure shot arrow functions even if => is on new line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?
[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*
(
([)]\\s*:) | # ():
((\\.\\.\\.\\s*)?[_$[:alpha:]][_$[:alnum:]]*\\s*:) # [(]param: | [(]...param:
)
) |
# arrow function possible to detect only with => on same line
(
(<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$[:alpha:]])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)? # typeparameters
\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$[:alpha:]]))([^()\\'\\"\\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\"([^\\"\\\\]|\\\\.)*\\")|(\\\`([^\\\`\\\\]|\\\\.)*\\\`))*)?\\) # parameters
(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)? # return type
\\s*=> # arrow operator
)
))
)))`},{match:"\\#?[_$[:alpha:]][_$[:alnum:]]*",name:"meta.definition.property.ts variable.object.property.ts"},{match:"\\?",name:"keyword.operator.optional.ts"},{match:"\\!",name:"keyword.operator.definiteassignment.ts"}]},"for-loop":{begin:"(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*))await)?\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)?(\\())",beginCaptures:{0:{name:"keyword.control.loop.ts"}},end:"(?<=\\))",patterns:[{include:"#comment"},{match:"await",name:"keyword.control.loop.ts"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#var-expr"},{include:"#expression"},{include:"#punctuation-semicolon"}]}]},"function-body":{patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#return-type"},{include:"#type-function-return-type"},{include:"#decl-block"},{match:"\\*",name:"keyword.generator.asterisk.ts"}]},"function-call":{patterns:[{begin:"(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",end:"(?<=\\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*\\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",patterns:[{begin:"(?=(([_$[:alpha:]][_$[:alnum:]]*)(\\s*\\??\\.\\s*(\\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\\??\\.\\s*\\#?[_$[:alpha:]][_$[:alnum:]]*))",end:"(?=\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment