var Rt=Object.defineProperty;var It=(h,c,x)=>c in h?Rt(h,c,{enumerable:!0,configurable:!0,writable:!0,value:x}):h[c]=x;var U=(h,c,x)=>(It(h,typeof c!="symbol"?c+"":c,x),x);define("vs/lspLanguageFeatures.b4763a7b",["exports","./editor.api.001a2486"],function(h,c){"use strict";var x;(function(e){function n(i){return typeof i=="string"}e.is=n})(x||(x={}));var S;(function(e){function n(i){return typeof i=="string"}e.is=n})(S||(S={}));var ee;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(ee||(ee={}));var j;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function n(i){return typeof i=="number"&&e.MIN_VALUE<=i&&i<=e.MAX_VALUE}e.is=n})(j||(j={}));var k;(function(e){function n(r,t){return r===Number.MAX_VALUE&&(r=j.MAX_VALUE),t===Number.MAX_VALUE&&(t=j.MAX_VALUE),{line:r,character:t}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&u.uinteger(t.line)&&u.uinteger(t.character)}e.is=i})(k||(k={}));var m;(function(e){function n(r,t,a,o){if(u.uinteger(r)&&u.uinteger(t)&&u.uinteger(a)&&u.uinteger(o))return{start:k.create(r,t),end:k.create(a,o)};if(k.is(r)&&k.is(t))return{start:r,end:t};throw new Error(`Range#create called with invalid arguments[${r}, ${t}, ${a}, ${o}]`)}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&k.is(t.start)&&k.is(t.end)}e.is=i})(m||(m={}));var y;(function(e){function n(r,t){return{uri:r,range:t}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&m.is(t.range)&&(u.string(t.uri)||u.undefined(t.uri))}e.is=i})(y||(y={}));var te;(function(e){function n(r,t,a,o){return{targetUri:r,targetRange:t,targetSelectionRange:a,originSelectionRange:o}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&m.is(t.targetRange)&&u.string(t.targetUri)&&m.is(t.targetSelectionRange)&&(m.is(t.originSelectionRange)||u.undefined(t.originSelectionRange))}e.is=i})(te||(te={}));var O;(function(e){function n(r,t,a,o){return{red:r,green:t,blue:a,alpha:o}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.numberRange(t.red,0,1)&&u.numberRange(t.green,0,1)&&u.numberRange(t.blue,0,1)&&u.numberRange(t.alpha,0,1)}e.is=i})(O||(O={}));var ne;(function(e){function n(r,t){return{range:r,color:t}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&m.is(t.range)&&O.is(t.color)}e.is=i})(ne||(ne={}));var re;(function(e){function n(r,t,a){return{label:r,textEdit:t,additionalTextEdits:a}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.string(t.label)&&(u.undefined(t.textEdit)||R.is(t))&&(u.undefined(t.additionalTextEdits)||u.typedArray(t.additionalTextEdits,R.is))}e.is=i})(re||(re={}));var D;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(D||(D={}));var ie;(function(e){function n(r,t,a,o,s,l){const g={startLine:r,endLine:t};return u.defined(a)&&(g.startCharacter=a),u.defined(o)&&(g.endCharacter=o),u.defined(s)&&(g.kind=s),u.defined(l)&&(g.collapsedText=l),g}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.uinteger(t.startLine)&&u.uinteger(t.startLine)&&(u.undefined(t.startCharacter)||u.uinteger(t.startCharacter))&&(u.undefined(t.endCharacter)||u.uinteger(t.endCharacter))&&(u.undefined(t.kind)||u.string(t.kind))}e.is=i})(ie||(ie={}));var H;(function(e){function n(r,t){return{location:r,message:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&y.is(t.location)&&u.string(t.message)}e.is=i})(H||(H={}));var L;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(L||(L={}));var ae;(function(e){e.Unnecessary=1,e.Deprecated=2})(ae||(ae={}));var ue;(function(e){function n(i){const r=i;return u.objectLiteral(r)&&u.string(r.href)}e.is=n})(ue||(ue={}));var P;(function(e){function n(r,t,a,o,s,l){let g={range:r,message:t};return u.defined(a)&&(g.severity=a),u.defined(o)&&(g.code=o),u.defined(s)&&(g.source=s),u.defined(l)&&(g.relatedInformation=l),g}e.create=n;function i(r){var t;let a=r;return u.defined(a)&&m.is(a.range)&&u.string(a.message)&&(u.number(a.severity)||u.undefined(a.severity))&&(u.integer(a.code)||u.string(a.code)||u.undefined(a.code))&&(u.undefined(a.codeDescription)||u.string((t=a.codeDescription)===null||t===void 0?void 0:t.href))&&(u.string(a.source)||u.undefined(a.source))&&(u.undefined(a.relatedInformation)||u.typedArray(a.relatedInformation,H.is))}e.is=i})(P||(P={}));var _;(function(e){function n(r,t,...a){let o={title:r,command:t};return u.defined(a)&&a.length>0&&(o.arguments=a),o}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.title)&&u.string(t.command)}e.is=i})(_||(_={}));var R;(function(e){function n(a,o){return{range:a,newText:o}}e.replace=n;function i(a,o){return{range:{start:a,end:a},newText:o}}e.insert=i;function r(a){return{range:a,newText:""}}e.del=r;function t(a){const o=a;return u.objectLiteral(o)&&u.string(o.newText)&&m.is(o.range)}e.is=t})(R||(R={}));var W;(function(e){function n(r,t,a){const o={label:r};return t!==void 0&&(o.needsConfirmation=t),a!==void 0&&(o.description=a),o}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&u.string(t.label)&&(u.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(u.string(t.description)||t.description===void 0)}e.is=i})(W||(W={}));var I;(function(e){function n(i){const r=i;return u.string(r)}e.is=n})(I||(I={}));var oe;(function(e){function n(a,o,s){return{range:a,newText:o,annotationId:s}}e.replace=n;function i(a,o,s){return{range:{start:a,end:a},newText:o,annotationId:s}}e.insert=i;function r(a,o){return{range:a,newText:"",annotationId:o}}e.del=r;function t(a){const o=a;return R.is(o)&&(W.is(o.annotationId)||I.is(o.annotationId))}e.is=t})(oe||(oe={}));var X;(function(e){function n(r,t){return{textDocument:r,edits:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&Q.is(t.textDocument)&&Array.isArray(t.edits)}e.is=i})(X||(X={}));var $;(function(e){function n(r,t,a){let o={kind:"create",uri:r};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(o.options=t),a!==void 0&&(o.annotationId=a),o}e.create=n;function i(r){let t=r;return t&&t.kind==="create"&&u.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||u.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||u.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||I.is(t.annotationId))}e.is=i})($||($={}));var z;(function(e){function n(r,t,a,o){let s={kind:"rename",oldUri:r,newUri:t};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(s.options=a),o!==void 0&&(s.annotationId=o),s}e.create=n;function i(r){let t=r;return t&&t.kind==="rename"&&u.string(t.oldUri)&&u.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||u.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||u.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||I.is(t.annotationId))}e.is=i})(z||(z={}));var B;(function(e){function n(r,t,a){let o={kind:"delete",uri:r};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(o.options=t),a!==void 0&&(o.annotationId=a),o}e.create=n;function i(r){let t=r;return t&&t.kind==="delete"&&u.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||u.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||u.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||I.is(t.annotationId))}e.is=i})(B||(B={}));var q;(function(e){function n(i){let r=i;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(t=>u.string(t.kind)?$.is(t)||z.is(t)||B.is(t):X.is(t)))}e.is=n})(q||(q={}));var se;(function(e){function n(r){return{uri:r}}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.uri)}e.is=i})(se||(se={}));var ce;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.uri)&&u.integer(t.version)}e.is=i})(ce||(ce={}));var Q;(function(e){function n(r,t){return{uri:r,version:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.uri)&&(t.version===null||u.integer(t.version))}e.is=i})(Q||(Q={}));var de;(function(e){function n(r,t,a,o){return{uri:r,languageId:t,version:a,text:o}}e.create=n;function i(r){let t=r;return u.defined(t)&&u.string(t.uri)&&u.string(t.languageId)&&u.integer(t.version)&&u.string(t.text)}e.is=i})(de||(de={}));var G;(function(e){e.PlainText="plaintext",e.Markdown="markdown";function n(i){const r=i;return r===e.PlainText||r===e.Markdown}e.is=n})(G||(G={}));var F;(function(e){function n(i){const r=i;return u.objectLiteral(i)&&G.is(r.kind)&&u.string(r.value)}e.is=n})(F||(F={}));var v;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(v||(v={}));var J;(function(e){e.PlainText=1,e.Snippet=2})(J||(J={}));var fe;(function(e){e.Deprecated=1})(fe||(fe={}));var le;(function(e){function n(r,t,a){return{newText:r,insert:t,replace:a}}e.create=n;function i(r){const t=r;return t&&u.string(t.newText)&&m.is(t.insert)&&m.is(t.replace)}e.is=i})(le||(le={}));var ge;(function(e){e.asIs=1,e.adjustIndentation=2})(ge||(ge={}));var he;(function(e){function n(i){const r=i;return r&&(u.string(r.detail)||r.detail===void 0)&&(u.string(r.description)||r.description===void 0)}e.is=n})(he||(he={}));var me;(function(e){function n(i){return{label:i}}e.create=n})(me||(me={}));var pe;(function(e){function n(i,r){return{items:i||[],isIncomplete:!!r}}e.create=n})(pe||(pe={}));var N;(function(e){function n(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}e.fromPlainText=n;function i(r){const t=r;return u.string(t)||u.objectLiteral(t)&&u.string(t.language)&&u.string(t.value)}e.is=i})(N||(N={}));var ve;(function(e){function n(i){let r=i;return!!r&&u.objectLiteral(r)&&(F.is(r.contents)||N.is(r.contents)||u.typedArray(r.contents,N.is))&&(i.range===void 0||m.is(i.range))}e.is=n})(ve||(ve={}));var be;(function(e){function n(i,r){return r?{label:i,documentation:r}:{label:i}}e.create=n})(be||(be={}));var Ae;(function(e){function n(i,r,...t){let a={label:i};return u.defined(r)&&(a.documentation=r),u.defined(t)?a.parameters=t:a.parameters=[],a}e.create=n})(Ae||(Ae={}));var C;(function(e){e.Text=1,e.Read=2,e.Write=3})(C||(C={}));var we;(function(e){function n(i,r){let t={range:i};return u.number(r)&&(t.kind=r),t}e.create=n})(we||(we={}));var b;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(b||(b={}));var ke;(function(e){e.Deprecated=1})(ke||(ke={}));var xe;(function(e){function n(i,r,t,a,o){let s={name:i,kind:r,location:{uri:a,range:t}};return o&&(s.containerName=o),s}e.create=n})(xe||(xe={}));var Ee;(function(e){function n(i,r,t,a){return a!==void 0?{name:i,kind:r,location:{uri:t,range:a}}:{name:i,kind:r,location:{uri:t}}}e.create=n})(Ee||(Ee={}));var Le;(function(e){function n(r,t,a,o,s,l){let g={name:r,detail:t,kind:a,range:o,selectionRange:s};return l!==void 0&&(g.children=l),g}e.create=n;function i(r){let t=r;return t&&u.string(t.name)&&u.number(t.kind)&&m.is(t.range)&&m.is(t.selectionRange)&&(t.detail===void 0||u.string(t.detail))&&(t.deprecated===void 0||u.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=i})(Le||(Le={}));var _e;(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(_e||(_e={}));var V;(function(e){e.Invoked=1,e.Automatic=2})(V||(V={}));var Re;(function(e){function n(r,t,a){let o={diagnostics:r};return t!=null&&(o.only=t),a!=null&&(o.triggerKind=a),o}e.create=n;function i(r){let t=r;return u.defined(t)&&u.typedArray(t.diagnostics,P.is)&&(t.only===void 0||u.typedArray(t.only,u.string))&&(t.triggerKind===void 0||t.triggerKind===V.Invoked||t.triggerKind===V.Automatic)}e.is=i})(Re||(Re={}));var Ie;(function(e){function n(r,t,a){let o={title:r},s=!0;return typeof t=="string"?(s=!1,o.kind=t):_.is(t)?o.command=t:o.edit=t,s&&a!==void 0&&(o.kind=a),o}e.create=n;function i(r){let t=r;return t&&u.string(t.title)&&(t.diagnostics===void 0||u.typedArray(t.diagnostics,P.is))&&(t.kind===void 0||u.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||_.is(t.command))&&(t.isPreferred===void 0||u.boolean(t.isPreferred))&&(t.edit===void 0||q.is(t.edit))}e.is=i})(Ie||(Ie={}));var Me;(function(e){function n(r,t){let a={range:r};return u.defined(t)&&(a.data=t),a}e.create=n;function i(r){let t=r;return u.defined(t)&&m.is(t.range)&&(u.undefined(t.command)||_.is(t.command))}e.is=i})(Me||(Me={}));var De;(function(e){function n(r,t){return{tabSize:r,insertSpaces:t}}e.create=n;function i(r){let t=r;return u.defined(t)&&u.uinteger(t.tabSize)&&u.boolean(t.insertSpaces)}e.is=i})(De||(De={}));var Fe;(function(e){function n(r,t,a){return{range:r,target:t,data:a}}e.create=n;function i(r){let t=r;return u.defined(t)&&m.is(t.range)&&(u.undefined(t.target)||u.string(t.target))}e.is=i})(Fe||(Fe={}));var Ce;(function(e){function n(r,t){return{range:r,parent:t}}e.create=n;function i(r){let t=r;return u.objectLiteral(t)&&m.is(t.range)&&(t.parent===void 0||e.is(t.parent))}e.is=i})(Ce||(Ce={}));var je;(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(je||(je={}));var ye;(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(ye||(ye={}));var Pe;(function(e){function n(i){const r=i;return u.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}e.is=n})(Pe||(Pe={}));var Ne;(function(e){function n(r,t){return{range:r,text:t}}e.create=n;function i(r){const t=r;return t!=null&&m.is(t.range)&&u.string(t.text)}e.is=i})(Ne||(Ne={}));var Ve;(function(e){function n(r,t,a){return{range:r,variableName:t,caseSensitiveLookup:a}}e.create=n;function i(r){const t=r;return t!=null&&m.is(t.range)&&u.boolean(t.caseSensitiveLookup)&&(u.string(t.variableName)||t.variableName===void 0)}e.is=i})(Ve||(Ve={}));var Ue;(function(e){function n(r,t){return{range:r,expression:t}}e.create=n;function i(r){const t=r;return t!=null&&m.is(t.range)&&(u.string(t.expression)||t.expression===void 0)}e.is=i})(Ue||(Ue={}));var Se;(function(e){function n(r,t){return{frameId:r,stoppedLocation:t}}e.create=n;function i(r){const t=r;return u.defined(t)&&m.is(r.stoppedLocation)}e.is=i})(Se||(Se={}));var Y;(function(e){e.Type=1,e.Parameter=2;function n(i){return i===1||i===2}e.is=n})(Y||(Y={}));var Z;(function(e){function n(r){return{value:r}}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&(t.tooltip===void 0||u.string(t.tooltip)||F.is(t.tooltip))&&(t.location===void 0||y.is(t.location))&&(t.command===void 0||_.is(t.command))}e.is=i})(Z||(Z={}));var Oe;(function(e){function n(r,t,a){const o={position:r,label:t};return a!==void 0&&(o.kind=a),o}e.create=n;function i(r){const t=r;return u.objectLiteral(t)&&k.is(t.position)&&(u.string(t.label)||u.typedArray(t.label,Z.is))&&(t.kind===void 0||Y.is(t.kind))&&t.textEdits===void 0||u.typedArray(t.textEdits,R.is)&&(t.tooltip===void 0||u.string(t.tooltip)||F.is(t.tooltip))&&(t.paddingLeft===void 0||u.boolean(t.paddingLeft))&&(t.paddingRight===void 0||u.boolean(t.paddingRight))}e.is=i})(Oe||(Oe={}));var He;(function(e){function n(i){return{kind:"snippet",value:i}}e.createSnippet=n})(He||(He={}));var We;(function(e){function n(i,r,t,a){return{insertText:i,filterText:r,range:t,command:a}}e.create=n})(We||(We={}));var Xe;(function(e){function n(i){return{items:i}}e.create=n})(Xe||(Xe={}));var $e;(function(e){e.Invoked=0,e.Automatic=1})($e||($e={}));var ze;(function(e){function n(i,r){return{range:i,text:r}}e.create=n})(ze||(ze={}));var Be;(function(e){function n(i,r){return{triggerKind:i,selectedCompletionInfo:r}}e.create=n})(Be||(Be={}));var qe;(function(e){function n(i){const r=i;return u.objectLiteral(r)&&S.is(r.uri)&&u.string(r.name)}e.is=n})(qe||(qe={}));var Qe;(function(e){function n(a,o,s,l){return new Ke(a,o,s,l)}e.create=n;function i(a){let o=a;return!!(u.defined(o)&&u.string(o.uri)&&(u.undefined(o.languageId)||u.string(o.languageId))&&u.uinteger(o.lineCount)&&u.func(o.getText)&&u.func(o.positionAt)&&u.func(o.offsetAt))}e.is=i;function r(a,o){let s=a.getText(),l=t(o,(f,p)=>{let w=f.range.start.line-p.range.start.line;return w===0?f.range.start.character-p.range.start.character:w}),g=s.length;for(let f=l.length-1;f>=0;f--){let p=l[f],w=a.offsetAt(p.range.start),d=a.offsetAt(p.range.end);if(d<=g)s=s.substring(0,w)+p.newText+s.substring(d,s.length);else throw new Error("Overlapping edit");g=w}return s}e.applyEdits=r;function t(a,o){if(a.length<=1)return a;const s=a.length/2|0,l=a.slice(0,s),g=a.slice(s);t(l,o),t(g,o);let f=0,p=0,w=0;for(;f0&&n.push(i.length),this._lineOffsets=n}return this._lineOffsets}positionAt(n){n=Math.max(Math.min(n,this._content.length),0);let i=this.getLineOffsets(),r=0,t=i.length;if(t===0)return k.create(0,n);for(;rn?t=o:r=o+1}let a=r-1;return k.create(a,n-i[a])}offsetAt(n){let i=this.getLineOffsets();if(n.line>=i.length)return this._content.length;if(n.line<0)return 0;let r=i[n.line],t=n.line+1"u"}e.undefined=r;function t(d){return d===!0||d===!1}e.boolean=t;function a(d){return n.call(d)==="[object String]"}e.string=a;function o(d){return n.call(d)==="[object Number]"}e.number=o;function s(d,K,_t){return n.call(d)==="[object Number]"&&K<=d&&d<=_t}e.numberRange=s;function l(d){return n.call(d)==="[object Number]"&&-2147483648<=d&&d<=2147483647}e.integer=l;function g(d){return n.call(d)==="[object Number]"&&0<=d&&d<=2147483647}e.uinteger=g;function f(d){return n.call(d)==="[object Function]"}e.func=f;function p(d){return d!==null&&typeof d=="object"}e.objectLiteral=p;function w(d,K){return Array.isArray(d)&&d.every(K)}e.typedArray=w})(u||(u={}));class et{constructor(n,i,r){U(this,"_disposables",[]);U(this,"_listener",Object.create(null));this._languageId=n,this._worker=i;const t=o=>{let s=o.getLanguageId();if(s!==this._languageId)return;let l;this._listener[o.uri.toString()]=o.onDidChangeContent(()=>{window.clearTimeout(l),l=window.setTimeout(()=>this._doValidate(o.uri,s),500)}),this._doValidate(o.uri,s)},a=o=>{c.editor.setModelMarkers(o,this._languageId,[]);let s=o.uri.toString(),l=this._listener[s];l&&(l.dispose(),delete this._listener[s])};this._disposables.push(c.editor.onDidCreateModel(t)),this._disposables.push(c.editor.onWillDisposeModel(a)),this._disposables.push(c.editor.onDidChangeModelLanguage(o=>{a(o.model),t(o.model)})),this._disposables.push(r(o=>{c.editor.getModels().forEach(s=>{s.getLanguageId()===this._languageId&&(a(s),t(s))})})),this._disposables.push({dispose:()=>{c.editor.getModels().forEach(a);for(let o in this._listener)this._listener[o].dispose()}}),c.editor.getModels().forEach(t)}dispose(){this._disposables.forEach(n=>n&&n.dispose()),this._disposables.length=0}_doValidate(n,i){this._worker(n).then(r=>r.doValidation(n.toString())).then(r=>{const t=r.map(o=>nt(n,o));let a=c.editor.getModel(n);a&&a.getLanguageId()===i&&c.editor.setModelMarkers(a,i,t)}).then(void 0,r=>{console.error(r)})}}function tt(e){switch(e){case L.Error:return c.MarkerSeverity.Error;case L.Warning:return c.MarkerSeverity.Warning;case L.Information:return c.MarkerSeverity.Info;case L.Hint:return c.MarkerSeverity.Hint;default:return c.MarkerSeverity.Info}}function nt(e,n){let i=typeof n.code=="number"?String(n.code):n.code;return{severity:tt(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:i,source:n.source}}class rt{constructor(n,i){this._worker=n,this._triggerCharacters=i}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.doComplete(a.toString(),E(i))).then(o=>{if(!o)return;const s=n.getWordUntilPosition(i),l=new c.Range(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),g=o.items.map(f=>{const p={label:f.label,insertText:f.insertText||f.label,sortText:f.sortText,filterText:f.filterText,documentation:f.documentation,detail:f.detail,command:ut(f.command),range:l,kind:at(f.kind)};return f.textEdit&&(it(f.textEdit)?p.range={insert:A(f.textEdit.insert),replace:A(f.textEdit.replace)}:p.range=A(f.textEdit.range),p.insertText=f.textEdit.newText),f.additionalTextEdits&&(p.additionalTextEdits=f.additionalTextEdits.map(M)),f.insertTextFormat===J.Snippet&&(p.insertTextRules=c.languages.CompletionItemInsertTextRule.InsertAsSnippet),p});return{isIncomplete:o.isIncomplete,suggestions:g}})}}function E(e){if(!!e)return{character:e.column-1,line:e.lineNumber-1}}function T(e){if(!!e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function A(e){if(!!e)return new c.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function it(e){return typeof e.insert<"u"&&typeof e.replace<"u"}function at(e){const n=c.languages.CompletionItemKind;switch(e){case v.Text:return n.Text;case v.Method:return n.Method;case v.Function:return n.Function;case v.Constructor:return n.Constructor;case v.Field:return n.Field;case v.Variable:return n.Variable;case v.Class:return n.Class;case v.Interface:return n.Interface;case v.Module:return n.Module;case v.Property:return n.Property;case v.Unit:return n.Unit;case v.Value:return n.Value;case v.Enum:return n.Enum;case v.Keyword:return n.Keyword;case v.Snippet:return n.Snippet;case v.Color:return n.Color;case v.File:return n.File;case v.Reference:return n.Reference}return n.Property}function M(e){if(!!e)return{range:A(e.range),text:e.newText}}function ut(e){return e&&e.command==="editor.action.triggerSuggest"?{id:e.command,title:e.title,arguments:e.arguments}:void 0}class ot{constructor(n){this._worker=n}provideHover(n,i,r){let t=n.uri;return this._worker(t).then(a=>a.doHover(t.toString(),E(i))).then(a=>{if(!!a)return{range:A(a.range),contents:ct(a.contents)}})}}function st(e){return e&&typeof e=="object"&&typeof e.kind=="string"}function Ge(e){return typeof e=="string"?{value:e}:st(e)?e.kind==="plaintext"?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:e.value}:{value:"```"+e.language+` `+e.value+"\n```\n"}}function ct(e){if(!!e)return Array.isArray(e)?e.map(Ge):[Ge(e)]}class dt{constructor(n){this._worker=n}provideDocumentHighlights(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.findDocumentHighlights(t.toString(),E(i))).then(a=>{if(!!a)return a.map(o=>({range:A(o.range),kind:ft(o.kind)}))})}}function ft(e){switch(e){case C.Read:return c.languages.DocumentHighlightKind.Read;case C.Write:return c.languages.DocumentHighlightKind.Write;case C.Text:return c.languages.DocumentHighlightKind.Text}return c.languages.DocumentHighlightKind.Text}class lt{constructor(n){this._worker=n}provideDefinition(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.findDefinition(t.toString(),E(i))).then(a=>{if(!!a)return[Je(a)]})}}function Je(e){return{uri:c.Uri.parse(e.uri),range:A(e.range)}}class gt{constructor(n){this._worker=n}provideReferences(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.findReferences(a.toString(),E(i))).then(o=>{if(!!o)return o.map(Je)})}}class ht{constructor(n){this._worker=n}provideRenameEdits(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.doRename(a.toString(),E(i),r)).then(o=>mt(o))}}function mt(e){if(!e||!e.changes)return;let n=[];for(let i in e.changes){const r=c.Uri.parse(i);for(let t of e.changes[i])n.push({resource:r,versionId:void 0,textEdit:{range:A(t.range),text:t.newText}})}return{edits:n}}class pt{constructor(n){this._worker=n}provideDocumentSymbols(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentSymbols(r.toString())).then(t=>{if(!!t)return t.map(a=>vt(a)?Ye(a):{name:a.name,detail:"",containerName:a.containerName,kind:Ze(a.kind),range:A(a.location.range),selectionRange:A(a.location.range),tags:[]})})}}function vt(e){return"children"in e}function Ye(e){var n,i,r;return{name:e.name,detail:(n=e.detail)!=null?n:"",kind:Ze(e.kind),range:A(e.range),selectionRange:A(e.selectionRange),tags:(i=e.tags)!=null?i:[],children:((r=e.children)!=null?r:[]).map(t=>Ye(t))}}function Ze(e){let n=c.languages.SymbolKind;switch(e){case b.File:return n.File;case b.Module:return n.Module;case b.Namespace:return n.Namespace;case b.Package:return n.Package;case b.Class:return n.Class;case b.Method:return n.Method;case b.Property:return n.Property;case b.Field:return n.Field;case b.Constructor:return n.Constructor;case b.Enum:return n.Enum;case b.Interface:return n.Interface;case b.Function:return n.Function;case b.Variable:return n.Variable;case b.Constant:return n.Constant;case b.String:return n.String;case b.Number:return n.Number;case b.Boolean:return n.Boolean;case b.Array:return n.Array}return n.Function}class bt{constructor(n){this._worker=n}provideLinks(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentLinks(r.toString())).then(t=>{if(!!t)return{links:t.map(a=>({range:A(a.range),url:a.target}))}})}}class At{constructor(n){this._worker=n}provideDocumentFormattingEdits(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.format(t.toString(),null,Te(i)).then(o=>{if(!(!o||o.length===0))return o.map(M)}))}}class wt{constructor(n){U(this,"canFormatMultipleRanges",!1);this._worker=n}provideDocumentRangeFormattingEdits(n,i,r,t){const a=n.uri;return this._worker(a).then(o=>o.format(a.toString(),T(i),Te(r)).then(s=>{if(!(!s||s.length===0))return s.map(M)}))}}function Te(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}class kt{constructor(n){this._worker=n}provideDocumentColors(n,i){const r=n.uri;return this._worker(r).then(t=>t.findDocumentColors(r.toString())).then(t=>{if(!!t)return t.map(a=>({color:a.color,range:A(a.range)}))})}provideColorPresentations(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getColorPresentations(t.toString(),i.color,T(i.range))).then(a=>{if(!!a)return a.map(o=>{let s={label:o.label};return o.textEdit&&(s.textEdit=M(o.textEdit)),o.additionalTextEdits&&(s.additionalTextEdits=o.additionalTextEdits.map(M)),s})})}}class xt{constructor(n){this._worker=n}provideFoldingRanges(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getFoldingRanges(t.toString(),i)).then(a=>{if(!!a)return a.map(o=>{const s={start:o.startLine+1,end:o.endLine+1};return typeof o.kind<"u"&&(s.kind=Et(o.kind)),s})})}}function Et(e){switch(e){case D.Comment:return c.languages.FoldingRangeKind.Comment;case D.Imports:return c.languages.FoldingRangeKind.Imports;case D.Region:return c.languages.FoldingRangeKind.Region}}class Lt{constructor(n){this._worker=n}provideSelectionRanges(n,i,r){const t=n.uri;return this._worker(t).then(a=>a.getSelectionRanges(t.toString(),i.map(E))).then(a=>{if(!!a)return a.map(o=>{const s=[];for(;o;)s.push({range:A(o.range)}),o=o.parent;return s})})}}h.CompletionAdapter=rt,h.DefinitionAdapter=lt,h.DiagnosticsAdapter=et,h.DocumentColorAdapter=kt,h.DocumentFormattingEditProvider=At,h.DocumentHighlightAdapter=dt,h.DocumentLinkAdapter=bt,h.DocumentRangeFormattingEditProvider=wt,h.DocumentSymbolAdapter=pt,h.FoldingRangeAdapter=xt,h.HoverAdapter=ot,h.ReferenceAdapter=gt,h.RenameAdapter=ht,h.SelectionRangeAdapter=Lt,h.fromPosition=E,h.fromRange=T,h.toRange=A,h.toTextEdit=M});