UNPKG

@senx/discovery-code

Version:

Discovery Code Editor

1 lines 7.67 MB
import{r as e,c as t,h as n,g as i}from"./p-7feb5c96.js";import{C as s,U as a,W as o,E as r}from"./p-76e67e4a.js";class c{constructor(e,t=!1){this.isDebug=!1,this.className=e.name,this.isDebug=t}setDebug(e){this.isDebug=e}log(e,t,n){let i=[];switch(i.push(`[${this.className}] ${t.join(" - ")}`),i=i.concat(n),e){case l.DEBUG:this.isDebug&&console.debug(...i);break;case l.ERROR:console.error(...i);break;case l.INFO:console.log(...i);break;case l.WARN:console.warn(...i);break;default:this.isDebug&&console.log(...i)}}debug(e,...t){this.log(l.DEBUG,e,t)}error(e,...t){this.log(l.ERROR,e,t)}warn(e,...t){this.log(l.WARN,e,t)}info(e,...t){this.log(l.INFO,e,t)}}var l,h;function u(e,t=0){return e[e.length-(1+t)]}function d(e,t,n=((e,t)=>e===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,s=e.length;i<s;i++)if(!n(e[i],t[i]))return!1;return!0}function p(e,t,n){return function(i){let s=0,a=i-1;for(;s<=a;){const i=(s+a)/2|0,o=n(e[i],t);if(o<0)s=i+1;else{if(!(o>0))return i;a=i-1}}return-(s+1)}(e.length)}function m(e,t,n){if((e|=0)>=t.length)throw new TypeError("invalid index");const i=t[Math.floor(t.length*Math.random())],s=[],a=[],o=[];for(const e of t){const t=n(e,i);t<0?s.push(e):t>0?a.push(e):o.push(e)}return e<s.length?m(e,s,n):e<s.length+o.length?o[0]:m(e-(s.length+o.length),a,n)}function f(e,t){const n=[];let i;for(const s of e.slice(0).sort(t))i&&0===t(i[0],s)?i.push(s):(i=[s],n.push(i));return n}function*g(e,t){let n,i;for(const s of e)void 0!==i&&t(i,s)?n.push(s):(n&&(yield n),n=[s]),i=s;n&&(yield n)}function T(e,t){for(let n=0;n<=e.length;n++)t(0===n?void 0:e[n-1],n===e.length?void 0:e[n])}function S(e){return e.filter((e=>!!e))}function b(e){let t=0;for(let n=0;n<e.length;n++)e[n]&&(e[t]=e[n],t+=1);e.length=t}function w(e){return!Array.isArray(e)||0===e.length}function v(e){return Array.isArray(e)&&e.length>0}function E(e,t=(e=>e)){const n=new Set;return e.filter((e=>{const i=t(e);return!n.has(i)&&(n.add(i),!0)}))}function O(e,t){return e.length>0?e[0]:t}function y(e,t){let n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);const i=[];if(n<=t)for(let e=n;e<t;e++)i.push(e);else for(let e=n;e>t;e--)i.push(e);return i}function G(e,t,n){const i=e.slice(0,t),s=e.slice(t);return i.concat(n,s)}function L(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function N(e,t){const n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function I(e,t){for(const n of t)e.push(n)}function A(e){return Array.isArray(e)?e:[e]}function k(e,t,n,i){const s=R(e,t);let a=e.splice(s,n);return void 0===a&&(a=[]),function(e,t,n){const i=R(e,t),s=e.length,a=n.length;e.length=s+a;for(let t=s-1;t>=i;t--)e[t+a]=e[t];for(let t=0;t<a;t++)e[t+i]=n[t]}(e,s,i),a}function R(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}function P(e,t){return(n,i)=>t(e(n),e(i))}!function(e){e[e.DEBUG=0]="DEBUG",e[e.ERROR=1]="ERROR",e[e.WARN=2]="WARN",e[e.INFO=3]="INFO"}(l||(l={})),function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(h||(h={}));const B=(e,t)=>e-t,C=(e,t)=>B(e?1:0,t?1:0);function x(e){return(t,n)=>-e(t,n)}class D{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;const n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class M{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new M((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new M((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((i=>((n||h.isGreaterThan(e(i,t)))&&(n=!1,t=i),!0))),t}}function U(e){return"string"==typeof e}function H(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function F(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function W(e){return"number"==typeof e&&!isNaN(e)}function z(e){return!!e&&"function"==typeof e[Symbol.iterator]}function _(e){return!0===e||!1===e}function Y(e){return void 0===e}function K(e){return!V(e)}function V(e){return Y(e)||null===e}function j(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function q(e){if(V(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function X(e){return"function"==typeof e}function $(e,t){if(U(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(X(t)){try{if(e instanceof t)return}catch(e){}if(!V(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function Z(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,n])=>{t[e]=n&&"object"==typeof n?Z(n):n})),t}M.empty=new M((()=>{}));const J=Object.prototype.hasOwnProperty;function Q(e,t){return ee(e,t,new Set)}function ee(e,t,n){if(V(e))return e;const i=t(e);if(void 0!==i)return i;if(Array.isArray(e)){const i=[];for(const s of e)i.push(ee(s,t,n));return i}if(H(e)){if(n.has(e))throw new Error("Cannot clone recursive data-structure");n.add(e);const i={};for(const s in e)J.call(e,s)&&(i[s]=ee(e[s],t,n));return n.delete(e),i}return e}function te(e,t,n=!0){return H(e)?(H(t)&&Object.keys(t).forEach((i=>{i in e?n&&(H(e[i])&&H(t[i])?te(e[i],t[i],n):e[i]=t[i]):e[i]=t[i]})),e):t}function ne(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let n,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;n<e.length;n++)if(!ne(e[n],t[n]))return!1}else{const s=[];for(i in e)s.push(i);s.sort();const a=[];for(i in t)a.push(i);if(a.sort(),!ne(s,a))return!1;for(n=0;n<s.length;n++)if(!ne(e[s[n]],t[s[n]]))return!1}return!0}function ie(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}const se="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function ae(){throw new Error("setTimeout has not been defined")}function oe(){throw new Error("clearTimeout has not been defined")}var re=ae,ce=oe;function le(e){if(re===setTimeout)return setTimeout(e,0);if((re===ae||!re)&&setTimeout)return re=setTimeout,setTimeout(e,0);try{return re(e,0)}catch(t){try{return re.call(null,e,0)}catch(t){return re.call(this,e,0)}}}"function"==typeof se.setTimeout&&(re=setTimeout),"function"==typeof se.clearTimeout&&(ce=clearTimeout);var he,ue=[],de=!1,pe=-1;function me(){de&&he&&(de=!1,he.length?ue=he.concat(ue):pe=-1,ue.length&&fe())}function fe(){if(!de){var e=le(me);de=!0;for(var t=ue.length;t;){for(he=ue,ue=[];++pe<t;)he&&he[pe].run();pe=-1,t=ue.length}he=null,de=!1,function(e){if(ce===clearTimeout)return clearTimeout(e);if((ce===oe||!ce)&&clearTimeout)return ce=clearTimeout,clearTimeout(e);try{return ce(e)}catch(t){try{return ce.call(null,e)}catch(t){return ce.call(this,e)}}}(e)}}function ge(e,t){this.fun=e,this.array=t}function Te(){}ge.prototype.run=function(){this.fun.apply(null,this.array)};var Se=Te,be=Te,we=Te,ve=Te,Ee=Te,Oe=Te,ye=Te,Ge=se.performance||{},Le=Ge.now||Ge.mozNow||Ge.msNow||Ge.oNow||Ge.webkitNow||function(){return(new Date).getTime()},Ne=new Date;const Ie={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];ue.push(new ge(e,t)),1!==ue.length||de||le(fe)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Se,addListener:be,once:we,off:ve,removeListener:Ee,removeAllListeners:Oe,emit:ye,binding:function(){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Le.call(Ge),n=Math.floor(t),i=Math.floor(t%1*1e9);return e&&(n-=e[0],(i-=e[1])<0&&(n--,i+=1e9)),[n,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Ne)/1e3}};let Ae="undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function ke(e,t){let n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,n)=>{const i=t[n[0]];let s=e;return"string"==typeof i?s=i:"number"!=typeof i&&"boolean"!=typeof i&&null!=i||(s=String(i)),s})),Ae&&(n="["+n.replace(/[aouei]/g,"$&$&")+"]"),n}function Re(e,t,...n){return ke(t,n)}function Pe(e,t,...n){const i=ke(t,n);return{value:i,original:i}}var Be;const Ce="en";let xe,De,Me=!1,Ue=!1,He=!1,Fe=!1,We=!1,ze=!1,_e=!1,Ye=Ce;const Ke=globalThis;let Ve;void 0!==Ke.vscode&&void 0!==Ke.vscode.process?Ve=Ke.vscode.process:void 0!==Ie&&(Ve=Ie);const je="string"==typeof(null===(Be=null==Ve?void 0:Ve.versions)||void 0===Be?void 0:Be.electron);if("object"!=typeof navigator||je&&"renderer"===(null==Ve?void 0:Ve.type))if("object"==typeof Ve){Me="win32"===Ve.platform,Ue="darwin"===Ve.platform,He="linux"===Ve.platform,xe=Ce,Ye=Ce;const e=Ve.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e);xe=t.locale,Ye=t.availableLanguages["*"]||Ce}catch(e){}Fe=!0}else console.error("Unable to resolve platform.");else De=navigator.userAgent,Me=De.indexOf("Windows")>=0,Ue=De.indexOf("Macintosh")>=0,ze=(De.indexOf("Macintosh")>=0||De.indexOf("iPad")>=0||De.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,He=De.indexOf("Linux")>=0,_e=(null==De?void 0:De.indexOf("Mobi"))>=0,We=!0,Re(0,"_"),xe=Ce,Ye=xe;const qe=Me,Xe=Ue,$e=He,Ze=Fe,Je=We,Qe=We&&"function"==typeof Ke.importScripts?Ke.origin:void 0,et=ze,tt=_e,nt=De,it=Ye,st="function"==typeof Ke.postMessage&&!Ke.importScripts,at=(()=>{if(st){const e=[];Ke.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,i=e.length;n<i;n++){const i=e[n];if(i.id===t.data.vscodeScheduleAsyncWork)return e.splice(n,1),void i.callback()}}));let t=0;return n=>{const i=++t;e.push({id:i,callback:n}),Ke.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),ot=Ue||ze?2:Me?1:3;let rt=!0,ct=!1;function lt(){if(!ct){ct=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);rt=513===t[0]}return rt}const ht=!!(nt&&nt.indexOf("Chrome")>=0),ut=!!(nt&&nt.indexOf("Firefox")>=0),dt=!!(!ht&&nt&&nt.indexOf("Safari")>=0),pt=!!(nt&&nt.indexOf("Edg/")>=0);nt&&nt.indexOf("Android");const mt={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var ft;!function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*i(e){yield e}e.empty=function(){return n},e.single=i,e.wrap=function(e){return t(e)?e:i(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const n of e)if(t(n))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const i of e)yield t(i,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let i=n;for(const n of e)i=t(i,n);return i},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]},e.consume=function(t,n=Number.POSITIVE_INFINITY){const i=[];if(0===n)return[i,t];const s=t[Symbol.iterator]();for(let t=0;t<n;t++){const t=s.next();if(t.done)return[i,e.empty()];i.push(t.value)}return[i,{[Symbol.iterator]:()=>s}]}}(ft||(ft={}));class gt{constructor(e){this.element=e,this.next=gt.Undefined,this.prev=gt.Undefined}}gt.Undefined=new gt(void 0);class Tt{constructor(){this._first=gt.Undefined,this._last=gt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===gt.Undefined}clear(){let e=this._first;for(;e!==gt.Undefined;){const t=e.next;e.prev=gt.Undefined,e.next=gt.Undefined,e=t}this._first=gt.Undefined,this._last=gt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new gt(e);if(this._first===gt.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==gt.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==gt.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==gt.Undefined&&e.next!==gt.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===gt.Undefined&&e.next===gt.Undefined?(this._first=gt.Undefined,this._last=gt.Undefined):e.next===gt.Undefined?(this._last=this._last.prev,this._last.next=gt.Undefined):e.prev===gt.Undefined&&(this._first=this._first.next,this._first.prev=gt.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==gt.Undefined;)yield e.element,e=e.next}}const St="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",bt=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of St)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function wt(e){let t=bt;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const vt=new Tt;function Et(e,t,n,i,s){if(t=wt(t),s||(s=ft.first(vt)),n.length>s.maxLen){let a=e-s.maxLen/2;return a<0?a=0:i+=a,Et(e,t,n=n.substring(a,e+s.maxLen/2),i,s)}const a=Date.now(),o=e-1-i;let r=-1,c=null;for(let e=1;!(Date.now()-a>=s.timeBudget);e++){const i=o-s.windowSize*e;t.lastIndex=Math.max(0,i);const a=Ot(t,n,o,r);if(!a&&c)break;if(c=a,i<=0)break;r=i}if(c){const e={word:c[0],startColumn:i+1+c.index,endColumn:i+1+c.index+c[0].length};return t.lastIndex=0,e}return null}function Ot(e,t,n,i){let s;for(;s=e.exec(t);){const t=s.index||0;if(t<=n&&e.lastIndex>=n)return s;if(i>0&&t>i)return null}return null}vt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class yt{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class Gt{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class Lt{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return It(e,t)}compute(e,t,n){return n}}class Nt{constructor(e,t){this.newValue=e,this.didChange=t}}function It(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new Nt(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const n=Array.isArray(e)&&Array.isArray(t)&&d(e,t);return new Nt(t,!n)}let n=!1;for(const i in t)if(t.hasOwnProperty(i)){const s=It(e[i],t[i]);s.didChange&&(e[i]=s.newValue,n=!0)}return new Nt(e,n)}class At{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return It(e,t)}validate(e){return this.defaultValue}}class kt{constructor(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}applyUpdate(e,t){return It(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,n){return n}}function Rt(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class Pt extends kt{constructor(e,t,n,i){void 0!==i&&(i.type="boolean",i.default=n),super(e,t,n,i)}validate(e){return Rt(e,this.defaultValue)}}function Bt(e,t,n,i){if(void 0===e)return t;let s=parseInt(e,10);return isNaN(s)?t:(s=Math.max(n,s),s=Math.min(i,s),0|s)}class Ct extends kt{static clampedInt(e,t,n,i){return Bt(e,t,n,i)}constructor(e,t,n,i,s,a){void 0!==a&&(a.type="integer",a.default=n,a.minimum=i,a.maximum=s),super(e,t,n,a),this.minimum=i,this.maximum=s}validate(e){return Ct.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function xt(e,t,n,i){if(void 0===e)return t;const s=Dt.float(e,t);return Dt.clamp(s,n,i)}class Dt extends kt{static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const n=parseFloat(e);return isNaN(n)?t:n}constructor(e,t,n,i,s){void 0!==s&&(s.type="number",s.default=n),super(e,t,n,s),this.validationFn=i}validate(e){return this.validationFn(Dt.float(e,this.defaultValue))}}class Mt extends kt{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,n,i){void 0!==i&&(i.type="string",i.default=n),super(e,t,n,i)}validate(e){return Mt.string(e,this.defaultValue)}}function Ut(e,t,n,i){return"string"!=typeof e?t:i&&e in i?i[e]:-1===n.indexOf(e)?t:e}class Ht extends kt{constructor(e,t,n,i,s){void 0!==s&&(s.type="string",s.enum=i,s.default=n),super(e,t,n,s),this._allowedValues=i}validate(e){return Ut(e,this.defaultValue,this._allowedValues)}}class Ft extends Lt{constructor(e,t,n,i,s,a,o){void 0!==o&&(o.type="string",o.enum=s,o.default=i),super(e,t,n,o),this._allowedValues=s,this._convert=a}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var Wt,zt;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(Wt||(Wt={}));class _t extends Lt{constructor(){super(51,"fontLigatures",_t.OFF,{anyOf:[{type:"boolean",description:Re(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:Re(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:Re(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?_t.OFF:"true"===e?_t.ON:e:Boolean(e)?_t.ON:_t.OFF}}_t.OFF='"liga" off, "calt" off',_t.ON='"liga" on, "calt" on';class Yt extends Lt{constructor(){super(54,"fontVariations",Yt.OFF,{anyOf:[{type:"boolean",description:Re(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:Re(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:Re(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?Yt.OFF:"true"===e?Yt.TRANSLATE:e:Boolean(e)?Yt.TRANSLATE:Yt.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}}Yt.OFF="normal",Yt.TRANSLATE="translate";class Kt extends Lt{constructor(){super(53,"fontWeight",an.fontWeight,{anyOf:[{type:"number",minimum:Kt.MINIMUM_VALUE,maximum:Kt.MAXIMUM_VALUE,errorMessage:Re(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Kt.SUGGESTION_VALUES}],default:an.fontWeight,description:Re(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(Ct.clampedInt(e,an.fontWeight,Kt.MINIMUM_VALUE,Kt.MAXIMUM_VALUE))}}Kt.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Kt.MINIMUM_VALUE=1,Kt.MAXIMUM_VALUE=1e3;class Vt extends At{constructor(){super(143)}compute(e,t,n){return Vt.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight);let i=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(i=Math.max(i,t-1));const s=(n+e.viewLineCount+i)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:i,desiredRatio:s,minimapLineCount:Math.floor(e.viewLineCount/s)}}static _computeMinimapLayout(e,t){const n=e.outerWidth,i=e.outerHeight,s=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(s*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};const a=t.stableMinimapLayoutInput,o=a&&e.outerHeight===a.outerHeight&&e.lineHeight===a.lineHeight&&e.typicalHalfwidthCharacterWidth===a.typicalHalfwidthCharacterWidth&&e.pixelRatio===a.pixelRatio&&e.scrollBeyondLastLine===a.scrollBeyondLastLine&&e.paddingTop===a.paddingTop&&e.paddingBottom===a.paddingBottom&&e.minimap.enabled===a.minimap.enabled&&e.minimap.side===a.minimap.side&&e.minimap.size===a.minimap.size&&e.minimap.showSlider===a.minimap.showSlider&&e.minimap.renderCharacters===a.minimap.renderCharacters&&e.minimap.maxColumn===a.minimap.maxColumn&&e.minimap.scale===a.minimap.scale&&e.verticalScrollbarWidth===a.verticalScrollbarWidth&&e.isViewportWrapping===a.isViewportWrapping,r=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,l=e.scrollBeyondLastLine,h=e.minimap.renderCharacters;let u=s>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const d=e.minimap.maxColumn,p=e.minimap.size,m=e.minimap.side,f=e.verticalScrollbarWidth,g=e.viewLineCount,T=e.remainingWidth,S=e.isViewportWrapping,b=h?2:3;let w=Math.floor(s*i);const v=w/s;let E=!1,O=!1,y=b*u,G=u/s,L=1;if("fill"===p||"fit"===p){const{typicalViewportLineCount:n,extraLinesBeforeFirstLine:a,extraLinesBeyondLastLine:c,desiredRatio:h,minimapLineCount:d}=Vt.computeContainedMinimapLineCount({viewLineCount:g,scrollBeyondLastLine:l,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:i,lineHeight:r,pixelRatio:s});if(g/d>1)E=!0,O=!0,u=1,y=1,G=u/s;else{let i=!1,l=u+1;if("fit"===p){const e=Math.ceil((a+g+c)*y);S&&o&&T<=t.stableFitRemainingWidth?(i=!0,l=t.stableFitMaxMinimapScale):i=e>w}if("fill"===p||i){E=!0;const i=u;y=Math.min(r*s,Math.max(1,Math.floor(1/h))),S&&o&&T<=t.stableFitRemainingWidth&&(l=t.stableFitMaxMinimapScale),u=Math.min(l,Math.max(1,Math.floor(y/b))),u>i&&(L=Math.min(2,u/i)),G=u/s/L,w=Math.ceil(Math.max(n,a+g+c)*y),S?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=T,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const N=Math.floor(d*G),I=Math.min(N,Math.max(0,Math.floor((T-f-2)*G/(c+G)))+8);let A=Math.floor(s*I);const k=A/s;return A=Math.floor(A*L),{renderMinimap:h?1:2,minimapLeft:"left"===m?0:n-I-f,minimapWidth:I,minimapHeightIsEditorHeight:E,minimapIsSampling:O,minimapScale:u,minimapLineHeight:y,minimapCanvasInnerWidth:A,minimapCanvasInnerHeight:w,minimapCanvasOuterWidth:k,minimapCanvasOuterHeight:v}}static computeLayout(e,t){const n=0|t.outerWidth,i=0|t.outerHeight,s=0|t.lineHeight,a=0|t.lineNumbersDigitCount,o=t.typicalHalfwidthCharacterWidth,r=t.maxDigitWidth,c=t.pixelRatio,l=t.viewLineCount,h=e.get(135),u="inherit"===h?e.get(134):h,d="inherit"===u?e.get(130):u,p=e.get(133),m=t.isDominatedByLongLines,f=e.get(57),g=0!==e.get(67).renderType,T=e.get(68),S=e.get(104),b=e.get(83),w=e.get(72),v=e.get(102),E=v.verticalScrollbarSize,O=v.verticalHasArrows,y=v.arrowSize,G=v.horizontalScrollbarSize,L=e.get(43),N="never"!==e.get(109);let I=e.get(65);L&&N&&(I+=16);let A=0;if(g){const e=Math.max(a,T);A=Math.round(e*r)}let k=0;f&&(k=s*t.glyphMarginDecorationLaneCount);let R=0,P=R+k,B=P+A,C=B+I;const x=n-k-A-I;let D=!1,M=!1,U=-1;"inherit"===u&&m?(D=!0,M=!0):"on"===d||"bounded"===d?M=!0:"wordWrapColumn"===d&&(U=p);const H=Vt._computeMinimapLayout({outerWidth:n,outerHeight:i,lineHeight:s,typicalHalfwidthCharacterWidth:o,pixelRatio:c,scrollBeyondLastLine:S,paddingTop:b.top,paddingBottom:b.bottom,minimap:w,verticalScrollbarWidth:E,viewLineCount:l,remainingWidth:x,isViewportWrapping:M},t.memory||new Gt);0!==H.renderMinimap&&0===H.minimapLeft&&(R+=H.minimapWidth,P+=H.minimapWidth,B+=H.minimapWidth,C+=H.minimapWidth);const F=x-H.minimapWidth,W=Math.max(1,Math.floor((F-E-2)/o)),z=O?y:0;return M&&(U=Math.max(1,W),"bounded"===d&&(U=Math.min(U,p))),{width:n,height:i,glyphMarginLeft:R,glyphMarginWidth:k,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:P,lineNumbersWidth:A,decorationsLeft:B,decorationsWidth:I,contentLeft:C,contentWidth:F,minimap:H,viewportColumn:W,isWordWrapMinified:D,isViewportWrapping:M,wrappingColumn:U,verticalScrollbarWidth:E,horizontalScrollbarHeight:G,overviewRuler:{top:z,width:E,height:i-2*z,right:0}}}}function jt(e){const t=e.get(97);return"editable"===t?e.get(90):"on"!==t}function qt(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(zt||(zt={}));const Xt="inUntrustedWorkspace",$t="editor.unicodeHighlight.allowedCharacters",Zt="editor.unicodeHighlight.invisibleCharacters",Jt="editor.unicodeHighlight.nonBasicASCII",Qt="editor.unicodeHighlight.ambiguousCharacters",en="editor.unicodeHighlight.includeComments",tn="editor.unicodeHighlight.includeStrings",nn="editor.unicodeHighlight.allowedLocales";function sn(e,t,n){const i=n.indexOf(e);return-1===i?t:n[i]}const an={fontFamily:Xe?"Menlo, Monaco, 'Courier New', monospace":$e?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:Xe?12:14,lineHeight:0,letterSpacing:0},on=[];function rn(e){return on[e.id]=e,e}const cn={acceptSuggestionOnCommitCharacter:rn(new Pt(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:Re(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:rn(new Ht(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",Re(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:Re(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:rn(new class extends Lt{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[Re(0,"Use platform APIs to detect when a Screen Reader is attached."),Re(0,"Optimize for usage with a Screen Reader."),Re(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:Re(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,n){return 0===n?e.accessibilitySupport:n}}),accessibilityPageSize:rn(new Ct(3,"accessibilityPageSize",10,1,1073741824,{description:Re(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:rn(new Mt(4,"ariaLabel",Re(0,"Editor content"))),ariaRequired:rn(new Pt(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:rn(new Pt(8,"screenReaderAnnounceInlineSuggestion",!0,{description:Re(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:rn(new Ht(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",Re(0,"Use language configurations to determine when to autoclose brackets."),Re(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:Re(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:rn(new Ht(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",Re(0,"Use language configurations to determine when to autoclose comments."),Re(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:Re(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:rn(new Ht(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",Re(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:Re(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:rn(new Ht(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",Re(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:Re(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:rn(new Ht(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",Re(0,"Use language configurations to determine when to autoclose quotes."),Re(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:Re(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:rn(new Ft(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[Re(0,"The editor will not insert indentation automatically."),Re(0,"The editor will keep the current line's indentation."),Re(0,"The editor will keep the current line's indentation and honor language defined brackets."),Re(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),Re(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:Re(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:rn(new Pt(13,"automaticLayout",!1)),autoSurround:rn(new Ht(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[Re(0,"Use language configurations to determine when to automatically surround selections."),Re(0,"Surround with quotes but not brackets."),Re(0,"Surround with brackets but not quotes."),""],description:Re(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:rn(new class extends Lt{constructor(){const e={enabled:mt.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:mt.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:Re(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:Re(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:Rt(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:Rt(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:rn(new class extends Lt{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[Re(0,"Enables bracket pair guides."),Re(0,"Enables bracket pair guides only for the active bracket pair."),Re(0,"Disables bracket pair guides.")],default:e.bracketPairs,description:Re(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[Re(0,"Enables horizontal guides as addition to vertical bracket pair guides."),Re(0,"Enables horizontal guides only for the active bracket pair."),Re(0,"Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:Re(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:Re(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:Re(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[Re(0,"Highlights the active indent guide."),Re(0,"Highlights the active indent guide even if bracket guides are highlighted."),Re(0,"Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:Re(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:sn(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:sn(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:Rt(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:Rt(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:sn(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:rn(new Pt(115,"stickyTabStops",!1,{description:Re(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:rn(new Pt(17,"codeLens",!0,{description:Re(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:rn(new Mt(18,"codeLensFontFamily","",{description:Re(0,"Controls the font family for CodeLens.")})),codeLensFontSize:rn(new Ct(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:Re(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:rn(new Pt(20,"colorDecorators",!0,{description:Re(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:rn(new Ht(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[Re(0,"Make the color picker appear both on click and hover of the color decorator"),Re(0,"Make the color picker appear on hover of the color decorator"),Re(0,"Make the color picker appear on click of the color decorator")],description:Re(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:rn(new Ct(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:Re(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:rn(new Pt(22,"columnSelection",!1,{description:Re(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:rn(new class extends Lt{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:Re(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:Re(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:Rt(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Rt(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:rn(new Pt(24,"contextmenu",!0)),copyWithSyntaxHighlighting:rn(new Pt(25,"copyWithSyntaxHighlighting",!0,{description:Re(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:rn(new Ft(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:Re(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:rn(new Ht(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[Re(0,"Smooth caret animation is disabled."),Re(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),Re(0,"Smooth caret animation is always enabled.")],description:Re(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:rn(new Ft(28,"cursorStyle",Wt.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return Wt.Line;case"block":return Wt.Block;case"underline":return Wt.Underline;case"line-thin":return Wt.LineThin;case"block-outline":return Wt.BlockOutline;case"underline-thin":return Wt.UnderlineThin}}),{description:Re(0,"Controls the cursor style.")})),cursorSurroundingLines:rn(new Ct(29,"cursorSurroundingLines",0,0,1073741824,{description:Re(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:rn(new Ht(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[Re(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),Re(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:Re(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:rn(new Ct(31,"cursorWidth",0,0,1073741824,{markdownDescription:Re(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:rn(new Pt(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:rn(new Pt(33,"disableMonospaceOptimizations",!1)),domReadOnly:rn(new Pt(34,"domReadOnly",!1)),dragAndDrop:rn(new Pt(35,"dragAndDrop",!0,{description:Re(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:rn(new class extends Pt{constructor(){super(37,"emptySelectionClipboard",!0,{description:Re(0,"Controls whether copying without a selection copies the current line.")})}compute(e,t,n){return n&&e.emptySelectionClipboard}}),dropIntoEditor:rn(new class extends Lt{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:Re(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:Re(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[Re(0,"Show the drop selector widget after a file is dropped into the editor."),Re(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:Rt(t.enabled,this.defaultValue.enabled),showDropSelector:Ut(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:rn(new class extends Lt{constructor(){const e={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:Re(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:10,description:Re(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:Re(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:Re(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:Rt(t.enabled,this.defaultValue.enabled),maxLineCount:Ct.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:Ut(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:Rt(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:rn(new Ht(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[Re(0,"Use a new rendering method with svgs."),Re(0,"Use a new rendering method with font characters."),Re(0,"Use the stable rendering method.")],description:Re(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:rn(new Mt(39,"extraEditorClassName","")),fastScrollSensitivity:rn(new Dt(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:Re(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:rn(new class extends Lt{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:Re(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[Re(0,"Never seed search string from the editor selection."),Re(0,"Always seed search string from the editor selection, including word at cursor position."),Re(0,"Only seed search string from the editor selection.")],description:Re(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[Re(0,"Never turn on Find in Selection automatically (default)."),Re(0,"Always turn on Find in Selection automatically."),Re(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:Re(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:Re(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:Xe},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:Re(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:Re(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:Rt(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":Ut(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":Ut(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Rt(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Rt(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Rt(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:rn(new Pt(42,"fixedOverflowWidgets",!1)),folding:rn(new Pt(43,"folding",!0,{description:Re(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:rn(new Ht(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[Re(0,"Use a language-specific folding strategy if available, else the indentation-based one."),Re(0,"Use the indentation-based folding strategy.")],description:Re(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:rn(new Pt(45,"foldingHighlight",!0,{description:Re(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:rn(new Pt(46,"foldingImportsByDefault",!1,{description:Re(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:rn(new Ct(47,"foldingMaximumRegions",5e3,10,65e3,{description:Re(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:rn(new Pt(48,"unfoldOnClickAfterEndOfLine",!1,{description:Re(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:rn(new Mt(49,"fontFamily",an.fontFamily,{description:Re(0,"Controls the font family.")})),fontInfo:rn(new class extends At{constructor(){super(50)}compute(e,t,n){return e.fontInfo}}),fontLigatures2:rn(new _t),fontSize:rn(new class extends kt{constructor(){super(52,"fontSize",an.fontSize,{type:"number",minimum:6,maximum:100,default:an.fontSize,description:Re(0,"Controls the font size in pixels.")})}validate(e){const t=Dt.float(e,this.defaultValue);return 0===t?an.fontSize:Dt.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}}),fontWeight:rn(new Kt),fontVariations:rn(new Yt),formatOnPaste:rn(new Pt(55,"formatOnPaste",!1,{description:Re(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:rn(new Pt(56,"formatOnType",!1,{description:Re(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:rn(new Pt(57,"glyphMargin",!0,{description:Re(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:rn(new class extends Lt{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[Re(0,"Show Peek view of the results (default)"),Re(0,"Go to the primary result and show a Peek view"),Re(0,"Go to the primary result and enable Peek-less navigation to others")]},n=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.actio