UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

4 lines 2.66 MB
var R7=Object.defineProperty;var O7=(o,e,t)=>e in o?R7(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Ut=(o,e,t)=>(O7(o,typeof e!="symbol"?e+"":e,t),t);import{_ as de}from"../sdk.js";function P7(o,e){let t;return e.length===0?t=o:t=o.replace(/\{(\d+)\}/g,function(i,n){const s=n[0];return typeof e[s]<"u"?e[s]:i}),t}function f(o,e,...t){return P7(e,t)}var gv;const q_="en";let Mb=!1,Ab=!1,G_=!1,VA=!1,Bx=!1,Wx=!1,Wp,Z_=q_,F7,Qa;const Jt=typeof self=="object"?self:typeof global=="object"?global:{};let gn;typeof Jt.vscode<"u"&&typeof Jt.vscode.process<"u"?gn=Jt.vscode.process:typeof process<"u"&&(gn=process);const B7=typeof((gv=gn==null?void 0:gn.versions)===null||gv===void 0?void 0:gv.electron)=="string",W7=B7&&(gn==null?void 0:gn.type)==="renderer";if(typeof navigator=="object"&&!W7)Qa=navigator.userAgent,Mb=Qa.indexOf("Windows")>=0,Ab=Qa.indexOf("Macintosh")>=0,Wx=(Qa.indexOf("Macintosh")>=0||Qa.indexOf("iPad")>=0||Qa.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,G_=Qa.indexOf("Linux")>=0,Bx=!0,Wp=navigator.language,Z_=Wp;else if(typeof gn=="object"){Mb=gn.platform==="win32",Ab=gn.platform==="darwin",G_=gn.platform==="linux",G_&&gn.env.SNAP&&gn.env.SNAP_REVISION,gn.env.CI||gn.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Wp=q_,Z_=q_;const o=gn.env.VSCODE_NLS_CONFIG;if(o)try{const e=JSON.parse(o),t=e.availableLanguages["*"];Wp=e.locale,Z_=t||q_,F7=e._translationsConfigFile}catch{}VA=!0}else console.error("Unable to resolve platform.");const Pi=Mb,He=Ab,cn=G_,Ro=VA,Jl=Bx,V7=Bx&&typeof Jt.importScripts=="function",Bo=Wx,Nr=Qa,H7=Z_,HA=(()=>{if(typeof Jt.postMessage=="function"&&!Jt.importScripts){let o=[];Jt.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,n=o.length;i<n;i++){const s=o[i];if(s.id===t.data.vscodeScheduleAsyncWork){o.splice(i,1),s.callback();return}}});let e=0;return t=>{const i=++e;o.push({id:i,callback:t}),Jt.postMessage({vscodeScheduleAsyncWork:i},"*")}}return o=>setTimeout(o)})(),Es=Ab||Wx?2:Mb?1:3;let XE=!0,QE=!1;function zA(){if(!QE){QE=!0;const o=new Uint8Array(2);o[0]=1,o[1]=2,XE=new Uint16Array(o.buffer)[0]===512+1}return XE}const UA=!!(Nr&&Nr.indexOf("Chrome")>=0),z7=!!(Nr&&Nr.indexOf("Firefox")>=0),U7=!!(!UA&&Nr&&Nr.indexOf("Safari")>=0),$7=!!(Nr&&Nr.indexOf("Edg/")>=0);Nr&&Nr.indexOf("Android")>=0;const $A="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function j7(o=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of $A)o.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const Vx=j7();function jA(o){let e=Vx;if(o&&o instanceof RegExp)if(o.global)e=o;else{let t="g";o.ignoreCase&&(t+="i"),o.multiline&&(t+="m"),o.unicode&&(t+="u"),e=new RegExp(o.source,t)}return e.lastIndex=0,e}const K7={maxLen:1e3,windowSize:15,timeBudget:150};function Uf(o,e,t,i,n=K7){if(t.length>n.maxLen){let c=o-n.maxLen/2;return c<0?c=0:i+=c,t=t.substring(c,o+n.maxLen/2),Uf(o,e,t,i,n)}const s=Date.now(),r=o-1-i;let a=-1,l=null;for(let c=1;!(Date.now()-s>=n.timeBudget);c++){const d=r-n.windowSize*c;e.lastIndex=Math.max(0,d);const h=q7(e,t,r,a);if(!h&&l||(l=h,d<=0))break;a=d}if(l){const c={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return e.lastIndex=0,c}return null}function q7(o,e,t,i){let n;for(;n=o.exec(e);){const s=n.index||0;if(s<=t&&o.lastIndex>=t)return n;if(i>0&&s>i)return null}return null}function xs(o,e=0){return o[o.length-(1+e)]}function G7(o){if(o.length===0)throw new Error("Invalid tail call");return[o.slice(0,o.length-1),o[o.length-1]]}function _s(o,e,t=(i,n)=>i===n){if(o===e)return!0;if(!o||!e||o.length!==e.length)return!1;for(let i=0,n=o.length;i<n;i++)if(!t(o[i],e[i]))return!1;return!0}function Hx(o,e,t){let i=0,n=o.length-1;for(;i<=n;){const s=(i+n)/2|0,r=t(o[s],e);if(r<0)i=s+1;else if(r>0)n=s-1;else return s}return-(i+1)}function KA(o,e){let t=0,i=o.length;if(i===0)return 0;for(;t<i;){const n=Math.floor((t+i)/2);e(o[n])?i=n:t=n+1}return t}function DS(o,e,t){if(o=o|0,o>=e.length)throw new TypeError("invalid index");let i=e[Math.floor(e.length*Math.random())],n=[],s=[],r=[];for(let a of e){const l=t(a,i);l<0?n.push(a):l>0?s.push(a):r.push(a)}return o<n.length?DS(o,n,t):o<n.length+r.length?r[0]:DS(o-(n.length+r.length),s,t)}function JE(o,e){const t=[];let i;for(const n of o.slice(0).sort(e))!i||e(i[0],n)!==0?(i=[n],t.push(i)):i.push(n);return t}function Hd(o){return o.filter(e=>!!e)}function qA(o){return!Array.isArray(o)||o.length===0}function Zn(o){return Array.isArray(o)&&o.length>0}function Tl(o,e=t=>t){const t=new Set;return o.filter(i=>{const n=e(i);return t.has(n)?!1:(t.add(n),!0)})}function Z7(o,e){const t=Y7(o,e);if(t!==-1)return o[t]}function Y7(o,e){for(let t=o.length-1;t>=0;t--){const i=o[t];if(e(i))return t}return-1}function GA(o,e){return o.length>0?o[0]:e}function zx(o){return[].concat(...o)}function un(o,e){let t=typeof e=="number"?o:0;typeof e=="number"?t=o:(t=0,e=o);const i=[];if(t<=e)for(let n=t;n<e;n++)i.push(n);else for(let n=t;n>e;n--)i.push(n);return i}function f1(o,e,t){const i=o.slice(0,e),n=o.slice(e);return i.concat(t,n)}function fv(o,e){const t=o.indexOf(e);t>-1&&(o.splice(t,1),o.unshift(e))}function Vp(o,e){const t=o.indexOf(e);t>-1&&(o.splice(t,1),o.push(e))}function Ux(o){return Array.isArray(o)?o:[o]}function X7(o,e,t){const i=ZA(o,e),n=o.length,s=t.length;o.length=n+s;for(let r=n-1;r>=i;r--)o[r+s]=o[r];for(let r=0;r<s;r++)o[r+i]=t[r]}function eN(o,e,t,i){const n=ZA(o,e),s=o.splice(n,t);return X7(o,n,i),s}function ZA(o,e){return e<0?Math.max(e+o.length,0):Math.min(e,o.length)}function Y_(o,e){return(t,i)=>e(o(t),o(i))}const Q7=(o,e)=>o-e;function YA(o,e){if(o.length===0)return;let t=o[0];for(let i=1;i<o.length;i++){const n=o[i];e(n,t)>0&&(t=n)}return t}function J7(o,e){if(o.length===0)return;let t=o[0];for(let i=1;i<o.length;i++){const n=o[i];e(n,t)>=0&&(t=n)}return t}function e9(o,e){return YA(o,(t,i)=>-e(t,i))}class vu{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;const i=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,i}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){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}}function XA(o){return Array.isArray(o)}function Vs(o){return typeof o=="string"}function An(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)&&!(o instanceof RegExp)&&!(o instanceof Date)}function sd(o){return typeof o=="number"&&!isNaN(o)}function tN(o){return!!o&&typeof o[Symbol.iterator]=="function"}function QA(o){return o===!0||o===!1}function Kn(o){return typeof o>"u"}function t9(o){return!cs(o)}function cs(o){return Kn(o)||o===null}function _t(o,e){if(!o)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Hp(o){if(cs(o))throw new Error("Assertion Failed: argument is undefined or null");return o}function Rb(o){return typeof o=="function"}function i9(o,e){const t=Math.min(o.length,e.length);for(let i=0;i<t;i++)n9(o[i],e[i])}function n9(o,e){if(Vs(e)){if(typeof o!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Rb(e)){try{if(o instanceof e)return}catch{}if(!cs(o)&&o.constructor===e||e.length===1&&e.call(void 0,o)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function s9(o){let e=[],t=Object.getPrototypeOf(o);for(;Object.prototype!==t;)e=e.concat(Object.getOwnPropertyNames(t)),t=Object.getPrototypeOf(t);return e}function $x(o){const e=[];for(const t of s9(o))typeof o[t]=="function"&&e.push(t);return e}function o9(o,e){const t=n=>function(){const s=Array.prototype.slice.call(arguments,0);return e(n,s)};let i={};for(const n of o)i[n]=t(n);return i}function qn(o){return o===null?void 0:o}function jx(o,e="Unreachable"){throw new Error(e)}function ha(o){if(!o||typeof o!="object"||o instanceof RegExp)return o;const e=Array.isArray(o)?[]:{};return Object.keys(o).forEach(t=>{o[t]&&typeof o[t]=="object"?e[t]=ha(o[t]):e[t]=o[t]}),e}function r9(o){if(!o||typeof o!="object")return o;const e=[o];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(JA.call(t,i)){const n=t[i];typeof n=="object"&&!Object.isFrozen(n)&&e.push(n)}}return o}const JA=Object.prototype.hasOwnProperty;function a9(o,e){return xS(o,e,new Set)}function xS(o,e,t){if(cs(o))return o;const i=e(o);if(typeof i<"u")return i;if(XA(o)){const n=[];for(const s of o)n.push(xS(s,e,t));return n}if(An(o)){if(t.has(o))throw new Error("Cannot clone recursive data-structure");t.add(o);const n={};for(let s in o)JA.call(o,s)&&(n[s]=xS(o[s],e,t));return t.delete(o),n}return o}function Vr(o,e,t=!0){return An(o)?(An(e)&&Object.keys(e).forEach(i=>{i in o?t&&(An(o[i])&&An(e[i])?Vr(o[i],e[i],t):o[i]=e[i]):o[i]=e[i]}),o):e}function Ps(o,e){if(o===e)return!0;if(o==null||e===null||e===void 0||typeof o!=typeof e||typeof o!="object"||Array.isArray(o)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(o)){if(o.length!==e.length)return!1;for(t=0;t<o.length;t++)if(!Ps(o[t],e[t]))return!1}else{const n=[];for(i in o)n.push(i);n.sort();const s=[];for(i in e)s.push(i);if(s.sort(),!Ps(n,s))return!1;for(t=0;t<n.length;t++)if(!Ps(o[n[t]],e[n[t]]))return!1}return!0}function Xo(o,e,t){const i=e(o);return typeof i>"u"?t:i}const rn={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!1}},Ja=8;class eR{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class tR{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class vi{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return m1(e,t)}compute(e,t,i){return i}}class hf{constructor(e,t){this.newValue=e,this.didChange=t}}function m1(o,e){if(typeof o!="object"||typeof e!="object"||!o||!e)return new hf(e,o!==e);if(Array.isArray(o)||Array.isArray(e)){const i=Array.isArray(o)&&Array.isArray(e)&&_s(o,e);return new hf(e,i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const n=m1(o[i],e[i]);n.didChange&&(o[i]=n.newValue,t=!0)}return new hf(o,t)}class og{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return m1(e,t)}validate(e){return this.defaultValue}}class zd{constructor(e,t,i,n){this.id=e,this.name=t,this.defaultValue=i,this.schema=n}applyUpdate(e,t){return m1(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}}function Ce(o,e){return typeof o>"u"?e:o==="false"?!1:!!o}class Ge extends zd{constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="boolean",n.default=i),super(e,t,i,n)}validate(e){return Ce(e,this.defaultValue)}}function kS(o,e,t,i){if(typeof o>"u")return e;let n=parseInt(o,10);return isNaN(n)?e:(n=Math.max(t,n),n=Math.min(i,n),n|0)}class Et extends zd{constructor(e,t,i,n,s,r=void 0){typeof r<"u"&&(r.type="integer",r.default=i,r.minimum=n,r.maximum=s),super(e,t,i,r),this.minimum=n,this.maximum=s}static clampedInt(e,t,i,n){return kS(e,t,i,n)}validate(e){return Et.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}class vr extends zd{constructor(e,t,i,n,s){typeof s<"u"&&(s.type="number",s.default=i),super(e,t,i,s),this.validationFn=n}static clamp(e,t,i){return e<t?t:e>i?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}validate(e){return this.validationFn(vr.float(e,this.defaultValue))}}class $n extends zd{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,n=void 0){typeof n<"u"&&(n.type="string",n.default=i),super(e,t,i,n)}validate(e){return $n.string(e,this.defaultValue)}}function Tn(o,e,t){return typeof o!="string"||t.indexOf(o)===-1?e:o}class fi extends zd{constructor(e,t,i,n,s=void 0){typeof s<"u"&&(s.type="string",s.enum=n,s.default=i),super(e,t,i,s),this._allowedValues=n}validate(e){return Tn(e,this.defaultValue,this._allowedValues)}}class Ig extends vi{constructor(e,t,i,n,s,r,a=void 0){typeof a<"u"&&(a.type="string",a.enum=s,a.default=n),super(e,t,i,a),this._allowedValues=s,this._convert=r}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function l9(o){switch(o){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class c9 extends vi{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[f("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),f("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled."),f("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:"auto",description:f("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class d9 extends vi{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(19,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:f("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:f("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:Ce(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:Ce(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function h9(o){switch(o){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var Ri;(function(o){o[o.Line=1]="Line",o[o.Block=2]="Block",o[o.Underline=3]="Underline",o[o.LineThin=4]="LineThin",o[o.BlockOutline=5]="BlockOutline",o[o.UnderlineThin=6]="UnderlineThin"})(Ri||(Ri={}));function u9(o){switch(o){case"line":return Ri.Line;case"block":return Ri.Block;case"underline":return Ri.Underline;case"line-thin":return Ri.LineThin;case"block-outline":return Ri.BlockOutline;case"underline-thin":return Ri.UnderlineThin}}class g9 extends og{constructor(){super(128)}compute(e,t,i){const n=["monaco-editor"];return t.get(33)&&n.push(t.get(33)),e.extraEditorClassName&&n.push(e.extraEditorClassName),t.get(66)==="default"?n.push("mouse-default"):t.get(66)==="copy"&&n.push("mouse-copy"),t.get(100)&&n.push("showUnused"),t.get(126)&&n.push("showDeprecated"),n.join(" ")}}class f9 extends Ge{constructor(){super(32,"emptySelectionClipboard",!0,{description:f("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class m9 extends vi{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(35,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:f("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[f("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),f("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),f("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:f("find.seedSearchStringFromSelection","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:[f("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),f("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),f("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:f("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:f("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:He},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:f("find.addExtraSpaceOnTop","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:f("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:Ce(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":Tn(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":Tn(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:Ce(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:Ce(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:Ce(t.loop,this.defaultValue.loop)}}}class ds extends vi{constructor(){super(45,"fontLigatures",ds.OFF,{anyOf:[{type:"boolean",description:f("fontLigatures","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:f("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:f("fontLigaturesGeneral","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 typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?ds.OFF:e==="true"?ds.ON:e:e?ds.ON:ds.OFF}}ds.OFF='"liga" off, "calt" off';ds.ON='"liga" on, "calt" on';class p9 extends og{constructor(){super(44)}compute(e,t,i){return e.fontInfo}}class _9 extends zd{constructor(){super(46,"fontSize",ln.fontSize,{type:"number",minimum:6,maximum:100,default:ln.fontSize,description:f("fontSize","Controls the font size in pixels.")})}validate(e){const t=vr.float(e,this.defaultValue);return t===0?ln.fontSize:vr.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class mr extends vi{constructor(){super(47,"fontWeight",ln.fontWeight,{anyOf:[{type:"number",minimum:mr.MINIMUM_VALUE,maximum:mr.MAXIMUM_VALUE,errorMessage:f("fontWeightErrorMessage",'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:mr.SUGGESTION_VALUES}],default:ln.fontWeight,description:f("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(Et.clampedInt(e,ln.fontWeight,mr.MINIMUM_VALUE,mr.MAXIMUM_VALUE))}}mr.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"];mr.MINIMUM_VALUE=1;mr.MAXIMUM_VALUE=1e3;class b9 extends vi{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:[f("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),f("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),f("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(51,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:f("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":Object.assign({description:f("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:f("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:f("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:f("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},t),"editor.gotoLocation.multipleReferences":Object.assign({description:f("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:f("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:f("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:f("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:f("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:f("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,n,s,r;if(!e||typeof e!="object")return this.defaultValue;const a=e;return{multiple:Tn(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=a.multipleDefinitions)!==null&&t!==void 0?t:Tn(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=a.multipleTypeDefinitions)!==null&&i!==void 0?i:Tn(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(n=a.multipleDeclarations)!==null&&n!==void 0?n:Tn(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(s=a.multipleImplementations)!==null&&s!==void 0?s:Tn(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(r=a.multipleReferences)!==null&&r!==void 0?r:Tn(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:$n.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:$n.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:$n.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:$n.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:$n.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class C9 extends vi{constructor(){const e={enabled:!0,delay:300,sticky:!0,above:!0};super(53,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:f("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:f("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:f("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:e.above,description:f("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ce(t.enabled,this.defaultValue.enabled),delay:Et.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:Ce(t.sticky,this.defaultValue.sticky),above:Ce(t.above,this.defaultValue.above)}}}class eu extends og{constructor(){super(131)}compute(e,t,i){return eu.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})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=e.scrollBeyondLastLine?t-1:0,n=(e.viewLineCount+i)/(e.pixelRatio*e.height),s=Math.floor(e.viewLineCount/n);return{typicalViewportLineCount:t,extraLinesBeyondLastLine:i,desiredRatio:n,minimapLineCount:s}}static _computeMinimapLayout(e,t){const i=e.outerWidth,n=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*n),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:n};const r=t.stableMinimapLayoutInput,a=r&&e.outerHeight===r.outerHeight&&e.lineHeight===r.lineHeight&&e.typicalHalfwidthCharacterWidth===r.typicalHalfwidthCharacterWidth&&e.pixelRatio===r.pixelRatio&&e.scrollBeyondLastLine===r.scrollBeyondLastLine&&e.minimap.enabled===r.minimap.enabled&&e.minimap.side===r.minimap.side&&e.minimap.size===r.minimap.size&&e.minimap.showSlider===r.minimap.showSlider&&e.minimap.renderCharacters===r.minimap.renderCharacters&&e.minimap.maxColumn===r.minimap.maxColumn&&e.minimap.scale===r.minimap.scale&&e.verticalScrollbarWidth===r.verticalScrollbarWidth&&e.isViewportWrapping===r.isViewportWrapping,l=e.lineHeight,c=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,h=e.minimap.renderCharacters;let u=s>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const g=e.minimap.maxColumn,m=e.minimap.size,_=e.minimap.side,b=e.verticalScrollbarWidth,v=e.viewLineCount,C=e.remainingWidth,w=e.isViewportWrapping,S=h?2:3;let L=Math.floor(s*n);const k=L/s;let y=!1,x=!1,N=S*u,F=u/s,P=1;if(m==="fill"||m==="fit"){const{typicalViewportLineCount:De,extraLinesBeyondLastLine:Pe,desiredRatio:Vt,minimapLineCount:wt}=eu.computeContainedMinimapLineCount({viewLineCount:v,scrollBeyondLastLine:d,height:n,lineHeight:l,pixelRatio:s});if(v/wt>1)y=!0,x=!0,u=1,N=1,F=u/s;else{let fe=!1,mt=u+1;if(m==="fit"){const Wn=Math.ceil((v+Pe)*N);w&&a&&C<=t.stableFitRemainingWidth?(fe=!0,mt=t.stableFitMaxMinimapScale):fe=Wn>L}if(m==="fill"||fe){y=!0;const Wn=u;N=Math.min(l*s,Math.max(1,Math.floor(1/Vt))),w&&a&&C<=t.stableFitRemainingWidth&&(mt=t.stableFitMaxMinimapScale),u=Math.min(mt,Math.max(1,Math.floor(N/S))),u>Wn&&(P=Math.min(2,u/Wn)),F=u/s/P,L=Math.ceil(Math.max(De,v+Pe)*N),w?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=C,t.stableFitMaxMinimapScale=u):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const j=Math.floor(g*F),K=Math.min(j,Math.max(0,Math.floor((C-b-2)*F/(c+F)))+Ja);let he=Math.floor(s*K);const le=he/s;he=Math.floor(he*P);const we=h?1:2,ke=_==="left"?0:i-K-b;return{renderMinimap:we,minimapLeft:ke,minimapWidth:K,minimapHeightIsEditorHeight:y,minimapIsSampling:x,minimapScale:u,minimapLineHeight:N,minimapCanvasInnerWidth:he,minimapCanvasInnerHeight:L,minimapCanvasOuterWidth:le,minimapCanvasOuterHeight:k}}static computeLayout(e,t){const i=t.outerWidth|0,n=t.outerHeight|0,s=t.lineHeight|0,r=t.lineNumbersDigitCount|0,a=t.typicalHalfwidthCharacterWidth,l=t.maxDigitWidth,c=t.pixelRatio,d=t.viewLineCount,h=e.get(123),u=h==="inherit"?e.get(122):h,g=u==="inherit"?e.get(118):u,m=e.get(121),_=e.get(2),b=t.isDominatedByLongLines,v=e.get(50),C=e.get(60).renderType!==0,w=e.get(61),S=e.get(94),L=e.get(65),k=e.get(92),y=k.verticalScrollbarSize,x=k.verticalHasArrows,N=k.arrowSize,F=k.horizontalScrollbarSize,P=e.get(58),j=e.get(37);let K;if(typeof P=="string"&&/^\d+(\.\d+)?ch$/.test(P)){const Zo=parseFloat(P.substr(0,P.length-2));K=Et.clampedInt(Zo*a,0,0,1e3)}else K=Et.clampedInt(P,0,0,1e3);j&&(K+=16);let he=0;if(C){const Zo=Math.max(r,w);he=Math.round(Zo*l)}let le=0;v&&(le=s);let we=0,ke=we+le,De=ke+he,Pe=De+K;const Vt=i-le-he-K;let wt=!1,me=!1,fe=-1;_!==2&&(u==="inherit"&&b?(wt=!0,me=!0):g==="on"||g==="bounded"?me=!0:g==="wordWrapColumn"&&(fe=m));const mt=eu._computeMinimapLayout({outerWidth:i,outerHeight:n,lineHeight:s,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:S,minimap:L,verticalScrollbarWidth:y,viewLineCount:d,remainingWidth:Vt,isViewportWrapping:me},t.memory||new tR);mt.renderMinimap!==0&&mt.minimapLeft===0&&(we+=mt.minimapWidth,ke+=mt.minimapWidth,De+=mt.minimapWidth,Pe+=mt.minimapWidth);const Wn=Vt-mt.minimapWidth,yn=Math.max(1,Math.floor((Wn-y-2)/a)),Co=x?N:0;return me&&(fe=Math.max(1,yn),g==="bounded"&&(fe=Math.min(fe,m))),{width:i,height:n,glyphMarginLeft:we,glyphMarginWidth:le,lineNumbersLeft:ke,lineNumbersWidth:he,decorationsLeft:De,decorationsWidth:K,contentLeft:Pe,contentWidth:Wn,minimap:mt,viewportColumn:yn,isWordWrapMinified:wt,isViewportWrapping:me,wrappingColumn:fe,verticalScrollbarWidth:y,horizontalScrollbarHeight:F,overviewRuler:{top:Co,width:y,height:n-2*Co,right:0}}}}class v9 extends vi{constructor(){const e={enabled:!0};super(57,"lightbulb",e,{"editor.lightbulb.enabled":{type:"boolean",default:e.enabled,description:f("codeActions","Enables the code action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Ce(e.enabled,this.defaultValue.enabled)}}}class w9 extends vi{constructor(){const e={enabled:!0,fontSize:0,fontFamily:""};super(127,"inlayHints",e,{"editor.inlayHints.enabled":{type:"boolean",default:e.enabled,description:f("inlayHints.enable","Enables the inlay hints in the editor.")},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:f("inlayHints.fontSize","Controls font size of inlay hints in the editor. A default of 90% of `#editor.fontSize#` is used when the configured value is less than `5` or greater than the editor font size.")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:f("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the `#editor.fontFamily#` is used.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ce(t.enabled,this.defaultValue.enabled),fontSize:Et.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:$n.string(t.fontFamily,this.defaultValue.fontFamily)}}}class S9 extends vr{constructor(){super(59,"lineHeight",ln.lineHeight,e=>vr.clamp(e,0,150),{markdownDescription:f("lineHeight",`Controls the line height. - Use 0 to automatically compute the line height from the font size. - Values between 0 and 8 will be used as a multiplier with the font size. - Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,i){return e.fontInfo.lineHeight}}class y9 extends vi{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};super(65,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:f("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[f("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),f("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),f("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:f("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:f("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:f("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:f("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:f("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:f("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ce(t.enabled,this.defaultValue.enabled),size:Tn(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:Tn(t.side,this.defaultValue.side,["right","left"]),showSlider:Tn(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:Ce(t.renderCharacters,this.defaultValue.renderCharacters),scale:Et.clampedInt(t.scale,1,1,3),maxColumn:Et.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}function L9(o){return o==="ctrlCmd"?He?"metaKey":"ctrlKey":"altKey"}class D9 extends vi{constructor(){super(75,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:f("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:f("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:Et.clampedInt(t.top,0,0,1e3),bottom:Et.clampedInt(t.bottom,0,0,1e3)}}}class x9 extends vi{constructor(){const e={enabled:!0,cycle:!1};super(76,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:f("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:f("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ce(t.enabled,this.defaultValue.enabled),cycle:Ce(t.cycle,this.defaultValue.cycle)}}}class k9 extends og{constructor(){super(129)}compute(e,t,i){return e.pixelRatio}}class I9 extends vi{constructor(){const e={other:!0,comments:!1,strings:!1};super(79,"quickSuggestions",e,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:e.strings,description:f("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:e.comments,description:f("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:e.other,description:f("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}}}],default:e,description:f("quickSuggestions","Controls whether suggestions should automatically show up while typing.")}),this.defaultValue=e}validate(e){if(typeof e=="boolean")return e;if(e&&typeof e=="object"){const t=e,i={other:Ce(t.other,this.defaultValue.other),comments:Ce(t.comments,this.defaultValue.comments),strings:Ce(t.strings,this.defaultValue.strings)};return i.other&&i.comments&&i.strings?!0:!i.other&&!i.comments&&!i.strings?!1:i}return this.defaultValue}}class E9 extends vi{constructor(){super(60,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[f("lineNumbers.off","Line numbers are not rendered."),f("lineNumbers.on","Line numbers are rendered as absolute number."),f("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),f("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:f("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function Ob(o){const e=o.get(87);return e==="editable"?o.get(81):e!=="on"}class N9 extends vi{constructor(){const e=[],t={type:"number",description:f("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(91,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:f("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:f("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(let i of e)if(typeof i=="number")t.push({column:Et.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const n=i;t.push({column:Et.clampedInt(n.column,0,0,1e4),color:n.color})}return t.sort((i,n)=>i.column-n.column),t}return this.defaultValue}}function iN(o,e){if(typeof o!="string")return e;switch(o){case"hidden":return 2;case"visible":return 3;default:return 1}}let T9=class extends vi{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(92,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[f("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),f("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),f("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:f("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[f("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),f("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),f("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:f("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:f("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:f("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:f("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=Et.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),n=Et.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Et.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:iN(t.vertical,this.defaultValue.vertical),horizontal:iN(t.horizontal,this.defaultValue.horizontal),useShadows:Ce(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:Ce(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:Ce(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:Ce(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:Ce(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:Et.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:n,verticalSliderSize:Et.clampedInt(t.verticalSliderSize,n,0,1e3),scrollByPage:Ce(t.scrollByPage,this.defaultValue.scrollByPage)}}};const as="inUntrustedWorkspace",Nn={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class M9 extends vi{constructor(){const e={nonBasicASCII:as,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:as,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(113,"unicodeHighlight",e,{[Nn.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,as],default:e.nonBasicASCII,description:f("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Nn.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:f("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[Nn.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:f("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Nn.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,as],default:e.includeComments,description:f("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to unicode highlighting.")},[Nn.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,as],default:e.includeStrings,description:f("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to unicode highlighting.")},[Nn.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:f("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Nn.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:f("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&(Ps(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),i=!0)),t.allowedLocales&&(Ps(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),i=!0));const n=super.applyUpdate(e,t);return i?new hf(n.newValue,!0):n}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:uf(t.nonBasicASCII,as,[!0,!1,as]),invisibleCharacters:Ce(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:Ce(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:uf(t.includeComments,as,[!0,!1,as]),includeStrings:uf(t.includeStrings,as,[!0,!1,as]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[n,s]of Object.entries(e))s===!0&&(i[n]=!0);return i}}class A9 extends vi{constructor(){const e={enabled:!0,mode:"subwordSmart"};super(55,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:f("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:Ce(t.enabled,this.defaultValue.enabled),mode:Tn(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"])}}}class R9 extends vi{constructor(){const e={enabled:rn.bracketPairColorizationOptions.enabled};super(12,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,description:f("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:Ce(e.enabled,this.defaultValue.enabled)}}}class O9 extends vi{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[f("editor.guides.bracketPairs.true","Enables bracket pair guides."),f("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),f("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:f("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[f("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),f("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),f("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:f("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:f("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:f("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:"boolean",default:e.highlightActiveIndentation,description:f("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:uf(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:uf(t.bracketPairsHorizontal,t