@opensumi/cli-engine 3.9.1-next-1763090659.0 → 3.9.1-next-1763107249.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33312,7 +33312,7 @@ ${y}`)}return this.keybindingsChanged.fire({affectsCommands:[f.command]}),{dispo
33312
33312
  `},{label:"CRLF",value:`\r
33313
33313
  `}],{placeholder:(0,o.localize)("editor.changeEol"),selectIndex:()=>H.currentDocumentModel.eol===`
33314
33314
  `?0:1});K&&this.editorDocumentModelService.changeModelOptions(V.uri,{eol:K})}}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS,{execute:async()=>{this.workbenchEditorService.currentEditor&&this.workbenchEditorService.currentEditor.monacoEditor.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_NEXT,{execute:async()=>{let V=this.workbenchEditorService.currentEditorGroup.index+1;return this.workbenchEditorService.editorGroups.length<=V&&(V=0),this.workbenchEditorService.sortedEditorGroups[V].focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_PREVIOUS,{execute:async()=>{let V=this.workbenchEditorService.currentEditorGroup.index-1;return V<0&&(V=this.workbenchEditorService.editorGroups.length-1),this.workbenchEditorService.sortedEditorGroups[V].focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_UP,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.UP);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_DOWN,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.DOWN);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_LEFT,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.LEFT);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_RIGHT,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.RIGHT);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.PREVIOUS_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))-1;return V.resources[H]?V.open(V.resources[H].uri,{focus:!0}):V.open(V.resources[0].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.NEXT_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))+1;return V.resources[H]?V.open(V.resources[H].uri,{focus:!0}):V.open(V.resources[V.resources.length-1].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.NEXT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))+1;if(V.resources[H])return V.open(V.resources[H].uri,{focus:!0});{const K=V.index===this.workbenchEditorService.editorGroups.length-1?0:V.index+1,Y=this.workbenchEditorService.sortedEditorGroups[K];return Y.focus(),Y.open(Y.resources[0].uri,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.PREVIOUS,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))-1;if(V.resources[H])return V.open(V.resources[H].uri,{focus:!0});{const K=V.index===0?this.workbenchEditorService.editorGroups.length-1:V.index-1,Y=this.workbenchEditorService.sortedEditorGroups[K];return Y.focus(),Y.open(Y.resources[Y.resources.length-1].uri,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.LAST_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.resources.length>0)return V.open(V.resources[V.resources.length-1].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.EVEN_EDITOR_GROUPS,{execute:async()=>{this.injector.get(o.IEventBus).fire(new N.EditorGroupsResetSizeEvent)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_OTHER_GROUPS,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;this.workbenchEditorService.editorGroups.filter(K=>K!==V).forEach(K=>{K.dispose()})}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_EDITOR_AT_INDEX,{execute:async V=>{const H=this.workbenchEditorService.currentEditorGroup,K=H.resources[V];K&&await H.open(K.uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.REVERT_DOCUMENT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.isCodeEditorMode()){const H=V.codeEditor.currentDocumentModel;H&&await H.revert()}}}),G.registerCommand(o.EDITOR_COMMANDS.REVERT_AND_CLOSE,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.isCodeEditorMode()){const H=V.codeEditor.currentDocumentModel;H&&await H.revert(),V.close(V.currentResource.uri)}}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_ALL,{execute:async V=>{this.workbenchEditorService.saveAll(void 0,V)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_ALL,{execute:async V=>{this.workbenchEditorService.closeAll(V)}}),G.registerCommand(o.EDITOR_COMMANDS.REOPEN_CLOSED,{execute:async()=>{this.historyService.popClosed()}}),G.registerCommand(o.EDITOR_COMMANDS.NEW_UNTITLED_FILE,{execute:()=>{this.workbenchEditorService.createUntitledResource()}}),G.registerCommand(o.EDITOR_COMMANDS.COMPONENT_UNDO,{execute:()=>{this.workbenchEditorService.currentEditorGroup.componentUndo()}}),G.registerCommand(o.EDITOR_COMMANDS.COMPONENT_REDO,{execute:()=>{this.workbenchEditorService.currentEditorGroup.componentRedo()}}),G.registerCommand(o.EDITOR_COMMANDS.TEST_TOKENIZE,{execute:()=>{const V=this.workbenchEditorService.currentCodeEditor;if(V){const H=V.getSelections();if(H&&H.length>0&&V.currentDocumentModel){const{selectionStartLineNumber:K,selectionStartColumn:Y,positionLineNumber:X,positionColumn:re}=H[0],oe=V.currentDocumentModel.getText(new h.Range(K,Y,X,re));this.monacoService.testTokenize(oe,V.currentDocumentModel.languageId)}}}}),G.registerCommand(o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL,{execute:()=>this.prefixQuickOpenService.open("#")}),G.registerCommand(o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS,{execute:()=>this.prefixQuickOpenService.open("##")}),G.registerCommand(o.EDITOR_COMMANDS.GO_TO_LINE,{execute:()=>this.prefixQuickOpenService.open(":")}),G.registerCommand(o.EDITOR_COMMANDS.TOGGLE_COLUMN_SELECTION,{execute:()=>{const V=this.preferenceService.get("editor.columnSelection");this.preferenceService.set("editor.columnSelection",!V,s.PreferenceScope.User)}}),G.registerCommand(o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP,{execute:()=>{const V=this.preferenceService.get("editor.wordWrap");if(V){const H=["off","on"],K=H.indexOf(V)+1;K>-1&&this.preferenceService.set("editor.wordWrap",H[K%H.length],s.PreferenceScope.User)}}}),G.registerCommand(o.EDITOR_COMMANDS.FORMAT_DOCUMENT_WITH,{execute:async()=>{this.injector.get(T.DocumentFormatService).formatDocumentWith()}}),G.registerCommand(o.EDITOR_COMMANDS.FORMAT_SELECTION_WITH,{execute:async()=>{this.injector.get(T.DocumentFormatService).formatSelectionWith()}}),G.registerCommand({id:o.EDITOR_COMMANDS.VSCODE_OPEN_MULTI_DIFF_EDITOR_COMMAND_ID},{execute:async V=>{const H=[];for(const{originalUri:Y,modifiedUri:X}of V.resources)H.push(new y.MultiDiffEditorItem(Y?o.URI.from(Y):void 0,X?o.URI.from(X):void 0,X?o.URI.from(X):void 0));const K=o.URI.from(V.multiDiffSourceUri);this.multiDiffResolver.registerSources(K,H),await this.workbenchEditorService.open(K,{label:V.title,...V.editorOptions})}})}registerMenus(G){G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.COPY_PATH.id,group:"10_path",order:1}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.COPY_RELATIVE_PATH.id,group:"10_path",order:2}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:o.EDITOR_COMMANDS.COPY_PATH.id,group:"0_path",order:1}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:o.EDITOR_COMMANDS.COPY_RELATIVE_PATH.id,group:"0_path",order:2}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:{id:o.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,label:(0,o.localize)("file.revealInExplorer")},group:"1_file",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:{id:o.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,label:(0,o.localize)("file.revealInExplorer")},group:"6_file",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_LEFT.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_TOP.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:{id:o.EDITOR_COMMANDS.CLOSE.id,label:(0,o.localize)("editor.title.context.close")},group:"0_tab",order:1}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,group:"0_tab",order:2}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_SAVED.id,group:"0_tab",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP.id,group:"0_tab",order:4}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_TO_RIGHT.id,group:"0_tab",order:5}),G.registerMenuItem(_.MenuId.EditorTitle,{command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,group:"0_internal"}),G.registerMenuItem(_.MenuId.EditorTitle,{command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,iconClass:(0,o.getIcon)("embed"),group:"navigation",when:"resource",order:5}),G.registerMenuItem(_.MenuId.EditorContext,{command:o.EDITOR_COMMANDS.FORMAT_DOCUMENT_WITH.id,group:"1_modification",order:1.3,when:u.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasMultipleDocumentFormattingProvider)}),G.registerMenuItem(_.MenuId.EditorContext,{command:o.EDITOR_COMMANDS.FORMAT_SELECTION_WITH.id,when:u.ContextKeyExpr.and(d.EditorContextKeys.writable,d.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider,d.EditorContextKeys.hasNonEmptySelection),group:"1_modification",order:1.31})}registerOpener(G){G.registerOpener(this.editorOpener)}registerQuickOpenHandlers(G){G.registerHandler(this.workspaceSymbolQuickOpenHandler,{title:(0,o.localize)("quickopen.tab.symbol"),order:3,commandId:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id,sub:{"#":{title:(0,o.localize)("quickopen.tab.class"),order:2,commandId:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS.id}}}),G.registerHandler(this.goToLineQuickOpenHandler,{title:(0,o.localize)("quickopen.tab.goToLine"),commandId:o.EDITOR_COMMANDS.GO_TO_LINE.id,order:5})}};t.EditorContribution=Q,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],Q.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],Q.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(f.WorkbenchEditorService),n.__metadata("design:type",j.WorkbenchEditorServiceImpl)],Q.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",I.EditorStatusBarService)],Q.prototype,"editorStatusBarService",void 0),n.__decorate([(0,r.Autowired)(o.QuickPickService),n.__metadata("design:type",Object)],Q.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(f.ILanguageService),n.__metadata("design:type",Object)],Q.prototype,"languagesService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelService),n.__metadata("design:type",Object)],Q.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(f.IDocPersistentCacheProvider),n.__metadata("design:type",Object)],Q.prototype,"cacheProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",M.EditorHistoryService)],Q.prototype,"historyService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.MonacoService)],Q.prototype,"monacoService",void 0),n.__decorate([(0,r.Autowired)(o.IOpenerService),n.__metadata("design:type",Object)],Q.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(s.ILogger),n.__metadata("design:type",Object)],Q.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",S.EditorOpener)],Q.prototype,"editorOpener",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],Q.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",L.WorkspaceSymbolQuickOpenHandler)],Q.prototype,"workspaceSymbolQuickOpenHandler",void 0),n.__decorate([(0,r.Autowired)(o.PrefixQuickOpenService),n.__metadata("design:type",Object)],Q.prototype,"prefixQuickOpenService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",F.GoToLineQuickOpenHandler)],Q.prototype,"goToLineQuickOpenHandler",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],Q.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.ITextmateTokenizer),n.__metadata("design:type",Object)],Q.prototype,"textmateService",void 0),n.__decorate([(0,r.Autowired)(o.CorePreferences),n.__metadata("design:type",Object)],Q.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(g.MergeEditorService),n.__metadata("design:type",g.MergeEditorService)],Q.prototype,"mergeEditorService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],Q.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(o.IQuickInputService),n.__metadata("design:type",Object)],Q.prototype,"quickInputService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],Q.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(f.ResourceService),n.__metadata("design:type",f.ResourceService)],Q.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractContextMenuService),n.__metadata("design:type",v.AbstractContextMenuService)],Q.prototype,"contextMenuService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],Q.prototype,"globalContextKeyService",void 0),n.__decorate([(0,r.Autowired)(m.ICtxMenuRenderer),n.__metadata("design:type",m.ICtxMenuRenderer)],Q.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(x.MultiDiffResolver),n.__metadata("design:type",x.MultiDiffResolver)],Q.prototype,"multiDiffResolver",void 0),t.EditorContribution=Q=n.__decorate([(0,o.Domain)(o.CommandContribution,o.ClientAppContribution,o.KeybindingContribution,o.MonacoContribution,l.ComponentContribution,_.MenuContribution,o.OpenerContribution,o.QuickOpenContribution)],Q);let $=class{registerEditorFeature(G){G.registerEditorFeatureContribution({contribute:V=>{const H=new o.Disposable;return H.addDispose(V.monacoEditor.onDidBlurEditorWidget(()=>{this.preferenceService.get("editor.autoSave")===c.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE&&V.currentDocumentModel&&!V.currentDocumentModel.closeAutoSave&&V.currentDocumentModel.dirty&&V.currentDocumentModel.savable&&V.currentDocumentModel.save(void 0,f.SaveReason.FocusOut)})),H.addDispose(V.monacoEditor.onDidChangeModel(K=>{if(this.preferenceService.get("editor.autoSave")===c.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE&&K.oldModelUrl){const Y=new o.URI(K.oldModelUrl.toString()),X=this.editorDocumentService.getModelReference(Y,"editor-focus-autosave");X&&!X.instance.closeAutoSave&&X.instance.dirty&&X.instance.savable&&X.instance.save(void 0,f.SaveReason.FocusOut),X?.dispose()}})),H}}),window.addEventListener("blur",()=>{this.preferenceService.get("editor.autoSave")===c.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS&&this.commandService.executeCommand(o.EDITOR_COMMANDS.SAVE_ALL.id,f.SaveReason.FocusOut)}),this.preferenceSettings.setEnumLabels("editor.autoSave",{[c.AUTO_SAVE_MODE.OFF]:(0,o.localize)("editor.autoSave.enum.off"),[c.AUTO_SAVE_MODE.AFTER_DELAY]:(0,o.localize)("editor.autoSave.enum.afterDelay"),[c.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE]:(0,o.localize)("editor.autoSave.enum.editorFocusChange"),[c.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS]:(0,o.localize)("editor.autoSave.enum.windowLostFocus")}),G.registerEditorFeatureContribution(new W.EditorTopPaddingContribution),G.registerEditorFeatureContribution(this.injector.get(U.EditorSuggestWidgetContribution)),this.registerAutoSaveConfigurationChange()}registerAutoSaveConfigurationChange(){this.preferenceService.onSpecificPreferenceChange("editor.autoSave",G=>{const V=G.newValue;if(V!==c.AUTO_SAVE_MODE.OFF){let H=f.SaveReason.FocusOut;V===c.AUTO_SAVE_MODE.AFTER_DELAY&&(H=f.SaveReason.AfterDelay);for(const K of this.workbenchEditorService.editorGroups)for(const Y of K.resources)G.affects(Y?.uri.toString())&&K.saveResource(Y,H)}})}registerCommands(G){G.registerCommand(o.EDITOR_COMMANDS.AUTO_SAVE,{execute:()=>{const V="editor.autoSave",H=this.preferenceSettings.getPreference(V,s.PreferenceScope.User).value||c.AUTO_SAVE_MODE.OFF,K=[c.AUTO_SAVE_MODE.AFTER_DELAY,c.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE,c.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS].includes(H)?c.AUTO_SAVE_MODE.OFF:c.AUTO_SAVE_MODE.AFTER_DELAY;return this.preferenceSettings.setPreference(V,K,s.PreferenceScope.User)}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_PATH,{execute:V=>{V&&this.commandService.executeCommand(o.FILE_COMMANDS.COPY_PATH.id,V.uri)}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_RELATIVE_PATH,{execute:V=>{V&&this.commandService.executeCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,V.uri)}})}};t.EditorAutoSaveEditorContribution=$,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],$.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],$.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(f.WorkbenchEditorService),n.__metadata("design:type",j.WorkbenchEditorServiceImpl)],$.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],$.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelService),n.__metadata("design:type",Object)],$.prototype,"editorDocumentService",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],$.prototype,"preferenceSettings",void 0),t.EditorAutoSaveEditorContribution=$=n.__decorate([(0,o.Domain)(N.BrowserEditorContribution,o.CommandContribution)],$)},2863:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDecorationCollectionService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(52416),v=e(10045),m=e(82196);let p=n=class{constructor(){this.decorations=new Map,this.tempId=0,this.decorationProviders=new Map}getNextTempId(){return this.tempId++,"temp-decoration-"+this.tempId}createTextEditorDecorationType(g,a){a||(a=this.getNextTempId());const h=this.resolveDecoration(a,g),d={key:a,property:h,dispose:()=>{a&&this.decorations.has(a)&&(h.dispose(),this.decorations.delete(a),this.eventBus.fire(new m.EditorDecorationTypeRemovedEvent(a)))}};return this.decorations.set(a,d),d}getTextEditorDecorationType(g){return this.decorations.get(g)}resolveDecoration(g,a){const h=this.createThemeCSSStyleCollection(g,a);return{default:h.default,light:h.light,dark:h.dark,isWholeLine:a.isWholeLine||!1,overviewRulerLane:a.overviewRulerLane,dispose:()=>{h.dispose()}}}createThemeCSSStyleCollection(g,a){const h=new l.DisposableStore,u={default:this.addedThemeDecorationToCSSStyleSheet(g,a),light:null,dark:null,dispose:()=>{h.dispose()}};if(a.light){const E=this.addedThemeDecorationToCSSStyleSheet(g+"-light",a.light);u.light=E,h.add(E)}if(a.dark){const E=this.addedThemeDecorationToCSSStyleSheet(g+"-dark",a.dark);u.dark=E,h.add(E)}return u}addedThemeDecorationToCSSStyleSheet(g,a){const h=g,d=g+"-inline",u=new l.DisposableStore;let E,f,c;const y=this.createInlineBlockCSSStyleIfNeeded(),b=this.resolveCSSStyle(a),A=this.resolveInlineCSSStyle(a);if(u.add(this.cssManager.addClass(h,b)),u.add(this.cssManager.addClass(d,A)),a.after){const S=`${g}-after`,D=this.resolveContentCSSStyle(a.after);u.add(this.cssManager.addClass(S+"::after",D)),E=`${y} ${S}`}if(a.before){const S=`${g}-before`,D=this.resolveContentCSSStyle(a.before);u.add(this.cssManager.addClass(S+"::before",D)),f=`${y} ${S}`}if(a.gutterIconPath){const S=this.resolveCSSStyle({backgroundIconSize:a.gutterIconSize,backgroundIcon:a.gutterIconPath.toString()});c=g+"-glyphMargin",u.add(this.cssManager.addClass(c,S))}return{className:h,inlineClassName:d,afterContentClassName:E,beforeContentClassName:f,glyphMarginClassName:c,overviewRulerColor:a.overviewRulerColor,dispose(){return u.dispose()}}}resolveCSSStyle(g){var a;const h=!((a=g.backgroundIcon)===null||a===void 0)&&a.startsWith("data:")?this.iconService.encodeBase64Path(decodeURIComponent(g.backgroundIcon)):g.backgroundIcon;return{backgroundColor:this.themeService.getColorVar(g.backgroundColor),background:g.backgroundIcon?`url("${h}") center center no-repeat`:void 0,backgroundSize:g.backgroundIconSize?`${g.backgroundIconSize}`:void 0,outline:g.outline,outlineColor:g.outlineColor,outlineStyle:g.outlineStyle,outlineWidth:g.outlineWidth,border:g.border,borderColor:this.themeService.getColorVar(g.borderColor),borderRadius:g.borderRadius,borderSpacing:g.borderSpacing,borderStyle:g.borderStyle,borderWidth:g.borderWidth}}resolveInlineCSSStyle(g){return{fontStyle:g.fontStyle,fontWeight:g.fontWeight,textDecoration:g.textDecoration,textUnderlinePosition:g.textUnderlinePosition,cursor:g.cursor,color:this.themeService.getColorVar(g.color),opacity:g.opacity,letterSpacing:g.letterSpacing}}resolveContentCSSStyle(g){let a;return g.contentText?a=`"${g.contentText}"`:g.contentIconPath&&(a=`url('${l.URI.from(g.contentIconPath).toString(!0).replace(/'/g,"%27")}')`),{display:"block",content:a,border:g.border,borderColor:this.themeService.getColorVar(g.borderColor),fontStyle:g.fontStyle,fontWeight:g.fontWeight,textDecoration:g.textDecoration,color:this.themeService.getColorVar(g.color),backgroundColor:this.themeService.getColorVar(g.backgroundColor),margin:g.margin,width:g.width,height:g.height}}createInlineBlockCSSStyleIfNeeded(){return this.inlineBlockDecorationDisposer||(this.inlineBlockDecorationDisposer=this.cssManager.addClass(n.DISPLAY_INLINE_BLOCK_CLS,{display:"inline-block"})),n.DISPLAY_INLINE_BLOCK_CLS}registerDecorationProvider(g){this.decorationProviders.set(g.key,g),this.eventBus.fire(new m.EditorDecorationProviderRegistrationEvent(g));const a=g.onDidDecorationChange(h=>{this.eventBus.fire(new m.EditorDecorationChangeEvent({uri:h,key:g.key}))});return{dispose:()=>{this.decorationProviders.get(g.key)===g&&(this.decorationProviders.delete(g.key),this.eventBus.fire(new m.EditorDecorationTypeRemovedEvent(g.key))),a.dispose()}}}async getDecorationFromProvider(g,a){const h={};let d=[];return a?this.decorationProviders.has(a)&&d.push(this.decorationProviders.get(a)):d=Array.from(this.decorationProviders.values()),await Promise.all(d.map(async u=>{if(u.schemes&&u.schemes.indexOf(g.scheme)===-1)return;const E=await u.provideEditorDecoration(g);E&&(h[u.key]=E)})),h}};t.EditorDecorationCollectionService=p,p.DISPLAY_INLINE_BLOCK_CLS="display-inline-block-decoration",r.__decorate([(0,o.Autowired)(v.ICSSStyleService),r.__metadata("design:type",Object)],p.prototype,"cssManager",void 0),r.__decorate([(0,o.Autowired)(_.IThemeService),r.__metadata("design:type",Object)],p.prototype,"themeService",void 0),r.__decorate([(0,o.Autowired)(_.IIconService),r.__metadata("design:type",Object)],p.prototype,"iconService",void 0),r.__decorate([(0,o.Autowired)(l.IEventBus),r.__metadata("design:type",Object)],p.prototype,"eventBus",void 0),t.EditorDecorationCollectionService=p=n=r.__decorate([(0,o.Injectable)()],p)},93152:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoContextViewService=t.MonacoCodeService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=n.__importStar(e(20868)),v=e(76947),m=e(18099),p=e(79731),s=e(16781),g=e(7760),a=e(26917),h=e(23418),d=e(51553);let u=class extends m.AbstractCodeEditorService{constructor(){super(s.StandaloneServices.get(g.IStandaloneThemeService))}getActiveCodeEditor(){return this.workbenchEditorService.currentEditor?this.workbenchEditorService.currentEditor.monacoEditor:null}async openCodeEditor(c,y,b){var A,S,D,I,w,T;const R=c.resource;if(!this.preferenceService.get("editor.enablePreviewFromCodeNavigation")&&y&&!b&&(0,v.isEqual)((A=y.getModel())===null||A===void 0?void 0:A.uri,c.resource)){for(const N of this.workbenchEditorService.editorGroups)if(((S=N.currentOpenType)===null||S===void 0?void 0:S.type)===h.EditorOpenType.code){if(((D=N.currentEditor)===null||D===void 0?void 0:D.monacoEditor)===y){N.pinPreviewed((I=N.currentResource)===null||I===void 0?void 0:I.uri);break}}else if(((w=N.currentOpenType)===null||w===void 0?void 0:w.type)===h.EditorOpenType.diff&&(N.diffEditor.modifiedEditor.monacoEditor===y||N.diffEditor.originalEditor.monacoEditor===y)){N.pinPreviewed((T=N.currentResource)===null||T===void 0?void 0:T.uri);break}}let O=this.workbenchEditorService.currentEditorGroup,x;y&&(O=this.workbenchEditorService.editorGroups.find(N=>N.currentEditor&&N.currentEditor.monacoEditor===y)||O,x=O.resources.findIndex(N=>O.currentResource&&N.uri===O.currentResource.uri),x>=0&&x++);const k=c.options?c.options.selection:null;let F;k&&(typeof k.endLineNumber=="number"&&typeof k.endColumn=="number"?F=k:F=new _.Range(k.startLineNumber,k.startColumn,k.startLineNumber,k.startColumn));const L=l.URI.parse(R.toString());return await O.open(L,{index:x,range:F,focus:!0}),O.codeEditor.monacoEditor}};t.MonacoCodeService=u,n.__decorate([(0,r.Autowired)(h.WorkbenchEditorService),n.__metadata("design:type",d.WorkbenchEditorServiceImpl)],u.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],u.prototype,"preferenceService",void 0),t.MonacoCodeService=u=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],u);class E extends a.ContextViewService{constructor(c){super(new p.EditorScopedLayoutService(document.body,c))}setContainer(c){this.menuContainer||(this.menuContainer=document.createElement("div"),this.menuContainer.className=c.className,this.menuContainer.style.left="0",this.menuContainer.style.top="0",this.menuContainer.style.position="fixed",this.menuContainer.style.zIndex="10",document.body.append(this.menuContainer)),super.setContainer(this.menuContainer)}}t.MonacoContextViewService=E},8287:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorStatusBarService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(23418),v=e(96689);let m=class extends o.WithEventBus{setListener(){this.workbenchEditorService.onActiveResourceChange(()=>{this.updateLanguageStatus(this.workbenchEditorService.currentEditor)}),this.workbenchEditorService.onCursorChange(s=>{this.updateCursorStatus(s)}),this.eventBus.on(v.EditorDocumentModelOptionChangedEvent,s=>{const g=this.workbenchEditorService.currentEditor;g&&g.currentUri&&g.currentUri.isEqual(s.payload.uri)&&this.updateLanguageStatus(this.workbenchEditorService.currentEditor)})}updateCursorStatus(s){const{position:g,selectionLength:a}=s;if(!g){this.statusBar.removeElement("editor-status-cursor");return}this.statusBar.addElement("editor-status-cursor",{name:(0,o.localize)("status-bar.editor-selection"),text:`%status-bar.label.line%${g.lineNumber}\uFF0C%status-bar.label.column%${g.column}${a?`\uFF08%status-bar.label.selected%${a}\uFF09`:""}`,priority:4,alignment:l.StatusBarAlignment.RIGHT,command:o.EDITOR_COMMANDS.GO_TO_LINE.id,tooltip:(0,o.localize)("status.editor.goToLineCol")})}updateLanguageStatus(s){if(!s){this.statusBar.removeElement("editor-status-language"),this.statusBar.removeElement("editor-status-encoding"),this.statusBar.removeElement("editor-status-eol"),this.statusBar.removeElement("editor-status-space");return}let g="",a="",h="",d=!1,u=2;const E=s.currentDocumentModel;E&&(g=E.languageId,a=E.encoding,h=E.eol,d=E.getMonacoModel().getOptions().insertSpaces,u=E.getMonacoModel().getOptions().tabSize);const f=h===`
33315
- `?"LF":"CRLF",c=this.languageService.getLanguage(g),y=c?c.name:"";this.statusBar.addElement("editor-status-language",{name:(0,o.localize)("status-bar.editor-language"),text:y,alignment:l.StatusBarAlignment.RIGHT,priority:1,command:o.EDITOR_COMMANDS.CHANGE_LANGUAGE.id,tooltip:(0,o.localize)("status.editor.chooseLanguage")}),this.statusBar.addElement("editor-status-encoding",{name:(0,o.localize)("status-bar.editor-encoding"),text:a.toUpperCase(),alignment:l.StatusBarAlignment.RIGHT,priority:2,command:o.EDITOR_COMMANDS.CHANGE_ENCODING.id,tooltip:(0,o.localize)("status.editor.chooseEncoding")}),this.statusBar.addElement("editor-status-eol",{name:(0,o.localize)("status-bar.editor-eol"),text:f,alignment:l.StatusBarAlignment.RIGHT,priority:3,command:o.EDITOR_COMMANDS.CHANGE_EOL.id,tooltip:(0,o.localize)("status.editor.changeEol")}),this.statusBar.addElement("editor-status-space",{name:(0,o.localize)("status-bar.editor-space"),text:(d?(0,o.localize)("status-bar.label.tabType.space"):(0,o.localize)("status-bar.label.tabType.tab"))+": "+u,alignment:l.StatusBarAlignment.RIGHT,priority:4,command:void 0})}};t.EditorStatusBarService=m,n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],m.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.WorkbenchEditorService)],m.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(_.ILanguageService),n.__metadata("design:type",Object)],m.prototype,"languageService",void 0),t.EditorStatusBarService=m=n.__decorate([(0,r.Injectable)()],m)},30612:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorTabService=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class extends o.WithEventBus{renderEditorTab(v,m){return v}renderTabCloseComponent(v){return v}};t.EditorTabService=l,t.EditorTabService=l=n.__decorate([(0,r.Injectable)()],l)},14385:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentWrapper=t.ComponentsWrapper=t.EditorGroupBody=t.EditorGroupView=t.EditorGridView=t.EditorView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(25873)),_=e(97267),v=e(41869),m=e(81878),p=e(63373),s=e(48560),g=e(52902),a=e(23418),h=e(93669),d=n.__importDefault(e(62711)),u=e(47049),E=e(93532),f=e(52795),c=e(82196),y=()=>{const N=o.default.useRef(),U=(0,s.useInjectable)(a.WorkbenchEditorService),j=(0,s.useInjectable)(v.ComponentRegistry).getComponentRegistryInfo("editor-widget-right"),Q=j&&j.views[0].component,[$,Z]=o.default.useState(U.gridReady),G=(0,v.useDesignStyles)(d.default.kt_workbench_editor,"kt_workbench_editor");return o.default.useEffect(()=>{if(!$)if(U.gridReady)Z(!0);else{const V=U.onDidGridReady(()=>{Z(!0)});return()=>V.dispose()}},[]),$?o.default.createElement("div",{className:G,id:"workbench-editor",ref:V=>{N.current=V,V&&U.onDomCreated(V)}},o.default.createElement("div",{className:d.default.kt_editor_main_wrapper},o.default.createElement(t.EditorGridView,{grid:U.topGrid})),Q?o.default.createElement("div",{className:d.default.kt_editor_right_widget},o.default.createElement(v.ErrorBoundary,null,o.default.createElement(Q,null))):null):null};t.EditorView=y;const b={},A=({grid:N})=>{let U;const W=o.default.useContext(v.ConfigContext),j=(0,s.useInjectable)(v.IEventBus),Q=[],[,$]=o.default.useState(),Z=o.default.useCallback(()=>$({}),[]);if(o.default.useEffect(()=>{if(U)if(b[N.editorGroup.name])U.appendChild(b[N.editorGroup.name]),N.editorGroup.layoutEditors();else{const H=document.createElement("div");b[N.editorGroup.name]=H,H.style.height="100%",U.appendChild(H),l.default.createRoot(H).render(o.default.createElement(v.ConfigProvider,{value:W},o.default.createElement(t.EditorGroupView,{group:N.editorGroup})))}}),(0,v.useDisposable)(()=>[j.on(c.EditorGroupsResetSizeEvent,()=>{N.splitDirection&&Q.length>0&&Q.forEach(H=>{H.setSize(1/N.children.length,1/N.children.length)})}),N.onDidGridStateChange(()=>{Z()})],[]),N.children.length===0&&N.editorGroup)return o.default.createElement("div",{style:{height:"100%"},ref:H=>H&&(U=H)});const G=N.splitDirection===u.SplitDirection.Horizontal?{width:100/N.children.length+"%"}:{height:100/N.children.length+"%"},V=[];return N.children.forEach((H,K)=>{K!==0&&(N.splitDirection===u.SplitDirection.Vertical?V.push(o.default.createElement(m.ResizeHandleVertical,{key:"resize-"+N.children[K-1].uid+"-"+H.uid,onResize:()=>{N.children[K-1].emitResizeWithEventBus(j),H.emitResizeWithEventBus(j)},delegate:Y=>{Q.push(Y)},flexMode:m.ResizeFlexMode.Percentage})):V.push(o.default.createElement(m.ResizeHandleHorizontal,{key:"resize-"+N.children[K-1].uid+"-"+H.uid,onResize:()=>{N.children[K-1].emitResizeWithEventBus(j),H.emitResizeWithEventBus(j)},delegate:Y=>{Q.push(Y)}}))),V.push(o.default.createElement("div",{className:(0,r.default)({[d.default.kt_grid_vertical_child]:N.splitDirection===u.SplitDirection.Vertical,[d.default.kt_grid_horizontal_child]:N.splitDirection===u.SplitDirection.Horizontal}),style:G,key:H.uid,"data-min-resize":N.splitDirection===u.SplitDirection.Horizontal?150:60},o.default.createElement(t.EditorGridView,{grid:H})))}),o.default.createElement("div",{className:(0,r.default)({[d.default.kt_grid_vertical]:N.splitDirection===u.SplitDirection.Vertical,[d.default.kt_grid_horizontal]:N.splitDirection===u.SplitDirection.Horizontal})},V)};t.EditorGridView=A;const S={},D=({editorBackgroundImage:N})=>N?o.default.createElement("div",{className:d.default.editorEmpty},o.default.createElement("img",{className:d.default.editorEmptyImg,src:N})):null,I=({group:N})=>{const U=o.default.useRef(),[W,j]=o.default.useState(N.resources.length===0),Q=(0,v.useDesignStyles)(d.default.kt_editor_group,"kt_editor_group"),$=(0,s.useInjectable)(v.AppConfig),{editorBackgroundImage:Z}=$;o.default.useEffect(()=>{N.attachToDom(U.current)}),o.default.useEffect(()=>{j(N.resources.length===0);const K=N.onDidEditorGroupTabChanged(()=>{j(N.resources.length===0)});return()=>{K.dispose()}},[]);const G=(0,v.usePreference)("editor.showActionWhenGroupEmpty",!1),V=(0,s.useInjectable)(v.ComponentRegistry),H=o.default.useMemo(()=>{const K=V.getComponentRegistryInfo("editor-empty");return K&&K.views[0]||{component:D,initialProps:{editorBackgroundImage:Z}}},[]);return o.default.createElement("div",{ref:U,className:Q,tabIndex:1,onFocus:K=>{N.gainFocus()}},(!W||G)&&o.default.createElement("div",{className:d.default.editorGroupHeader},o.default.createElement(f.Tabs,{group:N})),o.default.createElement(t.EditorGroupBody,{group:N}),W&&o.default.createElement("div",{className:d.default.kt_editor_background,style:{backgroundImage:!H&&Z?`url(${Z})`:"none"}},(0,v.renderView)(H)))};t.EditorGroupView=I;const w=({group:N})=>{const[U,W]=o.default.useState(h.defaultEditorContext),j=o.default.useRef(null),Q=(0,s.useInjectable)(a.WorkbenchEditorService),$=(0,s.useInjectable)(v.IEventBus),Z=(0,v.useDesignStyles)(d.default.kt_editor_component,"kt_editor_component"),G=[],V=o.default.useRef(null),H=o.default.useRef(null),K=o.default.useRef(null),Y=o.default.useRef(null),[,X]=o.default.useState(),re=o.default.useCallback(()=>X({}),[]);o.default.useEffect(()=>{const he=new v.DisposableStore;if(he.add(N.onDidEditorGroupBodyChanged(()=>{re()})),V.current)if(S[N.name])S[N.name].remove(),V.current.appendChild(S[N.name]);else{const me=document.createElement("div");V.current.appendChild(me),S[N.name]=me,N.createEditor(me);const q=N.codeEditor.monacoEditor.getOption(g.monaco.editor.EditorOption.layoutInfo).minimap.minimapWidth;W({minimapWidth:q}),he.add(N.codeEditor.monacoEditor.onDidChangeConfiguration(Ae=>{Ae.hasChanged(g.monaco.editor.EditorOption.layoutInfo)&&W({minimapWidth:N.codeEditor.monacoEditor.getOption(g.monaco.editor.EditorOption.layoutInfo).minimap.minimapWidth})}))}return H.current&&N.attachDiffEditorDom(H.current),Y.current&&N.attachMergeEditorDom(Y.current),()=>{he.dispose()}},[]),o.default.useEffect(()=>{if(K.current){N.attachMultiDiffEditorDom(K.current);const he=new ResizeObserver(me=>{const q=me[0];q&&q.contentRect.height>0&&N.doLayoutEditors()});return he.observe(K.current),()=>he.disconnect()}},[K.current]),N.activeComponents.forEach((he,me)=>{const q=N.activateComponentsProps.get(me);G.push(o.default.createElement("div",{key:me.uid,className:(0,r.default)({[d.default.kt_hidden]:!(N.currentOpenType&&N.currentOpenType.componentId===me.uid)})},o.default.createElement(t.ComponentsWrapper,{key:me.uid,component:me,...q,resources:he,current:N.currentResource})))});const oe=o.default.useMemo(()=>N.resources.length===0||!N.currentResource,[N.resources.length,N.currentResource]);return o.default.useEffect(()=>{var he,me;((he=N.currentOpenType)===null||he===void 0?void 0:he.type)===c.EditorOpenType.code?$.fire(new c.CodeEditorDidVisibleEvent({groupName:N.name,type:c.EditorOpenType.code,editorId:N.codeEditor.getId()})):((me=N.currentOpenType)===null||me===void 0?void 0:me.type)===c.EditorOpenType.diff&&$.fire(new c.CodeEditorDidVisibleEvent({groupName:N.name,type:c.EditorOpenType.diff,editorId:N.diffEditor.modifiedEditor.getId()}))}),o.default.createElement(h.EditorContext.Provider,{value:U},o.default.createElement("div",{id:p.VIEW_CONTAINERS.EDITOR,ref:j,className:d.default.kt_editor_body,onDragOver:he=>{if(he.preventDefault(),j.current){const me=M(he.nativeEvent,j.current);k(j.current,me)}},onDragLeave:he=>{j.current&&F(j.current)},onDrop:he=>{if(j.current){if(F(j.current),he.dataTransfer.getData("uri")){const me=new v.URI(he.dataTransfer.getData("uri"));let q;he.dataTransfer.getData("uri-source-group")&&(q=Q.getEditorGroup(he.dataTransfer.getData("uri-source-group"))),N.dropUri(me,M(he.nativeEvent,j.current),q)}he.dataTransfer.files.length>0&&$.fire(new c.EditorGroupFileDropEvent({group:N,files:he.dataTransfer.files,position:M(he.nativeEvent,j.current)}))}}},N.currentResource&&o.default.createElement(L,{side:"top",resource:N.currentResource}),!oe&&o.default.createElement(E.NavigationBar,{editorGroup:N}),o.default.createElement("div",{className:d.default.kt_editor_components},o.default.createElement("div",{className:(0,r.default)({[Z]:!0,[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.component})},G),o.default.createElement("div",{className:(0,r.default)({[d.default.kt_editor_code_editor]:!0,[Z]:!0,[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.code}),ref:V}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_diff_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.diff}),ref:H}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_multi_diff_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.multiDiff}),ref:K}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_diff_3_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.mergeEditor}),ref:Y})),N.currentResource&&o.default.createElement(L,{side:"bottom",resource:N.currentResource})))};t.EditorGroupBody=w;const T=({component:N,resources:U,current:W,...j})=>((0,s.useUpdateOnEventBusEvent)(c.ResoucesOfActiveComponentChangedEvent,[N],Q=>Q.component===N),o.default.createElement("div",{className:d.default.kt_editor_component_wrapper},U.map(Q=>o.default.createElement(t.ComponentWrapper,{...j,key:Q.uri.toString(),component:N,resource:Q,hidden:!(W&&W.uri.toString()===Q.uri.toString())}))));t.ComponentsWrapper=T;const R=({component:N,resource:U,hidden:W,...j})=>{const Q=(0,s.useInjectable)(c.EditorComponentRegistry);let $=null,Z;N.renderMode!==c.EditorComponentRenderMode.ONE_PER_WORKBENCH&&(Z=o.default.createElement(N.component,{resource:U,...j}));const G=o.default.useContext(v.ConfigContext);return o.default.useEffect(()=>{if(N.renderMode===c.EditorComponentRenderMode.ONE_PER_WORKBENCH){if(!Q.perWorkbenchComponents[N.uid]){const V=document.createElement("div");V.style.height="100%",Q.perWorkbenchComponents[N.uid]=V,l.default.createRoot(V).render(o.default.createElement(v.ConfigProvider,{value:G},o.default.createElement(N.component,{resource:U})))}$.appendChild(Q.perWorkbenchComponents[N.uid])}}),o.default.createElement("div",{key:U.uri.toString(),className:(0,r.default)({[d.default.kt_hidden]:W})},o.default.createElement(_.Scrollbars,{hiddenHorizontal:!0},o.default.createElement(v.ErrorBoundary,null,o.default.createElement("div",{ref:V=>{$=V},style:{height:"100%"}},Z))))};t.ComponentWrapper=R;function M(N,U){const W=U.getBoundingClientRect(),j=N.clientX-W.left,Q=N.clientY-W.top,$=U.offsetWidth,Z=U.offsetHeight;return j<$*.15?c.DragOverPosition.LEFT:j>$*.85?c.DragOverPosition.RIGHT:Q<Z*.15?c.DragOverPosition.TOP:Q>Z*.85?c.DragOverPosition.BOTTOM:c.DragOverPosition.CENTER}function O(N,U){N.classList.contains(U)||N.classList.add(U)}function x(N,U){N.classList.contains(U)&&N.classList.remove(U)}function k(N,U){O(N,d.default.kt_on_drag_over),[c.DragOverPosition.LEFT,c.DragOverPosition.RIGHT,c.DragOverPosition.TOP,c.DragOverPosition.BOTTOM].filter(W=>W!==U).forEach(W=>{x(N,d.default["kt_on_drag_over_"+W])}),O(N,d.default["kt_on_drag_over_"+U])}function F(N){x(N,d.default.kt_on_drag_over),[c.DragOverPosition.LEFT,c.DragOverPosition.RIGHT,c.DragOverPosition.TOP,c.DragOverPosition.BOTTOM].forEach(U=>{x(N,d.default["kt_on_drag_over_"+U])})}const L=({side:N,resource:U})=>{const W=(0,s.useInjectable)(c.EditorComponentRegistry),j=(0,s.useInjectable)(v.IEventBus),Q=W.getSideWidgets(N,U),[,$]=o.default.useState(),Z=o.default.useCallback(()=>$({}),[]);return(0,v.useDisposable)(()=>j.on(c.RegisterEditorSideComponentEvent,Z),[]),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_side_widgets,d.default["kt_editor_side_widgets_"+N])},Q.map(G=>{const V=G.component;return o.default.createElement(V,{resource:U,key:G.id,...G.initialProps||{}})}))}},76759:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorTabChangedError=t.EditorError=void 0,t.isEditorError=r;class e extends Error{}t.EditorError=e;class n extends e{constructor(){super("editor current tab changed when opening resource"),this.type=n.errorCode}}t.EditorTabChangedError=n,n.errorCode=1001;function r(o,l){return o&&o.type===l.errorCode}},59879:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorFeatureRegistryImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),{addElement:l}=o.arrays;let _=class{constructor(){this.contributions=[],this._onDidRegisterFeature=new o.Emitter,this.onDidRegisterFeature=this._onDidRegisterFeature.event}registerEditorFeatureContribution(m){const p=l(this.contributions,m);return this._onDidRegisterFeature.fire(m),p}runContributions(m){this.contributions.forEach(p=>{this.runOneContribution(m,p)})}async runProvideEditorOptionsForUri(m){return(await Promise.all(this.contributions.map(s=>s.provideEditorOptionsForUri?s.provideEditorOptionsForUri(m):{}))).reduce((s,g)=>({...s,...g}),{})}runOneContribution(m,p){try{const s=p.contribute(m);m.onDispose(()=>{s.dispose()})}catch(s){this.logger.error(s)}}};t.EditorFeatureRegistryImpl=_,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.EditorFeatureRegistryImpl=_=n.__decorate([(0,r.Injectable)()],_)},57719:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentFormatService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(79865),_=e(44781),v=e(52801),m=e(97854),p=e(82196),s=e(51553),g=e(85857);let a=class{async formatDocumentWith(){var d;const u=(d=this.workbenchEditorService.currentEditor)===null||d===void 0?void 0:d.monacoEditor;if(!u)return;const E=u.getModel();if(E){const f=(0,v.getRealAndSyntheticDocumentFormattersOrdered)(l.languageFeaturesService.documentFormattingEditProvider,l.languageFeaturesService.documentRangeFormattingEditProvider,E),y=await this.injector.get(g.FormattingSelector).pickFormatter(f,E);if(y)try{const b=await y.provideDocumentFormattingEdits(E,E.getFormattingOptions(),o.CancellationToken.None);b&&m.FormattingEdit.execute(u,b,!0)}catch(b){this.logger.error("execute format document with error",b)}}}async formatSelectionWith(){var d;if(!(!((d=this.workbenchEditorService.currentEditor)===null||d===void 0)&&d.monacoEditor.hasModel()))return;const u=this.workbenchEditorService.currentEditor.monacoEditor,E=u.getModel();if(E){let f=u.getSelection();f?.isEmpty()&&(f=new _.Range(f.startLineNumber,1,f.startLineNumber,E.getLineMaxColumn(f.startLineNumber)));const c=l.languageFeaturesService.documentRangeFormattingEditProvider.ordered(E),b=await this.injector.get(g.FormattingSelector).pickFormatter(c,E);if(b)try{const A=await b.provideDocumentRangeFormattingEdits(E,f,E.getFormattingOptions(),o.CancellationToken.None);A&&m.FormattingEdit.execute(u,A,!0)}catch(A){this.logger.error("execute format document with error",A)}}}};t.DocumentFormatService=a,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorServiceImpl)],a.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],a.prototype,"injector",void 0),t.DocumentFormatService=a=n.__decorate([(0,r.Injectable)()],a)},85857:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FormattingSelector=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(72665),_=e(52801),v=e(96689),m="editor.preferredFormatter";let p=class{async selectFormatter(g,a,h,d){const u=this.modelService.getModelDescription(o.URI.from(a.uri.toJSON()));if(!u)return;const E=u.languageId,f=this.getPreferedFormatter(E),c={};if(g.forEach(y=>{y.extensionId&&(c[y.extensionId]=y)}),f){if(c[f])return c[f];this.messageService.error((0,o.formatLocalize)("editor.format.preferredFormatterNotFound",f,E))}if(g.length===1)return g[0];if(h===_.FormattingMode.Explicit){const{selected:y,value:b}=await this.doPick(c);if(b)return this.savePreferredFormatter(E,y),c[y]}else return}async doPick(g){const a=Object.keys(g).map(d=>({label:g[d].displayName,value:g[d].extensionId})),h=await this.quickPickService.show(a,{placeholder:(0,o.localize)("editor.format.chooseFormatter")});return h?{selected:h,value:g[h]}:{}}getPreferedFormatter(g){return(this.preferenceService.get(m)||{})[g]}async savePreferredFormatter(g,a){const h=this.preferenceService.get(m)||{};this.preferenceService.set(m,{...h,[g]:a},o.PreferenceScope.User)}async pickFormatter(g,a){const h=this.modelService.getModelDescription(o.URI.from(a.uri.toJSON()));if(!h)return;const d=h.languageId,u={};g.forEach(c=>{c.extensionId&&(u[c.extensionId]=c)});const{selected:E,value:f}=await this.doPick(u);if(f)return this.savePreferredFormatter(d,E),f}};t.FormattingSelector=p,n.__decorate([(0,r.Autowired)(o.QuickPickService),n.__metadata("design:type",Object)],p.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(l.IMessageService),n.__metadata("design:type",Object)],p.prototype,"messageService",void 0),t.FormattingSelector=p=n.__decorate([(0,r.Injectable)()],p)},5580:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeSet=t.FileTreeNode=void 0;class e{get children(){return this._children||(this._children=new Map),this._children}constructor(o,l,_="/"){this.path=o,this.parent=l,this.separator=_,this._disposed=!1,l?this.key=l.key+this.separator+o:this.key=o}bindOnDispose(o){this._onDisposed=o}addChild(o){const l=new e(o,this,this.separator);return this.children.set(o,l),l}getAllDescendants(){if(this._children){const o=[this];return this.children.forEach(l=>{o.push(...l.getAllDescendants())}),o}else return[this]}dispose(){this._disposed||(this.parent&&(this.parent.children.delete(this.path),this.parent.children.size===0&&this.parent.dispose()),this._onDisposed&&this._onDisposed(),this._disposed=!0)}}t.FileTreeNode=e;class n{constructor(o=!1){this.nodes=new Map,this.separator=o?"\\":"/"}add(o){const l=o.split(this.separator);let _,v;for(const m of l){_===void 0?_=m:_+=this.separator+m;let p;this.nodes.has(_)?p=this.nodes.get(_):(v?p=v.addChild(m):p=new e(m,void 0,this.separator),p.bindOnDispose(()=>{this.nodes.delete(p.key)}),this.nodes.set(p.key,p)),v=p}}delete(o){const l=this.effects(o);return l.forEach(_=>{const v=this.nodes.get(_);v&&v.dispose()}),l}effects(o){const l=this.nodes.get(o);return l?l.getAllDescendants().map(_=>_.key):[]}}t.FileTreeSet=n},68692:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseFileSystemEditorDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(14951),_=e(24328);let v=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event,this._fileContentMd5OnBrowserFs=new Set,this._detectedEncodingMap=new Map,this._detectedEolMap=new Map,this.fileServiceClient.onFilesChanged(p=>{p.forEach(s=>{this._fileContentMd5OnBrowserFs.has(s.uri)&&(s.type===o.FileChangeType.ADDED||s.type===o.FileChangeType.UPDATED)&&this._onDidChangeContent.fire(new o.URI(s.uri))})})}handlesScheme(p){return this.fileServiceClient.handlesScheme(p)}provideEncoding(p){return this._detectedEncodingMap.get(p.toString())||o.UTF8}async provideEOL(p){const s=this._detectedEolMap.get(p.toString());return s||(await this.applicationService.getBackendOS()===o.OperatingSystem.Windows?`\r
33315
+ `?"LF":"CRLF",c=this.languageService.getLanguage(g),y=c?c.name:"";this.statusBar.addElement("editor-status-language",{name:(0,o.localize)("status-bar.editor-language"),text:y,alignment:l.StatusBarAlignment.RIGHT,priority:1,command:o.EDITOR_COMMANDS.CHANGE_LANGUAGE.id,tooltip:(0,o.localize)("status.editor.chooseLanguage")}),this.statusBar.addElement("editor-status-encoding",{name:(0,o.localize)("status-bar.editor-encoding"),text:a.toUpperCase(),alignment:l.StatusBarAlignment.RIGHT,priority:2,command:o.EDITOR_COMMANDS.CHANGE_ENCODING.id,tooltip:(0,o.localize)("status.editor.chooseEncoding")}),this.statusBar.addElement("editor-status-eol",{name:(0,o.localize)("status-bar.editor-eol"),text:f,alignment:l.StatusBarAlignment.RIGHT,priority:3,command:o.EDITOR_COMMANDS.CHANGE_EOL.id,tooltip:(0,o.localize)("status.editor.changeEol")}),this.statusBar.addElement("editor-status-space",{name:(0,o.localize)("status-bar.editor-space"),text:(d?(0,o.localize)("status-bar.label.tabType.space"):(0,o.localize)("status-bar.label.tabType.tab"))+": "+u,alignment:l.StatusBarAlignment.RIGHT,priority:4,command:void 0})}};t.EditorStatusBarService=m,n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],m.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.WorkbenchEditorService)],m.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(_.ILanguageService),n.__metadata("design:type",Object)],m.prototype,"languageService",void 0),t.EditorStatusBarService=m=n.__decorate([(0,r.Injectable)()],m)},30612:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorTabService=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class extends o.WithEventBus{renderEditorTab(v,m){return v}renderTabCloseComponent(v){return v}};t.EditorTabService=l,t.EditorTabService=l=n.__decorate([(0,r.Injectable)()],l)},14385:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ComponentWrapper=t.ComponentsWrapper=t.EditorGroupBody=t.EditorGroupView=t.EditorGridView=t.EditorView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(25873)),_=e(97267),v=e(41869),m=e(81878),p=e(63373),s=e(48560),g=e(52902),a=e(23418),h=e(93669),d=n.__importDefault(e(62711)),u=e(47049),E=e(93532),f=e(52795),c=e(82196),y=()=>{const N=o.default.useRef(),U=(0,s.useInjectable)(a.WorkbenchEditorService),j=(0,s.useInjectable)(v.ComponentRegistry).getComponentRegistryInfo("editor-widget-right"),Q=j&&j.views[0].component,[$,Z]=o.default.useState(U.gridReady),G=(0,v.useDesignStyles)(d.default.kt_workbench_editor,"kt_workbench_editor");return o.default.useEffect(()=>{if(!$)if(U.gridReady)Z(!0);else{const V=U.onDidGridReady(()=>{Z(!0)});return()=>V.dispose()}},[]),$?o.default.createElement("div",{className:G,id:"workbench-editor",ref:V=>{N.current=V,V&&U.onDomCreated(V)}},o.default.createElement("div",{className:d.default.kt_editor_main_wrapper},o.default.createElement(t.EditorGridView,{grid:U.topGrid})),Q?o.default.createElement("div",{className:d.default.kt_editor_right_widget},o.default.createElement(v.ErrorBoundary,null,o.default.createElement(Q,null))):null):null};t.EditorView=y;const b={},A=({grid:N})=>{let U;const W=o.default.useContext(v.ConfigContext),j=(0,s.useInjectable)(v.IEventBus),Q=[],[,$]=o.default.useState(),Z=o.default.useCallback(()=>$({}),[]);if(o.default.useEffect(()=>{if(U)if(b[N.editorGroup.name])U.appendChild(b[N.editorGroup.name]),N.editorGroup.layoutEditors();else{const H=document.createElement("div");b[N.editorGroup.name]=H,H.style.height="100%",U.appendChild(H),l.default.createRoot(H).render(o.default.createElement(v.ConfigProvider,{value:W},o.default.createElement(t.EditorGroupView,{group:N.editorGroup})))}}),(0,v.useDisposable)(()=>[j.on(c.EditorGroupsResetSizeEvent,()=>{N.splitDirection&&Q.length>0&&Q.forEach(H=>{H.setSize(1/N.children.length,1/N.children.length)})}),N.onDidGridStateChange(()=>{Z()})],[]),N.children.length===0&&N.editorGroup)return o.default.createElement("div",{style:{height:"100%"},ref:H=>H&&(U=H)});const G=N.splitDirection===u.SplitDirection.Horizontal?{width:100/N.children.length+"%"}:{height:100/N.children.length+"%"},V=[];return N.children.forEach((H,K)=>{K!==0&&(N.splitDirection===u.SplitDirection.Vertical?V.push(o.default.createElement(m.ResizeHandleVertical,{key:"resize-"+N.children[K-1].uid+"-"+H.uid,onResize:()=>{N.children[K-1].emitResizeWithEventBus(j),H.emitResizeWithEventBus(j)},delegate:Y=>{Q.push(Y)},flexMode:m.ResizeFlexMode.Percentage})):V.push(o.default.createElement(m.ResizeHandleHorizontal,{key:"resize-"+N.children[K-1].uid+"-"+H.uid,onResize:()=>{N.children[K-1].emitResizeWithEventBus(j),H.emitResizeWithEventBus(j)},delegate:Y=>{Q.push(Y)}}))),V.push(o.default.createElement("div",{className:(0,r.default)({[d.default.kt_grid_vertical_child]:N.splitDirection===u.SplitDirection.Vertical,[d.default.kt_grid_horizontal_child]:N.splitDirection===u.SplitDirection.Horizontal}),style:G,key:H.uid,"data-min-resize":N.splitDirection===u.SplitDirection.Horizontal?150:60},o.default.createElement(t.EditorGridView,{grid:H})))}),o.default.createElement("div",{className:(0,r.default)({[d.default.kt_grid_vertical]:N.splitDirection===u.SplitDirection.Vertical,[d.default.kt_grid_horizontal]:N.splitDirection===u.SplitDirection.Horizontal})},V)};t.EditorGridView=A;const S={},D=({editorBackgroundImage:N})=>N?o.default.createElement("div",{className:d.default.editorEmpty},o.default.createElement("img",{className:d.default.editorEmptyImg,src:N})):null,I=({group:N})=>{const U=o.default.useRef(),[W,j]=o.default.useState(N.resources.length===0),Q=(0,v.useDesignStyles)(d.default.kt_editor_group,"kt_editor_group"),$=(0,s.useInjectable)(v.AppConfig),{editorBackgroundImage:Z}=$;o.default.useEffect(()=>{N.attachToDom(U.current)}),o.default.useEffect(()=>{j(N.resources.length===0);const K=N.onDidEditorGroupTabChanged(()=>{j(N.resources.length===0)});return()=>{K.dispose()}},[]);const G=(0,v.usePreference)("editor.showActionWhenGroupEmpty",!1),V=(0,s.useInjectable)(v.ComponentRegistry),H=o.default.useMemo(()=>{const K=V.getComponentRegistryInfo("editor-empty");return K&&K.views[0]||{component:D,initialProps:{editorBackgroundImage:Z}}},[]);return o.default.createElement("div",{ref:U,className:Q,tabIndex:1,onFocus:K=>{N.gainFocus()}},(!W||G)&&o.default.createElement("div",{className:d.default.editorGroupHeader},o.default.createElement(f.Tabs,{group:N})),o.default.createElement(t.EditorGroupBody,{group:N}),W&&o.default.createElement("div",{className:d.default.kt_editor_background,style:{backgroundImage:!H&&Z?`url(${Z})`:"none"}},(0,v.renderView)(H)))};t.EditorGroupView=I;const w=({group:N})=>{const[U,W]=o.default.useState(h.defaultEditorContext),j=o.default.useRef(null),Q=(0,s.useInjectable)(a.WorkbenchEditorService),$=(0,s.useInjectable)(v.IEventBus),Z=(0,v.useDesignStyles)(d.default.kt_editor_component,"kt_editor_component"),G=[],V=o.default.useRef(null),H=o.default.useRef(null),K=o.default.useRef(null),Y=o.default.useRef(null),[,X]=o.default.useState(),re=o.default.useCallback(()=>X({}),[]);o.default.useEffect(()=>{const he=new v.DisposableStore;if(he.add(N.onDidEditorGroupBodyChanged(()=>{re()})),V.current)if(S[N.name])S[N.name].remove(),V.current.appendChild(S[N.name]);else{const me=document.createElement("div");V.current.appendChild(me),S[N.name]=me,N.createEditor(me);const q=N.codeEditor.monacoEditor.getOption(g.monaco.editor.EditorOption.layoutInfo).minimap.minimapWidth;W({minimapWidth:q}),he.add(N.codeEditor.monacoEditor.onDidChangeConfiguration(Ae=>{Ae.hasChanged(g.monaco.editor.EditorOption.layoutInfo)&&W({minimapWidth:N.codeEditor.monacoEditor.getOption(g.monaco.editor.EditorOption.layoutInfo).minimap.minimapWidth})}))}return H.current&&N.attachDiffEditorDom(H.current),Y.current&&N.attachMergeEditorDom(Y.current),()=>{he.dispose()}},[]),o.default.useEffect(()=>{if(K.current){N.attachMultiDiffEditorDom(K.current);const he=new ResizeObserver(me=>{const q=me[0];q&&q.contentRect.height>0&&N.doLayoutEditors()});return he.observe(K.current),()=>he.disconnect()}},[K.current]),N.activeComponents.forEach((he,me)=>{const q=N.activateComponentsProps.get(me);G.push(o.default.createElement("div",{key:me.uid,className:(0,r.default)({[d.default.kt_hidden]:!(N.currentOpenType&&N.currentOpenType.componentId===me.uid)})},o.default.createElement(t.ComponentsWrapper,{key:me.uid,component:me,...q,resources:he,current:N.currentResource})))});const oe=o.default.useMemo(()=>N.resources.length===0||!N.currentResource,[N.resources.length,N.currentResource]);return o.default.useEffect(()=>{var he,me;((he=N.currentOpenType)===null||he===void 0?void 0:he.type)===c.EditorOpenType.code?$.fire(new c.CodeEditorDidVisibleEvent({groupName:N.name,type:c.EditorOpenType.code,editorId:N.codeEditor.getId()})):((me=N.currentOpenType)===null||me===void 0?void 0:me.type)===c.EditorOpenType.diff&&$.fire(new c.CodeEditorDidVisibleEvent({groupName:N.name,type:c.EditorOpenType.diff,editorId:N.diffEditor.modifiedEditor.getId()}))}),o.default.createElement(h.EditorContext.Provider,{value:U},o.default.createElement("div",{id:p.VIEW_CONTAINERS.EDITOR,ref:j,className:d.default.kt_editor_body,onDragOver:he=>{if(he.preventDefault(),j.current){const me=M(he.nativeEvent,j.current);k(j.current,me)}},onDragLeave:he=>{j.current&&F(j.current)},onDrop:he=>{if(j.current){if(F(j.current),he.dataTransfer.getData("uri")){const me=new v.URI(he.dataTransfer.getData("uri"));let q;he.dataTransfer.getData("uri-source-group")&&(q=Q.getEditorGroup(he.dataTransfer.getData("uri-source-group"))),N.dropUri(me,M(he.nativeEvent,j.current),q)}he.dataTransfer.files.length>0&&$.fire(new c.EditorGroupFileDropEvent({group:N,files:he.dataTransfer.files,position:M(he.nativeEvent,j.current)}))}}},N.currentResource&&o.default.createElement(L,{side:"top",resource:N.currentResource}),!oe&&o.default.createElement(E.NavigationBar,{editorGroup:N}),o.default.createElement("div",{className:d.default.kt_editor_components},o.default.createElement("div",{className:(0,r.default)({[Z]:!0,[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.component})},G),o.default.createElement("div",{className:(0,r.default)({[d.default.kt_editor_code_editor]:!0,[Z]:!0,[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.code}),ref:V}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_diff_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.diff}),ref:H}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_multi_diff_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.multiDiff}),ref:K}),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_diff_3_editor,Z,{[d.default.kt_hidden]:!N.currentOpenType||N.currentOpenType.type!==c.EditorOpenType.mergeEditor}),ref:Y})),N.currentResource&&o.default.createElement(L,{side:"bottom",resource:N.currentResource})))};t.EditorGroupBody=w;const T=({component:N,resources:U,current:W,...j})=>((0,s.useUpdateOnEventBusEvent)(c.ResoucesOfActiveComponentChangedEvent,[N],Q=>Q.component===N),o.default.createElement("div",{className:d.default.kt_editor_component_wrapper},U.map(Q=>o.default.createElement(t.ComponentWrapper,{...j,key:Q.uri.toString(),component:N,resource:Q,hidden:!(W&&W.uri.toString()===Q.uri.toString())}))));t.ComponentsWrapper=T;const R=({component:N,resource:U,hidden:W,...j})=>{const Q=(0,s.useInjectable)(c.EditorComponentRegistry);let $=null,Z;N.renderMode!==c.EditorComponentRenderMode.ONE_PER_WORKBENCH&&(Z=o.default.createElement(N.component,{resource:U,...j}));const G=o.default.useContext(v.ConfigContext);return o.default.useEffect(()=>{if(N.renderMode===c.EditorComponentRenderMode.ONE_PER_WORKBENCH){if(!Q.perWorkbenchComponents[N.uid]){const V=document.createElement("div");V.style.height="100%",Q.perWorkbenchComponents[N.uid]=V,l.default.createRoot(V).render(o.default.createElement(v.ConfigProvider,{value:G},o.default.createElement(N.component,{resource:U})))}$.appendChild(Q.perWorkbenchComponents[N.uid])}}),o.default.createElement("div",{key:U.uri.toString(),className:(0,r.default)({[d.default.kt_hidden]:W})},o.default.createElement(_.Scrollbars,{hiddenHorizontal:!0,hiddenVertical:!0},o.default.createElement(v.ErrorBoundary,null,o.default.createElement("div",{ref:V=>{$=V},style:{height:"100%"}},Z))))};t.ComponentWrapper=R;function M(N,U){const W=U.getBoundingClientRect(),j=N.clientX-W.left,Q=N.clientY-W.top,$=U.offsetWidth,Z=U.offsetHeight;return j<$*.15?c.DragOverPosition.LEFT:j>$*.85?c.DragOverPosition.RIGHT:Q<Z*.15?c.DragOverPosition.TOP:Q>Z*.85?c.DragOverPosition.BOTTOM:c.DragOverPosition.CENTER}function O(N,U){N.classList.contains(U)||N.classList.add(U)}function x(N,U){N.classList.contains(U)&&N.classList.remove(U)}function k(N,U){O(N,d.default.kt_on_drag_over),[c.DragOverPosition.LEFT,c.DragOverPosition.RIGHT,c.DragOverPosition.TOP,c.DragOverPosition.BOTTOM].filter(W=>W!==U).forEach(W=>{x(N,d.default["kt_on_drag_over_"+W])}),O(N,d.default["kt_on_drag_over_"+U])}function F(N){x(N,d.default.kt_on_drag_over),[c.DragOverPosition.LEFT,c.DragOverPosition.RIGHT,c.DragOverPosition.TOP,c.DragOverPosition.BOTTOM].forEach(U=>{x(N,d.default["kt_on_drag_over_"+U])})}const L=({side:N,resource:U})=>{const W=(0,s.useInjectable)(c.EditorComponentRegistry),j=(0,s.useInjectable)(v.IEventBus),Q=W.getSideWidgets(N,U),[,$]=o.default.useState(),Z=o.default.useCallback(()=>$({}),[]);return(0,v.useDisposable)(()=>j.on(c.RegisterEditorSideComponentEvent,Z),[]),o.default.createElement("div",{className:(0,r.default)(d.default.kt_editor_side_widgets,d.default["kt_editor_side_widgets_"+N])},Q.map(G=>{const V=G.component;return o.default.createElement(V,{resource:U,key:G.id,...G.initialProps||{}})}))}},76759:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorTabChangedError=t.EditorError=void 0,t.isEditorError=r;class e extends Error{}t.EditorError=e;class n extends e{constructor(){super("editor current tab changed when opening resource"),this.type=n.errorCode}}t.EditorTabChangedError=n,n.errorCode=1001;function r(o,l){return o&&o.type===l.errorCode}},59879:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorFeatureRegistryImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),{addElement:l}=o.arrays;let _=class{constructor(){this.contributions=[],this._onDidRegisterFeature=new o.Emitter,this.onDidRegisterFeature=this._onDidRegisterFeature.event}registerEditorFeatureContribution(m){const p=l(this.contributions,m);return this._onDidRegisterFeature.fire(m),p}runContributions(m){this.contributions.forEach(p=>{this.runOneContribution(m,p)})}async runProvideEditorOptionsForUri(m){return(await Promise.all(this.contributions.map(s=>s.provideEditorOptionsForUri?s.provideEditorOptionsForUri(m):{}))).reduce((s,g)=>({...s,...g}),{})}runOneContribution(m,p){try{const s=p.contribute(m);m.onDispose(()=>{s.dispose()})}catch(s){this.logger.error(s)}}};t.EditorFeatureRegistryImpl=_,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.EditorFeatureRegistryImpl=_=n.__decorate([(0,r.Injectable)()],_)},57719:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentFormatService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(79865),_=e(44781),v=e(52801),m=e(97854),p=e(82196),s=e(51553),g=e(85857);let a=class{async formatDocumentWith(){var d;const u=(d=this.workbenchEditorService.currentEditor)===null||d===void 0?void 0:d.monacoEditor;if(!u)return;const E=u.getModel();if(E){const f=(0,v.getRealAndSyntheticDocumentFormattersOrdered)(l.languageFeaturesService.documentFormattingEditProvider,l.languageFeaturesService.documentRangeFormattingEditProvider,E),y=await this.injector.get(g.FormattingSelector).pickFormatter(f,E);if(y)try{const b=await y.provideDocumentFormattingEdits(E,E.getFormattingOptions(),o.CancellationToken.None);b&&m.FormattingEdit.execute(u,b,!0)}catch(b){this.logger.error("execute format document with error",b)}}}async formatSelectionWith(){var d;if(!(!((d=this.workbenchEditorService.currentEditor)===null||d===void 0)&&d.monacoEditor.hasModel()))return;const u=this.workbenchEditorService.currentEditor.monacoEditor,E=u.getModel();if(E){let f=u.getSelection();f?.isEmpty()&&(f=new _.Range(f.startLineNumber,1,f.startLineNumber,E.getLineMaxColumn(f.startLineNumber)));const c=l.languageFeaturesService.documentRangeFormattingEditProvider.ordered(E),b=await this.injector.get(g.FormattingSelector).pickFormatter(c,E);if(b)try{const A=await b.provideDocumentRangeFormattingEdits(E,f,E.getFormattingOptions(),o.CancellationToken.None);A&&m.FormattingEdit.execute(u,A,!0)}catch(A){this.logger.error("execute format document with error",A)}}}};t.DocumentFormatService=a,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorServiceImpl)],a.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],a.prototype,"injector",void 0),t.DocumentFormatService=a=n.__decorate([(0,r.Injectable)()],a)},85857:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FormattingSelector=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(72665),_=e(52801),v=e(96689),m="editor.preferredFormatter";let p=class{async selectFormatter(g,a,h,d){const u=this.modelService.getModelDescription(o.URI.from(a.uri.toJSON()));if(!u)return;const E=u.languageId,f=this.getPreferedFormatter(E),c={};if(g.forEach(y=>{y.extensionId&&(c[y.extensionId]=y)}),f){if(c[f])return c[f];this.messageService.error((0,o.formatLocalize)("editor.format.preferredFormatterNotFound",f,E))}if(g.length===1)return g[0];if(h===_.FormattingMode.Explicit){const{selected:y,value:b}=await this.doPick(c);if(b)return this.savePreferredFormatter(E,y),c[y]}else return}async doPick(g){const a=Object.keys(g).map(d=>({label:g[d].displayName,value:g[d].extensionId})),h=await this.quickPickService.show(a,{placeholder:(0,o.localize)("editor.format.chooseFormatter")});return h?{selected:h,value:g[h]}:{}}getPreferedFormatter(g){return(this.preferenceService.get(m)||{})[g]}async savePreferredFormatter(g,a){const h=this.preferenceService.get(m)||{};this.preferenceService.set(m,{...h,[g]:a},o.PreferenceScope.User)}async pickFormatter(g,a){const h=this.modelService.getModelDescription(o.URI.from(a.uri.toJSON()));if(!h)return;const d=h.languageId,u={};g.forEach(c=>{c.extensionId&&(u[c.extensionId]=c)});const{selected:E,value:f}=await this.doPick(u);if(f)return this.savePreferredFormatter(d,E),f}};t.FormattingSelector=p,n.__decorate([(0,r.Autowired)(o.QuickPickService),n.__metadata("design:type",Object)],p.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(l.IMessageService),n.__metadata("design:type",Object)],p.prototype,"messageService",void 0),t.FormattingSelector=p=n.__decorate([(0,r.Injectable)()],p)},5580:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeSet=t.FileTreeNode=void 0;class e{get children(){return this._children||(this._children=new Map),this._children}constructor(o,l,_="/"){this.path=o,this.parent=l,this.separator=_,this._disposed=!1,l?this.key=l.key+this.separator+o:this.key=o}bindOnDispose(o){this._onDisposed=o}addChild(o){const l=new e(o,this,this.separator);return this.children.set(o,l),l}getAllDescendants(){if(this._children){const o=[this];return this.children.forEach(l=>{o.push(...l.getAllDescendants())}),o}else return[this]}dispose(){this._disposed||(this.parent&&(this.parent.children.delete(this.path),this.parent.children.size===0&&this.parent.dispose()),this._onDisposed&&this._onDisposed(),this._disposed=!0)}}t.FileTreeNode=e;class n{constructor(o=!1){this.nodes=new Map,this.separator=o?"\\":"/"}add(o){const l=o.split(this.separator);let _,v;for(const m of l){_===void 0?_=m:_+=this.separator+m;let p;this.nodes.has(_)?p=this.nodes.get(_):(v?p=v.addChild(m):p=new e(m,void 0,this.separator),p.bindOnDispose(()=>{this.nodes.delete(p.key)}),this.nodes.set(p.key,p)),v=p}}delete(o){const l=this.effects(o);return l.forEach(_=>{const v=this.nodes.get(_);v&&v.dispose()}),l}effects(o){const l=this.nodes.get(o);return l?l.getAllDescendants().map(_=>_.key):[]}}t.FileTreeSet=n},68692:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseFileSystemEditorDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(14951),_=e(24328);let v=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event,this._fileContentMd5OnBrowserFs=new Set,this._detectedEncodingMap=new Map,this._detectedEolMap=new Map,this.fileServiceClient.onFilesChanged(p=>{p.forEach(s=>{this._fileContentMd5OnBrowserFs.has(s.uri)&&(s.type===o.FileChangeType.ADDED||s.type===o.FileChangeType.UPDATED)&&this._onDidChangeContent.fire(new o.URI(s.uri))})})}handlesScheme(p){return this.fileServiceClient.handlesScheme(p)}provideEncoding(p){return this._detectedEncodingMap.get(p.toString())||o.UTF8}async provideEOL(p){const s=this._detectedEolMap.get(p.toString());return s||(await this.applicationService.getBackendOS()===o.OperatingSystem.Windows?`\r
33316
33316
  `:`
33317
33317
  `)}async read(p,s){const{content:g}=await this.fileServiceClient.readFile(p.toString()),a=s.autoGuessEncoding||this.preferenceService.get("files.autoGuessEncoding",void 0,p.toString(),(0,o.getLanguageIdFromMonaco)(p)),h=await(0,o.detectEncodingFromBuffer)(g,a);h.encoding=await this.getReadEncoding(p,s,h.encoding);const d=g.toString(h.encoding),u=await this.getEol(p,d),E=p.toString();return this._detectedEncodingMap.set(E,h.encoding),this._detectedEolMap.set(E,u),this._fileContentMd5OnBrowserFs.add(E),{encoding:h.encoding||o.UTF8,content:d,eol:u}}async getEol(p,s){let a=0,h=0,d=0;const u=Math.min(2e3,s.length);for(let b=0;b<u;b++)s[b]==="\r"?s[b+1]===`
33318
33318
  `?(d++,b++):a++:s[b]===`
@@ -33320,7 +33320,7 @@ ${y}`)}return this.keybindingsChanged.fire({affectsCommands:[f.command]}),{dispo
33320
33320
  `:`
33321
33321
  `}async provideEditorDocumentModelContent(p,s){return(await this.read(p,{encoding:s})).content}async isReadonly(p){const s=this.editorPreferences["editor.readonlyFiles"];if(s&&s.length){for(const g of s)if(p.isEqual(o.URI.file(g))||p.matchGlobPattern(g)||p.toString().endsWith(g.replace("./","")))return!0}return this.fileServiceClient.isReadonly(p.toString())}async saveDocumentModel(p,s,g,a,h,d=!1){try{const u=await this.fileServiceClient.getFileStat(p.toString());return u?await this.fileServiceClient.setContent(u,s,{encoding:h}):await this.fileServiceClient.createFile(p.toString(),{content:s,overwrite:!0,encoding:h}),{state:o.SaveTaskResponseState.SUCCESS}}catch(u){return{state:o.SaveTaskResponseState.ERROR,errorMessage:u.message}}}onDidDisposeModel(p){this._fileContentMd5OnBrowserFs.delete(p.toString())}async guessEncoding(p){return(await this.read(p,{autoGuessEncoding:!0})).encoding}getReadEncoding(p,s,g){let a;return s?.encoding?g===o.UTF8_with_bom&&s.encoding===o.UTF8?a=o.UTF8_with_bom:a=s.encoding:g&&(a=g),this.getEncodingForResource(p,a)}async getEncodingForResource(p,s){return this.encodingRegistry.getEncodingForResource(p,s)}};t.BaseFileSystemEditorDocumentProvider=v,n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(_.EditorPreferences),n.__metadata("design:type",Object)],v.prototype,"editorPreferences",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],v.prototype,"applicationService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.EncodingRegistry),n.__metadata("design:type",o.EncodingRegistry)],v.prototype,"encodingRegistry",void 0),t.BaseFileSystemEditorDocumentProvider=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},10:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemResourceProvider=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(26542),v=e(43718),m=e(42933),p=e(72665),s=e(23418),g=e(96689),a=e(5580),{Path:h}=v.path;let d=n=class extends l.WithEventBus{constructor(){super(),this.cachedFileStat=new l.LRUMap(200,100),this.ready=this.init(),this.listen()}async init(){const f=await this.applicationService.getBackendOS();this.involvedFiles=new a.FileTreeSet(f===l.OperatingSystem.Windows)}handlesUri(f){const c=f.scheme;return this.fileServiceClient.handlesScheme(c)?10:-1}listen(){this.fileServiceClient.onFilesChanged(f=>{f.forEach(c=>{var y;c.type===v.FileChangeType.ADDED||c.type===v.FileChangeType.DELETED?((y=this.involvedFiles)===null||y===void 0?void 0:y.effects(new l.URI(c.uri).codeUri.fsPath)).forEach(A=>{const S=l.URI.file(A);this.cachedFileStat.delete(S.toString()),this.eventBus.fire(new s.ResourceNeedUpdateEvent(S))}):this.cachedFileStat.has(c.uri)&&this.cachedFileStat.get(c.uri)===void 0&&(this.cachedFileStat.delete(c.uri),this.eventBus.fire(new s.ResourceNeedUpdateEvent(new l.URI(c.uri))))})}),this.labelService.onDidChange(f=>{var c;f.codeUri.fsPath&&(!((c=this.involvedFiles)===null||c===void 0)&&c.effects(f.codeUri.fsPath))&&this.eventBus.fire(new s.ResourceNeedUpdateEvent(f))})}async getFileStat(f){return this.cachedFileStat.has(f)||this.cachedFileStat.set(f,await this.fileServiceClient.getFileStat(f.toString())),this.cachedFileStat.get(f)}async getCurrentUserHome(){if(!this.userhomePath)try{const f=await this.fileServiceClient.getCurrentUserHome();f&&(this.userhomePath=new l.URI(f.uri))}catch{}return this.userhomePath}async getReadableTooltip(f){const c=f.toString(),y=await this.getCurrentUserHome();if(!y)return decodeURIComponent(f.withScheme("").toString());if(y.isEqualOrParent(f)){const b=y&&y.toString();return decodeURIComponent(c.replace(b,"~"))}return decodeURIComponent(f.withScheme("").toString())}async provideResource(f){return await this.ready,this.involvedFiles.add(f.codeUri.fsPath),Promise.all([this.getFileStat(f.toString()),this.labelService.getName(f),this.labelService.getIcon(f),this.getReadableTooltip(f)]).then(([c,y,b,A])=>({name:c?y:y+(0,l.localize)("file.resource-deleted","(\u5DF2\u5220\u9664)"),icon:b,uri:f,metadata:null,deleted:!c,supportsRevive:!0,title:A}))}provideResourceSubname(f,c){const y=[];for(const b of c)this.fileServiceClient.handlesScheme(b.uri.scheme)&&b.uri.displayName===f.uri.displayName&&b!==f&&y.push(b.uri);if(y.length>0){const b=u(f.uri,y);return b.startsWith(h.separator)?b.length>n.SUBNAME_LIMIT?"..."+b.slice(b.length-n.SUBNAME_LIMIT):b:"..."+h.separator+u(f.uri,y)}else return null}onDisposeResource(f){var c;(c=this.involvedFiles)===null||c===void 0||c.delete(f.uri.codeUri.fsPath),this.cachedFileStat.delete(f.uri.toString())}async shouldCloseResourceWithoutConfirm(f){const c=this.documentModelService.getModelDescription(f.uri,"close-resource-check");return!!(c&&c.dirty)}async close(f,c){const y=this.documentModelService.getModelReference(f.uri,"close-resource-check");if(!y)return!1;if(c===s.AskSaveResult.SAVE){const b=await y.instance.save();return y.dispose(),b}else return c===s.AskSaveResult.REVERT?(await y.instance.revert(),y.dispose(),!0):!c||c===s.AskSaveResult.CANCEL?(y.dispose(),!1):(y.dispose(),!0)}async shouldCloseResource(f,c){let y=0;for(const I of c)for(const w of I)if(w.uri.scheme===s.DIFF_SCHEME&&w.metadata&&w.metadata.modified.toString()===f.uri.toString()&&y++,this.fileServiceClient.handlesScheme(w.uri.scheme)&&w.uri.toString()===f.uri.toString()&&y++,y>1)return!0;const b=this.documentModelService.getModelDescription(f.uri,"close-resource-check");if(!b||!b.dirty)return!0;const A={[(0,l.localize)("file.prompt.dontSave","Don't Save")]:s.AskSaveResult.REVERT,[(0,l.localize)("file.prompt.save","Save")]:s.AskSaveResult.SAVE,[(0,l.localize)("file.prompt.cancel","Cancel")]:s.AskSaveResult.CANCEL},S=await this.dialogService.open({message:(0,l.formatLocalize)("saveChangesMessage",f.name),type:l.MessageType.Info,buttons:Object.keys(A)}),D=A[S];return this.close(f,D)}};t.FileSystemResourceProvider=d,d.SUBNAME_LIMIT=20,r.__decorate([(0,o.Autowired)(),r.__metadata("design:type",_.LabelService)],d.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],d.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(p.IDialogService),r.__metadata("design:type",Object)],d.prototype,"dialogService",void 0),r.__decorate([(0,o.Autowired)(g.IEditorDocumentModelService),r.__metadata("design:type",Object)],d.prototype,"documentModelService",void 0),r.__decorate([(0,o.Autowired)(l.IApplicationService),r.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),t.FileSystemResourceProvider=d=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],d);function u(E,f){const c=E.path.dir.toString().split(h.separator).reverse(),y=f.map(b=>b.path.dir.toString().split(h.separator).reverse());for(let b=0;b<c.length;b++){let A=!1;for(const S of y)if(S[b]===c[b]){A=!0;break}if(!A)return c.slice(0,b+1).reverse().join(h.separator)}return c.reverse().join(h.separator)}},69728:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemResourceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(82196),_=e(68692),v=e(10);let m=class{registerResource(s){s.registerResourceProvider(this.fsResourceProvider)}registerEditorDocumentModelContentProvider(s){s.registerEditorDocumentModelContentProvider(this.fsDocProvider)}};t.FileSystemResourceContribution=m,n.__decorate([(0,r.Autowired)(v.FileSystemResourceProvider),n.__metadata("design:type",v.FileSystemResourceProvider)],m.prototype,"fsResourceProvider",void 0),n.__decorate([(0,r.Autowired)(_.BaseFileSystemEditorDocumentProvider),n.__metadata("design:type",_.BaseFileSystemEditorDocumentProvider)],m.prototype,"fsDocProvider",void 0),t.FileSystemResourceContribution=m=n.__decorate([(0,o.Domain)(l.BrowserEditorContribution)],m)},47049:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SplitDirection=t.EditorGrid=t.editorGridUid=void 0,t.splitDirectionMatches=m;const n=e(41869),r=e(43718),o=e(23418),l=e(82196);t.editorGridUid=new Set;class _{constructor(s){this.parent=s,this._disposables=new r.DisposableStore,this.editorGroup=null,this.children=[],this._onDidGridStateChange=this._disposables.add(new n.Emitter),this.onDidGridStateChange=this._onDidGridStateChange.event,this._onDidGridAndDesendantStateChange=this._disposables.add(new n.Emitter),this.onDidGridAndDesendantStateChange=this._onDidGridAndDesendantStateChange.event;let g=(0,r.makeRandomHexString)(5);for(;t.editorGridUid.has(g);)g=(0,r.makeRandomHexString)(5);this.uid=g,t.editorGridUid.add(g),this._disposables.add(this.onDidGridStateChange(()=>{var a;this._onDidGridAndDesendantStateChange.fire(),(a=this.parent)===null||a===void 0||a._onDidGridAndDesendantStateChange.fire()}))}setEditorGroup(s){this.editorGroup=s,s.grid=this,this.splitDirection=void 0}generateSplitParent(s,g,a){this.splitDirection=s;const h=new _(this);h.setEditorGroup(this.editorGroup),this.editorGroup=null;const d=new _(this);d.setEditorGroup(g),a?this.children=[d,h]:this.children=[h,d],this._onDidGridStateChange.fire()}generateSplitSibling(s,g){if(this.parent){const a=this.parent.children.indexOf(this),h=new _(this.parent);h.setEditorGroup(s),g?this.parent.children.splice(a,0,h):this.parent.children.splice(a+1,0,h),this.parent._onDidGridStateChange.fire()}}split(s,g,a){this.splitDirection||(this.parent?this.parent.splitDirection===s?this.generateSplitSibling(g,a):this.parent.splitDirection!==s&&this.generateSplitParent(s,g,a):this.generateSplitParent(s,g,a))}dispose(){if(this.editorGroup){if(this.editorGroup=null,!this.parent)return;const s=this.parent.children.indexOf(this);this.parent.children.splice(s,1),this.parent.children.length===1&&this.parent.replaceBy(this.parent.children[0]),this.parent._onDidGridStateChange.fire()}this._disposables.dispose()}replaceBy(s){s.editorGroup&&this.setEditorGroup(s.editorGroup),this.splitDirection=s.splitDirection,this.children.splice(0,this.children.length,...s.children.splice(0,s.children.length)),this.children.forEach(g=>{g.parent=this}),this.parent&&this.parent._onDidGridStateChange.fire()}emitResizeWithEventBus(s){s.fire(new l.GridResizeEvent({gridId:this.uid})),s.fireDirective(l.GridResizeEvent.createDirective(this.uid)),this.children.forEach(g=>{g.emitResizeWithEventBus(s)})}serialize(){if(this.editorGroup){const s=this.editorGroup.getState();return this.parent&&s.uris.length===0?null:{editorGroup:s}}else{if(this.parent&&this.children.length===0)return null;const s=this.children.map(g=>g.serialize()).filter(g=>!!g);return s.length===1?s[0]:{splitDirection:this.splitDirection,children:s}}}async deserialize(s,g,a){const h=[];return s.editorGroup?(this.setEditorGroup(g()),a.push(this.editorGroup.restoreState(s.editorGroup))):(this.splitDirection=s.splitDirection,this.children=(s.children||[]).map(d=>{const u=new _(this);return h.push(u.deserialize(d,g,a)),u})),Promise.all(h)}findGird(s,g=0){if(this.splitDirection&&m(this.splitDirection,s)){const a=g+(s===o.Direction.LEFT||s===o.Direction.UP?-1:1);if(this.children[a])return this.children[a].getFirstLeaf()}return this.parent?this.parent.findGird(s,this.parent.children.indexOf(this)):null}getFirstLeaf(){return this.editorGroup?this:this.children.length>0?this.children[0].getFirstLeaf():null}sortEditorGroups(s){this.editorGroup?s.push(this.editorGroup):this.children.length>0&&this.children.forEach(g=>{g.sortEditorGroups(s)})}move(s){if(this.parent){if(this.parent.splitDirection===v.Horizontal){if(s===o.Direction.LEFT){const g=this.parent.children.indexOf(this);g>0&&(this.parent.children.splice(g,1),this.parent.children.splice(g-1,0,this),this.parent._onDidGridStateChange.fire())}else if(s===o.Direction.RIGHT){const g=this.parent.children.indexOf(this);g<this.parent.children.length&&(this.parent.children.splice(g,1),this.parent.children.splice(g+1,0,this),this.parent._onDidGridStateChange.fire())}}else if(this.parent.splitDirection===v.Vertical){if(s===o.Direction.UP){const g=this.parent.children.indexOf(this);g>0&&(this.parent.children.splice(g,1),this.parent.children.splice(g-1,0,this),this.parent._onDidGridStateChange.fire())}else if(s===o.Direction.DOWN){const g=this.parent.children.indexOf(this);g<this.parent.children.length&&(this.parent.children.splice(g,1),this.parent.children.splice(g+1,0,this),this.parent._onDidGridStateChange.fire())}}}}}t.EditorGrid=_;var v;(function(p){p[p.Horizontal=1]="Horizontal",p[p.Vertical=2]="Vertical"})(v||(t.SplitDirection=v={}));function m(p,s){return s===o.Direction.UP||s===o.Direction.DOWN?p===v.Vertical:s===o.Direction.LEFT||s===o.Direction.RIGHT?p===v.Horizontal:!1}},95338:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.EditorHistoryState=t.EditorHistoryService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(23418),v=e(82196),m=7,p=200,s=100;let g=n=class extends l.WithEventBus{constructor(){super(...arguments),this.currentIndex=-1,this.stack=[],this.closedStack=[]}init(){this.registerMouseNavigationListener()}registerMouseNavigationListener(){const d=new l.DisposableCollection,u=()=>{d.dispose(),this.preferenceService.get(n.MOUSE_NAVIGATION_SETTING)&&d.push((0,l.addDisposableListener)(window.document,l.EventType.MOUSE_DOWN,E=>this.onMouseDown(E))),this.disposables.push(d)};this.disposables.push(this.preferenceService.onSpecificPreferenceChange(n.MOUSE_NAVIGATION_SETTING,()=>{this.preferenceService.get(n.MOUSE_NAVIGATION_SETTING)&&u()})),u()}onMouseDown(d){switch(d.button){case 3:d.stopPropagation(),this.back();break;case 4:d.stopPropagation(),this.forward();break}}onEditorSelectionChangeEvent(d){d.payload.selections[0]&&this.onNewState(new a(d.payload.editorUri,{lineNumber:d.payload.selections[0].selectionStartLineNumber,column:d.payload.selections[0].selectionStartColumn},d.payload.group.index,!1))}onEditorGroupChangeEvent(d){if(d.payload.newOpenType&&(d.payload.newOpenType.type===v.EditorOpenType.code||d.payload.newOpenType.type===v.EditorOpenType.diff)){const u=d.payload.group.currentEditor.getSelections();u&&u.length>0&&this.onNewState(new a(d.payload.newResource.uri,{lineNumber:u[0].selectionStartLineNumber,column:u[0].selectionStartColumn},d.payload.group.index,!0))}}onEditorGroupCloseEvent(d){this.pushClosed(d.payload.resource.uri)}onNewState(d){if(this.currentIndex!==this.stack.length-1&&(d.isTabChange&&this.currentState.isRelevant(d)||this.currentState&&this.currentState.isEqual(d)))return;const u=this.currentState&&this.currentState.isRelevant(d);this.doPushState(d,u)}get currentState(){return this.stack[this.currentIndex]}doPushState(d,u){this.stack.splice(this.currentIndex+(u?0:1)),this.stack.push(d),this.stack.length>p&&this.stack.splice(0,this.stack.length-s),this.currentIndex=this.stack.length-1}forward(){this.currentIndex<this.stack.length-1&&(this.currentIndex++,this.restoreState(this.currentState))}back(){this.currentIndex>0&&(this.currentIndex--,this.restoreState(this.currentState))}restoreState(d){if(!d)return;(this.editorService.editorGroups[d.groupIndex]||this.editorService.currentEditorGroup).open(d.uri,{range:{startColumn:d.position.column,startLineNumber:d.position.lineNumber,endColumn:d.position.column,endLineNumber:d.position.lineNumber},focus:!0})}pushClosed(d){this.closedStack.push(d),this.closedStack.length>p&&this.closedStack.splice(0,this.closedStack.length-s)}popClosed(){const d=this.closedStack.pop();d&&(this.editorService.open(d,{focus:!0}),this.closedStack=this.closedStack.filter(u=>!d.isEqual(u)))}};t.EditorHistoryService=g,g.MOUSE_NAVIGATION_SETTING="editor.mouseBackForwardToNavigate",r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.WorkbenchEditorService),r.__metadata("design:type",_.WorkbenchEditorService)],g.prototype,"editorService",void 0),r.__decorate([(0,l.OnEvent)(v.EditorSelectionChangeEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[v.EditorSelectionChangeEvent]),r.__metadata("design:returntype",void 0)],g.prototype,"onEditorSelectionChangeEvent",null),r.__decorate([(0,l.OnEvent)(v.EditorGroupChangeEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[v.EditorGroupChangeEvent]),r.__metadata("design:returntype",void 0)],g.prototype,"onEditorGroupChangeEvent",null),r.__decorate([(0,l.OnEvent)(v.EditorGroupCloseEvent),r.__metadata("design:type",Function),r.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),r.__metadata("design:returntype",void 0)],g.prototype,"onEditorGroupCloseEvent",null),t.EditorHistoryService=g=n=r.__decorate([(0,o.Injectable)()],g);class a{constructor(d,u,E,f){this.uri=d,this.position=u,this.groupIndex=E,this.isTabChange=f}isRelevant(d){return!!(this.uri.isEqual(d.uri)&&(d.position.lineNumber<this.position.lineNumber+m&&d.position.lineNumber>this.position.lineNumber-m||this.isTabChange||d.isTabChange))}isEqual(d){return this.uri.isEqual(d.uri)&&this.position.lineNumber===d.position.lineNumber&&this.position.column===d.position.column}}t.EditorHistoryState=a},64544:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useEditorDocumentModel=l;const n=e(14041),r=e(41869),o=e(96689);function l(_){const v=(0,r.useInjectable)(o.IEditorDocumentModelService),[m,p]=(0,n.useState)(null);return(0,n.useEffect)(()=>{const s=new r.DisposableStore,g=()=>{const a=v.getModelReference(_);a&&(p(a.instance),a.dispose())};return s.add(v.onDocumentModelCreated(_.toString(),()=>{g()})),g(),()=>{s.dispose()}},[_]),m}},57517:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorClientAppContribution=t.EditorModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(55218),_=e(21880),v=e(62660),m=e(28694),p=e(23418),s=e(93107),g=e(64335),a=e(88895),h=e(11673),d=e(57581),u=e(84158),E=e(80487),f=e(37275),c=e(66537),y=e(96689),b=e(71624),A=e(17315),S=e(60362),D=e(2863),I=e(30612),w=e(59879),T=e(69728),R=e(1015),M=e(49746),O=e(78889),x=e(8135),k=e(32837),F=e(6950),L=e(59137),N=e(9447),U=e(54324),W=e(36168),j=e(94558),Q=e(71145),$=e(34885),Z=e(24328),G=e(80200),V=e(82196),H=e(17878),K=e(51553);n.__exportStar(e(80487),t),n.__exportStar(e(96689),t),n.__exportStar(e(24739),t),n.__exportStar(e(24328),t),n.__exportStar(e(82196),t),n.__exportStar(e(33835),t);let Y=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:p.EditorCollectionService,useClass:b.EditorCollectionServiceImpl},{token:H.UntitledDocumentIdCounter,useClass:H.UntitledDocumentIdCounter},{token:p.WorkbenchEditorService,useClass:K.WorkbenchEditorServiceImpl},{token:p.ResourceService,useClass:G.ResourceServiceImpl},{token:V.EditorComponentRegistry,useClass:h.EditorComponentRegistryImpl},{token:V.IEditorDecorationCollectionService,useClass:D.EditorDecorationCollectionService},{token:y.IEditorDocumentModelContentRegistry,useClass:f.EditorDocumentModelContentRegistryImpl},{token:y.IEditorDocumentModelService,useClass:f.EditorDocumentModelServiceImpl},{token:p.ILanguageService,useClass:O.LanguageService},{token:V.IEditorActionRegistry,useClass:x.EditorActionRegistryImpl},{token:s.IDocPersistentCacheProvider,useClass:E.EmptyDocCacheImpl},{token:V.ICompareService,useClass:u.CompareService},{token:V.IBreadCrumbService,useClass:a.BreadCrumbServiceImpl},{token:V.IEditorFeatureRegistry,useClass:w.EditorFeatureRegistryImpl},{token:Z.EditorPreferences,useFactory:oe=>{const he=oe.get(o.PreferenceService);return(0,o.createPreferenceProxy)(he,Z.editorPreferenceSchema)}},{token:l.ICallHierarchyService,useClass:L.CallHierarchyService},{token:m.ITypeHierarchyService,useClass:L.TypeHierarchyService},{token:_.ICommandServiceToken,useClass:N.MonacoCommandService},{token:_.IMonacoCommandsRegistry,useClass:N.MonacoCommandRegistry},{token:_.IMonacoActionRegistry,useClass:N.MonacoActionRegistry},{token:v.ITextmateTokenizer,useClass:U.TextmateService},{token:V.ILanguageStatusService,useClass:M.LanguageStatusService},{token:V.IEditorTabService,useClass:I.EditorTabService},{token:V.INotebookService,useClass:Q.NotebookService},{token:g.IMultiDiffSourceResolverService,useClass:j.MultiDiffSourceResolverService},$.EditorPreferenceContribution,d.DefaultDiffEditorContribution,W.MultiDiffEditorContribution,F.MergeEditorContribution,X,S.EditorContribution,u.CompareEditorContribution,S.EditorAutoSaveEditorContribution,c.SaveParticipantsContribution,T.FileSystemResourceContribution,L.CallHierarchyContribution,L.TypeHierarchyContribution,R.LanguageStatusContribution,k.OpenTypeMenuContribution],this.electronProviders=[A.EditorElectronContribution],this.contributionProvider=[V.BrowserEditorContribution,V.MultiDiffSourceContribution]}};t.EditorModule=Y,t.EditorModule=Y=n.__decorate([(0,r.Injectable)()],Y);let X=class{async initialize(){for(const oe of this.contributions.getContributions())oe.registerResource&&oe.registerResource(this.resourceService),oe.registerEditorComponent&&oe.registerEditorComponent(this.editorComponentRegistry),oe.registerEditorDocumentModelContentProvider&&oe.registerEditorDocumentModelContentProvider(this.modelContentRegistry),oe.registerEditorActions&&oe.registerEditorActions(this.editorActionRegistry),oe.registerEditorFeature&&oe.registerEditorFeature(this.editorFeatureRegistry);for(const oe of this.multiDiffSourceContribution.getContributions())oe.registerMultiDiffSourceResolver(this.multiDiffSourceResolverService);this.workbenchEditorService.contributionsReady.resolve(),await Promise.all([this.workbenchEditorService.initialize(),this.modelService.initialize()])}async onDidStart(){this.workbenchEditorService.prepareContextKeyService()}};t.EditorClientAppContribution=X,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.ResourceService)],X.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",V.EditorComponentRegistry)],X.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",K.WorkbenchEditorServiceImpl)],X.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(y.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],X.prototype,"modelContentRegistry",void 0),n.__decorate([(0,r.Autowired)(V.IEditorActionRegistry),n.__metadata("design:type",Object)],X.prototype,"editorActionRegistry",void 0),n.__decorate([(0,r.Autowired)(V.IEditorFeatureRegistry),n.__metadata("design:type",Object)],X.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],X.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(y.IEditorDocumentModelService),n.__metadata("design:type",f.EditorDocumentModelServiceImpl)],X.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(g.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],X.prototype,"multiDiffSourceResolverService",void 0),n.__decorate([(0,r.Autowired)(V.BrowserEditorContribution),n.__metadata("design:type",Object)],X.prototype,"contributions",void 0),n.__decorate([(0,r.Autowired)(V.MultiDiffSourceContribution),n.__metadata("design:type",Object)],X.prototype,"multiDiffSourceContribution",void 0),t.EditorClientAppContribution=X=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],X)},37906:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoModelDiagnostics=t.MonacoDiagnosticCollection=void 0;const n=e(85608),r=e(43718),o=n.__importStar(e(20868)),l=e(52902),_=e(23418);class v{constructor(s){this.name=s,this.diagnostics=new Map,this.toDispose=new r.DisposableCollection}dispose(){this.toDispose.dispose()}get(s){const g=this.diagnostics.get(s);return g?g.diagnostics:[]}set(s,g){const a=this.diagnostics.get(s);if(a)a.diagnostics=g;else{const h=new m(s,g,this.name);this.diagnostics.set(s,h),this.toDispose.push(r.Disposable.create(()=>{this.diagnostics.delete(s),h.dispose()}))}}}t.MonacoDiagnosticCollection=v;class m{constructor(s,g,a){this.owner=a,this._markers=[],this._diagnostics=[],this.uri=o.Uri.parse(s),this.diagnostics=g,l.monacoApi.editor.onDidCreateModel(h=>this.doUpdateModelMarkers(h))}set diagnostics(s){this._diagnostics=s,this._markers=(0,_.asMonacoDiagnostics)(s)||[],this.updateModelMarkers()}get diagnostics(){return this._diagnostics}get markers(){return this._markers}dispose(){this._markers=[],this.updateModelMarkers()}updateModelMarkers(){const s=l.monacoApi.editor.getModel(this.uri);this.doUpdateModelMarkers(s)}doUpdateModelMarkers(s){s&&this.uri.toString()===s.uri.toString()&&l.monacoApi.editor.setModelMarkers(s,this.owner,this._markers)}}t.MonacoModelDiagnostics=m},1015:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageStatusContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(23418),_=e(96689);let v=class extends o.WithEventBus{initialize(){this.workbenchEditorService.onActiveResourceChange(()=>{this.updateLanguageStatus(this.workbenchEditorService.currentEditor)}),this.eventBus.on(_.EditorDocumentModelOptionChangedEvent,p=>{const s=this.workbenchEditorService.currentEditor;s&&s.currentUri&&s.currentUri.isEqual(p.payload.uri)&&this.updateLanguageStatus(this.workbenchEditorService.currentEditor)})}updateLanguageStatus(p){if(!p){this.statusBar.removeElement("editor-status-language-status");return}const s=p.currentDocumentModel;if(s){const g=this.languageStatusService.getLanguageStatus(s.getMonacoModel());g.length&&this.statusBar.addElement("editor-status-language-status",{name:(0,o.localize)("status-bar.editor-langStatus"),alignment:o.StatusBarAlignment.RIGHT,text:this.getLanguageStatusText(g),priority:1.1,hoverContents:g.map(a=>({title:a.label,name:a.name,command:a.command})),onClick:()=>{}})}}getLanguageStatusText(p){if(p.length===0)return;const[s]=p;switch(s.severity){case o.Severity.Error:return"$(bracket-error)";case o.Severity.Warning:return"$(bracket-dot)";default:return"$(bracket)"}}};t.LanguageStatusContribution=v,n.__decorate([(0,r.Autowired)(o.IStatusBarService),n.__metadata("design:type",Object)],v.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.WorkbenchEditorService)],v.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.ILanguageStatusService),n.__metadata("design:type",Object)],v.prototype,"languageStatusService",void 0),t.LanguageStatusContribution=v=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],v)},49746:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageStatusService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(40497),{compare:_}=o.strings;let v=class{constructor(){this._provider=new l.LanguageFeatureRegistry,this.onDidChange=this._provider.onDidChange}addStatus(p){return this._provider.register(p.selector,p)}getLanguageStatus(p){return this._provider.ordered(p).sort((s,g)=>{let a=g.severity-s.severity;return a===0&&(a=_(s.source,g.source)),a===0&&(a=_(s.id,g.id)),a})}};t.LanguageStatusService=v,t.LanguageStatusService=v=n.__decorate([(0,r.Injectable)()],v)},78889:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageService=void 0,t.reviveMarker=g;const n=e(85608),r=e(76003),o=e(43718),l=e(62660),_=e(23418),v=e(37906);function m(h){switch(h){case o.MarkerSeverity.Error:return _.DiagnosticSeverity.Error;case o.MarkerSeverity.Warning:return _.DiagnosticSeverity.Warning;case o.MarkerSeverity.Info:return _.DiagnosticSeverity.Information;case o.MarkerSeverity.Hint:return _.DiagnosticSeverity.Hint}}function p(h,d,u,E){return{start:{line:h-1,character:d-1},end:{line:u-1,character:E-1}}}function s(h){return{message:h.message,location:{uri:h.resource,range:p(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)}}}function g(h){const d={code:typeof h.codeHref<"u"?{value:String(h.code),target:h.codeHref}:h.code,severity:m(h.severity),range:p(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn),message:h.message,source:h.source,relatedInformation:void 0,tags:h.tags};return h.relatedInformation&&(d.relatedInformation=h.relatedInformation.map(s)),d}let a=class{constructor(){this.markers=new Map,this.workspaceSymbolProviders=[];for(const d of this.markerManager.getResources())this.updateMarkers(new o.URI(d));this.markerManager.onMarkerChanged(d=>{d&&d.forEach(u=>this.updateMarkers(new o.URI(u)))})}get languages(){return[...this.mergeLanguages(this.textmateService.getLanguages()).values()]}getLanguage(d){return this.mergeLanguages(this.textmateService.getLanguages().filter(u=>u.id===d)).get(d)}mergeLanguages(d){const u=new Map;for(const{id:E,aliases:f,extensions:c,filenames:y}of d){const b=u.get(E)||{id:E,name:"",extensions:new Set,filenames:new Set};if(!b.name&&f&&f.length&&(b.name=f[0]),c&&c.length)for(const A of c)b.extensions.add(A);if(y&&y.length)for(const A of y)b.filenames.add(A);u.set(E,b)}for(const[E,f]of u)f.name||(f.name=E);return u}registerWorkspaceSymbolProvider(d){return this.workspaceSymbolProviders.push(d),o.Disposable.create(()=>{const u=this.workspaceSymbolProviders.indexOf(d);u!==-1&&this.workspaceSymbolProviders.splice(u,1)})}updateMarkers(d){const u=d.toString(),E=new Map;for(const c of this.markerManager.getMarkers({resource:d.toString()})){const y=E.get(c.type)||[];y.push(g(c)),E.set(c.type,y)}const f=new Set(this.markers.keys());for(const[c,y]of E){f.delete(c);const b=this.markers.get(c)||new v.MonacoDiagnosticCollection(c);b.set(u,y),this.markers.set(c,b)}for(const c of f){const y=this.markers.get(c);y&&y.set(u,[])}}};t.LanguageService=a,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.MarkerManager)],a.prototype,"markerManager",void 0),n.__decorate([(0,r.Autowired)(l.ITextmateTokenizer),n.__metadata("design:type",Object)],a.prototype,"textmateService",void 0),t.LanguageService=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a)},26209:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreadCrumbsMenuService=void 0;const n=e(85608),r=e(76003),o=e(93899);let l=class{show(v,m,p,s){const g=p.contextKeyService,h=this.ctxMenuService.createMenu({id:o.MenuId.BreadcrumbsTitleContext,contextKeyService:g}).getMergedMenuNodes();this.ctxMenuRenderer.show({anchor:{x:v,y:m},menuNodes:h,args:[{uri:s,group:p}]})}};t.BreadCrumbsMenuService=l,n.__decorate([(0,r.Autowired)(o.AbstractContextMenuService),n.__metadata("design:type",o.AbstractContextMenuService)],l.prototype,"ctxMenuService",void 0),n.__decorate([(0,r.Autowired)(o.ICtxMenuRenderer),n.__metadata("design:type",o.ICtxMenuRenderer)],l.prototype,"ctxMenuRenderer",void 0),t.BreadCrumbsMenuService=l=n.__decorate([(0,r.Injectable)()],l)},94617:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorContextMenuController=void 0;const n=e(85608),r=e(41869),o=e(93899),l=n.__importStar(e(20868)),_=n.__importStar(e(50189)),v=e(85139),m=e(19582),p=e(31324),s=e(27416);class g extends r.Disposable{static get(h){return h.getContribution(s.ContextMenuController.ID)}constructor(h,d,u,E){super(),this.contextMenuService=h,this.globalContextKeyService=d,this.contextMenuRenderer=u,this.codeEditor=E,this.contextKeyService=this.registerDispose(this.globalContextKeyService.createScoped(this.codeEditor._contextKeyService)),this.addDispose(this.codeEditor.onContextMenu(f=>this.onContextMenu(f))),this.addDispose(this.codeEditor.onKeyDown(f=>{f.keyCode===v.KeyCode.ContextMenu&&(f.preventDefault(),f.stopPropagation(),this.showContextMenu())}))}showContextMenu(h){if(!this.codeEditor.getOption(p.EditorOption.contextmenu)||!this.codeEditor.hasModel())return;if(!this.contextMenuService){this.codeEditor.focus();return}const d=this.getMenuNodes();d.length>0&&this._doShowContextMenu(d,h)}onContextMenu(h){if(!this.codeEditor.hasModel())return;if(!this.codeEditor.getOption(p.EditorOption.contextmenu)){this.codeEditor.focus(),h.target.position&&!this.codeEditor.getSelection().containsPosition(h.target.position)&&this.codeEditor.setPosition(h.target.position);return}if(h.target.type===m.MouseTargetType.OVERLAY_WIDGET||h.target.type===m.MouseTargetType.CONTENT_TEXT&&h.target.detail.injectedText||(h.event.preventDefault(),h.event.stopPropagation(),h.target.type!==m.MouseTargetType.CONTENT_TEXT&&h.target.type!==m.MouseTargetType.CONTENT_EMPTY&&h.target.type!==m.MouseTargetType.TEXTAREA))return;if(this.codeEditor.focus(),h.target.position){let u=!1;for(const E of this.codeEditor.getSelections())if(E.containsPosition(h.target.position)){u=!0;break}u||this.codeEditor.setPosition(h.target.position)}let d=null;h.target.type!==m.MouseTargetType.TEXTAREA&&(d={x:h.event.posx-1,width:2,y:h.event.posy-1,height:2}),this.showContextMenu(d)}_doShowContextMenu(h,d){const u=this.codeEditor;if(!u.hasModel())return;const E=u.getOption(l.editor.EditorOption.hover);if(u.updateOptions({hover:{enabled:!1}}),!d){u.revealPosition(u.getPosition(),l.editor.ScrollType.Immediate),u.render();const f=u.getScrolledVisiblePosition(u.getPosition()),c=_.getDomNodePagePosition(u.getDomNode()),y=c.left+f.left,b=c.top+f.top+f.height;d={x:y,y:b}}this.contextMenuRenderer.show({anchor:{x:d.x-window.scrollX,y:d.y-window.scrollY},menuNodes:h,args:[u.getModel().uri],onHide:()=>{this.codeEditor.updateOptions({hover:E}),this.codeEditor.focus()}})}getMenuNodes(){const h=this.contextMenuService.createMenu({id:o.MenuId.EditorContext,contextKeyService:this.contextKeyService}),d=h.getMergedMenuNodes();return h.dispose(),d}}t.EditorContextMenuController=g,g.ID="editor.contrib.contextmenu"},8135:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorActionRegistryImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899);let _=class extends o.Disposable{constructor(){super(...arguments),this._cachedMenus=new Map}registerEditorAction(){return this.logger.warn(new Error("registerEditorAction has been deprecated, use menu apis instead")),new o.Disposable}getMenu(m){const p=m.currentFocusedEditor?"editor-menu-"+m.currentFocusedEditor.getId():"editor-group-menu-"+m.name;if(!this._cachedMenus.has(p)){const s=m.currentFocusedEditor?this.contextKeyService.createScoped(m.currentFocusedEditor.monacoEditor._contextKeyService):m.contextKeyService,g=this.registerDispose(this.menuService.createMenu({id:l.MenuId.EditorTitle,contextKeyService:s}));this._cachedMenus.set(p,g)}return this._cachedMenus.get(p)}};t.EditorActionRegistryImpl=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],_.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.EditorActionRegistryImpl=_=n.__decorate([(0,r.Injectable)()],_)},32837:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenTypeMenuContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(43718),v=e(98295),m=e(82196),p=e(51553);var s;(function(a){a.EDITOR_OPEN_TYPE={id:"editor.opentype"}})(s||(s={}));let g=class extends _.Disposable{registerCommands(h){h.registerCommand(s.EDITOR_OPEN_TYPE,{execute:(...d)=>{const u=d[d.length-1];u&&typeof u=="string"&&this.workbenchEditorService.currentEditorGroup.changeOpenType(u)}})}constructor(){super(),this.registerEditorOpenTypes(),this.disposables.push(this.workbenchEditorService.onActiveResourceChange(h=>{this.registerEditorOpenTypes()}))}registerEditorOpenTypes(){const h=this.workbenchEditorService.currentEditorGroup.availableOpenTypes;this.menuRegistry.getMenuItems(l.MenuId.OpenTypeSubmenuContext).map(u=>u.command).forEach(u=>{this.menuRegistry.unregisterMenuItem(l.MenuId.OpenTypeSubmenuContext,u.id)}),this.menuRegistry.unregisterMenuItem(l.MenuId.EditorTitle,l.MenuId.OpenTypeSubmenuContext),h.length>=2&&this.registerMenuItem(h)}registerMenus(h){}registerMenuItem(h){const d={submenu:l.MenuId.OpenTypeSubmenuContext,label:(0,_.localize)("editor.openType"),group:"navigation",order:Number.MIN_SAFE_INTEGER,iconClass:(0,o.getIcon)("setting"),type:"default"};this.menuRegistry.registerMenuItem(l.MenuId.EditorTitle,d),h.forEach(u=>{var E;this.menuRegistry.registerMenuItem(l.MenuId.OpenTypeSubmenuContext,{command:{id:s.EDITOR_OPEN_TYPE.id,label:u.title||u.componentId||u.type},extraTailArgs:[(E=u.componentId)!==null&&E!==void 0?E:u.type],group:"navigation"})})}};t.OpenTypeMenuContribution=g,n.__decorate([(0,r.Autowired)(m.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorServiceImpl)],g.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.IMenuRegistry),n.__metadata("design:type",l.IMenuRegistry)],g.prototype,"menuRegistry",void 0),t.OpenTypeMenuContribution=g=n.__decorate([(0,v.Domain)(_.CommandContribution,l.MenuContribution),n.__metadata("design:paramtypes",[])],g)},78680:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabTitleMenuService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(91830),_=e(93899);let v=class{get editorTitleContextKey(){return this._editorTitleContextKey||(this._editorTitleContextKey=this.contextKeyService.createKey("editorTitleContext",!1)),this._editorTitleContextKey}show(p,s,g,a){const h=a.contextKeyService.createScoped();new l.ResourceContextKey(h).set(g),this.editorTitleContextKey.set(!0);const u=this.ctxMenuService.createMenu({id:_.MenuId.EditorTitleContext,contextKeyService:h}),E=u.getMergedMenuNodes();u.dispose(),h.dispose(),this.ctxMenuRenderer.show({anchor:{x:p,y:s},menuNodes:E,args:[{uri:g,group:a}],onHide:()=>{this.editorTitleContextKey.set(!1)}})}};t.TabTitleMenuService=v,n.__decorate([(0,r.Autowired)(_.AbstractContextMenuService),n.__metadata("design:type",_.AbstractContextMenuService)],v.prototype,"ctxMenuService",void 0),n.__decorate([(0,r.Autowired)(_.ICtxMenuRenderer),n.__metadata("design:type",_.ICtxMenuRenderer)],v.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],v.prototype,"contextKeyService",void 0),t.TabTitleMenuService=v=n.__decorate([(0,r.Injectable)()],v)},86273:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentMergeConflict=t.MergeConflictParser=t.TextLine=void 0;const r=e(85608),o=e(76003),l=e(43718),_=r.__importStar(e(20868)),v="<<<<<<<",m="|||||||",p="=======",s=">>>>>>>";class g{constructor(f,c){if(typeof c!="number"||c<=0||c>f.getLineCount())throw new Error("Illegal value for `line`");this.text=f.getLineContent(c),this.firstNonWhitespaceCharacterIndex=/^(\s*)/.exec(this.text)[1].length,this.range=new _.Range(c,1,c,this.text.length+1),this.rangeIncludingLineBreak=c<=f.getLineCount()?new _.Range(c,1,c+1,1):this.range,this.lineNumber=c,this.isEmptyOrWhitespace=this.firstNonWhitespaceCharacterIndex===this.text.length}}t.TextLine=g;let a=n=class extends l.Disposable{constructor(){super(...arguments),this.cache=new l.LRUCache(100),this._conflictTextCaches=new Map,this._conflictRangeCaches=new Map}static createCacheKey(f){return`${f.uri.toString()}-${f.getVersionId()}`}scanDocument(f){const c=n.createCacheKey(f);if(this.cache.has(c))return this.cache.get(c);let y=null;const b=[],A=this._conflictTextCaches.get(f.uri.toString());for(let D=0;D<f.getLineCount();D++){const I=new g(f,D+1);if(!(!I||I.isEmptyOrWhitespace)){if(I.text.startsWith(v)){if(y!==null){y=null;break}y={startHeader:I,commonAncestors:[]}}else if(y&&!y.splitter&&I.text.startsWith(m))y.commonAncestors.push(I);else if(y&&!y.splitter&&I.text===p)y.splitter=I;else if(y&&I.text.startsWith(s)){y.endFooter=I;const w=h(f,y);w!==null&&b.push(w),y=null}}}if(!A&&b.length){this._conflictTextCaches.set(f.uri.toString(),f.getValue());const D=[];b.filter(Boolean).forEach(I=>{const w=I.range;D.push({id:(0,l.uuid)(),range:w,text:f.getValueInRange(w),isResolved:!1})}),this._conflictRangeCaches.set(f.uri.toString(),D)}const S=b?.filter(Boolean).map(D=>new u(D));return this.cache.set(c,S),S}getConflictText(f){return this._conflictTextCaches.get(f)}getAllConflictsByUri(f){return this._conflictRangeCaches.get(f)}getAllConflicts(){return this._conflictRangeCaches}setConflictResolved(f,c){const y=this._conflictRangeCaches.get(f);if(y){const b=y.find(A=>A.id===c);b&&(b.isResolved=!0)}}deleteConflictText(f){this._conflictTextCaches.delete(f)}dispose(){this._conflictTextCaches.clear(),this._conflictRangeCaches.clear()}};t.MergeConflictParser=a,t.MergeConflictParser=a=n=r.__decorate([(0,o.Injectable)()],a);function h(E,f){if(!f.startHeader||!f.splitter||!f.endFooter)return null;const c=f.commonAncestors[0]||f.splitter;return{current:{header:f.startHeader.range,decoratorContent:new _.Range(f.startHeader.rangeIncludingLineBreak.endLineNumber,f.startHeader.rangeIncludingLineBreak.endColumn,d(E,c.range.getStartPosition(),f.startHeader.rangeIncludingLineBreak.getEndPosition()).lineNumber,d(E,c.range.getStartPosition(),f.startHeader.rangeIncludingLineBreak.getEndPosition()).column),content:new _.Range(f.startHeader.rangeIncludingLineBreak.endLineNumber,f.startHeader.rangeIncludingLineBreak.endColumn,c.range.startLineNumber,c.range.startColumn),name:f.startHeader.text.substring(v.length+1)},commonAncestors:f.commonAncestors.map((y,b,A)=>{const S=A[b+1]||f.splitter;return{header:y.range,decoratorContent:new _.Range(y.rangeIncludingLineBreak.endLineNumber,y.rangeIncludingLineBreak.endColumn,d(E,S.range.getStartPosition(),y.rangeIncludingLineBreak.getEndPosition()).lineNumber,d(E,S.range.getStartPosition(),y.rangeIncludingLineBreak.getEndPosition()).lineNumber),content:new _.Range(y.rangeIncludingLineBreak.endLineNumber,y.rangeIncludingLineBreak.endColumn,S.range.startLineNumber,S.range.startColumn),name:y.text.substring(m.length+1)}}),splitter:f.splitter.range,incoming:{header:f.endFooter.range,decoratorContent:new _.Range(f.splitter.rangeIncludingLineBreak.endLineNumber,f.splitter.rangeIncludingLineBreak.endColumn,d(E,f.endFooter.range.getStartPosition(),f.splitter.rangeIncludingLineBreak.getEndPosition()).lineNumber,d(E,f.endFooter.range.getStartPosition(),f.splitter.rangeIncludingLineBreak.getEndPosition()).column),content:new _.Range(f.splitter.rangeIncludingLineBreak.endLineNumber,f.splitter.rangeIncludingLineBreak.endColumn,f.endFooter.range.startLineNumber,f.endFooter.range.startColumn),name:f.endFooter.text.substring(s.length+1)},range:new _.Range(f.startHeader.range.startLineNumber,f.startHeader.range.startColumn,f.endFooter.range.endLineNumber,f.endFooter.range.endColumn)}}function d(E,f,c){if(f.equals(c))return f;let y=f.lineNumber,b=f.column-1;return b<0&&(y--,b=new g(E,y).range.endColumn),new _.Position(y,b)}class u{constructor(f){this.range=f.range,this.current=f.current,this.incoming=f.incoming,this.commonAncestors=f.commonAncestors,this.splitter=f.splitter}}t.DocumentMergeConflict=u},31375:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(86273),t),n.__exportStar(e(87334),t)},71433:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useMergeConflictModel=p;const r=e(85608).__importDefault(e(12784)),o=e(14041),l=e(41869),_=e(70392),v=e(64544),m=e(90775);function p(s){const g=(0,v.useEditorDocumentModel)(s),[a,h]=(0,o.useState)(!1),[d,u]=(0,o.useState)(0),E=(0,l.useInjectable)(m.MergeConflictService),f=(0,o.useMemo)(()=>(0,l.formatLocalize)("merge-conflicts.merge.conflict.remain",d),[d]);return(0,o.useEffect)(()=>{const c=new _.DisposableStore;if(g){const y=()=>{const A=E.scanDocument(g.getMonacoModel());u(A),A>0&&h(!0)},b=(0,r.default)(y,150);return c.add(g.getMonacoModel().onDidChangeContent(()=>{b()})),y(),()=>{c.dispose(),E.clear(),h(!1),u(0)}}},[g]),{isVisiable:a,summary:f,canNavigate:d>0}}},90775:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeConflictService=void 0;const n=e(85608),r=e(76003),o=e(34712),l=e(72665),_=e(82196),v=e(86273);let m=class{constructor(){this.conflicts=[]}scanDocument(s){return this.conflicts=this.parser.scanDocument(s),this.conflicts.length}clear(){this.conflicts=[]}async navigate(s,g){this.conflicts=this.parser.scanDocument(s.monacoEditor.getModel());const a=this.conflicts.map(u=>u.range),h=(0,o.findRangeForNavigation)(g,a,s.monacoEditor.getPosition());if(h)if(h.canNavigate){if(!h.range)return}else{this.messageService.warning("No other merge conflicts within this file");return}else{this.messageService.warning("No merge conflicts found in this file");return}s.monacoEditor.setPosition(h.range.getStartPosition());const d=h.range.delta(-1);s.monacoEditor.revealRangeNearTopIfOutsideViewport(d),s.monacoEditor.focus()}navigateNext(){return this.navigate(this.editorService.currentEditor,o.NavigationDirection.Forwards)}navigatePrevious(){return this.navigate(this.editorService.currentEditor,o.NavigationDirection.Backwards)}};t.MergeConflictService=m,n.__decorate([(0,r.Autowired)(v.MergeConflictParser),n.__metadata("design:type",v.MergeConflictParser)],m.prototype,"parser",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],m.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(l.IMessageService),n.__metadata("design:type",Object)],m.prototype,"messageService",void 0),t.MergeConflictService=m=n.__decorate([(0,r.Injectable)()],m)},87334:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AI_COMMAND=void 0;var e;(function(n){const r="merge-conflict";n.ACCEPT=`${r}.ai.accept`,n.REVERT=`${r}.ai.revert`})(e||(t.AI_COMMAND=e={}))},69647:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorFloatComponents=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),l=e(61468),_=e(71433),v=e(90775),m=({resource:p})=>{const{uri:s}=p,g=(0,o.useInjectable)(v.MergeConflictService),a=(0,o.useInjectable)(o.CommandService),h=(0,o.useInjectable)(o.CommandRegistry),{canNavigate:d,isVisiable:u,summary:E}=(0,_.useMergeConflictModel)(s),[f,c]=(0,r.useState)(!1),y=(0,r.useCallback)(()=>{g.navigatePrevious()},[]),b=(0,r.useCallback)(()=>{g.navigateNext()},[]),A=(0,r.useCallback)(async()=>{c(!0),f?await a.executeCommand(o.MERGE_CONFLICT_COMMANDS.AI_ALL_ACCEPT_STOP.id,s):await a.executeCommand(o.MERGE_CONFLICT_COMMANDS.AI_ALL_ACCEPT.id,s),c(!1)},[s,f]);return u?r.default.createElement(l.MergeActions,{uri:s,editorType:"text",summary:E,canNavigate:d,handleNext:b,handlePrev:y,isAIResolving:f,onAIResolve:A,onReset:()=>{a.executeCommand(o.MERGE_CONFLICT_COMMANDS.ALL_RESET.id,s)},onSwitchEditor:()=>{[o.SCM_COMMANDS.GIT_OPEN_MERGE_EDITOR,o.SCM_COMMANDS._GIT_OPEN_MERGE_EDITOR].forEach(({id:S})=>{h.getCommand(S)&&h.isEnabled(S)&&a.executeCommand(S,s)})}}):null};t.MergeEditorFloatComponents=m},6950:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(82196),_=e(14769),v=e(69647),m="merge.editor.floating.widget";let p=class extends o.Disposable{registerResource(g){g.registerResourceProvider(this.mergeEditorResourceProvider)}registerEditorComponent(g){g.registerEditorComponentResolver(l.EditorOpenType.mergeEditor,(a,h)=>{h.push({type:l.EditorOpenType.mergeEditor})}),g.registerEditorSideWidget({id:m,component:v.MergeEditorFloatComponents,displaysOnResource:a=>{const{uri:h}=a;return h.scheme===o.Schemes.file}})}};t.MergeEditorContribution=p,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.MergeEditorResourceProvider)],p.prototype,"mergeEditorResourceProvider",void 0),t.MergeEditorContribution=p=n.__decorate([(0,o.Domain)(l.BrowserEditorContribution)],p)},14769:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96177);let _=class extends o.WithEventBus{constructor(){super(...arguments),this.scheme="mergeEditor"}provideResource(m){const{openMetadata:p,name:s}=m.getParsedQuery();try{const g=JSON.parse(p),{ancestor:a,input1:h,input2:d,output:u}=g,E=new o.URI(u),f=this.labelService.getIcon(E);return{supportsRevive:!0,name:s,icon:f,uri:m,metadata:{ancestor:a,input1:h,input2:d,output:u}}}catch{throw Error("invalid merge editor resource parse")}}shouldCloseResource(m,p){const{openMetadata:s}=m.uri.getParsedQuery();try{const g=JSON.parse(s),{output:a}=g,h=new o.URI(a);return this.mergeEditorService.fireRestoreState(h),!0}catch{throw Error("invalid merge editor resource parse")}}};t.MergeEditorResourceProvider=_,n.__decorate([(0,r.Autowired)(o.LabelService),n.__metadata("design:type",o.LabelService)],_.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(l.MergeEditorService),n.__metadata("design:type",l.MergeEditorService)],_.prototype,"mergeEditorService",void 0),t.MergeEditorResourceProvider=_=n.__decorate([(0,r.Injectable)()],_)},98388:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyContribution=t.executeProvideOutgoingCallsCommand=t.executeProvideIncomingCallsCommand=t.executePrepareCallHierarchyCommand=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40191),_=e(55218),v=e(82196);t.executePrepareCallHierarchyCommand={id:"_executePrepareCallHierarchy"},t.executeProvideIncomingCallsCommand={id:"_executeProvideIncomingCalls"},t.executeProvideOutgoingCallsCommand={id:"_executeProvideOutgoingCalls"};const m=new l.RawContextKey("editorHasCallHierarchyProvider",!1);let p=class{registerCommands(g){g.registerCommand(t.executePrepareCallHierarchyCommand,{execute:(a,h)=>this.callHierarchyService.prepareCallHierarchyProvider(a,h)}),g.registerCommand(t.executeProvideIncomingCallsCommand,{execute:a=>this.callHierarchyService.provideIncomingCalls(a)}),g.registerCommand(t.executeProvideOutgoingCallsCommand,{execute:a=>this.callHierarchyService.provideOutgoingCalls(a)})}registerEditorFeature(g){this.ctxHasProvider=m.bind(this.contextKeyService),g.registerEditorFeatureContribution({contribute:a=>{const h=a.monacoEditor;return o.Event.any(h.onDidChangeModel,h.onDidChangeModelLanguage,_.CallHierarchyProviderRegistry.onDidChange)(()=>{h.hasModel()&&this.ctxHasProvider.set(_.CallHierarchyProviderRegistry.has(h.getModel()))})}})}};t.CallHierarchyContribution=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(_.ICallHierarchyService),n.__metadata("design:type",Object)],p.prototype,"callHierarchyService",void 0),t.CallHierarchyContribution=p=n.__decorate([(0,o.Domain)(o.CommandContribution,v.BrowserEditorContribution)],p)},45483:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyService=t.CallHierarchyModel=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(55218),_=e(96689),{isNonEmptyArray:v}=o.arrays;class m{static async create(g,a,h){const[d]=l.CallHierarchyProviderRegistry.ordered(g);if(!d)return;const u=await d.prepareCallHierarchy(g,a,h);if(u)return new m(u.roots.reduce((E,f)=>E+f._sessionId,""),d,u.roots,new o.RefCountedDisposable(u))}constructor(g,a,h,d){this.id=g,this.provider=a,this.roots=h,this.ref=d,this.root=h[0]}dispose(){this.ref.release()}fork(g){const a=this;return new class extends m{constructor(){super(a.id,a.provider,[g],a.ref.acquire())}}}async resolveIncomingCalls(g,a){try{const h=await this.provider.provideIncomingCalls(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}async resolveOutgoingCalls(g,a){try{const h=await this.provider.provideOutgoingCalls(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}}t.CallHierarchyModel=m;let p=class{constructor(){this.models=new Map}registerCallHierarchyProvider(g,a){l.CallHierarchyProviderRegistry.register(g,a)}async prepareCallHierarchyProvider(g,a){let h=this.modelService.getModelReference(o.URI.parse(g.toString())),d=h?.instance.getMonacoModel();if(h?.dispose(),!d){const u=await this.modelService.createModelReference(o.URI.parse(g.toString()));d=u.instance.getMonacoModel(),h=u}try{const u=await m.create(d,a,o.CancellationToken.None);return u?(this.models.set(u.id,u),this.models.forEach((E,f,c)=>{c.size>10&&(E.dispose(),this.models.delete(f))}),[u.root]):[]}finally{h?.dispose()}}provideIncomingCalls(g){const a=this.models.get(g._sessionId);if(a)return a.resolveIncomingCalls(g,o.CancellationToken.None)}provideOutgoingCalls(g){const a=this.models.get(g._sessionId);if(a)return a.resolveOutgoingCalls(g,o.CancellationToken.None)}};t.CallHierarchyService=p,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"modelService",void 0),t.CallHierarchyService=p=n.__decorate([(0,r.Injectable)()],p)},9447:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoActionRegistry=t.MonacoCommandRegistry=t.MonacoCommandService=t.MonacoCommandType=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(20868),v=e(21880),m=e(52902),p=e(60304),s=e(82196),g={"editor.action.smartSelect.grow":"editor.action.smartSelect.expand",cursorWordPartStartLeft:"cursorWordPartLeft",cursorWordPartStartLeftSelect:"cursorWordPartLeftSelect","editor.action.previewDeclaration":"editor.action.peekDefinition","editor.action.openDeclarationToTheSide":"editor.action.revealDefinitionAside","editor.action.goToDeclaration":"editor.action.revealDefinition"};var a;(function(E){E[E.ACTION=0]="ACTION",E[E.COMMAND=1]="COMMAND"})(a||(t.MonacoCommandType=a={}));let h=class{constructor(){this._onDidExecuteCommand=new l.Emitter,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._onWillExecuteCommand=new l.Emitter}setDelegate(f){this.delegate=f}get onWillExecuteCommand(){return this._onWillExecuteCommand.event}async executeCommand(f,...c){this.logger.debug("command: "+f),this._onWillExecuteCommand.fire({commandId:f,args:c});try{const y=await this.commandService.executeCommand(f,...c);return this._onDidExecuteCommand.fire({commandId:f,args:c}),y}catch(y){if(y?.name!==`${l.HANDLER_NOT_FOUND}:${f}`)throw y}if(this.delegate){const y=this.delegate.executeCommand(g[f]?g[f]:f,...c);return this._onDidExecuteCommand.fire({commandId:f,args:c}),y}return this.reporterService.point(l.REPORT_NAME.NOT_FOUND_COMMAND,f),Promise.reject(new Error(`command '${f}' not found`))}};t.MonacoCommandService=h,r.__decorate([(0,o.Autowired)(l.ILogger),r.__metadata("design:type",Object)],h.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(l.CommandRegistry),r.__metadata("design:type",Object)],h.prototype,"commandRegistry",void 0),r.__decorate([(0,o.Autowired)(l.CommandService),r.__metadata("design:type",Object)],h.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(l.IReporterService),r.__metadata("design:type",Object)],h.prototype,"reporterService",void 0),t.MonacoCommandService=h=r.__decorate([(0,o.Injectable)()],h);let d=class{validate(f){var c;return(c=this.commands.getRawCommand(f))===null||c===void 0?void 0:c.id}registerCommand(f,c){this.commands.registerCommand(f,this.newHandler(c))}registerHandler(f,c){this.commands.registerHandler(f,this.newHandler(c))}newHandler(f){return{execute:(...c)=>this.execute(f,...c)}}execute(f,...c){const y=this.getActiveCodeEditor();return y?Promise.resolve(f.execute(y,...c)):Promise.resolve()}get codeEditorService(){return this.overrideServiceRegistry.getRegisteredService(l.ServiceNames.CODE_EDITOR_SERVICE)}getActiveCodeEditor(){var f;const c=(f=this.codeEditorService)===null||f===void 0?void 0:f.getFocusedCodeEditor();if(c)return c;if(this.editorCollectionService.currentEditor)return this.editorCollectionService.currentEditor.monacoEditor;const y=this.workbenchEditorService.currentEditorGroup;if(y){const b=y.currentOrPreviousFocusedEditor||y.currentEditor;if(b)return b.monacoEditor}}};t.MonacoCommandRegistry=d,r.__decorate([(0,o.Autowired)(l.CommandRegistry),r.__metadata("design:type",Object)],d.prototype,"commands",void 0),r.__decorate([(0,o.Autowired)(s.WorkbenchEditorService),r.__metadata("design:type",s.WorkbenchEditorService)],d.prototype,"workbenchEditorService",void 0),r.__decorate([(0,o.Autowired)(s.EditorCollectionService),r.__metadata("design:type",s.EditorCollectionService)],d.prototype,"editorCollectionService",void 0),r.__decorate([(0,o.Autowired)(l.MonacoOverrideServiceRegistry),r.__metadata("design:type",l.MonacoOverrideServiceRegistry)],d.prototype,"overrideServiceRegistry",void 0),t.MonacoCommandRegistry=d=r.__decorate([(0,o.Injectable)()],d);let u=n=class{get globalInstantiationService(){const f=this.overrideServiceRegistry.getRegisteredService(l.ServiceNames.CODE_EDITOR_SERVICE),c=this.overrideServiceRegistry.getRegisteredService(l.ServiceNames.TEXT_MODEL_SERVICE),y=this.overrideServiceRegistry.getRegisteredService(l.ServiceNames.CONTEXT_KEY_SERVICE);return p.StandaloneServices.initialize({codeEditorService:f,textModelService:c,contextKeyService:y})}get monacoEditorRegistry(){return v.EditorExtensionsRegistry}get monacoCommands(){return v.CommandsRegistry.getCommands()}registerMonacoActions(){var f;const c=new Map(Array.from(this.monacoEditorRegistry.getEditorActions()).map(({id:y,label:b,alias:A})=>[y,{label:b,alias:A}]));for(const y of this.monacoCommands.keys()){if(n.EXCLUDE_ACTIONS.includes(y))continue;const b=(f=c.get(y))!==null&&f!==void 0?f:{},A=this.actAndComHandler(c,y);this.monacoCommandRegistry.registerCommand({id:y,label:b.label,labelLocalized:b.label&&b.alias?{alias:b.alias,localized:b.label,raw:b.label}:void 0},A);const S=n.COMMON_ACTIONS.get(y);S&&this.monacoCommandRegistry.registerHandler(S,A)}}actAndComHandler(f,c){if(n.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID.has(c)){const y=n.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID.get(c);if(this.monacoEditorRegistry.getSomeEditorContributions([y]).length>0)return this.newCommandHandler(c)}return f.has(c)?this.newActionHandler(c):this.newCommandHandler(c)}isInternalExecuteCommand(f){return f.startsWith("_execute")}processInternalCommandArgument(f,c=[]){return this.isInternalExecuteCommand(f)?c.map(y=>y instanceof l.Uri?m.URI.revive(y):y):n.CONVERT_MONACO_COMMAND_ARGS.has(f)?n.CONVERT_MONACO_COMMAND_ARGS.get(f)(...c):c}newCommandHandler(f){return{execute:(c,...y)=>{var b;if(!c)return;const S=!!this.monacoEditorRegistry.getEditorCommand(f)||!(this.isInternalExecuteCommand(f)||f==="setContext"||n.COMMON_ACTIONS.has(f))?c&&c._instantiationService:this.globalInstantiationService;if(!S)return;const D=this.processInternalCommandArgument(f,y);return S.invokeFunction((b=this.monacoCommands.get(f))===null||b===void 0?void 0:b.handler,...D)}}}newActionHandler(f){return{execute:(c,...y)=>{const b=c.getAction(f);if(b&&b.isSupported())return this.runAction(f,c,...y)}}}runAction(f,c,...y){if(c){const b=c.getAction(f);if(b)return b.run(...y)}return Promise.resolve()}newKeyboardHandler(f){return{execute:(c,...y)=>c.trigger("keyboard",f,y)}}};t.MonacoActionRegistry=u,u.COMMON_ACTIONS=new Map([[_.DELEGATE_COMMANDS.UNDO,l.EDITOR_COMMANDS.UNDO.id],[_.DELEGATE_COMMANDS.REDO,l.EDITOR_COMMANDS.REDO.id],[_.DELEGATE_COMMANDS.SELECT_ALL,l.EDITOR_COMMANDS.SELECT_ALL.id]]),u.CONVERT_MONACO_COMMAND_ARGS=new Map([["editor.action.showReferences",(E,...f)=>[m.URI.parse(E),...f]],["editor.action.goToLocations",(E,...f)=>[m.URI.parse(E),...f]]]),u.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID=new Map([["editor.action.rename","editor.contrib.renameController"]]),u.EXCLUDE_ACTIONS=["setContext","editor.action.quickCommand","editor.action.quickOutline","editor.action.toggleHighContrast","editor.action.gotoLine"],r.__decorate([(0,o.Autowired)(),r.__metadata("design:type",d)],u.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(l.MonacoOverrideServiceRegistry),r.__metadata("design:type",l.MonacoOverrideServiceRegistry)],u.prototype,"overrideServiceRegistry",void 0),r.__decorate([l.memoize,r.__metadata("design:type",Object),r.__metadata("design:paramtypes",[])],u.prototype,"globalInstantiationService",null),r.__decorate([l.memoize,r.__metadata("design:type",Object),r.__metadata("design:paramtypes",[])],u.prototype,"monacoEditorRegistry",null),r.__decorate([l.memoize,r.__metadata("design:type",Object),r.__metadata("design:paramtypes",[])],u.prototype,"monacoCommands",null),t.MonacoActionRegistry=u=n=r.__decorate([(0,o.Injectable)()],u)},59137:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(98388),t),n.__exportStar(e(45483),t),n.__exportStar(e(88412),t),n.__exportStar(e(7795),t)},41977:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextmateRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class{constructor(){this.scopeToProvider=new Map,this.languageToConfig=new Map,this.languageIdToScope=new Map}registerTextmateGrammarScope(v,m){return this.scopeToProvider.has(v)&&(0,o.getDebugLogger)().warn(new Error(`a registered grammar provider for '${v}' scope is overridden`)),this.scopeToProvider.set(v,m),()=>{this.scopeToProvider.delete(v)}}getProvider(v){return this.scopeToProvider.get(v)}mapLanguageIdToTextmateGrammar(v,m){const p=this.getScope(v);return typeof p=="string"&&(0,o.getDebugLogger)().warn(new Error(`'${v}' language is remapped from '${p}' to '${m}' scope`)),this.languageIdToScope.set(v,m),()=>{this.languageIdToScope.delete(v)}}getScope(v){return this.languageIdToScope.get(v)}getLanguageId(v){for(const m of this.languageIdToScope.keys())if(this.languageIdToScope.get(m)===v)return m}registerGrammarConfiguration(v,m){return this.languageToConfig.has(v),this.languageToConfig.set(v,m),()=>{this.languageToConfig.delete(v)}}getGrammarConfiguration(v){return this.languageToConfig.get(v)||(()=>({}))}};t.TextmateRegistry=l,t.TextmateRegistry=l=n.__decorate([(0,r.Injectable)()],l)},58837:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextMateTokenizer=t.TokenizerState=void 0;const n=e(25726),r=e(86560),o=e(38390);class l{constructor(m){this.ruleStack=m}clone(){return new l(this.ruleStack)}equals(m){return m instanceof l&&(m===this||m.ruleStack===this.ruleStack)}}t.TokenizerState=l;class _ extends r.Disposable{constructor(m,p,s){super(),this.grammar=m,this.options=p,this.conatinsEmbeddedLanguages=s,this.onDidEncounterLanguageEmitter=new r.Emitter,this.onDidEncounterLanguage=this.onDidEncounterLanguageEmitter.event,this.seenLanguages=[]}getInitialState(){return new l(n.INITIAL)}tokenizeEncoded(m,p){if(this.options.lineLimit!==void 0&&m.length>this.options.lineLimit){const g=new Uint32Array(2);return g[0]=0,g[1]=1<<o.MetadataConsts.LANGUAGEID_OFFSET|0<<o.MetadataConsts.TOKEN_TYPE_OFFSET|0<<o.MetadataConsts.FONT_STYLE_OFFSET|1<<o.MetadataConsts.FOREGROUND_OFFSET|2<<o.MetadataConsts.BACKGROUND_OFFSET|o.MetadataConsts.BALANCED_BRACKETS_MASK>>>0,{endState:new l(n.INITIAL),tokens:g}}const s=this.grammar.tokenizeLine2(m,p.ruleStack,500);if(this.conatinsEmbeddedLanguages){const g=this.seenLanguages,a=s.tokens;for(let h=0,d=a.length>>>1;h<d;h++){const u=a[(h<<1)+1],E=o.TokenMetadata.getLanguageId(u);g[E]||(g[E]=!0,this.onDidEncounterLanguageEmitter.fire(E))}}return{endState:new l(s.ruleStack),tokens:s.tokens}}tokenize(m,p){const s=this.grammar.tokenizeLine(m,p.ruleStack);return{endState:new l(s.ruleStack),tokens:s.tokens.map(g=>({...g,scopes:g.scopes.join(`\r
33322
33322
  `)}))}}}t.TextMateTokenizer=_},54324:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextmateService=void 0,t.getEncodedLanguageId=b,t.getLegalThemeName=A;const n=e(85608),r=e(27107),o=e(25726),l=e(76003),_=e(41869),v=e(6858),m=e(43718),p=e(42933),s=e(52902),g=e(33096),a=e(89944),h=e(96068),d=e(14162),u=e(16781),E=e(96689),f=e(41977),c=e(58837);let y=!1;function b(T){return s.monaco.languages.getEncodedLanguageId(T)}function A(T){return T.toLowerCase().replace(/[^a-z0-9-]/g,"-")}class S{createOnigScanner(R){return new r.OnigScanner(R)}createOnigString(R){return new r.OnigString(R)}}function D(T){if(!Array.isArray(T))return!1;for(let R=0,M=T.length;R<M;R++)if(typeof T[R]!="string")return!1;return!0}function I(T){return D(T)&&T.length===2}let w=class extends _.WithEventBus{constructor(){super(...arguments),this.registeredGrammarDisposableCollection=new Map,this.injections=new Map,this.activatedLanguage=new Set,this.languageConfigLocation=new Map,this.languageConfiguration=new Map,this.initialized=!1,this.dynamicLanguages=[]}init(){this.initGrammarRegistry(),this.listenThemeChange(),this.listenPreferenceChange()}listenThemeChange(){this.eventBus.on(a.ThemeChangedEvent,R=>{const M=R.payload.theme.themeData;M!==this.editorTheme&&(this.editorTheme=M,this.setTheme(M))})}async registerLanguage(R,M){return this.registerLanguages([R],M)}reviveLanguageConfiguration(R,M){return{wordPattern:this.createRegex(M.wordPattern),autoClosingPairs:this.extractValidAutoClosingPairs(R,M),brackets:this.extractValidBrackets(R,M),comments:this.extractValidCommentRule(R,M),folding:this.convertFolding(M.folding),surroundingPairs:this.extractValidSurroundingPairs(R,M),indentationRules:this.convertIndentationRules(M.indentationRules),autoCloseBefore:M.autoCloseBefore,colorizedBracketPairs:this.extractValidColorizedBracketPairs(R,M),onEnterRules:this.extractValidOnEnterRules(R,M)}}get monacoLanguageService(){return u.StandaloneServices.get(d.ILanguageService)}isEmbeddedLanguageOnly(R){return!R.filenames&&!R.extensions&&!R.filenamePatterns&&!R.firstLine&&!R.mimetypes&&(!R.aliases||R.aliases.length===0)}async registerLanguages(R,M){const O=R.map(x=>({id:x.id,aliases:x.aliases,extensions:x.extensions,filenamePatterns:x.filenamePatterns,filenames:x.filenames,firstLine:x.firstLine,mimetypes:x.mimetypes}));if(this.dynamicLanguages.push(...O.filter(x=>!this.isEmbeddedLanguageOnly(x))),this.monacoLanguageService._registry._registerLanguages(O),R.forEach(async x=>{this.languageConfigLocation.set(x.id,M),this.addDispose(s.monaco.languages.onLanguage(x.id,async()=>{await this.loadLanguageConfiguration(x,M),this.activateLanguage(x.id)})),this.languageConfiguration.set(x.id,x)}),this.initialized){const x=this.editorDocumentModelService.getAllModels().map(k=>k.uri);for(const k of x){const F=this.editorDocumentModelService.getModelReference(m.URI.parse(k.codeUri.toString()));if(F&&F.instance){const L=F.instance.getMonacoModel().getLanguageId();if(this.languageConfiguration.has(L)){const N=this.languageConfigLocation.get(L);await this.loadLanguageConfiguration(this.languageConfiguration.get(L),N),this.activateLanguage(L)}}F?.dispose()}}}async registerGrammar(R,M){if(R.path){const O=R.path.replace(/^\.\//,"");R.location=M.resolve(O)}this.doRegisterGrammar(R)}unregisterGrammar(R){const M=this.registeredGrammarDisposableCollection.get(R.scopeName);M&&M.dispose()}doRegisterGrammar(R){const M=new m.Disposable;if(R.injectTo)for(const O of R.injectTo){let x=this.injections.get(O);x||(x=[],M.addDispose(m.Disposable.create(()=>{this.injections.delete(O)})),this.injections.set(O,x)),x.push(R.scopeName)}M.addDispose(m.Disposable.create(this.textmateRegistry.registerTextmateGrammarScope(R.scopeName,{async getGrammarDefinition(){return{format:/\.json$/.test(R.path)?"json":"plist",location:R.location,content:await R.resolvedConfiguration}},getInjections:O=>{const x=O.split(".");let k=[];for(let F=1;F<=x.length;F++){const L=x.slice(0,F).join(".");k=[...k,...this.injections.get(L)||[]]}return k}}))),R.language&&(M.addDispose(m.Disposable.create(this.textmateRegistry.mapLanguageIdToTextmateGrammar(R.language,R.scopeName))),M.addDispose(m.Disposable.create(this.textmateRegistry.registerGrammarConfiguration(R.language,()=>({embeddedLanguages:this.convertEmbeddedLanguages(R.embeddedLanguages),tokenTypes:this.convertTokenTypes(R.tokenTypes),balancedBracketSelectors:(0,h.asStringArray)(R.balancedBracketScopes,["*"]),unbalancedBracketSelectors:(0,h.asStringArray)(R.unbalancedBracketScopes,[])}))))),this.registeredGrammarDisposableCollection.set(R.scopeName,M)}async loadLanguageConfiguration(R,M){let O;if(typeof R.resolvedConfiguration=="object"){const x=await R.resolvedConfiguration;O=this.reviveLanguageConfiguration(R.id,x)}else if(R.configuration){const x=R.configuration.replace(/^\.\//,""),k=M.resolve(x),L=(await this.fileServiceClient.resolveContent(k.toString())).content;if(L){const N=this.safeParseJSON(L);N&&(O=this.reviveLanguageConfiguration(R.id,N))}}O&&s.monaco.languages.setLanguageConfiguration(R.id,O)}async activateLanguage(R){this.eventBus.fire(new _.ExtensionActivateEvent({topic:"onLanguage",data:R})),!this.activatedLanguage.has(R)&&(this.activatedLanguage.add(R),this.setTokensProviderByLanguageId(R))}async setTokensProviderByLanguageId(R){const M=this.textmateRegistry.getScope(R);if(!M||!this.textmateRegistry.getProvider(M))return;const x={lineLimit:this.preferenceService.getValid("editor.maxTokenizationLineLength",2e4)},k=this.textmateRegistry.getGrammarConfiguration(R)(),F=b(R);try{const L=await this.grammarRegistry.loadGrammarWithConfiguration(M,F,k),N=k.tokenizerOption?k.tokenizerOption:x,U=k.embeddedLanguages&&Object.keys(k.embeddedLanguages).length>0;if(L){const W=new c.TextMateTokenizer(L,N,U);this.addDispose(W.onDidEncounterLanguage(async j=>{const Q=this.monacoLanguageService._registry.languageIdCodec.decodeLanguageId(j),$=this.languageConfigLocation.get(Q);$&&this.languageConfiguration.has(Q)&&(await this.loadLanguageConfiguration(this.languageConfiguration.get(Q),$),this.activateLanguage(Q))})),s.monaco.languages.setTokensProvider(R,W)}}catch(L){this.logger.warn("No grammar for this language id",R,L)}}setTheme(R){this.generateEncodedTokenColors(R),s.monaco.editor.defineTheme(A(R.name),R),s.monaco.editor.setTheme(A(R.name))}generateEncodedTokenColors(R){this.grammarRegistry.setTheme(R),R.encodedTokensColors=this.grammarRegistry.getColorMap(),R.encodedTokensColors[0]=null}createRegex(R){if(typeof R=="string")return new RegExp(R,"");if((0,m.isObject)(R)){if(typeof R.pattern!="string"||typeof R.flags<"u"&&typeof R.flags!="string")return;try{return new RegExp(R.pattern,R.flags)}catch{return}}}safeParseJSON(R){let M;try{return M=(0,_.parseWithComments)(R),M}catch(O){this.logger.error(`Language configuration file parsing error, ${O.stack}`);return}}convertFolding(R){if(!R)return;const M={offSide:R.offSide};return R.markers&&(M.markers={end:R.markers.end,start:R.markers.start}),M}convertIndentationRules(R){if(!R)return;const M={decreaseIndentPattern:this.createRegex(R.decreaseIndentPattern),increaseIndentPattern:this.createRegex(R.increaseIndentPattern)};return R.indentNextLinePattern&&(M.indentNextLinePattern=this.createRegex(R.indentNextLinePattern)),R.unIndentedLinePattern&&(M.unIndentedLinePattern=this.createRegex(R.unIndentedLinePattern)),M}convertEmbeddedLanguages(R){if(typeof R>"u"||R===null)return;const M=Object.create(null),O=Object.keys(R),x=O.length;for(let k=0;k<x;k++){const F=O[k],L=R[F];M[F]=b(L)}return M}convertTokenTypes(R){if(typeof R>"u"||R===null)return;const M=Object.create(null),O=Object.keys(R),x=O.length;for(let k=0;k<x;k++){const F=O[k];switch(R[F]){case"string":M[F]=2;break;case"other":M[F]=0;break;case"comment":M[F]=1;break}}return M}extractValidSurroundingPairs(R,M){if(!M)return;const O=M.surroundingPairs;if(typeof O>"u")return;if(!Array.isArray(O)){this.logger.warn(`[${R}: language configuration: expected \`surroundingPairs\` to be an array.`);return}let x;for(let k=0,F=O.length;k<F;k++){const L=O[k];if(Array.isArray(L)){if(!I(L)){this.logger.warn(`[${R}: language configuration: expected \`surroundingPairs[${k}]\` to be an array of two strings or an object.`);continue}x=x||[],x.push({open:L[0],close:L[1]})}else{if(typeof L!="object"){this.logger.warn(`[${R}: language configuration: expected \`surroundingPairs[${k}]\` to be an array of two strings or an object.`);continue}if(typeof L.open!="string"){this.logger.warn(`[${R}: language configuration: expected \`surroundingPairs[${k}].open\` to be a string.`);continue}if(typeof L.close!="string"){this.logger.warn(`[${R}: language configuration: expected \`surroundingPairs[${k}].close\` to be a string.`);continue}x=x||[],x.push({open:L.open,close:L.close})}}return x}extractValidColorizedBracketPairs(R,M){const O=M.colorizedBracketPairs;if(typeof O>"u")return;if(!Array.isArray(O)){this.logger.warn(`[${R}]: language configuration: expected \`colorizedBracketPairs\` to be an array.`);return}const x=[];for(let k=0,F=O.length;k<F;k++){const L=O[k];if(!I(L)){this.logger.warn(`[${R}]: language configuration: expected \`colorizedBracketPairs[${k}]\` to be an array of two strings.`);continue}x.push([L[0],L[1]])}return x}extractValidOnEnterRules(R,M){const O=M.onEnterRules;if(typeof O>"u")return;if(!Array.isArray(O)){this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules\` to be an array.`);return}let x;for(let k=0,F=O.length;k<F;k++){const L=O[k];if(!(0,m.isObject)(L)){this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules[${k}]\` to be an object.`);continue}if(!(0,m.isObject)(L.action)){this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules[${k}].action\` to be an object.`);continue}let N;if(L.action.indent==="none")N=g.IndentAction.None;else if(L.action.indent==="indent")N=g.IndentAction.Indent;else if(L.action.indent==="indentOutdent")N=g.IndentAction.IndentOutdent;else if(L.action.indent==="outdent")N=g.IndentAction.Outdent;else{this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules[${k}].action.indent\` to be 'none', 'indent', 'indentOutdent' or 'outdent'.`);continue}const U={indentAction:N};L.action.appendText&&(typeof L.action.appendText=="string"?U.appendText=L.action.appendText:this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules[${k}].action.appendText\` to be undefined or a string.`)),L.action.removeText&&(typeof L.action.removeText=="number"?U.removeText=L.action.removeText:this.logger.warn(`[${R}]: language configuration: expected \`onEnterRules[${k}].action.removeText\` to be undefined or a number.`));const W=this.createRegex(L.beforeText);if(!W)continue;const j={beforeText:W,action:U};if(L.afterText){const Q=this.createRegex(L.afterText);Q&&(j.afterText=Q)}if(L.previousLineText){const Q=this.createRegex(L.previousLineText);Q&&(j.previousLineText=Q)}x=x||[],x.push(j)}return x}extractValidBrackets(R,M){const O=M.brackets;if(typeof O>"u")return;if(!Array.isArray(O)){this.logger.warn(`[${R}]: language configuration: expected \`brackets\` to be an array.`);return}let x;for(let k=0,F=O.length;k<F;k++){const L=O[k];if(!I(L)){this.logger.warn(`[${R}]: language configuration: expected \`brackets[${k}]\` to be an array of two strings.`);continue}x=x||[],x.push(L)}return x}extractValidAutoClosingPairs(R,M){const O=M.autoClosingPairs;if(typeof O>"u")return;if(!Array.isArray(O)){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs\` to be an array.`);return}let x;for(let k=0,F=O.length;k<F;k++){const L=O[k];if(Array.isArray(L)){if(!I(L)){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs[${k}]\` to be an array of two strings or an object.`);continue}x=x||[],x.push({open:L[0],close:L[1]})}else{if(typeof L!="object"){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs[${k}]\` to be an array of two strings or an object.`);continue}if(typeof L.open!="string"){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs[${k}].open\` to be a string.`);continue}if(typeof L.close!="string"){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs[${k}].close\` to be a string.`);continue}if(typeof L.notIn<"u"&&!D(L.notIn)){this.logger.warn(`[${R}]: language configuration: expected \`autoClosingPairs[${k}].notIn\` to be a string array.`);continue}x=x||[],x.push({open:L.open,close:L.close,notIn:L.notIn})}}return x}extractValidCommentRule(R,M){const O=M.comments;if(typeof O>"u")return;if(typeof O!="object"){this.logger.warn(`[${R}]: language configuration: expected \`comments\` to be an object.`);return}let x;return typeof O.lineComment<"u"&&(typeof O.lineComment!="string"?this.logger.warn(`[${R}]: language configuration: expected \`comments.lineComment\` to be a string.`):(x=x||{},x.lineComment=O.lineComment)),typeof O.blockComment<"u"&&(I(O.blockComment)?(x=x||{},x.blockComment=O.blockComment):this.logger.warn(`[${R}]: language configuration: expected \`comments.blockComment\` to be an array of two strings.`)),x}async initGrammarRegistry(){this.grammarRegistry=new o.Registry({onigLib:this.getOnigLib(),loadGrammar:async R=>{const M=this.textmateRegistry.getProvider(R);if(M){const O=await M.getGrammarDefinition();if(!O.content){const F=(await this.fileServiceClient.resolveContent(O.location.toString())).content;O.content=O.format==="json"?this.safeParseJSON(F):F}let x;return typeof O.content=="string"?x=(0,o.parseRawGrammar)(O.content,O.format==="json"?"grammar.json":"grammar.plist"):x=O.content,x}},getInjections:R=>{const M=this.textmateRegistry.getProvider(R);return M&&M.getInjections?M.getInjections(R):[]}}),this.activateLanguages()}getLanguages(){return[...s.monaco.languages.getLanguages(),...this.dynamicLanguages]}activateLanguages(){for(const{id:R}of this.getLanguages())this.editorDocumentModelService.hasLanguage(R)&&this.activateLanguage(R)}async getOnigLib(){if(y)return new S;const R=await this.rendererRuntime.provideResourceUri(v.EKnownResources.OnigWasm),O=await(await fetch(R)).arrayBuffer();return await(0,r.loadWASM)(O),y=!0,new S}listenPreferenceChange(){this.preferenceService.onPreferenceChanged(R=>{if(R.preferenceName==="editor.maxTokenizationLineLength")for(const M of this.activatedLanguage)this.setTokensProviderByLanguageId(M)})}async testTokenize(R,M){const O=this.textmateRegistry.getScope(M);if(!O)return;const x=this.textmateRegistry.getGrammarConfiguration(M)(),k=b(M),F=await this.grammarRegistry.loadGrammarWithConfiguration(O,k,x);let L=o.INITIAL;const N=F.tokenizeLine(R,L),U=(0,_.getDebugLogger)("tokenize");U.log(`
33323
- Tokenizing line: ${R}`);for(let W=0;W<N.tokens.length;W++){const j=N.tokens[W];U.log(` - token from ${j.startIndex} to ${j.endIndex} (${R.substring(j.startIndex,j.endIndex)}) with scopes ${j.scopes.join(", ")}`)}L=N.ruleStack}dispose(){super.dispose(),this.monacoLanguageService._requestedRichLanguages?this.monacoLanguageService._requestedRichLanguages.clear():this.logger.warn("monaco language service not found _requestedRichLanguages"),this.monacoLanguageService._requestedBasicLanguages?this.monacoLanguageService._requestedBasicLanguages.clear():this.logger.warn("monaco language service not found _requestedBasicLanguages")}};t.TextmateService=w,n.__decorate([(0,l.Autowired)(),n.__metadata("design:type",f.TextmateRegistry)],w.prototype,"textmateRegistry",void 0),n.__decorate([(0,l.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],w.prototype,"fileServiceClient",void 0),n.__decorate([(0,l.Autowired)(_.PreferenceService),n.__metadata("design:type",Object)],w.prototype,"preferenceService",void 0),n.__decorate([(0,l.Autowired)(_.ILogger),n.__metadata("design:type",Object)],w.prototype,"logger",void 0),n.__decorate([(0,l.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],w.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,l.Autowired)(v.RendererRuntime),n.__metadata("design:type",v.RendererRuntime)],w.prototype,"rendererRuntime",void 0),t.TextmateService=w=n.__decorate([(0,l.Injectable)()],w)},88412:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyContribution=t.executeProvideSubtypesCommand=t.executeProvideSupertypesCommand=t.executePrepareTypeHierarchyCommand=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40191),_=e(28694),v=e(82196);t.executePrepareTypeHierarchyCommand={id:"_executePrepareTypeHierarchy"},t.executeProvideSupertypesCommand={id:"_executeProvideSupertypes"},t.executeProvideSubtypesCommand={id:"_executeProvideSubtypes"};const m=new l.RawContextKey("editorHasCallHierarchyProvider",!1);let p=class{registerCommands(g){g.registerCommand(t.executePrepareTypeHierarchyCommand,{execute:(a,h)=>this.typeHierarchyService.prepareTypeHierarchyProvider(a,h)}),g.registerCommand(t.executeProvideSupertypesCommand,{execute:a=>this.typeHierarchyService.provideSupertypes(a)}),g.registerCommand(t.executeProvideSubtypesCommand,{execute:a=>this.typeHierarchyService.provideSubtypes(a)})}registerEditorFeature(g){this.ctxHasProvider=m.bind(this.contextKeyService),g.registerEditorFeatureContribution({contribute:a=>{const h=a.monacoEditor;return o.Event.any(h.onDidChangeModel,h.onDidChangeModelLanguage,_.TypeHierarchyProviderRegistry.onDidChange)(()=>{h.hasModel()&&this.ctxHasProvider.set(_.TypeHierarchyProviderRegistry.has(h.getModel()))})}})}};t.TypeHierarchyContribution=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(_.ITypeHierarchyService),n.__metadata("design:type",Object)],p.prototype,"typeHierarchyService",void 0),t.TypeHierarchyContribution=p=n.__decorate([(0,o.Domain)(o.CommandContribution,v.BrowserEditorContribution)],p)},7795:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyService=t.TypeHierarchyModel=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(28694),_=e(96689),{isNonEmptyArray:v}=o.arrays;class m{static async create(g,a,h){const[d]=l.TypeHierarchyProviderRegistry.ordered(g);if(!d)return;const u=await d.prepareTypeHierarchy(g,a,h);if(u)return new m(u.roots.reduce((E,f)=>E+f._sessionId,""),d,u.roots,new o.RefCountedDisposable(u))}constructor(g,a,h,d){this.id=g,this.provider=a,this.roots=h,this.ref=d,this.root=h[0]}dispose(){this.ref.release()}fork(g){const a=this;return new class extends m{constructor(){super(a.id,a.provider,[g],a.ref.acquire())}}}async provideSupertypes(g,a){try{const h=await this.provider.provideSupertypes(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}async provideSubtypes(g,a){try{const h=await this.provider.provideSubtypes(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}}t.TypeHierarchyModel=m;let p=class{constructor(){this.models=new Map}registerTypeHierarchyProvider(g,a){l.TypeHierarchyProviderRegistry.register(g,a)}async prepareTypeHierarchyProvider(g,a){let h=this.modelService.getModelReference(o.URI.parse(g.toString())),d=h?.instance.getMonacoModel();if(h?.dispose(),!d){const u=await this.modelService.createModelReference(o.URI.parse(g.toString()));d=u.instance.getMonacoModel(),h=u}try{const u=await m.create(d,a,o.CancellationToken.None);return u?(this.models.set(u.id,u),this.models.forEach((E,f,c)=>{c.size>10&&(E.dispose(),this.models.delete(f))}),[u.root]):[]}finally{h?.dispose()}}async provideSupertypes(g){const a=this.models.get(g._sessionId);if(a)return a.provideSupertypes(g,o.CancellationToken.None)}async provideSubtypes(g){const a=this.models.get(g._sessionId);if(a)return a.provideSubtypes(g,o.CancellationToken.None)}};t.TypeHierarchyService=p,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"modelService",void 0),t.TypeHierarchyService=p=n.__decorate([(0,r.Injectable)()],p)},39266:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserMultiDiffEditor=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(28423),v=e(72665),m=e(65034),p=e(104),s=e(19087),g=e(55113),a=e(64335),h=e(30526),d=e(96689),u=e(82196);let E=class extends l.WithEventBus{constructor(c,y,b){super(),this.multiDiffWidget=c,this.convertedOptions=y,this.editorCollectionService=b,this.multiDiffModelChangeEmitter=new l.Emitter,this.onMultiDiffModelChange=this.multiDiffModelChangeEmitter.event,this.viewStateMap=new Map,this.editorCollectionService.addMultiDiffEditors([this])}onDocModelContentChangedEvent(c){var y;this.currentUri&&(((y=this.multiDiffModel)===null||y===void 0?void 0:y.documents.value)==="loading"||!this.multiDiffModel.documents.value.some(b=>{var A;return((A=b.object.modified)===null||A===void 0?void 0:A.uri.toString())===c.payload.uri.codeUri.toString()})||this.eventBus.fire(new u.ResourceDecorationNeedChangeEvent({uri:this.currentUri,decoration:{dirty:!!c.payload.dirty,readOnly:!!c.payload.readonly}})))}saveViewState(c){if(!c)return;const y=c.toString(),b=this.multiDiffWidget.getViewState();b&&this.viewStateMap.set(y,b)}restoreViewState(c){if(!c)return;const y=c.toString(),b=this.viewStateMap.get(y);b&&this.multiDiffWidget.setViewState(b)}createAndRegisterEditorParts(c,y,b,A,S){const D=[];if(c){const I=this.injector.get(h.DiffEditorPart,[c.editor,()=>b,g.EditorType.MODIFIED_DIFF,S]);D.push(I)}if(y){const I=this.injector.get(h.DiffEditorPart,[y.editor,()=>A,g.EditorType.ORIGINAL_DIFF,S]);D.push(I)}this.editorCollectionService.addEditors(D)}async compareMultiple(c,y,b){var A,S;this.currentUri&&this.saveViewState(this.currentUri);const D=!((A=y.metadata.sources)===null||A===void 0)&&A.length?{resources:m.ValueWithChangeEvent.const(y.metadata.sources)}:await this.multiDiffSourceResolverService.resolve(y.uri),I=D?(0,_.observableFromValueWithChangeEvent)(this,D.resources):(0,_.constObservable)([]),w=(0,_.mapObservableArrayCached)(this,I,async(k,F)=>{var L,N;let U,W;const j=new l.DisposableStore;try{[U,W]=await Promise.all([k.originalUri?this.documentModelManager.createModelReference(k.originalUri):void 0,k.modifiedUri?this.documentModelManager.createModelReference(k.modifiedUri):void 0]),U&&j.add(U),W&&j.add(W)}catch(Z){this.messageService.error(Z.message),this.logger.error(Z);return}const Q=(L=k.modifiedUri)!==null&&L!==void 0?L:k.originalUri,$={multiDiffEditorItem:k,original:U?.instance.getMonacoModel(),modified:W?.instance.getMonacoModel(),originalInstance:U?.instance,modifiedInstance:W?.instance,contextKeys:k.contextKeys,options:{readOnly:(N=W||U)===null||N===void 0?void 0:N.instance.readonly,...b,...this.convertedOptions.diffOptions},onOptionsDidChange:Z=>this.preferenceService.onPreferenceChanged(G=>{G.affects(Q.toString())&&(G.preferenceName.startsWith("editor")||G.preferenceName.startsWith("diffEditor"))&&Z()})};return F.add(p.RefCounted.createOfNonDisposable($,j,this))},k=>{var F,L;return JSON.stringify([(F=k.modifiedUri)===null||F===void 0?void 0:F.toString(),(L=k.originalUri)===null||L===void 0?void 0:L.toString()])}),T=(0,_.observableValue)("documents","loading"),R=(0,_.derived)(async k=>{const F=w.read(k),N=(await Promise.all(F)).filter(U=>U!==void 0);T.set(N,void 0)}),M=(0,_.recomputeInitiallyAndOnChange)(R);await R.get(),(S=this.multiDiffModel)===null||S===void 0||S.dispose(),this.multiDiffModel={dispose:()=>M.dispose(),documents:new _.ValueWithChangeEventFromObservable(T),contextKeys:D?.contextKeys};const O=this.multiDiffWidget.createViewModel(this.multiDiffModel);await O.waitForDiffs(),this.multiDiffWidget.setViewModel(O),this.multiDiffWidget.getActiveControl(),this.currentUri=y.uri,this.restoreViewState(y.uri);const x=T.get();for(const k of x){if((0,l.isString)(k))continue;const F=k.object.modified,L=k.object.original;if(!F&&!L)continue;let N=F?this.multiDiffWidget.tryGetCodeEditor(F.uri):void 0,U=L?this.multiDiffWidget.tryGetCodeEditor(L.uri):void 0;if(!N&&!U){const W=F||L;if(!W)continue;l.Event.once(W.onDidChangeAttached)(()=>{setTimeout(()=>{N=F?this.multiDiffWidget.tryGetCodeEditor(F.uri):void 0,U=L?this.multiDiffWidget.tryGetCodeEditor(L.uri):void 0,this.createAndRegisterEditorParts(N,U,k.object.modifiedInstance,k.object.originalInstance,T)},0)});continue}this.createAndRegisterEditorParts(N,U,k.object.modifiedInstance,k.object.originalInstance,T)}this.multiDiffModelChangeEmitter.fire(this.multiDiffModel)}getDiffEntry(c){return this.multiDiffWidget.findDocumentDiffItem(c.codeUri)}getCurrentDiffEntry(){var c;const y=this.multiDiffWidget.getActiveControl();if(!y)return;const b=(c=y.getOriginalEditor().getModel())===null||c===void 0?void 0:c.uri;if(b)return this.multiDiffWidget.findDocumentDiffItem(b)}reveal(c,y){this.multiDiffWidget.reveal(c,y)}collapseAll(){const c=this.multiDiffWidget.getViewState(),y={...c,docStates:Object.keys(c.docStates||{}).reduce((b,A)=>(b[A]={...c.docStates[A],collapsed:!0},b),{})};this.multiDiffWidget.setViewState(y)}expandAll(){const c=this.multiDiffWidget.getViewState(),y={...c,docStates:Object.keys(c.docStates||{}).reduce((b,A)=>(b[A]={...c.docStates[A],collapsed:!1},b),{})};this.multiDiffWidget.setViewState(y)}layout(c){this.multiDiffWidget.layout(c)}focus(){const c=this.multiDiffWidget.getActiveControl();c&&c.focus()}tryGetCodeEditor(c){return this.multiDiffWidget.tryGetCodeEditor(c.codeUri)}dispose(){super.dispose(),this.multiDiffWidget.dispose()}};t.BrowserMultiDiffEditor=E,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],E.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(d.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],E.prototype,"multiDiffSourceResolverService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),n.__decorate([(0,l.OnEvent)(d.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[d.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onDocModelContentChangedEvent",null),t.BrowserMultiDiffEditor=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[s.MultiDiffEditorWidget,Object,Function])],E)},86997:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffResolver=void 0;const n=e(85608),r=e(76003),o=e(65034),l=e(64335);let _=class{constructor(){this.sourceValues=new Map}registerSources(m,p){const s=m.toString(),g=this.sourceValues.get(s);g?g.value=p:this.sourceValues.set(s,new o.ValueWithChangeEvent(p))}canHandleUri(m){return m.scheme===l.MULTI_DIFF_SCHEME}async resolveDiffSource(m){const p=this.sourceValues.get(m.toString());if(p)return{resources:p}}dispose(){this.sourceValues.clear()}};t.MultiDiffResolver=_,t.MultiDiffResolver=_=n.__decorate([(0,r.Injectable)()],_)},73691:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(14951),v=e(23418),m=e(64335);let p=class extends o.WithEventBus{handlesUri(g){const a=this.multiDiffSourceResolverService.getResolvers();for(const h of a)if(h.canHandleUri(g))return 10;return-1}async provideResource(g){var a;const{name:h,sources:d}=g.getParsedQuery(),u=d?JSON.parse(d):[],E=u.length>0?new o.URI(u[0].modifiedUri):void 0,f=E?this.labelService.getIcon(E):void 0;return{name:`Multi-Diff: ${h||u.length+" files"}`,icon:f||(0,o.getIcon)("diff"),uri:g,supportsRevive:(a=this.appConfig.enableDiffRevive)!==null&&a!==void 0?a:!1,metadata:{sources:u}}}async shouldCloseResource(g,a){return!0}};t.MultiDiffResourceProvider=p,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.LabelService)],p.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],p.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],p.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(m.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],p.prototype,"multiDiffSourceResolverService",void 0),t.MultiDiffResourceProvider=p=n.__decorate([(0,r.Injectable)()],p)},36168:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffEditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(23418),v=e(64335),m=e(82196),p=e(86997),s=e(73691);let g=class{registerMultiDiffSourceResolver(h){return h.registerResolver(this.multiDiffResolver)}registerResource(h){h.registerResourceProvider(this.multiDiffResourceProvider)}registerEditorComponent(h){h.registerEditorComponentResolver(d=>{const u=this.multiDiffSourceResolverService.getResolvers();for(const E of u)if(E.canHandleUri(o.URI.from({scheme:d,path:"empty"})))return 10;return-1},(d,u)=>{u.push({type:m.EditorOpenType.multiDiff})})}registerCommands(h){h.registerCommand(o.MULTI_DIFF_EDITOR_COMMANDS.COLLAPSE_FILES,{execute:()=>{var d;const u=this.workbenchEditorService.currentEditorGroup;((d=u.currentOpenType)===null||d===void 0?void 0:d.type)===m.EditorOpenType.multiDiff&&u.multiDiffEditor.collapseAll()}}),h.registerCommand(o.MULTI_DIFF_EDITOR_COMMANDS.EXPAND_FILES,{execute:()=>{var d;const u=this.workbenchEditorService.currentEditorGroup;((d=u.currentOpenType)===null||d===void 0?void 0:d.type)===m.EditorOpenType.multiDiff&&u.multiDiffEditor.expandAll()}})}registerMenus(h){h.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.MULTI_DIFF_EDITOR_COMMANDS.COLLAPSE_FILES.id,label:(0,o.localize)("multiDiffEditor.action.collapseFiles")},iconClass:"codicon codicon-collapse-all",group:"navigation",when:"isInMultiDiffEditor"}]),h.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.MULTI_DIFF_EDITOR_COMMANDS.EXPAND_FILES.id,label:(0,o.localize)("multiDiffEditor.action.expandFiles")},iconClass:"codicon codicon-expand-all",group:"navigation",when:"isInMultiDiffEditor"}])}};t.MultiDiffEditorContribution=g,n.__decorate([(0,r.Autowired)(v.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],g.prototype,"multiDiffSourceResolverService",void 0),n.__decorate([(0,r.Autowired)(p.MultiDiffResolver),n.__metadata("design:type",p.MultiDiffResolver)],g.prototype,"multiDiffResolver",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.MultiDiffResourceProvider)],g.prototype,"multiDiffResourceProvider",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),t.MultiDiffEditorContribution=g=n.__decorate([(0,o.Domain)(m.BrowserEditorContribution,m.MultiDiffSourceContribution,l.MenuContribution,o.CommandContribution)],g)},94558:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffSourceResolverService=void 0;const n=e(85608),r=e(76003),o=e(70392);let l=class{constructor(){this._resolvers=new Set}registerResolver(v){if(this._resolvers.has(v))throw new Error("Duplicate resolver");return this._resolvers.add(v),(0,o.toDisposable)(()=>this._resolvers.delete(v))}resolve(v){for(const m of this._resolvers)if(m.canHandleUri(v))return m.resolveDiffSource(v);return Promise.resolve(void 0)}getResolvers(){return Array.from(this._resolvers)}};t.MultiDiffSourceResolverService=l,t.MultiDiffSourceResolverService=l=n.__decorate([(0,r.Injectable)()],l)},93532:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NavigationMenuModel=t.NavigationBarViewService=t.NavigationMenuContainer=t.NavigationMenu=t.NavigationItem=t.NavigationBar=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(76003),_=e(97267),v=e(41869),m=e(28423),p=e(26209),s=n.__importDefault(e(69418)),g=e(82196),a=e(50674),h=({editorGroup:c})=>{const y=(0,v.useInjectable)(g.IBreadCrumbService),b=(0,v.useDesignStyles)(s.default.navigation_container,"navigation_container"),A=(0,v.useDesignStyles)(s.default.navigation_icon,"navigation_icon");if((0,a.useUpdateOnGroupTabChange)(c),(0,v.useUpdateOnEvent)(y.onDidUpdateBreadCrumbResults,[],D=>{var I;const w=c.currentEditor&&c.currentEditor.currentDocumentModel?c.currentEditor:null,T=c.currentEditor&&c.currentEditor.currentDocumentModel?c.currentEditor.currentDocumentModel.uri:(I=c.currentResource)===null||I===void 0?void 0:I.uri;return!!T&&D.editor===w&&D.uri.isEqual(T)}),c.resources.length===0||!c.currentResource)return null;let S;return c.currentEditor&&c.currentEditor.currentDocumentModel?S=y.getBreadCrumbs(c.currentEditor.currentDocumentModel.uri,c.currentEditor):S=y.getBreadCrumbs(c.currentResource.uri,null),S?S.length===0?null:o.default.createElement("div",{className:(0,r.default)("kt-navigation-container",b),onContextMenu:D=>{D.preventDefault()}},S.map((D,I)=>o.default.createElement(o.default.Fragment,{key:I+"-crumb:"+D.name},I>0&&o.default.createElement(_.Icon,{icon:"right",size:"small",className:A}),o.default.createElement(t.NavigationItem,{part:D,editorGroup:c})))):null};t.NavigationBar=h,t.NavigationItem=(0,o.memo)(({part:c,editorGroup:y})=>{const b=(0,v.useInjectable)(E),A=(0,v.useInjectable)(p.BreadCrumbsMenuService),S=(0,o.useRef)(),D=(0,v.useDesignStyles)(s.default["navigation-part"],"navigation-part"),I=(0,o.useCallback)(async()=>{if(c.getSiblings&&S.current){const{left:w,top:T,height:R}=S.current.getBoundingClientRect(),M=await c.getSiblings();let O=w;window.innerWidth-O<210&&(O=window.innerWidth-200-5),b.showMenu(M.parts,O,T+R+5,M.currentIndex,c.uri,y)}},[S.current,c]);return o.default.createElement("span",{onClick:I,onContextMenu:w=>{!c.isSymbol&&c.uri&&A.show(w.nativeEvent.x,w.nativeEvent.y,y,c.uri),w.preventDefault()},className:D,ref:S},c.icon&&o.default.createElement("span",{className:c.icon}),o.default.createElement("span",null,c.name))});const d=({model:c})=>{let y=window.innerHeight-c.y-20,b=c.y;const A=c.parts.length*22;y<100&&y<A&&(y=100,b=window.innerHeight-20-y);const S=(0,o.useRef)(),D=(0,v.useDesignStyles)(s.default.navigation_menu,"navigation_menu"),I=(0,v.useDesignStyles)(s.default.navigation_menu_item,"navigation_menu_item"),w=(0,v.useInjectable)(E),T=(0,v.useAutorun)(c.subMenu),R=(0,o.useCallback)(()=>{v.fastdom.measure(()=>{try{if(S.current){const M=S.current.querySelector(`.${s.default.navigation_menu_item_current}`);M&&M.scrollIntoView({behavior:"auto",block:"center"})}}catch{}})},[S.current]);return o.default.createElement("div",{className:D,style:{left:c.x+"px",top:b+"px",maxHeight:y+"px",height:A+"px"}},o.default.createElement(_.Scrollbars,{className:s.default.navigation_menu_items,universal:!0,forwardedRef:M=>{S.current=M,R()}},c.parts.map((M,O)=>{let x;const k=M.getChildren?async()=>{if(x){const{left:L,top:N,width:U}=x.getBoundingClientRect();let W=L+U+5;window.innerWidth-W<210&&(W=L-U-5);const j=await M.getChildren();c.showSubMenu(j,W,N,c)}}:void 0,F=M.onClick?()=>{M.onClick(),w.dispose()}:void 0;return o.default.createElement("div",{onClick:F||k,ref:L=>x=L,className:(0,r.default)(I,{[s.default.navigation_menu_item_current]:O===c.initialIndex}),key:"menu-"+M.name},o.default.createElement("span",{className:M.icon||(0,v.getIcon)("smile")}),o.default.createElement("span",{className:s.default.navigation_menu_item_label},M.name),M.getChildren&&o.default.createElement("span",{className:s.default.navigation_right,onClick:F&&k?L=>{L.stopPropagation(),k()}:void 0},o.default.createElement(_.Icon,{icon:"right",size:"small"})))})),T&&o.default.createElement(t.NavigationMenu,{model:T}))};t.NavigationMenu=d;const u=()=>{const c=(0,o.useRef)(),y=(0,v.useInjectable)(E),b=(0,v.useAutorun)(y.current);return(0,o.useEffect)(()=>{if(c.current){const A=new v.Disposable;return A.addDispose(new v.DomListener(window,"mouseup",()=>{y.dispose()})),A.addDispose(new v.DomListener(c.current,"mouseup",S=>{S.stopPropagation()})),A.dispose.bind(A)}}),b?o.default.createElement("div",{tabIndex:1,ref:c},o.default.createElement(t.NavigationMenu,{model:b})):null};t.NavigationMenuContainer=u;let E=class{constructor(){this.current=(0,m.observableValue)(this,null)}showMenu(y,b,A,S,D,I){(0,m.transaction)(w=>{this.current.set(new f(y,b,A,S,D),w)})}dispose(){(0,m.transaction)(y=>{const b=this.current.get();b?.dispose(),this.current.set(null,y)})}};t.NavigationBarViewService=E,t.NavigationBarViewService=E=n.__decorate([(0,l.Injectable)()],E);class f{constructor(y,b,A,S=-1,D){this.parts=y,this.x=b,this.y=A,this.initialIndex=S,this.uri=D,this.subMenu=(0,m.observableValue)(this,null)}showSubMenu(y,b,A,S){(0,m.transaction)(D=>{this.subMenu.set(new f(y,b,A,-1,S),D)})}dispose(){(0,m.transaction)(y=>{const b=this.subMenu.get();b?.dispose(),this.subMenu.set(null,y)})}}t.NavigationMenuModel=f},71145:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotebookService=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class extends o.WithEventBus{constructor(){super(...arguments),this._onDidOpenNotebookDocument=new o.Emitter,this.onDidOpenNotebookDocument=this._onDidOpenNotebookDocument.event,this._onDidCloseNotebookDocument=new o.Emitter,this.onDidCloseNotebookDocument=this._onDidCloseNotebookDocument.event,this._onDidSaveNotebookDocument=new o.Emitter,this.onDidSaveNotebookDocument=this._onDidSaveNotebookDocument.event,this._onDidChangeNotebookDocument=new o.Emitter,this.onDidChangeNotebookDocument=this._onDidChangeNotebookDocument.event}};t.NotebookService=l,t.NotebookService=l=n.__decorate([(0,r.Injectable)()],l)},34885:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorPreferenceContribution=void 0;const n=e(85608),r=e(41869),o=e(24328);let l=class{constructor(){this.schema=o.editorPreferenceSchema}};t.EditorPreferenceContribution=l,t.EditorPreferenceContribution=l=n.__decorate([(0,r.Domain)(r.PreferenceContribution)],l)},6043:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffEditorOptionsConverters=t.textModelUpdateOptionsConverters=t.editorOptionsConverters=void 0,t.isEditorOption=l,t.isDiffEditorOption=_,t.getConvertedMonacoOptions=s;const n=e(41869),{removeUndefined:r}=n.objects;t.editorOptionsConverters=new Map([["editor.ariaLabel",{monaco:"ariaLabel"}],["editor.rulers",{monaco:"rulers"}],["editor.wordSeparators",{monaco:"wordSeparators"}],["editor.selectionClipboard",{monaco:"selectionClipboard"}],["editor.lineNumbers",{monaco:"lineNumbers"}],["editor.renderFinalNewline",{monaco:"renderFinalNewline"}],["editor.selectOnLineNumbers",{monaco:"selectOnLineNumbers"}],["editor.lineNumbersMinChars",{monaco:"lineNumbersMinChars"}],["editor.glyphMargin",{monaco:"glyphMargin"}],["editor.lineDecorationsWidth",{monaco:"lineDecorationsWidth"}],["editor.revealHorizontalRightPadding",{monaco:"revealHorizontalRightPadding"}],["editor.roundedSelection",{monaco:"roundedSelection"}],["editor.extraEditorClassName",{monaco:"extraEditorClassName"}],["editor.readOnly",{monaco:"readOnly"}],["editor.scrollbar",{monaco:"scrollbar"}],["editor.minimap",{monaco:"minimap",convert:g=>({enabled:g})}],["editor.find",{monaco:"find"}],["editor.fixedOverflowWidgets",{monaco:"fixedOverflowWidgets"}],["editor.overviewRulerLanes",{monaco:"overviewRulerLanes"}],["editor.overviewRulerBorder",{monaco:"overviewRulerBorder"}],["editor.cursorBlinking",{monaco:"cursorBlinking"}],["editor.mouseWheelZoom",{monaco:"mouseWheelZoom"}],["editor.cursorSmoothCaretAnimation",{monaco:"cursorSmoothCaretAnimation"}],["editor.cursorStyle",{monaco:"cursorStyle"}],["editor.cursorWidth",{monaco:"cursorWidth"}],["editor.fontLigatures",{monaco:"fontLigatures"}],["editor.columnSelection",{monaco:"columnSelection"}],["editor.disableLayerHinting",{monaco:"disableLayerHinting"}],["editor.disableMonospaceOptimizations",{monaco:"disableMonospaceOptimizations"}],["editor.hideCursorInOverviewRuler",{monaco:"hideCursorInOverviewRuler"}],["editor.scrollBeyondLastLine",{monaco:"scrollBeyondLastLine"}],["editor.scrollBeyondLastColumn",{monaco:"scrollBeyondLastColumn"}],["editor.smoothScrolling",{monaco:"smoothScrolling"}],["editor.automaticLayout",{monaco:"automaticLayout"}],["editor.wordWrap",{monaco:"wordWrap"}],["editor.wordWrapColumn",{monaco:"wordWrapColumn"}],["editor.wordWrapMinified",{monaco:"wordWrapMinified"}],["editor.wrappingIndent",{monaco:"wrappingIndent"}],["editor.wordWrapBreakBeforeCharacters",{monaco:"wordWrapBreakBeforeCharacters"}],["editor.wordWrapBreakAfterCharacters",{monaco:"wordWrapBreakAfterCharacters"}],["editor.wordWrapBreakObtrusiveCharacters",{monaco:"wordWrapBreakObtrusiveCharacters"}],["editor.stopRenderingLineAfter",{monaco:"stopRenderingLineAfter"}],["editor.hover",{monaco:"hover"}],["editor.links",{monaco:"links"}],["editor.colorDecorators",{monaco:"colorDecorators"}],["editor.contextmenu",{monaco:"contextmenu"}],["editor.mouseWheelScrollSensitivity",{monaco:"mouseWheelScrollSensitivity"}],["editor.fastScrollSensitivity",{monaco:"fastScrollSensitivity"}],["editor.multiCursorModifier",{monaco:"multiCursorModifier"}],["editor.multiCursorMergeOverlapping",{monaco:"multiCursorMergeOverlapping"}],["editor.accessibilitySupport",{monaco:"accessibilitySupport"}],["editor.suggest",{monaco:"suggest"}],["editor.gotoLocation",{monaco:"gotoLocation"}],["editor.quickSuggestions",{monaco:"quickSuggestions"}],["editor.quickSuggestionsDelay",{monaco:"quickSuggestionsDelay"}],["editor.parameterHints",{monaco:"parameterHints"}],["editor.autoClosingBrackets",{monaco:"autoClosingBrackets"}],["editor.autoClosingQuotes",{monaco:"autoClosingQuotes"}],["editor.autoSurround",{monaco:"autoSurround"}],["editor.autoIndent",{monaco:"autoIndent"}],["editor.formatOnType",{monaco:"formatOnType"}],["editor.formatOnPaste",{monaco:"formatOnPaste"}],["editor.dragAndDrop",{monaco:"dragAndDrop"}],["editor.suggestOnTriggerCharacters",{monaco:"suggestOnTriggerCharacters"}],["editor.acceptSuggestionOnEnter",{monaco:"acceptSuggestionOnEnter"}],["editor.acceptSuggestionOnCommitCharacter",{monaco:"acceptSuggestionOnCommitCharacter"}],["editor.snippetSuggestions",{monaco:"snippetSuggestions"}],["editor.emptySelectionClipboard",{monaco:"emptySelectionClipboard"}],["editor.copyWithSyntaxHighlighting",{monaco:"copyWithSyntaxHighlighting"}],["editor.wordBasedSuggestions",{monaco:"wordBasedSuggestions"}],["editor.suggestSelection",{monaco:"suggestSelection"}],["editor.suggestFontSize",{monaco:"suggestFontSize"}],["editor.suggestLineHeight",{monaco:"suggestLineHeight"}],["editor.tabCompletion",{monaco:"tabCompletion"}],["editor.selectionHighlight",{monaco:"selectionHighlight"}],["editor.occurrencesHighlight",{monaco:"occurrencesHighlight"}],["editor.codeLens",{monaco:"codeLens"}],["editor.lightbulb",{monaco:"lightbulb"}],["editor.codeActionsOnSave",{monaco:"codeActionsOnSave"}],["editor.codeActionsOnSaveTimeout",{monaco:"codeActionsOnSaveTimeout"}],["editor.folding",{monaco:"folding"}],["editor.foldingStrategy",{monaco:"foldingStrategy"}],["editor.showFoldingControls",{monaco:"showFoldingControls"}],["editor.matchBrackets",{monaco:"matchBrackets"}],["editor.renderWhitespace",{monaco:"renderWhitespace"}],["editor.renderControlCharacters",{monaco:"renderControlCharacters"}],["editor.renderIndentGuides",{monaco:"guides.indentation"}],["editor.highlightActiveIndentGuide",{monaco:"guides.highlightActiveIndentation"}],["editor.guides",{monaco:"guides"}],["editor.renderLineHighlight",{monaco:"renderLineHighlight"}],["editor.useTabStops",{monaco:"useTabStops"}],["editor.fontFamily",{monaco:"fontFamily"}],["editor.fontWeight",{monaco:"fontWeight"}],["editor.fontSize",{monaco:"fontSize"}],["editor.lineHeight",{monaco:"lineHeight"}],["editor.letterSpacing",{monaco:"letterSpacing"}],["editor.showUnused",{monaco:"showUnused"}],["editor.rename.enablePreview",{monaco:"editor.rename.enablePreview"}],["editor.semanticHighlighting",{monaco:"semanticHighlighting"}],["editor.bracketPairColorization",{monaco:"bracketPairColorization"}],["editor.wrappingStrategy",{monaco:"wrappingStrategy"}],["editor.experimental.stickyScroll.enabled",{monaco:"experimental",convert:g=>({stickyScroll:{enabled:g}})}],["editor.forceReadOnly",{monaco:"readOnly",convert:g=>{if(g)return!0}}],["editor.unicodeHighlight",{monaco:"unicodeHighlight"}],["editor.inlineSuggest.showToolbar",{monaco:"inlineSuggest",convert:g=>{if(g)return{showToolbar:g}}}]]),t.textModelUpdateOptionsConverters=new Map([["editor.tabSize",{monaco:"tabSize"}],["editor.indentSize",{monaco:"indentSize"}],["editor.insertSpaces",{monaco:"insertSpaces"}],["editor.trimAutoWhitespace",{monaco:"trimAutoWhitespace"}]]),t.diffEditorOptionsConverters=new Map([["diffEditor.enableSplitViewResizing",{monaco:"enableSplitViewResizing"}],["diffEditor.renderSideBySide",{monaco:"renderSideBySide"}],["diffEditor.ignoreTrimWhitespace",{monaco:"ignoreTrimWhitespace"}],["diffEditor.renderIndicators",{monaco:"renderIndicators"}],["diffEditor.originalEditable",{monaco:"originalEditable"}],["diffEditor.minimap",{monaco:"minimap",convert:g=>({enabled:g})}],["diffEditor.experimental.stickyScroll.enabled",{monaco:"experimental",convert:g=>({stickyScroll:{enabled:g}})}],["diffEditor.hideUnchangedRegions.enabled",{monaco:"hideUnchangedRegions",convert:g=>({enabled:g})}],["diffEditor.hideUnchangedRegions.revealLineCount",{monaco:"hideUnchangedRegions",convert:g=>({revealLineCount:g})}],["diffEditor.hideUnchangedRegions.minimumLineCount",{monaco:"hideUnchangedRegions",convert:g=>({minimumLineCount:g})}],["diffEditor.hideUnchangedRegions.contextLineCount",{monaco:"hideUnchangedRegions",convert:g=>({contextLineCount:g})}],["diffEditor.experimental.showMoves",{monaco:"experimental",convert:g=>({showMoves:g})}],["diffEditor.experimental.showEmptyDecorations",{monaco:"experimental",convert:g=>({showEmptyDecorations:g})}]]);function o(g,a){if(a.has(g))return!0;{const h=a.keys();for(const d of h)if(g.startsWith(d))return!0}return!1}function l(g){return o(g,t.editorOptionsConverters)||o(g,t.textModelUpdateOptionsConverters)||o(g,t.diffEditorOptionsConverters)}function _(g){return o(g,t.diffEditorOptionsConverters)}const v=[...t.editorOptionsConverters.keys()],m=[...t.textModelUpdateOptionsConverters.keys()],p=[...t.diffEditorOptionsConverters.keys()];function s(g,a,h,d){const u=a?n.Uri.parse(a):void 0,E=(D,I)=>D.reduce((w,T)=>{const R=g.getValue(T,{resource:u,overrideIdentifier:h});if(R!==void 0){const M=I.get(T);if(!M)return w[T]=R,w;const O=M?M.monaco:T,x=M?.convert?M.convert(R):R;w[O]?Object.assign(w[O],x):w[O]=x}return w},{}),f=d?d.filter(D=>t.editorOptionsConverters.has(D)):[...v],c=d?d.filter(D=>t.textModelUpdateOptionsConverters.has(D)):[...m],y=d?d.filter(D=>t.diffEditorOptionsConverters.has(D)):[...p],b=r(E(f,t.editorOptionsConverters)),A=r(E(c,t.textModelUpdateOptionsConverters)),S=r(E(y,t.diffEditorOptionsConverters));return{editorOptions:b,modelOptions:A,diffOptions:S}}},24328:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorPreferences=t.editorPreferenceSchema=t.DIFF_EDITOR_DEFAULTS=t.EDITOR_DEFAULTS=t.EDITOR_INLINE_SUGGEST_DEFAULTS=t.EDITOR_SUGGEST_DEFAULTS=t.EDITOR_MODEL_DEFAULTS=t.EDITOR_FONT_DEFAULTS=t.USUAL_WORD_SEPARATORS=void 0;const n=e(41869),r=e(82196);t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";const o="Consolas, 'Courier New', monospace",l="Menlo, Monaco, 'Courier New', monospace",_="'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'";t.EDITOR_FONT_DEFAULTS={fontFamily:n.isOSX?l:n.isLinux?_:o,fontWeight:"normal",fontSize:12,tabSize:2,renderWhitespace:!1,cursorStyle:"line",insertSpace:!0,wordWrap:"off",wordWrapColumn:80,lineHeight:0,letterSpacing:0},t.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},t.EDITOR_SUGGEST_DEFAULTS={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,maxVisibleSuggestions:12,showMethods:!0,showFunctions:!0,showConstructors:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0,detailsVisible:!0,preview:!0,statusBar:{visible:!1}},t.EDITOR_INLINE_SUGGEST_DEFAULTS={enabled:!0,showToolbar:"onHover"},t.EDITOR_DEFAULTS={inDiffEditor:!1,wordSeparators:t.USUAL_WORD_SEPARATORS,lineNumbersMinChars:3,lineDecorationsWidth:10,readOnly:!1,columnSelection:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!0,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:1,wordWrapBreakBeforeCharacters:"([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B",wordWrapBreakAfterCharacters:" })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:"languageDefined",autoClosingQuotes:"languageDefined",autoSurround:"languageDefined",autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,copyWithSyntaxHighlighting:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"off",showUnused:!0,wrappingStrategy:"simple",viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:(0,n.localize)("editorViewAccessibleLabel","Editor Content"),renderLineNumbers:0,renderCustomLineNumbers:null,renderFinalNewline:!0,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:1,mouseWheelZoom:!1,cursorSmoothCaretAnimation:!1,cursorStyle:1,cursorWidth:0,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,scrollBeyondLastColumn:5,smoothScrolling:!1,stopRenderingLineAfter:1e4,renderWhitespace:"none",renderControlCharacters:!1,fontLigatures:!1,renderLineHighlight:"none",scrollbar:{vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1,fastScrollSensitivity:5},minimap:{enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120},guides:{indentation:!0,highlightActiveIndentGuide:!0,bracketPairs:!0},fixedOverflowWidgets:!0},contribInfo:{selectionClipboard:!0,hover:{enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0},links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:{enabled:!0,cycle:!1},formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!1,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,tabCompletion:"off",gotoLocation:{multiple:"peek"},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1,addExtraSpaceOnTop:!0},colorDecorators:!0,lightbulbEnabled:r.ShowLightbulbIconMode.On,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}},t.DIFF_EDITOR_DEFAULTS={renderIndicators:!0,minimap:!1,renderSideBySide:!0,ignoreTrimWhitespace:!1,hideUnchangedRegions:{enabled:!0,revealLineCount:20,minimumLineCount:3,contextLineCount:3},experimental:{showMoves:!1,showEmptyDecorations:!0,collapseUnchangedRegions:!0,stickyScroll:{enable:!1}}};const v={"editor.ariaLabel":{type:"string",default:t.EDITOR_DEFAULTS.viewInfo.ariaLabel,description:"%editor.configuration.ariaLabel%"},"editor.extraEditorClassName":{type:"string",description:"%editor.configuration.extraEditorClassName%"},"editor.fixedOverflowWidgets":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.fixedOverflowWidgets,description:"%editor.configuration.fixedOverflowWidgets%"},"editor.revealHorizontalRightPadding":{type:"number",description:"%editor.configuration.revealHorizontalRightPadding%"},"editor.selectOnLineNumbers":{type:"boolean",description:"%editor.configuration.selectOnLineNumbers%"},"editor.wordWrapMinified":{type:"boolean",description:"%editor.configuration.wordWrapMinified%"},"editor.wordWrapBreakAfterCharacters":{type:"string",default:" })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63",description:"%editor.configuration.wordWrapBreakAfterCharacters%"},"editor.wrappingStrategy":{type:"string",enum:["advanced","simple"],default:"simple",description:"%editor.configuration.wrappingStrategy%"},"editor.wordWrapBreakBeforeCharacters":{type:"string",default:"([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B",description:"%editor.configuration.wordWrapBreakBeforeCharacters%"},"editor.lineNumbersMinChars":{type:"number",default:t.EDITOR_DEFAULTS.lineNumbersMinChars,description:"%editor.configuration.lineNumbersMinChars%"},"editor.lineDecorationsWidth":{type:"number",default:t.EDITOR_DEFAULTS.lineDecorationsWidth,description:"%editor.configuration.lineDecorationsWidth%"},"editor.fontFamily":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontFamily,description:"%editor.configuration.fontFamily%"},"editor.fontWeight":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontWeight,description:"%editor.configuration.fontWeight%"},"editor.fontSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.fontSize,description:(0,n.localize)("fontSize","Controls the font size in pixels.")},"editor.lineHeight":{type:"number",default:t.EDITOR_FONT_DEFAULTS.lineHeight,description:(0,n.localize)("lineHeight","Controls the line height. Use 0 to compute the line height from the font size.")},"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[(0,n.localize)("editor.configuration.suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),(0,n.localize)("editor.configuration.suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:"insert",description:"%editor.configuration.suggest.insertMode%"},"editor.suggest.filterGraceful":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.filterGraceful,description:"%editor.configuration.suggest.filterGraceful%"},"editor.suggest.localityBonus":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.localityBonus,description:"%editor.configuration.suggest.localityBonus%"},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.shareSuggestSelections,description:"%editor.configuration.suggest.shareSuggestSelections%"},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.snippetsPreventQuickSuggestions,description:"%editor.configuration.suggest.snippetsPreventQuickSuggestions%"},"editor.suggest.showIcons":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.showIcons,description:"%editor.configuration.suggest.showIcons%"},"editor.suggest.maxVisibleSuggestions":{type:"number",default:t.EDITOR_SUGGEST_DEFAULTS.maxVisibleSuggestions,minimum:1,maximum:15,description:"%editor.configuration.suggest.maxVisibleSuggestions%"},"editor.suggest.showMethods":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showMethods%"},"editor.suggest.showFunctions":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFunctions%"},"editor.suggest.showConstructors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showConstructors%"},"editor.suggest.showFields":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFields%"},"editor.suggest.showVariables":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showVariables%"},"editor.suggest.showClasses":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showClasss%"},"editor.suggest.showStructs":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showStructs%"},"editor.suggest.showInterfaces":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showInterfaces%"},"editor.suggest.showModules":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showModules%"},"editor.suggest.showProperties":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showPropertys%"},"editor.suggest.showEvents":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEvents%"},"editor.suggest.showOperators":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showOperators%"},"editor.suggest.showUnits":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showUnits%"},"editor.suggest.showValues":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showValues%"},"editor.suggest.showConstants":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showConstants%"},"editor.suggest.showEnums":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEnums%"},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEnumMembers%"},"editor.suggest.showKeywords":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showKeywords%"},"editor.suggest.showWords":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showTexts%"},"editor.suggest.showColors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showColors%"},"editor.suggest.showFiles":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFiles%"},"editor.suggest.showReferences":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showReferences%"},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showCustomcolors%"},"editor.suggest.showFolders":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFolders%"},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showTypeParameters%"},"editor.suggest.showSnippets":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showSnippets%"},"editor.suggest.showUsers":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showUsers%"},"editor.suggest.showIssues":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showIssues%"},"editor.suggest.statusBar.visible":{type:"boolean",default:!1,description:"%editor.configuration.suggest.statusBar.visible%"},"editor.suggest.preview":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.preview,description:"%editor.configuration.suggest.preview%"},"editor.suggest.details.visible":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.detailsVisible,description:"%editor.configuration.suggest.details.visible%"},"editor.inlineSuggest.enabled":{type:"boolean",default:t.EDITOR_INLINE_SUGGEST_DEFAULTS.enabled,description:"%editor.configuration.inlineSuggest.enabled%"},"editor.inlineSuggest.showToolbar":{type:"string",default:t.EDITOR_INLINE_SUGGEST_DEFAULTS.showToolbar,enum:["always","onHover","never"],enumDescriptions:[(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:"%editor.configuration.inlineSuggest.showToolbar%"},"editor.experimental.stickyScroll.enabled":{type:"boolean",default:!0,description:"%editor.configuration.experimental.stickyScroll%"},"editor.customCodeActionMenu.showHeaders":{type:"boolean",default:!0,description:"%editor.configuration.customCodeActionMenu.showHeaders"},"editor.useCustomCodeActionMenu":{type:"boolean",default:!0,description:"%editor.configuration.useCustomCodeActionMenu%"},"editor.letterSpacing":{type:"number",default:t.EDITOR_FONT_DEFAULTS.letterSpacing,description:"%editor.configuration.letterSpacing%"},"editor.lineNumbers":{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[(0,n.localize)("editor.configuration.lineNumbers.off","Line numbers are not rendered."),(0,n.localize)("editor.configuration.lineNumbers.on","Line numbers are rendered as absolute number."),(0,n.localize)("editor.configuration.lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),(0,n.localize)("editor.configuration.lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:"%editor.configuration.lineNumbers%"},"editor.renderFinalNewline":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.renderFinalNewline,description:"%editor.configuration.renderFinalNewline%"},"editor.rulers":{type:"array",items:{type:"number"},default:t.EDITOR_DEFAULTS.viewInfo.rulers,description:"%editor.configuration.rulers%"},"editor.wordSeparators":{type:"string",default:t.EDITOR_DEFAULTS.wordSeparators,description:"%editor.configuration.wordSeparators%"},"editor.tabSize":{type:"number",default:t.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:"%editor.configuration.tabSize%"},"editor.insertSpaces":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:"%editor.configuration.insertSpaces%"},"editor.detectIndentation":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:"%editor.configuration.detectIndentation%"},"editor.roundedSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.roundedSelection,description:"%editor.configuration.roundedSelection%"},"editor.scrollBeyondLastLine":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.scrollBeyondLastLine,description:"%editor.configuration.scrollBeyondLastLine%"},"editor.scrollBeyondLastColumn":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollBeyondLastColumn,description:"%editor.configuration.scrollBeyondLastColumn%"},"editor.smoothScrolling":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.smoothScrolling,description:"%editor.configuration.smoothScrolling%"},"editor.minimap.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.minimap.enabled,description:"%editor.configuration.minimap.enabled%"},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.EDITOR_DEFAULTS.viewInfo.minimap.side,description:"%editor.configuration.minimap.side%"},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.EDITOR_DEFAULTS.viewInfo.minimap.showSlider,description:"%editor.configuration.minimap.showSlider%"},"editor.minimap.renderCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.minimap.renderCharacters,description:"%editor.configuration.minimap.renderCharacters%"},"editor.minimap.maxColumn":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.minimap.maxColumn,description:"%editor.configuration.minimap.maxColumn%"},"editor.hover.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.enabled,description:"%editor.configuration.hover.enabled%"},"editor.hover.delay":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.hover.delay,description:"%editor.configuration.hover.delay%"},"editor.hover.sticky":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.sticky,description:"%editor.configuration.hover.sticky%"},"editor.hover.hidingDelay":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.hover.hidingDelay,description:"%editor.configuration.hover.hidingDelay%"},"editor.hover.above":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.above,description:"%editor.configuration.hover.above%"},"editor.find.seedSearchStringFromSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.seedSearchStringFromSelection,description:"%editor.configuration.find.seedSearchStringFromSelection%"},"editor.find.autoFindInSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.autoFindInSelection,description:"%editor.configuration.find.autoFindInSelection%"},"editor.find.globalFindClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.globalFindClipboard,description:"%editor.configuration.find.globalFindClipboard%",included:n.isOSX},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:!0,description:"%editor.configuration.find.addExtraSpaceOnTop%"},"editor.wordWrap":{type:"string",enum:["off","on","wordWrapColumn","bounded"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.wordWrap.off","Lines will never wrap."),(0,n.localize)("editor.configuration.wordWrap.on","Lines will wrap at the viewport width."),(0,n.localize)("editor.configuration.wordWrap.wordWrapColumn","Lines will wrap at `#editor.wordWrapColumn#`."),(0,n.localize)("editor.configuration.wordWrap.bounded","Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],default:t.EDITOR_DEFAULTS.wordWrap,description:"%editor.configuration.wordWrap%"},"editor.wordWrapColumn":{type:"integer",default:t.EDITOR_DEFAULTS.wordWrapColumn,minimum:1,markdownDescription:"%editor.configuration.wordWrapColumn%"},"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[(0,n.localize)("editor.configuration.wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),(0,n.localize)("editor.configuration.wrappingIndent.same","Wrapped lines get the same indentation as the parent."),(0,n.localize)("editor.configuration.wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),(0,n.localize)("editor.configuration.wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],default:"same",description:"%editor.configuration.wrappingIndent%"},"editor.mouseWheelScrollSensitivity":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollbar.mouseWheelScrollSensitivity,markdownDescription:"%editor.configuration.mouseWheelScrollSensitivity%"},"editor.fastScrollSensitivity":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollbar.fastScrollSensitivity,markdownDescription:"%editor.configuration.fastScrollSensitivity%"},"editor.multiCursorModifier":{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,n.localize)("editor.configuration.multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"alt",markdownDescription:(0,n.localize)("multiCursorModifier","The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")},"editor.multiCursorMergeOverlapping":{type:"boolean",default:t.EDITOR_DEFAULTS.multiCursorMergeOverlapping,description:"%editor.configuration.multiCursorMergeOverlapping%"},"editor.quickSuggestions":{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:!1,description:(0,n.localize)("editor.configuration.quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:!1,description:(0,n.localize)("editor.configuration.quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:!0,description:"%editor.configuration.quickSuggestions.other%"}}}],default:t.EDITOR_DEFAULTS.contribInfo.quickSuggestions,description:"%editor.configuration.quickSuggestions%"},"editor.quickSuggestionsDelay":{type:"integer",default:t.EDITOR_DEFAULTS.contribInfo.quickSuggestionsDelay,minimum:0,description:"%editor.configuration.quickSuggestionsDelay%"},"editor.parameterHints.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.parameterHints.enabled,description:"%editor.configuration.parameterHints.enabled%"},"editor.parameterHints.cycle":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.parameterHints.cycle,description:"%editor.configuration.parameterHints.cycle%"},"editor.autoClosingBrackets":{type:"string",enum:["always","languageDefined","beforeWhitespace","never"],enumDescriptions:["",(0,n.localize)("editor.configuration.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),(0,n.localize)("editor.configuration.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],default:t.EDITOR_DEFAULTS.autoClosingBrackets,description:"%editor.configuration.autoClosingBrackets%"},"editor.autoClosingQuotes":{type:"string",enum:["always","languageDefined","beforeWhitespace","never"],enumDescriptions:["",(0,n.localize)("editor.configuration.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),(0,n.localize)("editor.configuration.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],default:t.EDITOR_DEFAULTS.autoClosingQuotes,description:"%editor.configuration.autoClosingQuotes%"},"editor.autoSurround":{type:"string",enum:["languageDefined","brackets","quotes","never"],enumDescriptions:[(0,n.localize)("editor.configuration.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),(0,n.localize)("editor.configuration.autoSurround.brackets","Surround with brackets but not quotes."),(0,n.localize)("editor.configuration.autoSurround.quotes","Surround with quotes but not brackets."),""],default:t.EDITOR_DEFAULTS.autoSurround,description:"%editor.configuration.autoSurround%"},"editor.formatOnType":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.formatOnType,description:"%editor.configuration.formatOnType%"},"editor.formatOnPaste":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.formatOnPaste,description:"%editor.configuration.formatOnPaste%"},"editor.autoIndent":{type:"boolean",default:t.EDITOR_DEFAULTS.autoIndent,description:"%editor.configuration.autoIndent%"},"editor.suggestOnTriggerCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.suggestOnTriggerCharacters,description:"%editor.configuration.suggestOnTriggerCharacters%"},"editor.acceptSuggestionOnEnter":{type:"string",enum:["on","smart","off"],default:t.EDITOR_DEFAULTS.contribInfo.acceptSuggestionOnEnter,markdownEnumDescriptions:["",(0,n.localize)("editor.configuration.acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:(0,n.localize)("editor.configuration.acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")},"editor.acceptSuggestionOnCommitCharacter":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.acceptSuggestionOnCommitCharacter,markdownDescription:(0,n.localize)("editor.configuration.acceptSuggestionOnCommitCharacter","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.")},"editor.snippetSuggestions":{type:"string",enum:["top","bottom","inline","none"],enumDescriptions:[(0,n.localize)("editor.configuration.snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.inline","Show snippets suggestions with other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.none","Do not show snippet suggestions.")],default:"inline",description:"%editor.configuration.snippetSuggestions%"},"editor.emptySelectionClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.emptySelectionClipboard,description:"%editor.configuration.emptySelectionClipboard%"},"editor.copyWithSyntaxHighlighting":{type:"boolean",default:t.EDITOR_DEFAULTS.copyWithSyntaxHighlighting,description:"%editor.configuration.copyWithSyntaxHighlighting%"},"editor.wordBasedSuggestions":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.wordBasedSuggestions,description:"%editor.configuration.wordBasedSuggestions%"},"editor.suggestSelection":{type:"string",enum:["first","recentlyUsed","recentlyUsedByPrefix"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.suggestSelection.first","Always select the first suggestion."),(0,n.localize)("editor.configuration.suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),(0,n.localize)("editor.configuration.suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:"%editor.configuration.suggestSelection%"},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,markdownDescription:"%editor.configuration.suggestFontSize%"},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,markdownDescription:"%editor.configuration.suggestLineHeight%"},"editor.tabCompletion":{type:"string",default:"off",enum:["on","off","onlySnippets"],enumDescriptions:[(0,n.localize)("editor.configuration.tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),(0,n.localize)("editor.configuration.tabCompletion.off","Disable tab completions."),(0,n.localize)("editor.configuration.tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:"%editor.configuration.tabCompletion%"},"editor.suggest.filteredTypes":{type:"object",default:{keyword:!0,snippet:!0},markdownDescription:"%editor.configuration.suggest.filtered%",properties:{method:{type:"boolean",default:!0,markdownDescription:(0,n.localize)("editor.configuration.suggest.filtered.method","When set to `false` IntelliSense never shows `method` suggestions.")},function:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.function%"},constructor:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.constructor%"},field:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.field%"},variable:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.variable%"},class:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.class%"},struct:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.struct%"},interface:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.interface%"},module:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.module%"},property:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.property%"},event:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.event%"},operator:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.operator%"},unit:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.unit%"},value:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.value"},constant:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.constant%"},enum:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.enum%"},enumMember:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.enumMember%"},keyword:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.keyword%"},text:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.text%"},color:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.color%"},file:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.file%"},reference:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.reference%"},customcolor:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.customcolor%"},folder:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.folder%"},typeParameter:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.typeParameter%"},snippet:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.snippet%"}}},"editor.gotoLocation.multiple":{description:"%editor.configuration.editor.gotoLocation.multiple%",type:"string",enum:["peek","gotoAndPeek","goto"],default:t.EDITOR_DEFAULTS.contribInfo.gotoLocation.multiple,enumDescriptions:[(0,n.localize)("editor.configuration.gotoLocation.multiple.peek","Show peek view of the results (default)"),(0,n.localize)("editor.configuration.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),(0,n.localize)("editor.configuration.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},"editor.selectionHighlight":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.selectionHighlight,description:"%editor.configuration.selectionHighlight%"},"editor.columnSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.columnSelection,description:"%editor.configuration.columnSelection%"},"editor.occurrencesHighlight":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.occurrencesHighlight,description:"%editor.configuration.occurrencesHighlight%"},"editor.overviewRulerLanes":{type:"integer",default:3,description:"%editor.configuration.overviewRulerLanes%"},"editor.overviewRulerBorder":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.overviewRulerBorder,description:"%editor.configuration.overviewRulerBorder%"},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:"blink",description:"%editor.configuration.cursorBlinking%"},"editor.mouseWheelZoom":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.mouseWheelZoom,markdownDescription:"%editor.configuration.mouseWheelZoom%"},"editor.cursorSmoothCaretAnimation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.cursorSmoothCaretAnimation,description:"%editor.configuration.cursorSmoothCaretAnimation%"},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:t.EDITOR_FONT_DEFAULTS.cursorStyle,description:"%editor.configuration.cursorStyle%"},"editor.cursorWidth":{type:"integer",default:t.EDITOR_DEFAULTS.viewInfo.cursorWidth,markdownDescription:"%editor.configuration.cursorWidth%"},"editor.fontLigatures":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.fontLigatures,description:"%editor.configuration.fontLigatures%"},"editor.hideCursorInOverviewRuler":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.hideCursorInOverviewRuler,description:"%editor.configuration.hideCursorInOverviewRuler%"},"editor.renderWhitespace":{type:"string",enum:["none","boundary","selection","all"],enumDescriptions:["",(0,n.localize)("editor.configuration.renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),(0,n.localize)("editor.configuration.renderWhitespace.selection","Render whitespace characters only on selected text."),""],default:t.EDITOR_DEFAULTS.viewInfo.renderWhitespace,description:"%editor.configuration.renderWhitespace%"},"editor.rename.enablePreview":{type:"boolean",default:!0,description:"%editor.configuration.rename.enablePreview%"},"editor.renderControlCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.renderControlCharacters,description:"%editor.configuration.renderControlCharacters%"},"editor.guides.indentation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.indentation,description:"%editor.configuration.guides.indentation%"},"editor.guides.highlightActiveIndentation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.highlightActiveIndentGuide,description:"%editor.configuration.guides.highlightActiveIndentation%"},"editor.guides.bracketPairs":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.bracketPairs,description:"%editor.configuration.guides.bracketPairs%"},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",(0,n.localize)("editor.configuration.renderLineHighlight.all","Highlights both the gutter and the current line.")],default:t.EDITOR_DEFAULTS.viewInfo.renderLineHighlight,description:"%editor.configuration.renderLineHighlight%"},"editor.codeLens":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.codeLens,description:"%editor.configuration.codeLens%"},"editor.folding":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.folding,description:"%editor.configuration.folding%"},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:t.EDITOR_DEFAULTS.contribInfo.foldingStrategy,markdownDescription:"%editor.configuration.foldingStrategy%"},"editor.showFoldingControls":{type:"string",enum:["always","mouseover"],default:t.EDITOR_DEFAULTS.contribInfo.showFoldingControls,description:"%editor.configuration.showFoldingControls%"},"editor.matchBrackets":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.matchBrackets,description:"%editor.configuration.matchBrackets%"},"editor.glyphMargin":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.glyphMargin,description:"%editor.configuration.glyphMargin%"},"editor.useTabStops":{type:"boolean",default:t.EDITOR_DEFAULTS.useTabStops,description:"%editor.configuration.useTabStops%"},"editor.trimAutoWhitespace":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:"%editor.configuration.trimAutoWhitespace%"},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:"%editor.configuration.stablePeek%"},"editor.dragAndDrop":{type:"boolean",default:t.EDITOR_DEFAULTS.dragAndDrop,description:"%editor.configuration.dragAndDrop%"},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[(0,n.localize)("editor.configuration.accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),(0,n.localize)("editor.configuration.accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),(0,n.localize)("editor.configuration.accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:t.EDITOR_DEFAULTS.accessibilitySupport,description:(0,n.localize)("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:t.EDITOR_DEFAULTS.showUnused,description:"%editor.configuration.showUnused%"},"editor.comments.insertSpace":{type:"boolean",default:!0,description:"%editor.configuration.comments.insertSpace%"},"editor.comments.ignoreEmptyLines":{type:"boolean",default:!0,description:"%editor.configuration.comments.ignoreEmptyLines%"},"editor.links":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.links,description:"%editor.configuration.links%"},"editor.colorDecorators":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.colorDecorators,description:"%editor.configuration.colorDecorators%"},"editor.lightbulb.enabled":{type:"string",default:t.EDITOR_DEFAULTS.contribInfo.lightbulbEnabled,enum:[r.ShowLightbulbIconMode.Off,r.ShowLightbulbIconMode.OnCode,r.ShowLightbulbIconMode.On],enumDescriptions:[],description:"%editor.configuration.lightbulb.enabled%"},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:"%editor.configuration.maxTokenizationLineLength%"},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:"%editor.configuration.codeActionsOnSave.organizeImports%"},"source.fixAll":{type:"boolean",description:"%editor.configuration.codeActionsOnSave.fixAll%"}},additionalProperties:{type:"boolean"},default:t.EDITOR_DEFAULTS.contribInfo.codeActionsOnSave,description:"%editor.configuration.codeActionsOnSave%"},"editor.codeActionsOnSaveTimeout":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.codeActionsOnSaveTimeout,description:"%editor.configuration.codeActionsOnSaveTimeout%"},"editor.codeActionsOnSaveNotification":{type:"boolean",default:!0,description:"%editor.configuration.codeActionsOnSaveNotification%"},"editor.selectionClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.selectionClipboard,description:"%editor.configuration.selectionClipboard%",included:n.isLinux},"editor.largeFileOptimizations":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:"%editor.configuration.largeFileOptimizations%"},"editor.defaultFormatter":{type:"string",description:"%editor.configuration.defaultFormatter%"},"editor.unicodeHighlight.ambiguousCharacters":{type:"boolean",default:!0,description:"%editor.configuration.unicodeHighlight.ambiguousCharacters%"},"editor.unicodeHighlight.allowedCharacters":{type:"object",default:{},description:"%editor.configuration.unicodeHighlight.allowedCharacters%"},"editor.unicodeHighlight.allowedLocales":{type:"object",default:{},description:"%editor.configuration.unicodeHighlight.allowedLocales%"},"diffEditor.renderIndicators":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.renderIndicators,description:"%editor.configuration.renderIndicators%"},"diffEditor.minimap":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.minimap},"diffEditor.experimental.stickyScroll.enabled":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.stickyScroll.enable}},m={"editor.tokenColorCustomizations":{type:"object",description:"%editor.configuration.tokenColorCustomizations%",default:{}},"editor.askIfDiff":{type:"boolean",default:!0,description:"%editor.configuration.askIfDiff%"},"editor.showActionWhenGroupEmpty":{type:"boolean",default:!1,description:"%editor.configuration.showActionWhenGroupEmpty%"},"editor.autoSave":{type:"string",enum:["off","afterDelay","editorFocusChange","windowLostFocus"],default:"off",description:"%editor.configuration.autoSave%"},"editor.autoSaveDelay":{type:"number",default:1e3,markdownDescription:"%editor.configuration.autoSaveDelay%"},"editor.preferredFormatter":{type:"object",default:{},description:"%editor.configuration.preferredFormatter%"},"editor.previewMode":{type:"boolean",default:!0,description:"%editor.configuration.previewMode%"},"editor.preventScrollAfterFocused":{type:"boolean",default:!1,description:"%editor.configuration.preventScrollAfterFocused%"},"editor.wrapTab":{type:"boolean",default:!1,description:"%editor.configuration.wrapTab%"},"editor.enablePreviewFromCodeNavigation":{type:"boolean",default:!1,markdownDescription:"%editor.configuration.enablePreviewFromCodeNavigation%"},"editor.minimap":{type:"boolean",default:!0},"editor.forceReadOnly":{type:"boolean",default:!1,description:"%editor.configuration.forceReadOnly%"},"editor.languageFeatureEnabledMaxSize":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.languageFeatureEnabledMaxSize%"},"editor.docExtHostSyncMaxSize":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.docExtHostSyncMaxSize%"},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],default:"all",description:"%editor.configuration.renderLineHighlight%"},"editor.fontFamily":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontFamily},"editor.fontSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.fontSize,minimum:6},"editor.tabSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.tabSize,minimum:1,description:"%editor.configuration.tabSize%"},"editor.formatOnPaste":{type:"boolean",default:!1},"editor.detectIndentation":{type:"boolean",default:!0},"editor.renderWhitespace":{type:"boolean",default:t.EDITOR_FONT_DEFAULTS.renderWhitespace},"editor.cursorStyle":{type:"string",enum:["line","block","block-outline","line-thin","underline","underline-thin"],default:t.EDITOR_FONT_DEFAULTS.cursorStyle},"editor.insertSpaces":{type:"boolean",default:t.EDITOR_FONT_DEFAULTS.insertSpace},"editor.wordWrap":{type:"string",enum:["off","on"],default:t.EDITOR_FONT_DEFAULTS.wordWrap},"editor.wordWrapColumn":{type:"number",default:t.EDITOR_FONT_DEFAULTS.wordWrapColumn,description:"%editor.configuration.wordWrapColumn%"},"editor.readonlyFiles":{type:"array",default:[],items:{type:"string"}},"editor.formatOnSave":{type:"boolean",default:!1,description:"%editor.configuration.formatOnSave%"},"editor.formatOnSaveTimeout":{type:"number",default:750,markdownDescription:"%editor.configuration.formatOnSaveTimeout%"},"editor.lineHeight":{type:"number",default:0,description:"%editor.lineHeight.description%"},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:"%editor.configuration.maxTokenizationLineLength%"},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[(0,n.localize)("editor.configuration.semanticHighlighting.true","Semantic highlighting enabled for all color themes."),(0,n.localize)("editor.configuration.semanticHighlighting.false","Semantic highlighting disabled for all color themes."),(0,n.localize)("editor.configuration.semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:!0,description:"%editor.configuration.semanticHighlighting.enabled%"},"editor.bracketPairColorization.enabled":{type:"boolean",default:!0,description:"%editor.configuration.bracketPairColorization.enabled%"},"editor.largeFile":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.largeFileSize%"},"editor.streamLargeFile":{type:"boolean",default:!0,description:"%editor.configuration.streamLargeFile%"},"editor.quickSuggestionsDelay":{type:"integer",default:100,description:"%editor.configuration.quickSuggestionsDelay%"},"editor.modelDisposeTime":{type:"integer",default:3e3},"workbench.editorAssociations":{type:"object",markdownDescription:"%editor.configuration.workbench.editorAssociations%",default:{},additionalProperties:{type:"string"}},"editor.experimental.stickyScroll.enabled":{type:"boolean",default:!1,description:"%editor.configuration.experimental.stickyScroll.enabled%"},"editor.mouseBackForwardToNavigate":{type:"boolean",default:!0,description:"%editor.configuration.mouseBackForwardToNavigate%"},"diffEditor.renderSideBySide":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.renderSideBySide,description:"%diffEditor.configuration.renderSideBySide%"},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.ignoreTrimWhitespace,description:"%diffEditor.configuration.ignoreTrimWhitespace%"},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.enabled,description:"Controls whether the diff editor shows unchanged regions."},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.revealLineCount,description:"Controls how many lines are used for unchanged regions.",minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.minimumLineCount,description:"Controls how many lines are used as a minimum for unchanged regions.",minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.contextLineCount,description:"Controls how many lines are used as context when comparing unchanged regions.",minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.showMoves,description:"Controls whether the diff editor should show detected code moves."},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.showEmptyDecorations,description:"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted."},"diffEditor.experimental.collapseUnchangedRegions":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.collapseUnchangedRegions,description:"Controls whether the diff editor shows unchanged regions."}};t.editorPreferenceSchema={type:"object",properties:{...v,...m}},t.EditorPreferences=Symbol("EditorPreference")},90915:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createEditorPreferenceProxy=o;const n=e(41869),r=e(24328);function o(l,_,v){return(0,n.createPreferenceProxy)(l,r.editorPreferenceSchema,{resourceUri:_,overrideIdentifier:v})}},53135:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GoToLineQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=n.__importStar(e(20868)),v=e(55979),m=e(82196);class p extends v.AbstractGotoLineQuickAccessProvider{clearDecorations(a){super.clearDecorations(a)}preview(a,h){a.revealRangeInCenter(h,_.editor.ScrollType.Smooth),this.addDecorations(a,h)}goTo(a,h,d=!0){this.gotoLocation({editor:a},{range:h,preserveFocus:d,keyMods:{alt:!1,ctrlCmd:!1}})}}let s=class{constructor(){this.prefix=":",this.description=(0,o.localize)("quickopen.goToLine.desc"),this.quickAccess=new p}getFirstSelection(){const a=this.workbenchEditorService.currentEditor,h=a?.getSelections();return h?.[0]}getRange(a=1,h=1){return{startLineNumber:a,endLineNumber:a,startColumn:h,endColumn:h}}init(){var a;this.savedViewState=(0,o.withNullAsUndefined)((a=this.workbenchEditorService.currentEditor)===null||a===void 0?void 0:a.monacoEditor.saveViewState())}getModel(){var a,h,d,u,E;const f=this.workbenchEditorService.currentEditor,c=this.getFirstSelection();if(!c||!f)return{onType:(S,D)=>{D([new l.QuickOpenItem({label:(0,o.localize)("quickopen.goToLine.notValid"),run:()=>!1})])}};const y=(a=c.positionLineNumber)!==null&&a!==void 0?a:1,b=(h=c.positionColumn)!==null&&h!==void 0?h:1,A=(E=(u=(d=f.currentDocumentModel)===null||d===void 0?void 0:d.getMonacoModel())===null||u===void 0?void 0:u.getLineCount())!==null&&E!==void 0?E:1;return{onType:(S,D)=>{const I=S.split(/,|:|#|:|,/).map(R=>parseInt(R,10)).filter(R=>!isNaN(R)),w=I[0],T=I[1];if(w){let R=(0,o.formatLocalize)("quickopen.goToLine.lineInfo",w);T&&(R+=(0,o.formatLocalize)("quickopen.goToLine.colInfo",T));const M=this.getRange(w,T);D([new l.QuickOpenItem({label:R,run:O=>O===l.Mode.PREVIEW?(this.quickAccess.preview(f.monacoEditor,M),!1):(this.quickAccess.goTo(f.monacoEditor,M,!0),!0)})])}else this.quickAccess.clearDecorations(f.monacoEditor),D([new l.QuickOpenItem({label:(0,o.formatLocalize)("quickopen.goToLine.defaultMessage",y,b,A),run:()=>!1})])}}}getOptions(){return{}}onClose(a){const h=this.workbenchEditorService.currentEditor;h&&(h.monacoEditor.focus(),this.quickAccess.clearDecorations(h.monacoEditor),a&&this.savedViewState&&h.monacoEditor.restoreViewState(this.savedViewState))}};t.GoToLineQuickOpenHandler=s,n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],s.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(m.WorkbenchEditorService),n.__metadata("design:type",m.WorkbenchEditorService)],s.prototype,"workbenchEditorService",void 0),t.GoToLineQuickOpenHandler=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},50236:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolInformationQuickOpenItem=t.WorkspaceSymbolQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(97821),v=e(51500),m=e(40540),p=e(23418);let s=class extends _.QuickOpenBaseAction{constructor(){super({id:"workspace-symbol:splitToRight",tooltip:(0,l.localize)("quickOpen.openOnTheRightSide"),class:(0,o.getIcon)("embed")})}async run(u){await u.openSide()}};s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s);let g=class{hasActions(){return!0}getActions(){return[this.workspaceSymbolOpenSideActionOpen]}};n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s)],g.prototype,"workspaceSymbolOpenSideActionOpen",void 0),g=n.__decorate([(0,r.Injectable)()],g);let a=class{constructor(){this.prefix="#",this.cancellationSource=new o.CancellationTokenSource}get description(){return(0,l.localize)("editor.workspaceSymbol.description")}getModel(){return{onType:(u,E)=>{if(u===""){E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbol.search"),run:()=>!1})]);return}if(u==="#")return void E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbolClass.search"),run:()=>!1})]);if(this.languageService.workspaceSymbolProviders.length===0){E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbol.notfound"),run:()=>!1})]);return}const f=u[0]==="#",c=[];this.cancellationSource.cancel();const y=new o.CancellationTokenSource;this.cancellationSource=y;const b={query:f?u.slice(1):u},A=this.reporterService.time(l.REPORT_NAME.QUICK_OPEN_MEASURE);Promise.all(this.languageService.workspaceSymbolProviders.map(async S=>{let D=await S.provideWorkspaceSymbols(b,y.token);if(f&&(D=D?.filter(I=>I.kind===m.SymbolKind.Class)),D&&D.length&&!y.token.isCancellationRequested){const I=await Promise.all(D.map(async w=>{const T=await this.workspaceService.asRelativePath(new o.URI(w.location.uri).parent);return new h(w,S,this.workbenchEditorService,y.token,T?.path||"")}));c.push(...I),E(c,this.workspaceSymbolActionProvider)}return D})).catch(S=>{this.logger.log(S)}).finally(()=>{y.token.isCancellationRequested||(c.length||E([]),A.timeEnd(f?"class":"symbol",{lookFor:u,stat:{symbol:c.length}}))})}}}getOptions(){return{fuzzyMatchLabel:{enableSeparateSubstringMatching:!0},showItemsWithoutHighlight:!0,fuzzyMatchDescription:!1,getPlaceholderItem:(u,E)=>new o.QuickOpenItem({label:(0,l.localize)(E.startsWith("##")?"editor.workspaceSymbolClass.notfound":"editor.workspaceSymbol.notfound"),run:()=>!1})}}onClose(){this.cancellationSource.cancel()}onToggle(){this.cancellationSource.cancel()}};t.WorkspaceSymbolQuickOpenHandler=a,n.__decorate([(0,r.Autowired)(p.ILanguageService),n.__metadata("design:type",Object)],a.prototype,"languageService",void 0),n.__decorate([(0,r.Autowired)(v.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],a.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",g)],a.prototype,"workspaceSymbolActionProvider",void 0),n.__decorate([(0,r.Autowired)(l.IReporterService),n.__metadata("design:type",Object)],a.prototype,"reporterService",void 0),t.WorkspaceSymbolQuickOpenHandler=a=n.__decorate([(0,r.Injectable)()],a);class h extends o.QuickOpenItem{constructor(u,E,f,c,y){super({}),this.symbol=u,this.provider=E,this.workbenchEditorService=f,this.token=c,this.relativePath=y}getLabel(){return this.symbol.name}getUri(){return new o.URI(this.symbol.location.uri)}getIconClass(){return(0,o.getSymbolIcon)(this.symbol.kind)}getDescription(){const u=this.symbol.containerName;return`${u?`${u} \xB7 `:""}${decodeURIComponent(this.relativePath)}`}fromRange(u){if(!u)return;const{start:E,end:f}=u;return{startLineNumber:E.line+1,startColumn:E.character+1,endLineNumber:f.line+1,endColumn:f.character+1}}open(u,E){this.workbenchEditorService.open(u,{range:this.fromRange(E)})}run(u){const E=this.getUri();return u===o.QuickOpenMode.OPEN&&this.provider.resolveWorkspaceSymbol(this.symbol,this.token).then(f=>{f?this.open(E,f.location.range):this.open(E,this.symbol.location.range)}),!0}openSide(){const u=this.getUri();return this.provider.resolveWorkspaceSymbol(this.symbol,this.token).then(E=>{this.workbenchEditorService.open(u,{preview:!1,split:p.EditorGroupSplitAction.Right,range:this.fromRange(E?E.location.range:this.symbol.location.range),focus:!0})})}}t.SymbolInformationQuickOpenItem=h},80200:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResourceServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(23418),{addElement:v}=l.arrays;let m=class extends o.WithEventBus{constructor(){super(),this.providers=[],this.resources=new Map,this.gettingResources=new Map,this.resourceDecoration=new Map,this.cachedProvider=new l.LRUMap(500,200),this.onRegisterResourceProviderEmitter=new l.Emitter,this.onRegisterResourceProvider=this.onRegisterResourceProviderEmitter.event,this.onUnregisterResourceProviderEmitter=new l.Emitter,this.onUnregisterResourceProvider=this.onUnregisterResourceProviderEmitter.event}onResourceNeedUpdateEvent(a){const h=a.payload;if(this.resources.has(h.toString())){const d=this.resources.get(h.toString());this.doGetResource(h).then(u=>{d&&(Object.assign(d?.resource,u?.resource),d.provider=u?.provider),this.eventBus.fire(new _.ResourceDidUpdateEvent(h))})}}onResourceDecorationNeedChangeEvent(a){this.getResourceDecoration(a.payload.uri);let h=!1;const d=this.resourceDecoration.get(a.payload.uri.toString())||{};new Set([...Object.keys(d),...Object.keys(a.payload.decoration)]).forEach(u=>{d[u]!==a.payload.decoration[u]&&(h=!0)}),h&&(Object.assign(this.resourceDecoration.get(a.payload.uri.toString()),a.payload.decoration),this.eventBus.fire(new _.ResourceDecorationChangeEvent(a.payload)))}getSupportedSchemes(){return Array.from(this.providers.values()).map(a=>a.scheme).filter(Boolean)}async getResource(a){if(!this.resources.has(a.toString())){const h=await this.doGetResource(a);if(!h)return null;const d={resource:h.resource,provider:h.provider};this.resources.set(a.toString(),d)}return this.resources.get(a.toString()).resource}handlesUri(a){return!!this.calculateProvider(a)}async doGetResource(a){if(!this.gettingResources.has(a.toString())){const h=(async()=>{const d=this.calculateProvider(a);if(d){const u=await d.provideResource(a);return u.uri=a,{resource:u,provider:d}}else return this.logger.error("URI has no resource provider: "+a),null})();this.gettingResources.set(a.toString(),h),h.finally(()=>{this.gettingResources.delete(a.toString())})}return this.gettingResources.get(a.toString())}registerResourceProvider(a){this.onRegisterResourceProviderEmitter.fire(a);const h=new l.Disposable;return h.addDispose(v(this.providers,a)),h.addDispose({dispose:()=>{for(const d of this.resources.values())d.provider===a&&(d.provider=s,this.onUnregisterResourceProviderEmitter.fire(a));this.cachedProvider.clear()}}),this.cachedProvider.clear(),h}async shouldCloseResource(a,h){const d=this.getProvider(a.uri);return!d||!d.shouldCloseResource?!0:await d.shouldCloseResource(a,h)}async shouldCloseResourceWithoutConfirm(a){const h=this.getProvider(a.uri);return h&&h.shouldCloseResourceWithoutConfirm?await h.shouldCloseResourceWithoutConfirm(a):!1}async close(a,h){const d=this.getProvider(a.uri);return!d||!d.close?!0:await d.close(a,h)}calculateProvider(a){if(this.cachedProvider.has(a.toString()))return this.cachedProvider.get(a.toString());let h,d={weight:-1,index:-1};function u(E,f,c){d={weight:f,index:c},h=E}return this.providers.forEach((E,f)=>{let c=-1;E.handlesUri?c=E.handlesUri(a):E.scheme&&(c=E.scheme===a.scheme?10:-1),c>=0&&(c>d.weight||c===d.weight&&f>d.index)&&u(E,c,f)}),this.cachedProvider.set(a.toString(),h),h}getProvider(a){const h=this.resources.get(a.toString());if(h)return h.provider}getResourceDecoration(a){return this.resourceDecoration.has(a.toString())||this.resourceDecoration.set(a.toString(),{...p}),this.resourceDecoration.get(a.toString())}getResourceSubname(a,h){const d=this.getProvider(a.uri);return d&&d.provideResourceSubname?d.provideResourceSubname(a,h):null}disposeResource(a){const h=this.getProvider(a.uri);if(this.resources.delete(a.uri.toString()),this.resourceDecoration.delete(a.uri.toString()),!(!h||!h.onDisposeResource))return h.onDisposeResource(a)}};t.ResourceServiceImpl=m,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),n.__decorate([(0,o.OnEvent)(_.ResourceNeedUpdateEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[_.ResourceNeedUpdateEvent]),n.__metadata("design:returntype",void 0)],m.prototype,"onResourceNeedUpdateEvent",null),n.__decorate([(0,o.OnEvent)(_.ResourceDecorationNeedChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[_.ResourceDecorationNeedChangeEvent]),n.__metadata("design:returntype",void 0)],m.prototype,"onResourceDecorationNeedChangeEvent",null),t.ResourceServiceImpl=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m);const p={dirty:!1,readOnly:!1},s={handlesUri:()=>-1,provideResource:g=>({uri:g,name:"",icon:""})}},52795:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorActions=t.Tabs=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(25918),v=e(1149),m=e(63373),p=e(93899),s=e(48560),g=e(43718),a=e(23418),h=e(19352),d=n.__importDefault(e(62711)),u=e(78680),E=e(82196),f=e(50674),c=e(72570).UU,y=({group:A})=>{const S=(0,o.useRef)(),D=(0,o.useRef)(),I=(0,o.useRef)(),w=(0,o.useRef)(null),T=(0,o.useRef)(null),R=(0,s.useInjectable)(a.ResourceService),M=(0,s.useInjectable)(l.IEventBus),O=(0,o.useContext)(l.ConfigContext),x=(0,s.useInjectable)(a.WorkbenchEditorService),k=(0,s.useInjectable)(u.TabTitleMenuService),F=(0,s.useInjectable)(l.PreferenceService),L=(0,s.useInjectable)(p.IMenuRegistry),N=(0,s.useInjectable)(E.IEditorTabService),U=(0,s.useInjectable)(v.LayoutViewSizeConfig),W=(0,s.useInjectable)(l.ComponentRegistry),j=(0,l.useDesignStyles)(d.default.tab_right,"tab_right"),Q=(0,l.useDesignStyles)(d.default.close_tab,"close_tab"),$=(0,l.useDesignStyles)(d.default.kt_editor_close_icon,"kt_editor_close_icon"),Z=(0,l.useDesignStyles)(d.default.kt_editor_tabs_content,"kt_editor_tabs_content"),G=(0,l.useDesignStyles)(d.default.kt_editor_tabs_current_last,"kt_editor_tabs_current_last"),V=(0,l.useDesignStyles)(d.default.kt_editor_tab,"kt_editor_tab"),H=(0,l.useDesignStyles)(d.default.kt_editor_tab_current_prev,"kt_editor_tab_current_prev"),K=(0,l.useDesignStyles)(d.default.kt_editor_tab_current_next,"kt_editor_tab_current_next"),Y=(0,l.useDesignStyles)(d.default.kt_editor_tab_current,"kt_editor_tab_current"),X=(0,l.useDesignStyles)(d.default.kt_editor_tab_dirty,"kt_editor_tab_dirty"),re=(0,l.useDesignStyles)(d.default.kt_editor_tabs,"kt_editor_tabs"),oe=(0,l.useDesignStyles)(d.default.kt_editor_tabs_scroll_wrapper,"kt_editor_tabs_scroll_wrapper"),[he,me]=(0,o.useState)({}),[q,Ae]=(0,o.useState)(!!F.get("editor.wrapTab")),[ge,te]=(0,o.useState)(new Map),[fe,Oe]=(0,o.useState)(),Me=(0,o.useMemo)(()=>(0,l.getSlotLocation)(c,O.layoutConfig),[]),Pe=o.default.useMemo(()=>{var ye,Ue;const Ye=(Ue=(ye=W.getComponentRegistryInfo(a.TabbarRightExtraContentId))===null||ye===void 0?void 0:ye.views)===null||Ue===void 0?void 0:Ue[0];if(Ye)return Ye},[]);(0,f.useUpdateOnGroupTabChange)(A),(0,s.useUpdateOnEventBusEvent)(a.ResourceDidUpdateEvent,[A.resources],ye=>!!I&&A.resources.findIndex(Ue=>Ue.uri.isEqual(ye))!==-1),(0,o.useEffect)(()=>{const ye=new l.Disposable;return ye.addDispose(A.onDidEditorGroupContentLoading(Ue=>{var Ye;(Ye=A.resourceStatus.get(Ue))===null||Ye===void 0||Ye.finally(()=>{me(Object.assign({},he,{[Ue.uri.toString()]:!1}))}),me(Object.assign({},he,{[Ue.uri.toString()]:!0}))})),ye.addDispose(A.onDidEditorGroupTabChanged(()=>{q||De()})),()=>{ye.dispose()}},[A]);const Be=(0,o.useCallback)((ye,Ue,Ye)=>{if(ye.dataTransfer.getData("uri")){const Ve=new l.URI(ye.dataTransfer.getData("uri"));let pt;ye.dataTransfer.getData("uri-source-group")&&(pt=x.getEditorGroup(ye.dataTransfer.getData("uri-source-group"))),A.dropUri(Ve,E.DragOverPosition.CENTER,pt,Ye)}ye.dataTransfer.files.length>0&&M.fire(new E.EditorGroupFileDropEvent({group:A,tabIndex:Ue,files:ye.dataTransfer.files}))},[A]),De=(0,o.useCallback)(()=>{l.fastdom.measure(()=>{try{if(S.current&&A.currentResource){const ye=S.current.querySelector("."+d.default.kt_editor_tab+"[data-uri='"+A.currentResource.uri.toString()+"']");ye&&ye.scrollIntoView({block:"nearest",inline:"nearest"})}}catch{}})},[A,S.current]),_e=(0,o.useCallback)(()=>{w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{l.fastdom.measure(()=>{var ye;const Ue=(ye=T.current)===null||ye===void 0?void 0:ye.offsetWidth;Ue!==fe&&Oe(Ue)})},200)},[T.current,w.current,fe]);(0,o.useEffect)(()=>{q||queueMicrotask(()=>{De()})},[q,S.current]),(0,o.useEffect)(()=>{if(!q){const ye=new l.Disposable;return S.current&&ye.addDispose(new l.DomListener(S.current,"mousewheel",b)),ye.addDispose(M.onDirective(l.ResizeEvent.createDirective(Me),()=>{De()})),ye.addDispose(M.onDirective(E.GridResizeEvent.createDirective(A.grid.uid),()=>{De()})),()=>{ye.dispose()}}},[q]);const Ne=(0,o.useCallback)(()=>{l.fastdom.measureAtNextFrame(()=>{if(I.current&&q){const ye=new Map;let Ue,Ye;const Ve=Array.from(I.current.children);Ve.pop(),Ve.forEach(pt=>{pt.offsetTop!==Ue&&(Ue=pt.offsetTop,Ye&&ye.set(Ve.indexOf(Ye),!0)),Ye=pt,ye.set(Ve.indexOf(pt),!1)}),te(ye)}})},[I.current,q]);(0,o.useEffect)(()=>{_e()},[T.current,q]),(0,o.useEffect)(Ne,[q,I.current,A,A.resources.length]),(0,o.useEffect)(()=>{const ye=new l.DisposableCollection;return ye.push(M.onDirective(l.ResizeEvent.createDirective(Me),()=>{Ne()})),ye.push(F.onPreferenceChanged(Ue=>{Ue.preferenceName==="editor.wrapTab"&&Ae(!!Ue.newValue)})),ye.push(x.onDidCurrentEditorGroupChanged(()=>{_e()})),ye.push(l.Event.debounce(l.Event.filter(L.onDidChangeMenu,Ue=>Ue===p.MenuId.EditorTitle),()=>{},200)(()=>{_e()})),()=>{ye.dispose()}},[]),(0,o.useEffect)(()=>{const ye=new l.DisposableCollection;return ye.push(A.onDidEditorFocusChange(()=>{_e()})),()=>{ye.dispose()}},[A]);const Te=(0,o.useCallback)(ye=>{ye.preventDefault(),ye.stopPropagation(),D.current&&D.current.classList.add(d.default.kt_on_drag_over)},[D.current]),We=(0,o.useCallback)(ye=>{D.current&&D.current.classList.remove(d.default.kt_on_drag_over)},[D.current]),pe=(0,o.useCallback)(ye=>{D.current&&D.current.classList.remove(d.default.kt_on_drag_over),Be&&Be(ye,-1)},[Be,D.current]),ie=(0,o.useCallback)(ye=>{ye.target===ye.currentTarget&&x.createUntitledResource()},[x]),le=o.default.useCallback((ye,Ue)=>{const Ye=R.getResourceDecoration(ye.uri),Ve=R.getResourceSubname(ye,A.resources);return N.renderEditorTab(o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:he[ye.uri.toString()]?"loading_indicator":(0,r.default)(ye.icon)}," "),o.default.createElement("div",{tabIndex:0,role:"tab","aria-selected":Ue?"true":"false"},ye.name),Ve?o.default.createElement("div",{className:d.default.subname},Ve):null,Ye.readOnly?o.default.createElement("span",{className:(0,r.default)((0,l.getExternalIcon)("lock"),d.default.editor_readonly_icon)}):null,o.default.createElement("div",{className:j},o.default.createElement("div",{className:(0,r.default)({[d.default.kt_hidden]:!Ye.dirty,[d.default.dirty]:!0})}),o.default.createElement("div",{className:Q,onMouseDown:pt=>{pt.stopPropagation(),A.close(ye.uri)}},N.renderTabCloseComponent(o.default.createElement("div",{className:(0,r.default)((0,l.getIcon)("close"),$),tabIndex:0,role:"button","aria-label":(0,g.formatLocalize)("editor.closeTab.title",ye.name)}))))),Ue)},[N]),Se=()=>{const ye=A.resources.length===0,Ue=A.resources.findIndex(Ye=>A.currentResource===Ye);return o.default.createElement("div",{draggable:!1,className:(0,r.default)({[Z]:!0,[d.default.kt_editor_tabs_content_empty]:ye,[G]:Ue===A.resources.length-1}),ref:I,role:"tablist"},A.resources.map((Ye,Ve)=>{let pt;const vt=R.getResourceDecoration(Ye.uri);return o.default.createElement("div",{draggable:!0,title:Ye.title,className:(0,r.default)({[V]:!0,[d.default.last_in_row]:ge.get(Ve),[H]:Ue-1===Ve,[K]:Ue+1===Ve,[Y]:A.currentResource===Ye,[d.default.kt_editor_tab_preview]:A.previewURI&&A.previewURI.isEqual(Ye.uri),[X]:vt.dirty}),style:q&&Ve===A.resources.length-1?{marginRight:fe,height:U.editorTabsHeight}:{height:U.editorTabsHeight},onContextMenu:xt=>{k.show(xt.nativeEvent.x,xt.nativeEvent.y,Ye&&Ye.uri,A),xt.preventDefault()},key:Ye.uri.toString(),onMouseUp:xt=>{xt.nativeEvent.button===l.MouseEventButton.Middle&&(xt.preventDefault(),xt.stopPropagation(),A.close(Ye.uri))},onMouseDown:xt=>{xt.nativeEvent.button===l.MouseEventButton.Left&&A.open(Ye.uri,{focus:!0})},"data-uri":Ye.uri.toString(),onDragOver:xt=>{xt.preventDefault(),xt.stopPropagation(),pt&&pt.classList.add(d.default.kt_on_drag_over)},onDragLeave:xt=>{pt&&pt.classList.remove(d.default.kt_on_drag_over)},onDrop:xt=>{pt&&pt.classList.remove(d.default.kt_on_drag_over),Be&&Be(xt,Ve,Ye)},onDoubleClick:xt=>{A.pinPreviewed(Ye.uri)},ref:xt=>pt=xt,onDragStart:xt=>{xt.dataTransfer.setData("uri",Ye.uri.toString()),xt.dataTransfer.setData("uri-source-group",A.name)}},le(Ye,A.currentResource===Ye))}))};return o.default.createElement("div",{id:m.VIEW_CONTAINERS.EDITOR_TABS,className:re},o.default.createElement("div",{className:oe,ref:D,onDragOver:Te,onDragLeave:We,onDrop:pe,onDoubleClick:ie},q?o.default.createElement("div",{className:d.default.kt_editor_wrap_container},Se()):o.default.createElement(h.Scroll,{forwardedRef:ye=>ye?S.current=ye:null,className:d.default.kt_editor_tabs_scroll},Se())),o.default.createElement(t.EditorActions,{className:(0,r.default)({[d.default.kt_editor_wrap_mode_action]:q}),ref:T,group:A}),(0,l.renderView)(Pe))};t.Tabs=y,t.EditorActions=(0,o.forwardRef)((A,S)=>{const D=(0,l.useDesignStyles)(d.default.editor_actions,"editor_actions"),{group:I,className:w}=A,T=(0,o.useCallback)(()=>{var W,j;return I.currentResource?[I.currentResource.uri,I,((W=I.currentOrPreviousFocusedEditor)===null||W===void 0?void 0:W.currentUri)||((j=I.currentEditor)===null||j===void 0?void 0:j.currentUri)]:void 0},[I]),R=(0,s.useInjectable)(E.IEditorActionRegistry),M=(0,s.useInjectable)(a.WorkbenchEditorService),O=(0,s.useInjectable)(v.LayoutViewSizeConfig),x=R.getMenu(I),[k,F]=(0,o.useState)(M.currentEditorGroup===I),[L,N]=(0,o.useState)(T()),U=x.getMergedMenuNodes().length===0;return(0,o.useEffect)(()=>{const W=new l.DisposableCollection;return W.push(M.onDidCurrentEditorGroupChanged(()=>{F(M.currentEditorGroup===I)})),W.push(M.onActiveResourceChange(()=>{N(T())})),W.push(I.onDidEditorGroupTabChanged(()=>{N(T())})),()=>{W.dispose()}},[I]),o.default.createElement("div",{ref:S,className:(0,r.default)(D,w,{[d.default.editor_actions_no_actions]:U}),style:{height:O.editorTabsHeight}},o.default.createElement(_.InlineMenuBar,{menus:x,context:L,regroup:(W,j)=>k?[W,j]:[[],j]}))});function b(A){(this.offsetWidth+this.scrollLeft+A.deltaX>this.scrollWidth||this.scrollLeft+A.deltaX<0)&&A.preventDefault()}},82196:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEditorTabService=t.ResoucesOfActiveComponentChangedEvent=t.CodeEditorDidVisibleEvent=t.EditorComponentDisposeEvent=t.ResourceOpenTypeChangedEvent=t.IEditorFeatureRegistry=t.IBreadCrumbService=t.CompareResult=t.ICompareService=t.IEditorActionRegistry=t.EditorDecorationTypeRemovedEvent=t.EditorDecorationChangeEvent=t.EditorDecorationProviderRegistrationEvent=t.RegisterEditorSideComponentEvent=t.EditorGroupsResetSizeEvent=t.EditorGroupIndexChangedEvent=t.EditorConfigurationChangedEvent=t.EditorVisibleChangeEvent=t.EditorSelectionChangeEvent=t.IEditorDecorationCollectionService=t.EditorGroupFileDropEvent=t.EditorActiveResourceStateChangedEvent=t.EditorGroupChangeEvent=t.EditorGroupDisposeEvent=t.EditorGroupCloseEvent=t.EditorGroupOpenEvent=t.GridResizeEvent=t.MultiDiffSourceContribution=t.BrowserEditorContribution=t.EditorComponentRegistry=t.RegisterEditorComponentEvent=t.RegisterEditorComponentResolverEvent=t.EditorComponentRenderMode=void 0;const n=e(85608),r=e(41869);n.__exportStar(e(23418),t);var o;(function(O){O[O.ONE_PER_RESOURCE=1]="ONE_PER_RESOURCE",O[O.ONE_PER_GROUP=2]="ONE_PER_GROUP",O[O.ONE_PER_WORKBENCH=3]="ONE_PER_WORKBENCH"})(o||(t.EditorComponentRenderMode=o={}));class l extends r.BasicEvent{}t.RegisterEditorComponentResolverEvent=l;class _ extends r.BasicEvent{}t.RegisterEditorComponentEvent=_;class v{}t.EditorComponentRegistry=v,t.BrowserEditorContribution=Symbol("BrowserEditorContribution"),t.MultiDiffSourceContribution=Symbol("MultiDiffSourceContribution");class m extends r.BasicEvent{static createDirective(x){return`grid-resize-${x}`}}t.GridResizeEvent=m;class p extends r.BasicEvent{}t.EditorGroupOpenEvent=p;class s extends r.BasicEvent{}t.EditorGroupCloseEvent=s;class g extends r.BasicEvent{}t.EditorGroupDisposeEvent=g;class a extends r.BasicEvent{}t.EditorGroupChangeEvent=a;class h extends r.BasicEvent{}t.EditorActiveResourceStateChangedEvent=h;class d extends r.BasicEvent{}t.EditorGroupFileDropEvent=d,t.IEditorDecorationCollectionService=Symbol("IEditorDecorationCollectionService");class u extends r.BasicEvent{}t.EditorSelectionChangeEvent=u;class E extends r.BasicEvent{}t.EditorVisibleChangeEvent=E;class f extends r.BasicEvent{}t.EditorConfigurationChangedEvent=f;class c extends r.BasicEvent{}t.EditorGroupIndexChangedEvent=c;class y extends r.BasicEvent{}t.EditorGroupsResetSizeEvent=y;class b extends r.BasicEvent{}t.RegisterEditorSideComponentEvent=b;class A extends r.BasicEvent{}t.EditorDecorationProviderRegistrationEvent=A;class S extends r.BasicEvent{}t.EditorDecorationChangeEvent=S;class D extends r.BasicEvent{}t.EditorDecorationTypeRemovedEvent=D,t.IEditorActionRegistry=Symbol("IEditorActionRegistry"),t.ICompareService=Symbol("ICompareService");var I;(function(O){O.revert="revert",O.accept="accept",O.cancel="cancel"})(I||(t.CompareResult=I={})),t.IBreadCrumbService=Symbol("IBreadScrumbService"),t.IEditorFeatureRegistry=Symbol("IEditorFeatureRegistry");class w extends r.BasicEvent{}t.ResourceOpenTypeChangedEvent=w;class T extends r.BasicEvent{}t.EditorComponentDisposeEvent=T;class R extends r.BasicEvent{}t.CodeEditorDidVisibleEvent=R;class M extends r.BasicEvent{}t.ResoucesOfActiveComponentChangedEvent=M,t.IEditorTabService=Symbol("IEditorTabService")},17878:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.UntitledSchemeResourceProvider=t.UntitledSchemeDocumentProvider=t.UntitledDocumentIdCounter=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(72665),v=e(51500),m=e(23418),p=e(96689);let s=n=class{constructor(){this._id=1}async update(){this._id=await this.getLatestUnitiedIndex()}async getLatestUnitiedIndex(d){var u;await this.workspaceService.whenReady;const c=(d||((u=this.workspaceService.workspace)===null||u===void 0?void 0:u.children)||[]).filter(y=>l.URI.file(y.uri).displayName.startsWith(n.UNTITLED_FILE_NAME_PREFIX)).map(y=>{const b=l.URI.file(y.uri).displayName.match(new RegExp(`^${n.UNTITLED_FILE_NAME_PREFIX}(\\d+)`,"i"));return b?parseInt(b[1],10):-1}).filter(y=>y!==-1);return c.length>0?Math.max(...c)+1:1}get id(){return this._id++}};t.UntitledDocumentIdCounter=s,s.UNTITLED_FILE_NAME_PREFIX="Untitled-",r.__decorate([(0,o.Autowired)(v.IWorkspaceService),r.__metadata("design:type",Object)],s.prototype,"workspaceService",void 0),t.UntitledDocumentIdCounter=s=n=r.__decorate([(0,o.Injectable)()],s);let g=class{constructor(){this._onDidChangeContent=new l.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(d){return d===l.Schemes.untitled}async provideEncoding(d){return this.preferenceService.get("files.encoding",void 0,d.toString(),(0,l.getLanguageIdFromMonaco)(d))||"utf8"}async provideEOL(d){const u=await this.applicationService.getBackendOS(),E=this.preferenceService.get("files.eol","auto",d.toString(),(0,l.getLanguageIdFromMonaco)(d));return E!=="auto"?E:u===l.OperatingSystem.Windows?`\r
33323
+ Tokenizing line: ${R}`);for(let W=0;W<N.tokens.length;W++){const j=N.tokens[W];U.log(` - token from ${j.startIndex} to ${j.endIndex} (${R.substring(j.startIndex,j.endIndex)}) with scopes ${j.scopes.join(", ")}`)}L=N.ruleStack}dispose(){super.dispose(),this.monacoLanguageService._requestedRichLanguages?this.monacoLanguageService._requestedRichLanguages.clear():this.logger.warn("monaco language service not found _requestedRichLanguages"),this.monacoLanguageService._requestedBasicLanguages?this.monacoLanguageService._requestedBasicLanguages.clear():this.logger.warn("monaco language service not found _requestedBasicLanguages")}};t.TextmateService=w,n.__decorate([(0,l.Autowired)(),n.__metadata("design:type",f.TextmateRegistry)],w.prototype,"textmateRegistry",void 0),n.__decorate([(0,l.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],w.prototype,"fileServiceClient",void 0),n.__decorate([(0,l.Autowired)(_.PreferenceService),n.__metadata("design:type",Object)],w.prototype,"preferenceService",void 0),n.__decorate([(0,l.Autowired)(_.ILogger),n.__metadata("design:type",Object)],w.prototype,"logger",void 0),n.__decorate([(0,l.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],w.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,l.Autowired)(v.RendererRuntime),n.__metadata("design:type",v.RendererRuntime)],w.prototype,"rendererRuntime",void 0),t.TextmateService=w=n.__decorate([(0,l.Injectable)()],w)},88412:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyContribution=t.executeProvideSubtypesCommand=t.executeProvideSupertypesCommand=t.executePrepareTypeHierarchyCommand=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40191),_=e(28694),v=e(82196);t.executePrepareTypeHierarchyCommand={id:"_executePrepareTypeHierarchy"},t.executeProvideSupertypesCommand={id:"_executeProvideSupertypes"},t.executeProvideSubtypesCommand={id:"_executeProvideSubtypes"};const m=new l.RawContextKey("editorHasCallHierarchyProvider",!1);let p=class{registerCommands(g){g.registerCommand(t.executePrepareTypeHierarchyCommand,{execute:(a,h)=>this.typeHierarchyService.prepareTypeHierarchyProvider(a,h)}),g.registerCommand(t.executeProvideSupertypesCommand,{execute:a=>this.typeHierarchyService.provideSupertypes(a)}),g.registerCommand(t.executeProvideSubtypesCommand,{execute:a=>this.typeHierarchyService.provideSubtypes(a)})}registerEditorFeature(g){this.ctxHasProvider=m.bind(this.contextKeyService),g.registerEditorFeatureContribution({contribute:a=>{const h=a.monacoEditor;return o.Event.any(h.onDidChangeModel,h.onDidChangeModelLanguage,_.TypeHierarchyProviderRegistry.onDidChange)(()=>{h.hasModel()&&this.ctxHasProvider.set(_.TypeHierarchyProviderRegistry.has(h.getModel()))})}})}};t.TypeHierarchyContribution=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(_.ITypeHierarchyService),n.__metadata("design:type",Object)],p.prototype,"typeHierarchyService",void 0),t.TypeHierarchyContribution=p=n.__decorate([(0,o.Domain)(o.CommandContribution,v.BrowserEditorContribution)],p)},7795:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyService=t.TypeHierarchyModel=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(28694),_=e(96689),{isNonEmptyArray:v}=o.arrays;class m{static async create(g,a,h){const[d]=l.TypeHierarchyProviderRegistry.ordered(g);if(!d)return;const u=await d.prepareTypeHierarchy(g,a,h);if(u)return new m(u.roots.reduce((E,f)=>E+f._sessionId,""),d,u.roots,new o.RefCountedDisposable(u))}constructor(g,a,h,d){this.id=g,this.provider=a,this.roots=h,this.ref=d,this.root=h[0]}dispose(){this.ref.release()}fork(g){const a=this;return new class extends m{constructor(){super(a.id,a.provider,[g],a.ref.acquire())}}}async provideSupertypes(g,a){try{const h=await this.provider.provideSupertypes(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}async provideSubtypes(g,a){try{const h=await this.provider.provideSubtypes(g,a);if(v(h))return h}catch(h){(0,o.onUnexpectedExternalError)(h)}return[]}}t.TypeHierarchyModel=m;let p=class{constructor(){this.models=new Map}registerTypeHierarchyProvider(g,a){l.TypeHierarchyProviderRegistry.register(g,a)}async prepareTypeHierarchyProvider(g,a){let h=this.modelService.getModelReference(o.URI.parse(g.toString())),d=h?.instance.getMonacoModel();if(h?.dispose(),!d){const u=await this.modelService.createModelReference(o.URI.parse(g.toString()));d=u.instance.getMonacoModel(),h=u}try{const u=await m.create(d,a,o.CancellationToken.None);return u?(this.models.set(u.id,u),this.models.forEach((E,f,c)=>{c.size>10&&(E.dispose(),this.models.delete(f))}),[u.root]):[]}finally{h?.dispose()}}async provideSupertypes(g){const a=this.models.get(g._sessionId);if(a)return a.provideSupertypes(g,o.CancellationToken.None)}async provideSubtypes(g){const a=this.models.get(g._sessionId);if(a)return a.provideSubtypes(g,o.CancellationToken.None)}};t.TypeHierarchyService=p,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"modelService",void 0),t.TypeHierarchyService=p=n.__decorate([(0,r.Injectable)()],p)},39266:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserMultiDiffEditor=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(28423),v=e(72665),m=e(65034),p=e(104),s=e(19087),g=e(55113),a=e(64335),h=e(30526),d=e(96689),u=e(82196);let E=class extends l.WithEventBus{constructor(c,y,b){super(),this.multiDiffWidget=c,this.convertedOptions=y,this.editorCollectionService=b,this.multiDiffModelChangeEmitter=new l.Emitter,this.onMultiDiffModelChange=this.multiDiffModelChangeEmitter.event,this.viewStateMap=new Map,this.editorCollectionService.addMultiDiffEditors([this])}onDocModelContentChangedEvent(c){var y;this.currentUri&&(((y=this.multiDiffModel)===null||y===void 0?void 0:y.documents.value)==="loading"||!this.multiDiffModel.documents.value.some(b=>{var A;return((A=b.object.modified)===null||A===void 0?void 0:A.uri.toString())===c.payload.uri.codeUri.toString()})||this.eventBus.fire(new u.ResourceDecorationNeedChangeEvent({uri:this.currentUri,decoration:{dirty:!!c.payload.dirty,readOnly:!!c.payload.readonly}})))}saveViewState(c){if(!c)return;const y=c.toString(),b=this.multiDiffWidget.getViewState();b&&this.viewStateMap.set(y,b)}restoreViewState(c){if(!c)return;const y=c.toString(),b=this.viewStateMap.get(y);b&&this.multiDiffWidget.setViewState(b)}createAndRegisterEditorParts(c,y,b,A,S){const D=[];if(c){const I=this.injector.get(h.DiffEditorPart,[c.editor,()=>b,g.EditorType.MODIFIED_DIFF,S]);D.push(I)}if(y){const I=this.injector.get(h.DiffEditorPart,[y.editor,()=>A,g.EditorType.ORIGINAL_DIFF,S]);D.push(I)}this.editorCollectionService.addEditors(D)}async compareMultiple(c,y,b){var A,S;this.currentUri&&this.saveViewState(this.currentUri);const D=!((A=y.metadata.sources)===null||A===void 0)&&A.length?{resources:m.ValueWithChangeEvent.const(y.metadata.sources)}:await this.multiDiffSourceResolverService.resolve(y.uri),I=D?(0,_.observableFromValueWithChangeEvent)(this,D.resources):(0,_.constObservable)([]),w=(0,_.mapObservableArrayCached)(this,I,async(k,F)=>{var L,N;let U,W;const j=new l.DisposableStore;try{[U,W]=await Promise.all([k.originalUri?this.documentModelManager.createModelReference(k.originalUri):void 0,k.modifiedUri?this.documentModelManager.createModelReference(k.modifiedUri):void 0]),U&&j.add(U),W&&j.add(W)}catch(Z){this.messageService.error(Z.message),this.logger.error(Z);return}const Q=(L=k.modifiedUri)!==null&&L!==void 0?L:k.originalUri,$={multiDiffEditorItem:k,original:U?.instance.getMonacoModel(),modified:W?.instance.getMonacoModel(),originalInstance:U?.instance,modifiedInstance:W?.instance,contextKeys:k.contextKeys,options:{readOnly:(N=W||U)===null||N===void 0?void 0:N.instance.readonly,...b,...this.convertedOptions.diffOptions},onOptionsDidChange:Z=>this.preferenceService.onPreferenceChanged(G=>{G.affects(Q.toString())&&(G.preferenceName.startsWith("editor")||G.preferenceName.startsWith("diffEditor"))&&Z()})};return F.add(p.RefCounted.createOfNonDisposable($,j,this))},k=>{var F,L;return JSON.stringify([(F=k.modifiedUri)===null||F===void 0?void 0:F.toString(),(L=k.originalUri)===null||L===void 0?void 0:L.toString()])}),T=(0,_.observableValue)("documents","loading"),R=(0,_.derived)(async k=>{const F=w.read(k),N=(await Promise.all(F)).filter(U=>U!==void 0);T.set(N,void 0)}),M=(0,_.recomputeInitiallyAndOnChange)(R);await R.get(),(S=this.multiDiffModel)===null||S===void 0||S.dispose(),this.multiDiffModel={dispose:()=>M.dispose(),documents:new _.ValueWithChangeEventFromObservable(T),contextKeys:D?.contextKeys};const O=this.multiDiffWidget.createViewModel(this.multiDiffModel);await O.waitForDiffs(),this.multiDiffWidget.setViewModel(O),this.multiDiffWidget.getActiveControl(),this.currentUri=y.uri,this.restoreViewState(y.uri);const x=T.get();for(const k of x){if((0,l.isString)(k))continue;const F=k.object.modified,L=k.object.original;if(!F&&!L)continue;let N=F?this.multiDiffWidget.tryGetCodeEditor(F.uri):void 0,U=L?this.multiDiffWidget.tryGetCodeEditor(L.uri):void 0;if(!N&&!U){const W=F||L;if(!W)continue;l.Event.once(W.onDidChangeAttached)(()=>{setTimeout(()=>{N=F?this.multiDiffWidget.tryGetCodeEditor(F.uri):void 0,U=L?this.multiDiffWidget.tryGetCodeEditor(L.uri):void 0,this.createAndRegisterEditorParts(N,U,k.object.modifiedInstance,k.object.originalInstance,T)},0)});continue}this.createAndRegisterEditorParts(N,U,k.object.modifiedInstance,k.object.originalInstance,T)}this.multiDiffModelChangeEmitter.fire(this.multiDiffModel)}getDiffEntry(c){return this.multiDiffWidget.findDocumentDiffItem(c.codeUri)}getCurrentDiffEntry(){var c;const y=this.multiDiffWidget.getActiveControl();if(!y)return;const b=(c=y.getOriginalEditor().getModel())===null||c===void 0?void 0:c.uri;if(b)return this.multiDiffWidget.findDocumentDiffItem(b)}reveal(c,y){this.multiDiffWidget.reveal(c,y)}collapseAll(){const c=this.multiDiffWidget.getViewState(),y={...c,docStates:Object.keys(c.docStates||{}).reduce((b,A)=>(b[A]={...c.docStates[A],collapsed:!0},b),{})};this.multiDiffWidget.setViewState(y)}expandAll(){const c=this.multiDiffWidget.getViewState(),y={...c,docStates:Object.keys(c.docStates||{}).reduce((b,A)=>(b[A]={...c.docStates[A],collapsed:!1},b),{})};this.multiDiffWidget.setViewState(y)}layout(c){this.multiDiffWidget.layout(c)}focus(){const c=this.multiDiffWidget.getActiveControl();c&&c.focus()}tryGetCodeEditor(c){return this.multiDiffWidget.tryGetCodeEditor(c.codeUri)}dispose(){super.dispose(),this.multiDiffWidget.dispose()}};t.BrowserMultiDiffEditor=E,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.IMessageService),n.__metadata("design:type",Object)],E.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(d.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],E.prototype,"multiDiffSourceResolverService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),n.__decorate([(0,l.OnEvent)(d.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[d.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onDocModelContentChangedEvent",null),t.BrowserMultiDiffEditor=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[s.MultiDiffEditorWidget,Object,Function])],E)},86997:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffResolver=void 0;const n=e(85608),r=e(76003),o=e(65034),l=e(64335);let _=class{constructor(){this.sourceValues=new Map}registerSources(m,p){const s=m.toString(),g=this.sourceValues.get(s);g?g.value=p:this.sourceValues.set(s,new o.ValueWithChangeEvent(p))}canHandleUri(m){return m.scheme===l.MULTI_DIFF_SCHEME}async resolveDiffSource(m){const p=this.sourceValues.get(m.toString());if(p)return{resources:p}}dispose(){this.sourceValues.clear()}};t.MultiDiffResolver=_,t.MultiDiffResolver=_=n.__decorate([(0,r.Injectable)()],_)},73691:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(14951),v=e(23418),m=e(64335);let p=class extends o.WithEventBus{handlesUri(g){const a=this.multiDiffSourceResolverService.getResolvers();for(const h of a)if(h.canHandleUri(g))return 10;return-1}async provideResource(g){var a;const{name:h,sources:d}=g.getParsedQuery(),u=d?JSON.parse(d):[],E=u.length>0?new o.URI(u[0].modifiedUri):void 0,f=E?this.labelService.getIcon(E):void 0;return{name:`Multi-Diff: ${h||u.length+" files"}`,icon:f||(0,o.getIcon)("diff"),uri:g,supportsRevive:(a=this.appConfig.enableDiffRevive)!==null&&a!==void 0?a:!1,metadata:{sources:u}}}async shouldCloseResource(g,a){return!0}};t.MultiDiffResourceProvider=p,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.LabelService)],p.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],p.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],p.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(m.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],p.prototype,"multiDiffSourceResolverService",void 0),t.MultiDiffResourceProvider=p=n.__decorate([(0,r.Injectable)()],p)},36168:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffEditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(23418),v=e(64335),m=e(82196),p=e(86997),s=e(73691);let g=class{registerMultiDiffSourceResolver(h){return h.registerResolver(this.multiDiffResolver)}registerResource(h){h.registerResourceProvider(this.multiDiffResourceProvider)}registerEditorComponent(h){h.registerEditorComponentResolver(d=>{const u=this.multiDiffSourceResolverService.getResolvers();for(const E of u)if(E.canHandleUri(o.URI.from({scheme:d,path:"empty"})))return 10;return-1},(d,u)=>{u.push({type:m.EditorOpenType.multiDiff})})}registerCommands(h){h.registerCommand(o.MULTI_DIFF_EDITOR_COMMANDS.COLLAPSE_FILES,{execute:()=>{var d;const u=this.workbenchEditorService.currentEditorGroup;((d=u.currentOpenType)===null||d===void 0?void 0:d.type)===m.EditorOpenType.multiDiff&&u.multiDiffEditor.collapseAll()}}),h.registerCommand(o.MULTI_DIFF_EDITOR_COMMANDS.EXPAND_FILES,{execute:()=>{var d;const u=this.workbenchEditorService.currentEditorGroup;((d=u.currentOpenType)===null||d===void 0?void 0:d.type)===m.EditorOpenType.multiDiff&&u.multiDiffEditor.expandAll()}})}registerMenus(h){h.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.MULTI_DIFF_EDITOR_COMMANDS.COLLAPSE_FILES.id,label:(0,o.localize)("multiDiffEditor.action.collapseFiles")},iconClass:"codicon codicon-collapse-all",group:"navigation",when:"isInMultiDiffEditor"}]),h.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.MULTI_DIFF_EDITOR_COMMANDS.EXPAND_FILES.id,label:(0,o.localize)("multiDiffEditor.action.expandFiles")},iconClass:"codicon codicon-expand-all",group:"navigation",when:"isInMultiDiffEditor"}])}};t.MultiDiffEditorContribution=g,n.__decorate([(0,r.Autowired)(v.IMultiDiffSourceResolverService),n.__metadata("design:type",Object)],g.prototype,"multiDiffSourceResolverService",void 0),n.__decorate([(0,r.Autowired)(p.MultiDiffResolver),n.__metadata("design:type",p.MultiDiffResolver)],g.prototype,"multiDiffResolver",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.MultiDiffResourceProvider)],g.prototype,"multiDiffResourceProvider",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),t.MultiDiffEditorContribution=g=n.__decorate([(0,o.Domain)(m.BrowserEditorContribution,m.MultiDiffSourceContribution,l.MenuContribution,o.CommandContribution)],g)},94558:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffSourceResolverService=void 0;const n=e(85608),r=e(76003),o=e(70392);let l=class{constructor(){this._resolvers=new Set}registerResolver(v){if(this._resolvers.has(v))throw new Error("Duplicate resolver");return this._resolvers.add(v),(0,o.toDisposable)(()=>this._resolvers.delete(v))}resolve(v){for(const m of this._resolvers)if(m.canHandleUri(v))return m.resolveDiffSource(v);return Promise.resolve(void 0)}getResolvers(){return Array.from(this._resolvers)}};t.MultiDiffSourceResolverService=l,t.MultiDiffSourceResolverService=l=n.__decorate([(0,r.Injectable)()],l)},93532:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NavigationMenuModel=t.NavigationBarViewService=t.NavigationMenuContainer=t.NavigationMenu=t.NavigationItem=t.NavigationBar=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(76003),_=e(97267),v=e(41869),m=e(28423),p=e(26209),s=n.__importDefault(e(69418)),g=e(82196),a=e(50674),h=({editorGroup:c})=>{const y=(0,v.useInjectable)(g.IBreadCrumbService),b=(0,v.useDesignStyles)(s.default.navigation_container,"navigation_container"),A=(0,v.useDesignStyles)(s.default.navigation_icon,"navigation_icon");if((0,a.useUpdateOnGroupTabChange)(c),(0,v.useUpdateOnEvent)(y.onDidUpdateBreadCrumbResults,[],D=>{var I;const w=c.currentEditor&&c.currentEditor.currentDocumentModel?c.currentEditor:null,T=c.currentEditor&&c.currentEditor.currentDocumentModel?c.currentEditor.currentDocumentModel.uri:(I=c.currentResource)===null||I===void 0?void 0:I.uri;return!!T&&D.editor===w&&D.uri.isEqual(T)}),c.resources.length===0||!c.currentResource)return null;let S;return c.currentEditor&&c.currentEditor.currentDocumentModel?S=y.getBreadCrumbs(c.currentEditor.currentDocumentModel.uri,c.currentEditor):S=y.getBreadCrumbs(c.currentResource.uri,null),S?S.length===0?null:o.default.createElement("div",{className:(0,r.default)("kt-navigation-container",b),onContextMenu:D=>{D.preventDefault()}},S.map((D,I)=>o.default.createElement(o.default.Fragment,{key:I+"-crumb:"+D.name},I>0&&o.default.createElement(_.Icon,{icon:"right",size:"small",className:A}),o.default.createElement(t.NavigationItem,{part:D,editorGroup:c})))):null};t.NavigationBar=h,t.NavigationItem=(0,o.memo)(({part:c,editorGroup:y})=>{const b=(0,v.useInjectable)(E),A=(0,v.useInjectable)(p.BreadCrumbsMenuService),S=(0,o.useRef)(),D=(0,v.useDesignStyles)(s.default["navigation-part"],"navigation-part"),I=(0,o.useCallback)(async()=>{if(c.getSiblings&&S.current){const{left:w,top:T,height:R}=S.current.getBoundingClientRect(),M=await c.getSiblings();let O=w;window.innerWidth-O<210&&(O=window.innerWidth-200-5),b.showMenu(M.parts,O,T+R+5,M.currentIndex,c.uri,y)}},[S.current,c]);return o.default.createElement("span",{onClick:I,onContextMenu:w=>{!c.isSymbol&&c.uri&&A.show(w.nativeEvent.x,w.nativeEvent.y,y,c.uri),w.preventDefault()},className:D,ref:S},c.icon&&o.default.createElement("span",{className:c.icon}),o.default.createElement("span",null,c.name))});const d=({model:c})=>{let y=window.innerHeight-c.y-20,b=c.y;const A=c.parts.length*22;y<100&&y<A&&(y=100,b=window.innerHeight-20-y);const S=(0,o.useRef)(),D=(0,v.useDesignStyles)(s.default.navigation_menu,"navigation_menu"),I=(0,v.useDesignStyles)(s.default.navigation_menu_item,"navigation_menu_item"),w=(0,v.useInjectable)(E),T=(0,v.useAutorun)(c.subMenu),R=(0,o.useCallback)(()=>{v.fastdom.measure(()=>{try{if(S.current){const M=S.current.querySelector(`.${s.default.navigation_menu_item_current}`);M&&M.scrollIntoView({behavior:"auto",block:"center"})}}catch{}})},[S.current]);return o.default.createElement("div",{className:D,style:{left:c.x+"px",top:b+"px",maxHeight:y+"px",height:A+"px"}},o.default.createElement(_.Scrollbars,{className:s.default.navigation_menu_items,universal:!0,forwardedRef:M=>{S.current=M,R()}},c.parts.map((M,O)=>{let x;const k=M.getChildren?async()=>{if(x){const{left:L,top:N,width:U}=x.getBoundingClientRect();let W=L+U+5;window.innerWidth-W<210&&(W=L-U-5);const j=await M.getChildren();c.showSubMenu(j,W,N,c)}}:void 0,F=M.onClick?()=>{M.onClick(),w.dispose()}:void 0;return o.default.createElement("div",{onClick:F||k,ref:L=>x=L,className:(0,r.default)(I,{[s.default.navigation_menu_item_current]:O===c.initialIndex}),key:"menu-"+M.name},o.default.createElement("span",{className:M.icon||(0,v.getIcon)("smile")}),o.default.createElement("span",{className:s.default.navigation_menu_item_label},M.name),M.getChildren&&o.default.createElement("span",{className:s.default.navigation_right,onClick:F&&k?L=>{L.stopPropagation(),k()}:void 0},o.default.createElement(_.Icon,{icon:"right",size:"small"})))})),T&&o.default.createElement(t.NavigationMenu,{model:T}))};t.NavigationMenu=d;const u=()=>{const c=(0,o.useRef)(),y=(0,v.useInjectable)(E),b=(0,v.useAutorun)(y.current);return(0,o.useEffect)(()=>{if(c.current){const A=new v.Disposable;return A.addDispose(new v.DomListener(window,"mouseup",()=>{y.dispose()})),A.addDispose(new v.DomListener(c.current,"mouseup",S=>{S.stopPropagation()})),A.dispose.bind(A)}}),b?o.default.createElement("div",{tabIndex:1,ref:c},o.default.createElement(t.NavigationMenu,{model:b})):null};t.NavigationMenuContainer=u;let E=class{constructor(){this.current=(0,m.observableValue)(this,null)}showMenu(y,b,A,S,D,I){(0,m.transaction)(w=>{this.current.set(new f(y,b,A,S,D),w)})}dispose(){(0,m.transaction)(y=>{const b=this.current.get();b?.dispose(),this.current.set(null,y)})}};t.NavigationBarViewService=E,t.NavigationBarViewService=E=n.__decorate([(0,l.Injectable)()],E);class f{constructor(y,b,A,S=-1,D){this.parts=y,this.x=b,this.y=A,this.initialIndex=S,this.uri=D,this.subMenu=(0,m.observableValue)(this,null)}showSubMenu(y,b,A,S){(0,m.transaction)(D=>{this.subMenu.set(new f(y,b,A,-1,S),D)})}dispose(){(0,m.transaction)(y=>{const b=this.subMenu.get();b?.dispose(),this.subMenu.set(null,y)})}}t.NavigationMenuModel=f},71145:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotebookService=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class extends o.WithEventBus{constructor(){super(...arguments),this._onDidOpenNotebookDocument=new o.Emitter,this.onDidOpenNotebookDocument=this._onDidOpenNotebookDocument.event,this._onDidCloseNotebookDocument=new o.Emitter,this.onDidCloseNotebookDocument=this._onDidCloseNotebookDocument.event,this._onDidSaveNotebookDocument=new o.Emitter,this.onDidSaveNotebookDocument=this._onDidSaveNotebookDocument.event,this._onDidChangeNotebookDocument=new o.Emitter,this.onDidChangeNotebookDocument=this._onDidChangeNotebookDocument.event}};t.NotebookService=l,t.NotebookService=l=n.__decorate([(0,r.Injectable)()],l)},34885:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorPreferenceContribution=void 0;const n=e(85608),r=e(41869),o=e(24328);let l=class{constructor(){this.schema=o.editorPreferenceSchema}};t.EditorPreferenceContribution=l,t.EditorPreferenceContribution=l=n.__decorate([(0,r.Domain)(r.PreferenceContribution)],l)},6043:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffEditorOptionsConverters=t.textModelUpdateOptionsConverters=t.editorOptionsConverters=void 0,t.isEditorOption=l,t.isDiffEditorOption=_,t.getConvertedMonacoOptions=s;const n=e(41869),{removeUndefined:r}=n.objects;t.editorOptionsConverters=new Map([["editor.ariaLabel",{monaco:"ariaLabel"}],["editor.rulers",{monaco:"rulers"}],["editor.wordSeparators",{monaco:"wordSeparators"}],["editor.selectionClipboard",{monaco:"selectionClipboard"}],["editor.lineNumbers",{monaco:"lineNumbers"}],["editor.renderFinalNewline",{monaco:"renderFinalNewline"}],["editor.selectOnLineNumbers",{monaco:"selectOnLineNumbers"}],["editor.lineNumbersMinChars",{monaco:"lineNumbersMinChars"}],["editor.glyphMargin",{monaco:"glyphMargin"}],["editor.lineDecorationsWidth",{monaco:"lineDecorationsWidth"}],["editor.revealHorizontalRightPadding",{monaco:"revealHorizontalRightPadding"}],["editor.roundedSelection",{monaco:"roundedSelection"}],["editor.extraEditorClassName",{monaco:"extraEditorClassName"}],["editor.readOnly",{monaco:"readOnly"}],["editor.scrollbar",{monaco:"scrollbar"}],["editor.minimap",{monaco:"minimap",convert:g=>({enabled:g})}],["editor.find",{monaco:"find"}],["editor.fixedOverflowWidgets",{monaco:"fixedOverflowWidgets"}],["editor.overviewRulerLanes",{monaco:"overviewRulerLanes"}],["editor.overviewRulerBorder",{monaco:"overviewRulerBorder"}],["editor.cursorBlinking",{monaco:"cursorBlinking"}],["editor.mouseWheelZoom",{monaco:"mouseWheelZoom"}],["editor.cursorSmoothCaretAnimation",{monaco:"cursorSmoothCaretAnimation"}],["editor.cursorStyle",{monaco:"cursorStyle"}],["editor.cursorWidth",{monaco:"cursorWidth"}],["editor.fontLigatures",{monaco:"fontLigatures"}],["editor.columnSelection",{monaco:"columnSelection"}],["editor.disableLayerHinting",{monaco:"disableLayerHinting"}],["editor.disableMonospaceOptimizations",{monaco:"disableMonospaceOptimizations"}],["editor.hideCursorInOverviewRuler",{monaco:"hideCursorInOverviewRuler"}],["editor.scrollBeyondLastLine",{monaco:"scrollBeyondLastLine"}],["editor.scrollBeyondLastColumn",{monaco:"scrollBeyondLastColumn"}],["editor.smoothScrolling",{monaco:"smoothScrolling"}],["editor.automaticLayout",{monaco:"automaticLayout"}],["editor.wordWrap",{monaco:"wordWrap"}],["editor.wordWrapColumn",{monaco:"wordWrapColumn"}],["editor.wordWrapMinified",{monaco:"wordWrapMinified"}],["editor.wrappingIndent",{monaco:"wrappingIndent"}],["editor.wordWrapBreakBeforeCharacters",{monaco:"wordWrapBreakBeforeCharacters"}],["editor.wordWrapBreakAfterCharacters",{monaco:"wordWrapBreakAfterCharacters"}],["editor.wordWrapBreakObtrusiveCharacters",{monaco:"wordWrapBreakObtrusiveCharacters"}],["editor.stopRenderingLineAfter",{monaco:"stopRenderingLineAfter"}],["editor.hover",{monaco:"hover"}],["editor.links",{monaco:"links"}],["editor.colorDecorators",{monaco:"colorDecorators"}],["editor.contextmenu",{monaco:"contextmenu"}],["editor.mouseWheelScrollSensitivity",{monaco:"mouseWheelScrollSensitivity"}],["editor.fastScrollSensitivity",{monaco:"fastScrollSensitivity"}],["editor.multiCursorModifier",{monaco:"multiCursorModifier"}],["editor.multiCursorMergeOverlapping",{monaco:"multiCursorMergeOverlapping"}],["editor.accessibilitySupport",{monaco:"accessibilitySupport"}],["editor.suggest",{monaco:"suggest"}],["editor.gotoLocation",{monaco:"gotoLocation"}],["editor.quickSuggestions",{monaco:"quickSuggestions"}],["editor.quickSuggestionsDelay",{monaco:"quickSuggestionsDelay"}],["editor.parameterHints",{monaco:"parameterHints"}],["editor.autoClosingBrackets",{monaco:"autoClosingBrackets"}],["editor.autoClosingQuotes",{monaco:"autoClosingQuotes"}],["editor.autoSurround",{monaco:"autoSurround"}],["editor.autoIndent",{monaco:"autoIndent"}],["editor.formatOnType",{monaco:"formatOnType"}],["editor.formatOnPaste",{monaco:"formatOnPaste"}],["editor.dragAndDrop",{monaco:"dragAndDrop"}],["editor.suggestOnTriggerCharacters",{monaco:"suggestOnTriggerCharacters"}],["editor.acceptSuggestionOnEnter",{monaco:"acceptSuggestionOnEnter"}],["editor.acceptSuggestionOnCommitCharacter",{monaco:"acceptSuggestionOnCommitCharacter"}],["editor.snippetSuggestions",{monaco:"snippetSuggestions"}],["editor.emptySelectionClipboard",{monaco:"emptySelectionClipboard"}],["editor.copyWithSyntaxHighlighting",{monaco:"copyWithSyntaxHighlighting"}],["editor.wordBasedSuggestions",{monaco:"wordBasedSuggestions"}],["editor.suggestSelection",{monaco:"suggestSelection"}],["editor.suggestFontSize",{monaco:"suggestFontSize"}],["editor.suggestLineHeight",{monaco:"suggestLineHeight"}],["editor.tabCompletion",{monaco:"tabCompletion"}],["editor.selectionHighlight",{monaco:"selectionHighlight"}],["editor.occurrencesHighlight",{monaco:"occurrencesHighlight"}],["editor.codeLens",{monaco:"codeLens"}],["editor.lightbulb",{monaco:"lightbulb"}],["editor.codeActionsOnSave",{monaco:"codeActionsOnSave"}],["editor.codeActionsOnSaveTimeout",{monaco:"codeActionsOnSaveTimeout"}],["editor.folding",{monaco:"folding"}],["editor.foldingStrategy",{monaco:"foldingStrategy"}],["editor.showFoldingControls",{monaco:"showFoldingControls"}],["editor.matchBrackets",{monaco:"matchBrackets"}],["editor.renderWhitespace",{monaco:"renderWhitespace"}],["editor.renderControlCharacters",{monaco:"renderControlCharacters"}],["editor.renderIndentGuides",{monaco:"guides.indentation"}],["editor.highlightActiveIndentGuide",{monaco:"guides.highlightActiveIndentation"}],["editor.guides",{monaco:"guides"}],["editor.renderLineHighlight",{monaco:"renderLineHighlight"}],["editor.useTabStops",{monaco:"useTabStops"}],["editor.fontFamily",{monaco:"fontFamily"}],["editor.fontWeight",{monaco:"fontWeight"}],["editor.fontSize",{monaco:"fontSize"}],["editor.lineHeight",{monaco:"lineHeight"}],["editor.letterSpacing",{monaco:"letterSpacing"}],["editor.showUnused",{monaco:"showUnused"}],["editor.rename.enablePreview",{monaco:"editor.rename.enablePreview"}],["editor.semanticHighlighting",{monaco:"semanticHighlighting"}],["editor.bracketPairColorization",{monaco:"bracketPairColorization"}],["editor.wrappingStrategy",{monaco:"wrappingStrategy"}],["editor.experimental.stickyScroll.enabled",{monaco:"experimental",convert:g=>({stickyScroll:{enabled:g}})}],["editor.forceReadOnly",{monaco:"readOnly",convert:g=>{if(g)return!0}}],["editor.unicodeHighlight",{monaco:"unicodeHighlight"}],["editor.inlineSuggest.showToolbar",{monaco:"inlineSuggest",convert:g=>{if(g)return{showToolbar:g}}}]]),t.textModelUpdateOptionsConverters=new Map([["editor.tabSize",{monaco:"tabSize"}],["editor.indentSize",{monaco:"indentSize"}],["editor.insertSpaces",{monaco:"insertSpaces"}],["editor.trimAutoWhitespace",{monaco:"trimAutoWhitespace"}]]),t.diffEditorOptionsConverters=new Map([["diffEditor.enableSplitViewResizing",{monaco:"enableSplitViewResizing"}],["diffEditor.renderSideBySide",{monaco:"renderSideBySide"}],["diffEditor.ignoreTrimWhitespace",{monaco:"ignoreTrimWhitespace"}],["diffEditor.renderIndicators",{monaco:"renderIndicators"}],["diffEditor.originalEditable",{monaco:"originalEditable"}],["diffEditor.minimap",{monaco:"minimap",convert:g=>({enabled:g})}],["diffEditor.experimental.stickyScroll.enabled",{monaco:"experimental",convert:g=>({stickyScroll:{enabled:g}})}],["diffEditor.hideUnchangedRegions.enabled",{monaco:"hideUnchangedRegions",convert:g=>({enabled:g})}],["diffEditor.hideUnchangedRegions.revealLineCount",{monaco:"hideUnchangedRegions",convert:g=>({revealLineCount:g})}],["diffEditor.hideUnchangedRegions.minimumLineCount",{monaco:"hideUnchangedRegions",convert:g=>({minimumLineCount:g})}],["diffEditor.hideUnchangedRegions.contextLineCount",{monaco:"hideUnchangedRegions",convert:g=>({contextLineCount:g})}],["diffEditor.experimental.showMoves",{monaco:"experimental",convert:g=>({showMoves:g})}],["diffEditor.experimental.showEmptyDecorations",{monaco:"experimental",convert:g=>({showEmptyDecorations:g})}]]);function o(g,a){if(a.has(g))return!0;{const h=a.keys();for(const d of h)if(g.startsWith(d))return!0}return!1}function l(g){return o(g,t.editorOptionsConverters)||o(g,t.textModelUpdateOptionsConverters)||o(g,t.diffEditorOptionsConverters)}function _(g){return o(g,t.diffEditorOptionsConverters)}const v=[...t.editorOptionsConverters.keys()],m=[...t.textModelUpdateOptionsConverters.keys()],p=[...t.diffEditorOptionsConverters.keys()];function s(g,a,h,d){const u=a?n.Uri.parse(a):void 0,E=(D,I)=>D.reduce((w,T)=>{const R=g.getValue(T,{resource:u,overrideIdentifier:h});if(R!==void 0){const M=I.get(T);if(!M)return w[T]=R,w;const O=M?M.monaco:T,x=M?.convert?M.convert(R):R;w[O]?Object.assign(w[O],x):w[O]=x}return w},{}),f=d?d.filter(D=>t.editorOptionsConverters.has(D)):[...v],c=d?d.filter(D=>t.textModelUpdateOptionsConverters.has(D)):[...m],y=d?d.filter(D=>t.diffEditorOptionsConverters.has(D)):[...p],b=r(E(f,t.editorOptionsConverters)),A=r(E(c,t.textModelUpdateOptionsConverters)),S=r(E(y,t.diffEditorOptionsConverters));return{editorOptions:b,modelOptions:A,diffOptions:S}}},24328:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorPreferences=t.editorPreferenceSchema=t.DIFF_EDITOR_DEFAULTS=t.EDITOR_DEFAULTS=t.EDITOR_INLINE_SUGGEST_DEFAULTS=t.EDITOR_SUGGEST_DEFAULTS=t.EDITOR_MODEL_DEFAULTS=t.EDITOR_FONT_DEFAULTS=t.USUAL_WORD_SEPARATORS=void 0;const n=e(41869),r=e(82196);t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";const o="Consolas, 'Courier New', monospace",l="Menlo, Monaco, 'Courier New', monospace",_="'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'";t.EDITOR_FONT_DEFAULTS={fontFamily:n.isOSX?l:n.isLinux?_:o,fontWeight:"normal",fontSize:12,tabSize:2,renderWhitespace:!1,cursorStyle:"line",insertSpace:!0,wordWrap:"off",wordWrapColumn:80,lineHeight:0,letterSpacing:0},t.EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},t.EDITOR_SUGGEST_DEFAULTS={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,maxVisibleSuggestions:12,showMethods:!0,showFunctions:!0,showConstructors:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0,detailsVisible:!0,preview:!0,statusBar:{visible:!1}},t.EDITOR_INLINE_SUGGEST_DEFAULTS={enabled:!0,showToolbar:"onHover"},t.EDITOR_DEFAULTS={inDiffEditor:!1,wordSeparators:t.USUAL_WORD_SEPARATORS,lineNumbersMinChars:3,lineDecorationsWidth:10,readOnly:!1,columnSelection:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!0,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:1,wordWrapBreakBeforeCharacters:"([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B",wordWrapBreakAfterCharacters:" })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:"languageDefined",autoClosingQuotes:"languageDefined",autoSurround:"languageDefined",autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,copyWithSyntaxHighlighting:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"off",showUnused:!0,wrappingStrategy:"simple",viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:(0,n.localize)("editorViewAccessibleLabel","Editor Content"),renderLineNumbers:0,renderCustomLineNumbers:null,renderFinalNewline:!0,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:1,mouseWheelZoom:!1,cursorSmoothCaretAnimation:!1,cursorStyle:1,cursorWidth:0,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,scrollBeyondLastColumn:5,smoothScrolling:!1,stopRenderingLineAfter:1e4,renderWhitespace:"none",renderControlCharacters:!1,fontLigatures:!1,renderLineHighlight:"none",scrollbar:{vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1,fastScrollSensitivity:5},minimap:{enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120},guides:{indentation:!0,highlightActiveIndentGuide:!0,bracketPairs:!0},fixedOverflowWidgets:!0},contribInfo:{selectionClipboard:!0,hover:{enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0},links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:{enabled:!0,cycle:!1},formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!1,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,tabCompletion:"off",gotoLocation:{multiple:"peek"},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1,addExtraSpaceOnTop:!0},colorDecorators:!0,lightbulbEnabled:r.ShowLightbulbIconMode.On,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}},t.DIFF_EDITOR_DEFAULTS={renderIndicators:!0,minimap:!1,renderSideBySide:!0,ignoreTrimWhitespace:!1,hideUnchangedRegions:{enabled:!0,revealLineCount:20,minimumLineCount:3,contextLineCount:3},experimental:{showMoves:!1,showEmptyDecorations:!0,collapseUnchangedRegions:!0,stickyScroll:{enable:!1}}};const v={"editor.ariaLabel":{type:"string",default:t.EDITOR_DEFAULTS.viewInfo.ariaLabel,description:"%editor.configuration.ariaLabel%"},"editor.extraEditorClassName":{type:"string",description:"%editor.configuration.extraEditorClassName%"},"editor.fixedOverflowWidgets":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.fixedOverflowWidgets,description:"%editor.configuration.fixedOverflowWidgets%"},"editor.revealHorizontalRightPadding":{type:"number",description:"%editor.configuration.revealHorizontalRightPadding%"},"editor.selectOnLineNumbers":{type:"boolean",description:"%editor.configuration.selectOnLineNumbers%"},"editor.wordWrapMinified":{type:"boolean",description:"%editor.configuration.wordWrapMinified%"},"editor.wordWrapBreakAfterCharacters":{type:"string",default:" })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63",description:"%editor.configuration.wordWrapBreakAfterCharacters%"},"editor.wrappingStrategy":{type:"string",enum:["advanced","simple"],default:"simple",description:"%editor.configuration.wrappingStrategy%"},"editor.wordWrapBreakBeforeCharacters":{type:"string",default:"([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B",description:"%editor.configuration.wordWrapBreakBeforeCharacters%"},"editor.lineNumbersMinChars":{type:"number",default:t.EDITOR_DEFAULTS.lineNumbersMinChars,description:"%editor.configuration.lineNumbersMinChars%"},"editor.lineDecorationsWidth":{type:"number",default:t.EDITOR_DEFAULTS.lineDecorationsWidth,description:"%editor.configuration.lineDecorationsWidth%"},"editor.fontFamily":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontFamily,description:"%editor.configuration.fontFamily%"},"editor.fontWeight":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontWeight,description:"%editor.configuration.fontWeight%"},"editor.fontSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.fontSize,description:(0,n.localize)("fontSize","Controls the font size in pixels.")},"editor.lineHeight":{type:"number",default:t.EDITOR_FONT_DEFAULTS.lineHeight,description:(0,n.localize)("lineHeight","Controls the line height. Use 0 to compute the line height from the font size.")},"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[(0,n.localize)("editor.configuration.suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),(0,n.localize)("editor.configuration.suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:"insert",description:"%editor.configuration.suggest.insertMode%"},"editor.suggest.filterGraceful":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.filterGraceful,description:"%editor.configuration.suggest.filterGraceful%"},"editor.suggest.localityBonus":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.localityBonus,description:"%editor.configuration.suggest.localityBonus%"},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.shareSuggestSelections,description:"%editor.configuration.suggest.shareSuggestSelections%"},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.snippetsPreventQuickSuggestions,description:"%editor.configuration.suggest.snippetsPreventQuickSuggestions%"},"editor.suggest.showIcons":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.showIcons,description:"%editor.configuration.suggest.showIcons%"},"editor.suggest.maxVisibleSuggestions":{type:"number",default:t.EDITOR_SUGGEST_DEFAULTS.maxVisibleSuggestions,minimum:1,maximum:15,description:"%editor.configuration.suggest.maxVisibleSuggestions%"},"editor.suggest.showMethods":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showMethods%"},"editor.suggest.showFunctions":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFunctions%"},"editor.suggest.showConstructors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showConstructors%"},"editor.suggest.showFields":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFields%"},"editor.suggest.showVariables":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showVariables%"},"editor.suggest.showClasses":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showClasss%"},"editor.suggest.showStructs":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showStructs%"},"editor.suggest.showInterfaces":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showInterfaces%"},"editor.suggest.showModules":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showModules%"},"editor.suggest.showProperties":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showPropertys%"},"editor.suggest.showEvents":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEvents%"},"editor.suggest.showOperators":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showOperators%"},"editor.suggest.showUnits":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showUnits%"},"editor.suggest.showValues":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showValues%"},"editor.suggest.showConstants":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showConstants%"},"editor.suggest.showEnums":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEnums%"},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showEnumMembers%"},"editor.suggest.showKeywords":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showKeywords%"},"editor.suggest.showWords":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showTexts%"},"editor.suggest.showColors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showColors%"},"editor.suggest.showFiles":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFiles%"},"editor.suggest.showReferences":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showReferences%"},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showCustomcolors%"},"editor.suggest.showFolders":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showFolders%"},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showTypeParameters%"},"editor.suggest.showSnippets":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showSnippets%"},"editor.suggest.showUsers":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showUsers%"},"editor.suggest.showIssues":{type:"boolean",default:!0,description:"%editor.configuration.suggest.showIssues%"},"editor.suggest.statusBar.visible":{type:"boolean",default:!1,description:"%editor.configuration.suggest.statusBar.visible%"},"editor.suggest.preview":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.preview,description:"%editor.configuration.suggest.preview%"},"editor.suggest.details.visible":{type:"boolean",default:t.EDITOR_SUGGEST_DEFAULTS.detailsVisible,description:"%editor.configuration.suggest.details.visible%"},"editor.inlineSuggest.enabled":{type:"boolean",default:t.EDITOR_INLINE_SUGGEST_DEFAULTS.enabled,description:"%editor.configuration.inlineSuggest.enabled%"},"editor.inlineSuggest.showToolbar":{type:"string",default:t.EDITOR_INLINE_SUGGEST_DEFAULTS.showToolbar,enum:["always","onHover","never"],enumDescriptions:[(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),(0,n.localize)("editor.configuration.inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:"%editor.configuration.inlineSuggest.showToolbar%"},"editor.experimental.stickyScroll.enabled":{type:"boolean",default:!0,description:"%editor.configuration.experimental.stickyScroll%"},"editor.customCodeActionMenu.showHeaders":{type:"boolean",default:!0,description:"%editor.configuration.customCodeActionMenu.showHeaders"},"editor.useCustomCodeActionMenu":{type:"boolean",default:!0,description:"%editor.configuration.useCustomCodeActionMenu%"},"editor.letterSpacing":{type:"number",default:t.EDITOR_FONT_DEFAULTS.letterSpacing,description:"%editor.configuration.letterSpacing%"},"editor.lineNumbers":{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[(0,n.localize)("editor.configuration.lineNumbers.off","Line numbers are not rendered."),(0,n.localize)("editor.configuration.lineNumbers.on","Line numbers are rendered as absolute number."),(0,n.localize)("editor.configuration.lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),(0,n.localize)("editor.configuration.lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:"%editor.configuration.lineNumbers%"},"editor.renderFinalNewline":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.renderFinalNewline,description:"%editor.configuration.renderFinalNewline%"},"editor.rulers":{type:"array",items:{type:"number"},default:t.EDITOR_DEFAULTS.viewInfo.rulers,description:"%editor.configuration.rulers%"},"editor.wordSeparators":{type:"string",default:t.EDITOR_DEFAULTS.wordSeparators,description:"%editor.configuration.wordSeparators%"},"editor.tabSize":{type:"number",default:t.EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:"%editor.configuration.tabSize%"},"editor.insertSpaces":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:"%editor.configuration.insertSpaces%"},"editor.detectIndentation":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:"%editor.configuration.detectIndentation%"},"editor.roundedSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.roundedSelection,description:"%editor.configuration.roundedSelection%"},"editor.scrollBeyondLastLine":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.scrollBeyondLastLine,description:"%editor.configuration.scrollBeyondLastLine%"},"editor.scrollBeyondLastColumn":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollBeyondLastColumn,description:"%editor.configuration.scrollBeyondLastColumn%"},"editor.smoothScrolling":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.smoothScrolling,description:"%editor.configuration.smoothScrolling%"},"editor.minimap.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.minimap.enabled,description:"%editor.configuration.minimap.enabled%"},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.EDITOR_DEFAULTS.viewInfo.minimap.side,description:"%editor.configuration.minimap.side%"},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.EDITOR_DEFAULTS.viewInfo.minimap.showSlider,description:"%editor.configuration.minimap.showSlider%"},"editor.minimap.renderCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.minimap.renderCharacters,description:"%editor.configuration.minimap.renderCharacters%"},"editor.minimap.maxColumn":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.minimap.maxColumn,description:"%editor.configuration.minimap.maxColumn%"},"editor.hover.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.enabled,description:"%editor.configuration.hover.enabled%"},"editor.hover.delay":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.hover.delay,description:"%editor.configuration.hover.delay%"},"editor.hover.sticky":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.sticky,description:"%editor.configuration.hover.sticky%"},"editor.hover.hidingDelay":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.hover.hidingDelay,description:"%editor.configuration.hover.hidingDelay%"},"editor.hover.above":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.hover.above,description:"%editor.configuration.hover.above%"},"editor.find.seedSearchStringFromSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.seedSearchStringFromSelection,description:"%editor.configuration.find.seedSearchStringFromSelection%"},"editor.find.autoFindInSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.autoFindInSelection,description:"%editor.configuration.find.autoFindInSelection%"},"editor.find.globalFindClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.find.globalFindClipboard,description:"%editor.configuration.find.globalFindClipboard%",included:n.isOSX},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:!0,description:"%editor.configuration.find.addExtraSpaceOnTop%"},"editor.wordWrap":{type:"string",enum:["off","on","wordWrapColumn","bounded"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.wordWrap.off","Lines will never wrap."),(0,n.localize)("editor.configuration.wordWrap.on","Lines will wrap at the viewport width."),(0,n.localize)("editor.configuration.wordWrap.wordWrapColumn","Lines will wrap at `#editor.wordWrapColumn#`."),(0,n.localize)("editor.configuration.wordWrap.bounded","Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],default:t.EDITOR_DEFAULTS.wordWrap,description:"%editor.configuration.wordWrap%"},"editor.wordWrapColumn":{type:"integer",default:t.EDITOR_DEFAULTS.wordWrapColumn,minimum:1,markdownDescription:"%editor.configuration.wordWrapColumn%"},"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[(0,n.localize)("editor.configuration.wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),(0,n.localize)("editor.configuration.wrappingIndent.same","Wrapped lines get the same indentation as the parent."),(0,n.localize)("editor.configuration.wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),(0,n.localize)("editor.configuration.wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],default:"same",description:"%editor.configuration.wrappingIndent%"},"editor.mouseWheelScrollSensitivity":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollbar.mouseWheelScrollSensitivity,markdownDescription:"%editor.configuration.mouseWheelScrollSensitivity%"},"editor.fastScrollSensitivity":{type:"number",default:t.EDITOR_DEFAULTS.viewInfo.scrollbar.fastScrollSensitivity,markdownDescription:"%editor.configuration.fastScrollSensitivity%"},"editor.multiCursorModifier":{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,n.localize)("editor.configuration.multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"alt",markdownDescription:(0,n.localize)("multiCursorModifier","The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")},"editor.multiCursorMergeOverlapping":{type:"boolean",default:t.EDITOR_DEFAULTS.multiCursorMergeOverlapping,description:"%editor.configuration.multiCursorMergeOverlapping%"},"editor.quickSuggestions":{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:!1,description:(0,n.localize)("editor.configuration.quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:!1,description:(0,n.localize)("editor.configuration.quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:!0,description:"%editor.configuration.quickSuggestions.other%"}}}],default:t.EDITOR_DEFAULTS.contribInfo.quickSuggestions,description:"%editor.configuration.quickSuggestions%"},"editor.quickSuggestionsDelay":{type:"integer",default:t.EDITOR_DEFAULTS.contribInfo.quickSuggestionsDelay,minimum:0,description:"%editor.configuration.quickSuggestionsDelay%"},"editor.parameterHints.enabled":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.parameterHints.enabled,description:"%editor.configuration.parameterHints.enabled%"},"editor.parameterHints.cycle":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.parameterHints.cycle,description:"%editor.configuration.parameterHints.cycle%"},"editor.autoClosingBrackets":{type:"string",enum:["always","languageDefined","beforeWhitespace","never"],enumDescriptions:["",(0,n.localize)("editor.configuration.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),(0,n.localize)("editor.configuration.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],default:t.EDITOR_DEFAULTS.autoClosingBrackets,description:"%editor.configuration.autoClosingBrackets%"},"editor.autoClosingQuotes":{type:"string",enum:["always","languageDefined","beforeWhitespace","never"],enumDescriptions:["",(0,n.localize)("editor.configuration.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),(0,n.localize)("editor.configuration.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],default:t.EDITOR_DEFAULTS.autoClosingQuotes,description:"%editor.configuration.autoClosingQuotes%"},"editor.autoSurround":{type:"string",enum:["languageDefined","brackets","quotes","never"],enumDescriptions:[(0,n.localize)("editor.configuration.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),(0,n.localize)("editor.configuration.autoSurround.brackets","Surround with brackets but not quotes."),(0,n.localize)("editor.configuration.autoSurround.quotes","Surround with quotes but not brackets."),""],default:t.EDITOR_DEFAULTS.autoSurround,description:"%editor.configuration.autoSurround%"},"editor.formatOnType":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.formatOnType,description:"%editor.configuration.formatOnType%"},"editor.formatOnPaste":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.formatOnPaste,description:"%editor.configuration.formatOnPaste%"},"editor.autoIndent":{type:"boolean",default:t.EDITOR_DEFAULTS.autoIndent,description:"%editor.configuration.autoIndent%"},"editor.suggestOnTriggerCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.suggestOnTriggerCharacters,description:"%editor.configuration.suggestOnTriggerCharacters%"},"editor.acceptSuggestionOnEnter":{type:"string",enum:["on","smart","off"],default:t.EDITOR_DEFAULTS.contribInfo.acceptSuggestionOnEnter,markdownEnumDescriptions:["",(0,n.localize)("editor.configuration.acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:(0,n.localize)("editor.configuration.acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")},"editor.acceptSuggestionOnCommitCharacter":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.acceptSuggestionOnCommitCharacter,markdownDescription:(0,n.localize)("editor.configuration.acceptSuggestionOnCommitCharacter","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.")},"editor.snippetSuggestions":{type:"string",enum:["top","bottom","inline","none"],enumDescriptions:[(0,n.localize)("editor.configuration.snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.inline","Show snippets suggestions with other suggestions."),(0,n.localize)("editor.configuration.snippetSuggestions.none","Do not show snippet suggestions.")],default:"inline",description:"%editor.configuration.snippetSuggestions%"},"editor.emptySelectionClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.emptySelectionClipboard,description:"%editor.configuration.emptySelectionClipboard%"},"editor.copyWithSyntaxHighlighting":{type:"boolean",default:t.EDITOR_DEFAULTS.copyWithSyntaxHighlighting,description:"%editor.configuration.copyWithSyntaxHighlighting%"},"editor.wordBasedSuggestions":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.wordBasedSuggestions,description:"%editor.configuration.wordBasedSuggestions%"},"editor.suggestSelection":{type:"string",enum:["first","recentlyUsed","recentlyUsedByPrefix"],markdownEnumDescriptions:[(0,n.localize)("editor.configuration.suggestSelection.first","Always select the first suggestion."),(0,n.localize)("editor.configuration.suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),(0,n.localize)("editor.configuration.suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:"%editor.configuration.suggestSelection%"},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,markdownDescription:"%editor.configuration.suggestFontSize%"},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,markdownDescription:"%editor.configuration.suggestLineHeight%"},"editor.tabCompletion":{type:"string",default:"off",enum:["on","off","onlySnippets"],enumDescriptions:[(0,n.localize)("editor.configuration.tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),(0,n.localize)("editor.configuration.tabCompletion.off","Disable tab completions."),(0,n.localize)("editor.configuration.tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:"%editor.configuration.tabCompletion%"},"editor.suggest.filteredTypes":{type:"object",default:{keyword:!0,snippet:!0},markdownDescription:"%editor.configuration.suggest.filtered%",properties:{method:{type:"boolean",default:!0,markdownDescription:(0,n.localize)("editor.configuration.suggest.filtered.method","When set to `false` IntelliSense never shows `method` suggestions.")},function:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.function%"},constructor:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.constructor%"},field:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.field%"},variable:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.variable%"},class:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.class%"},struct:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.struct%"},interface:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.interface%"},module:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.module%"},property:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.property%"},event:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.event%"},operator:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.operator%"},unit:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.unit%"},value:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.value"},constant:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.constant%"},enum:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.enum%"},enumMember:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.enumMember%"},keyword:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.keyword%"},text:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.text%"},color:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.color%"},file:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.file%"},reference:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.reference%"},customcolor:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.customcolor%"},folder:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.folder%"},typeParameter:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.typeParameter%"},snippet:{type:"boolean",default:!0,markdownDescription:"%editor.configuration.suggest.filtered.snippet%"}}},"editor.gotoLocation.multiple":{description:"%editor.configuration.editor.gotoLocation.multiple%",type:"string",enum:["peek","gotoAndPeek","goto"],default:t.EDITOR_DEFAULTS.contribInfo.gotoLocation.multiple,enumDescriptions:[(0,n.localize)("editor.configuration.gotoLocation.multiple.peek","Show peek view of the results (default)"),(0,n.localize)("editor.configuration.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),(0,n.localize)("editor.configuration.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]},"editor.selectionHighlight":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.selectionHighlight,description:"%editor.configuration.selectionHighlight%"},"editor.columnSelection":{type:"boolean",default:t.EDITOR_DEFAULTS.columnSelection,description:"%editor.configuration.columnSelection%"},"editor.occurrencesHighlight":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.occurrencesHighlight,description:"%editor.configuration.occurrencesHighlight%"},"editor.overviewRulerLanes":{type:"integer",default:3,description:"%editor.configuration.overviewRulerLanes%"},"editor.overviewRulerBorder":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.overviewRulerBorder,description:"%editor.configuration.overviewRulerBorder%"},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:"blink",description:"%editor.configuration.cursorBlinking%"},"editor.mouseWheelZoom":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.mouseWheelZoom,markdownDescription:"%editor.configuration.mouseWheelZoom%"},"editor.cursorSmoothCaretAnimation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.cursorSmoothCaretAnimation,description:"%editor.configuration.cursorSmoothCaretAnimation%"},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:t.EDITOR_FONT_DEFAULTS.cursorStyle,description:"%editor.configuration.cursorStyle%"},"editor.cursorWidth":{type:"integer",default:t.EDITOR_DEFAULTS.viewInfo.cursorWidth,markdownDescription:"%editor.configuration.cursorWidth%"},"editor.fontLigatures":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.fontLigatures,description:"%editor.configuration.fontLigatures%"},"editor.hideCursorInOverviewRuler":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.hideCursorInOverviewRuler,description:"%editor.configuration.hideCursorInOverviewRuler%"},"editor.renderWhitespace":{type:"string",enum:["none","boundary","selection","all"],enumDescriptions:["",(0,n.localize)("editor.configuration.renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),(0,n.localize)("editor.configuration.renderWhitespace.selection","Render whitespace characters only on selected text."),""],default:t.EDITOR_DEFAULTS.viewInfo.renderWhitespace,description:"%editor.configuration.renderWhitespace%"},"editor.rename.enablePreview":{type:"boolean",default:!0,description:"%editor.configuration.rename.enablePreview%"},"editor.renderControlCharacters":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.renderControlCharacters,description:"%editor.configuration.renderControlCharacters%"},"editor.guides.indentation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.indentation,description:"%editor.configuration.guides.indentation%"},"editor.guides.highlightActiveIndentation":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.highlightActiveIndentGuide,description:"%editor.configuration.guides.highlightActiveIndentation%"},"editor.guides.bracketPairs":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.guides.bracketPairs,description:"%editor.configuration.guides.bracketPairs%"},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",(0,n.localize)("editor.configuration.renderLineHighlight.all","Highlights both the gutter and the current line.")],default:t.EDITOR_DEFAULTS.viewInfo.renderLineHighlight,description:"%editor.configuration.renderLineHighlight%"},"editor.codeLens":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.codeLens,description:"%editor.configuration.codeLens%"},"editor.folding":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.folding,description:"%editor.configuration.folding%"},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:t.EDITOR_DEFAULTS.contribInfo.foldingStrategy,markdownDescription:"%editor.configuration.foldingStrategy%"},"editor.showFoldingControls":{type:"string",enum:["always","mouseover"],default:t.EDITOR_DEFAULTS.contribInfo.showFoldingControls,description:"%editor.configuration.showFoldingControls%"},"editor.matchBrackets":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.matchBrackets,description:"%editor.configuration.matchBrackets%"},"editor.glyphMargin":{type:"boolean",default:t.EDITOR_DEFAULTS.viewInfo.glyphMargin,description:"%editor.configuration.glyphMargin%"},"editor.useTabStops":{type:"boolean",default:t.EDITOR_DEFAULTS.useTabStops,description:"%editor.configuration.useTabStops%"},"editor.trimAutoWhitespace":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:"%editor.configuration.trimAutoWhitespace%"},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:"%editor.configuration.stablePeek%"},"editor.dragAndDrop":{type:"boolean",default:t.EDITOR_DEFAULTS.dragAndDrop,description:"%editor.configuration.dragAndDrop%"},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[(0,n.localize)("editor.configuration.accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),(0,n.localize)("editor.configuration.accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),(0,n.localize)("editor.configuration.accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:t.EDITOR_DEFAULTS.accessibilitySupport,description:(0,n.localize)("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:t.EDITOR_DEFAULTS.showUnused,description:"%editor.configuration.showUnused%"},"editor.comments.insertSpace":{type:"boolean",default:!0,description:"%editor.configuration.comments.insertSpace%"},"editor.comments.ignoreEmptyLines":{type:"boolean",default:!0,description:"%editor.configuration.comments.ignoreEmptyLines%"},"editor.links":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.links,description:"%editor.configuration.links%"},"editor.colorDecorators":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.colorDecorators,description:"%editor.configuration.colorDecorators%"},"editor.lightbulb.enabled":{type:"string",default:t.EDITOR_DEFAULTS.contribInfo.lightbulbEnabled,enum:[r.ShowLightbulbIconMode.Off,r.ShowLightbulbIconMode.OnCode,r.ShowLightbulbIconMode.On],enumDescriptions:[],description:"%editor.configuration.lightbulb.enabled%"},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:"%editor.configuration.maxTokenizationLineLength%"},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:"%editor.configuration.codeActionsOnSave.organizeImports%"},"source.fixAll":{type:"boolean",description:"%editor.configuration.codeActionsOnSave.fixAll%"}},additionalProperties:{type:"boolean"},default:t.EDITOR_DEFAULTS.contribInfo.codeActionsOnSave,description:"%editor.configuration.codeActionsOnSave%"},"editor.codeActionsOnSaveTimeout":{type:"number",default:t.EDITOR_DEFAULTS.contribInfo.codeActionsOnSaveTimeout,description:"%editor.configuration.codeActionsOnSaveTimeout%"},"editor.codeActionsOnSaveNotification":{type:"boolean",default:!0,description:"%editor.configuration.codeActionsOnSaveNotification%"},"editor.selectionClipboard":{type:"boolean",default:t.EDITOR_DEFAULTS.contribInfo.selectionClipboard,description:"%editor.configuration.selectionClipboard%",included:n.isLinux},"editor.largeFileOptimizations":{type:"boolean",default:t.EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:"%editor.configuration.largeFileOptimizations%"},"editor.defaultFormatter":{type:"string",description:"%editor.configuration.defaultFormatter%"},"editor.unicodeHighlight.ambiguousCharacters":{type:"boolean",default:!0,description:"%editor.configuration.unicodeHighlight.ambiguousCharacters%"},"editor.unicodeHighlight.allowedCharacters":{type:"object",default:{},description:"%editor.configuration.unicodeHighlight.allowedCharacters%"},"editor.unicodeHighlight.allowedLocales":{type:"object",default:{},description:"%editor.configuration.unicodeHighlight.allowedLocales%"},"diffEditor.renderIndicators":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.renderIndicators,description:"%editor.configuration.renderIndicators%"},"diffEditor.minimap":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.minimap},"diffEditor.experimental.stickyScroll.enabled":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.stickyScroll.enable}},m={"editor.tokenColorCustomizations":{type:"object",description:"%editor.configuration.tokenColorCustomizations%",default:{}},"editor.askIfDiff":{type:"boolean",default:!0,description:"%editor.configuration.askIfDiff%"},"editor.showActionWhenGroupEmpty":{type:"boolean",default:!1,description:"%editor.configuration.showActionWhenGroupEmpty%"},"editor.autoSave":{type:"string",enum:["off","afterDelay","editorFocusChange","windowLostFocus"],default:"off",description:"%editor.configuration.autoSave%"},"editor.autoSaveDelay":{type:"number",default:1e3,markdownDescription:"%editor.configuration.autoSaveDelay%"},"editor.preferredFormatter":{type:"object",default:{},description:"%editor.configuration.preferredFormatter%"},"editor.previewMode":{type:"boolean",default:!0,description:"%editor.configuration.previewMode%"},"editor.preventScrollAfterFocused":{type:"boolean",default:!1,description:"%editor.configuration.preventScrollAfterFocused%"},"editor.wrapTab":{type:"boolean",default:!1,description:"%editor.configuration.wrapTab%"},"editor.enablePreviewFromCodeNavigation":{type:"boolean",default:!1,markdownDescription:"%editor.configuration.enablePreviewFromCodeNavigation%"},"editor.minimap":{type:"boolean",default:!0},"editor.forceReadOnly":{type:"boolean",default:!1,description:"%editor.configuration.forceReadOnly%"},"editor.languageFeatureEnabledMaxSize":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.languageFeatureEnabledMaxSize%"},"editor.docExtHostSyncMaxSize":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.docExtHostSyncMaxSize%"},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],default:"all",description:"%editor.configuration.renderLineHighlight%"},"editor.fontFamily":{type:"string",default:t.EDITOR_FONT_DEFAULTS.fontFamily},"editor.fontSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.fontSize,minimum:6},"editor.tabSize":{type:"number",default:t.EDITOR_FONT_DEFAULTS.tabSize,minimum:1,description:"%editor.configuration.tabSize%"},"editor.formatOnPaste":{type:"boolean",default:!1},"editor.detectIndentation":{type:"boolean",default:!0},"editor.renderWhitespace":{type:"boolean",default:t.EDITOR_FONT_DEFAULTS.renderWhitespace},"editor.cursorStyle":{type:"string",enum:["line","block","block-outline","line-thin","underline","underline-thin"],default:t.EDITOR_FONT_DEFAULTS.cursorStyle},"editor.insertSpaces":{type:"boolean",default:t.EDITOR_FONT_DEFAULTS.insertSpace},"editor.wordWrap":{type:"string",enum:["off","on"],default:t.EDITOR_FONT_DEFAULTS.wordWrap},"editor.wordWrapColumn":{type:"number",default:t.EDITOR_FONT_DEFAULTS.wordWrapColumn,description:"%editor.configuration.wordWrapColumn%"},"editor.readonlyFiles":{type:"array",default:[],items:{type:"string"}},"editor.formatOnSave":{type:"boolean",default:!1,description:"%editor.configuration.formatOnSave%"},"editor.formatOnSaveTimeout":{type:"number",default:750,markdownDescription:"%editor.configuration.formatOnSaveTimeout%"},"editor.lineHeight":{type:"number",default:0,description:"%editor.lineHeight.description%"},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:"%editor.configuration.maxTokenizationLineLength%"},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[(0,n.localize)("editor.configuration.semanticHighlighting.true","Semantic highlighting enabled for all color themes."),(0,n.localize)("editor.configuration.semanticHighlighting.false","Semantic highlighting disabled for all color themes."),(0,n.localize)("editor.configuration.semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:!0,description:"%editor.configuration.semanticHighlighting.enabled%"},"editor.bracketPairColorization.enabled":{type:"boolean",default:!0,description:"%editor.configuration.bracketPairColorization.enabled%"},"editor.largeFile":{type:"number",default:4*1024*1024*1024,description:"%editor.configuration.largeFileSize%"},"editor.quickSuggestionsDelay":{type:"integer",default:100,description:"%editor.configuration.quickSuggestionsDelay%"},"editor.modelDisposeTime":{type:"integer",default:3e3},"workbench.editorAssociations":{type:"object",markdownDescription:"%editor.configuration.workbench.editorAssociations%",default:{},additionalProperties:{type:"string"}},"editor.experimental.stickyScroll.enabled":{type:"boolean",default:!1,description:"%editor.configuration.experimental.stickyScroll.enabled%"},"editor.mouseBackForwardToNavigate":{type:"boolean",default:!0,description:"%editor.configuration.mouseBackForwardToNavigate%"},"diffEditor.renderSideBySide":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.renderSideBySide,description:"%diffEditor.configuration.renderSideBySide%"},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.ignoreTrimWhitespace,description:"%diffEditor.configuration.ignoreTrimWhitespace%"},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.enabled,description:"Controls whether the diff editor shows unchanged regions."},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.revealLineCount,description:"Controls how many lines are used for unchanged regions.",minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.minimumLineCount,description:"Controls how many lines are used as a minimum for unchanged regions.",minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:t.DIFF_EDITOR_DEFAULTS.hideUnchangedRegions.contextLineCount,description:"Controls how many lines are used as context when comparing unchanged regions.",minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.showMoves,description:"Controls whether the diff editor should show detected code moves."},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.showEmptyDecorations,description:"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted."},"diffEditor.experimental.collapseUnchangedRegions":{type:"boolean",default:t.DIFF_EDITOR_DEFAULTS.experimental.collapseUnchangedRegions,description:"Controls whether the diff editor shows unchanged regions."}};t.editorPreferenceSchema={type:"object",properties:{...v,...m}},t.EditorPreferences=Symbol("EditorPreference")},90915:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createEditorPreferenceProxy=o;const n=e(41869),r=e(24328);function o(l,_,v){return(0,n.createPreferenceProxy)(l,r.editorPreferenceSchema,{resourceUri:_,overrideIdentifier:v})}},53135:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GoToLineQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=n.__importStar(e(20868)),v=e(55979),m=e(82196);class p extends v.AbstractGotoLineQuickAccessProvider{clearDecorations(a){super.clearDecorations(a)}preview(a,h){a.revealRangeInCenter(h,_.editor.ScrollType.Smooth),this.addDecorations(a,h)}goTo(a,h,d=!0){this.gotoLocation({editor:a},{range:h,preserveFocus:d,keyMods:{alt:!1,ctrlCmd:!1}})}}let s=class{constructor(){this.prefix=":",this.description=(0,o.localize)("quickopen.goToLine.desc"),this.quickAccess=new p}getFirstSelection(){const a=this.workbenchEditorService.currentEditor,h=a?.getSelections();return h?.[0]}getRange(a=1,h=1){return{startLineNumber:a,endLineNumber:a,startColumn:h,endColumn:h}}init(){var a;this.savedViewState=(0,o.withNullAsUndefined)((a=this.workbenchEditorService.currentEditor)===null||a===void 0?void 0:a.monacoEditor.saveViewState())}getModel(){var a,h,d,u,E;const f=this.workbenchEditorService.currentEditor,c=this.getFirstSelection();if(!c||!f)return{onType:(S,D)=>{D([new l.QuickOpenItem({label:(0,o.localize)("quickopen.goToLine.notValid"),run:()=>!1})])}};const y=(a=c.positionLineNumber)!==null&&a!==void 0?a:1,b=(h=c.positionColumn)!==null&&h!==void 0?h:1,A=(E=(u=(d=f.currentDocumentModel)===null||d===void 0?void 0:d.getMonacoModel())===null||u===void 0?void 0:u.getLineCount())!==null&&E!==void 0?E:1;return{onType:(S,D)=>{const I=S.split(/,|:|#|:|,/).map(R=>parseInt(R,10)).filter(R=>!isNaN(R)),w=I[0],T=I[1];if(w){let R=(0,o.formatLocalize)("quickopen.goToLine.lineInfo",w);T&&(R+=(0,o.formatLocalize)("quickopen.goToLine.colInfo",T));const M=this.getRange(w,T);D([new l.QuickOpenItem({label:R,run:O=>O===l.Mode.PREVIEW?(this.quickAccess.preview(f.monacoEditor,M),!1):(this.quickAccess.goTo(f.monacoEditor,M,!0),!0)})])}else this.quickAccess.clearDecorations(f.monacoEditor),D([new l.QuickOpenItem({label:(0,o.formatLocalize)("quickopen.goToLine.defaultMessage",y,b,A),run:()=>!1})])}}}getOptions(){return{}}onClose(a){const h=this.workbenchEditorService.currentEditor;h&&(h.monacoEditor.focus(),this.quickAccess.clearDecorations(h.monacoEditor),a&&this.savedViewState&&h.monacoEditor.restoreViewState(this.savedViewState))}};t.GoToLineQuickOpenHandler=s,n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],s.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(m.WorkbenchEditorService),n.__metadata("design:type",m.WorkbenchEditorService)],s.prototype,"workbenchEditorService",void 0),t.GoToLineQuickOpenHandler=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},50236:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolInformationQuickOpenItem=t.WorkspaceSymbolQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(97821),v=e(51500),m=e(40540),p=e(23418);let s=class extends _.QuickOpenBaseAction{constructor(){super({id:"workspace-symbol:splitToRight",tooltip:(0,l.localize)("quickOpen.openOnTheRightSide"),class:(0,o.getIcon)("embed")})}async run(u){await u.openSide()}};s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s);let g=class{hasActions(){return!0}getActions(){return[this.workspaceSymbolOpenSideActionOpen]}};n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s)],g.prototype,"workspaceSymbolOpenSideActionOpen",void 0),g=n.__decorate([(0,r.Injectable)()],g);let a=class{constructor(){this.prefix="#",this.cancellationSource=new o.CancellationTokenSource}get description(){return(0,l.localize)("editor.workspaceSymbol.description")}getModel(){return{onType:(u,E)=>{if(u===""){E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbol.search"),run:()=>!1})]);return}if(u==="#")return void E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbolClass.search"),run:()=>!1})]);if(this.languageService.workspaceSymbolProviders.length===0){E([new o.QuickOpenItem({label:(0,l.localize)("editor.workspaceSymbol.notfound"),run:()=>!1})]);return}const f=u[0]==="#",c=[];this.cancellationSource.cancel();const y=new o.CancellationTokenSource;this.cancellationSource=y;const b={query:f?u.slice(1):u},A=this.reporterService.time(l.REPORT_NAME.QUICK_OPEN_MEASURE);Promise.all(this.languageService.workspaceSymbolProviders.map(async S=>{let D=await S.provideWorkspaceSymbols(b,y.token);if(f&&(D=D?.filter(I=>I.kind===m.SymbolKind.Class)),D&&D.length&&!y.token.isCancellationRequested){const I=await Promise.all(D.map(async w=>{const T=await this.workspaceService.asRelativePath(new o.URI(w.location.uri).parent);return new h(w,S,this.workbenchEditorService,y.token,T?.path||"")}));c.push(...I),E(c,this.workspaceSymbolActionProvider)}return D})).catch(S=>{this.logger.log(S)}).finally(()=>{y.token.isCancellationRequested||(c.length||E([]),A.timeEnd(f?"class":"symbol",{lookFor:u,stat:{symbol:c.length}}))})}}}getOptions(){return{fuzzyMatchLabel:{enableSeparateSubstringMatching:!0},showItemsWithoutHighlight:!0,fuzzyMatchDescription:!1,getPlaceholderItem:(u,E)=>new o.QuickOpenItem({label:(0,l.localize)(E.startsWith("##")?"editor.workspaceSymbolClass.notfound":"editor.workspaceSymbol.notfound"),run:()=>!1})}}onClose(){this.cancellationSource.cancel()}onToggle(){this.cancellationSource.cancel()}};t.WorkspaceSymbolQuickOpenHandler=a,n.__decorate([(0,r.Autowired)(p.ILanguageService),n.__metadata("design:type",Object)],a.prototype,"languageService",void 0),n.__decorate([(0,r.Autowired)(v.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],a.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",g)],a.prototype,"workspaceSymbolActionProvider",void 0),n.__decorate([(0,r.Autowired)(l.IReporterService),n.__metadata("design:type",Object)],a.prototype,"reporterService",void 0),t.WorkspaceSymbolQuickOpenHandler=a=n.__decorate([(0,r.Injectable)()],a);class h extends o.QuickOpenItem{constructor(u,E,f,c,y){super({}),this.symbol=u,this.provider=E,this.workbenchEditorService=f,this.token=c,this.relativePath=y}getLabel(){return this.symbol.name}getUri(){return new o.URI(this.symbol.location.uri)}getIconClass(){return(0,o.getSymbolIcon)(this.symbol.kind)}getDescription(){const u=this.symbol.containerName;return`${u?`${u} \xB7 `:""}${decodeURIComponent(this.relativePath)}`}fromRange(u){if(!u)return;const{start:E,end:f}=u;return{startLineNumber:E.line+1,startColumn:E.character+1,endLineNumber:f.line+1,endColumn:f.character+1}}open(u,E){this.workbenchEditorService.open(u,{range:this.fromRange(E)})}run(u){const E=this.getUri();return u===o.QuickOpenMode.OPEN&&this.provider.resolveWorkspaceSymbol(this.symbol,this.token).then(f=>{f?this.open(E,f.location.range):this.open(E,this.symbol.location.range)}),!0}openSide(){const u=this.getUri();return this.provider.resolveWorkspaceSymbol(this.symbol,this.token).then(E=>{this.workbenchEditorService.open(u,{preview:!1,split:p.EditorGroupSplitAction.Right,range:this.fromRange(E?E.location.range:this.symbol.location.range),focus:!0})})}}t.SymbolInformationQuickOpenItem=h},80200:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResourceServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(23418),{addElement:v}=l.arrays;let m=class extends o.WithEventBus{constructor(){super(),this.providers=[],this.resources=new Map,this.gettingResources=new Map,this.resourceDecoration=new Map,this.cachedProvider=new l.LRUMap(500,200),this.onRegisterResourceProviderEmitter=new l.Emitter,this.onRegisterResourceProvider=this.onRegisterResourceProviderEmitter.event,this.onUnregisterResourceProviderEmitter=new l.Emitter,this.onUnregisterResourceProvider=this.onUnregisterResourceProviderEmitter.event}onResourceNeedUpdateEvent(a){const h=a.payload;if(this.resources.has(h.toString())){const d=this.resources.get(h.toString());this.doGetResource(h).then(u=>{d&&(Object.assign(d?.resource,u?.resource),d.provider=u?.provider),this.eventBus.fire(new _.ResourceDidUpdateEvent(h))})}}onResourceDecorationNeedChangeEvent(a){this.getResourceDecoration(a.payload.uri);let h=!1;const d=this.resourceDecoration.get(a.payload.uri.toString())||{};new Set([...Object.keys(d),...Object.keys(a.payload.decoration)]).forEach(u=>{d[u]!==a.payload.decoration[u]&&(h=!0)}),h&&(Object.assign(this.resourceDecoration.get(a.payload.uri.toString()),a.payload.decoration),this.eventBus.fire(new _.ResourceDecorationChangeEvent(a.payload)))}getSupportedSchemes(){return Array.from(this.providers.values()).map(a=>a.scheme).filter(Boolean)}async getResource(a){if(!this.resources.has(a.toString())){const h=await this.doGetResource(a);if(!h)return null;const d={resource:h.resource,provider:h.provider};this.resources.set(a.toString(),d)}return this.resources.get(a.toString()).resource}handlesUri(a){return!!this.calculateProvider(a)}async doGetResource(a){if(!this.gettingResources.has(a.toString())){const h=(async()=>{const d=this.calculateProvider(a);if(d){const u=await d.provideResource(a);return u.uri=a,{resource:u,provider:d}}else return this.logger.error("URI has no resource provider: "+a),null})();this.gettingResources.set(a.toString(),h),h.finally(()=>{this.gettingResources.delete(a.toString())})}return this.gettingResources.get(a.toString())}registerResourceProvider(a){this.onRegisterResourceProviderEmitter.fire(a);const h=new l.Disposable;return h.addDispose(v(this.providers,a)),h.addDispose({dispose:()=>{for(const d of this.resources.values())d.provider===a&&(d.provider=s,this.onUnregisterResourceProviderEmitter.fire(a));this.cachedProvider.clear()}}),this.cachedProvider.clear(),h}async shouldCloseResource(a,h){const d=this.getProvider(a.uri);return!d||!d.shouldCloseResource?!0:await d.shouldCloseResource(a,h)}async shouldCloseResourceWithoutConfirm(a){const h=this.getProvider(a.uri);return h&&h.shouldCloseResourceWithoutConfirm?await h.shouldCloseResourceWithoutConfirm(a):!1}async close(a,h){const d=this.getProvider(a.uri);return!d||!d.close?!0:await d.close(a,h)}calculateProvider(a){if(this.cachedProvider.has(a.toString()))return this.cachedProvider.get(a.toString());let h,d={weight:-1,index:-1};function u(E,f,c){d={weight:f,index:c},h=E}return this.providers.forEach((E,f)=>{let c=-1;E.handlesUri?c=E.handlesUri(a):E.scheme&&(c=E.scheme===a.scheme?10:-1),c>=0&&(c>d.weight||c===d.weight&&f>d.index)&&u(E,c,f)}),this.cachedProvider.set(a.toString(),h),h}getProvider(a){const h=this.resources.get(a.toString());if(h)return h.provider}getResourceDecoration(a){return this.resourceDecoration.has(a.toString())||this.resourceDecoration.set(a.toString(),{...p}),this.resourceDecoration.get(a.toString())}getResourceSubname(a,h){const d=this.getProvider(a.uri);return d&&d.provideResourceSubname?d.provideResourceSubname(a,h):null}disposeResource(a){const h=this.getProvider(a.uri);if(this.resources.delete(a.uri.toString()),this.resourceDecoration.delete(a.uri.toString()),!(!h||!h.onDisposeResource))return h.onDisposeResource(a)}};t.ResourceServiceImpl=m,n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),n.__decorate([(0,o.OnEvent)(_.ResourceNeedUpdateEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[_.ResourceNeedUpdateEvent]),n.__metadata("design:returntype",void 0)],m.prototype,"onResourceNeedUpdateEvent",null),n.__decorate([(0,o.OnEvent)(_.ResourceDecorationNeedChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[_.ResourceDecorationNeedChangeEvent]),n.__metadata("design:returntype",void 0)],m.prototype,"onResourceDecorationNeedChangeEvent",null),t.ResourceServiceImpl=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m);const p={dirty:!1,readOnly:!1},s={handlesUri:()=>-1,provideResource:g=>({uri:g,name:"",icon:""})}},52795:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorActions=t.Tabs=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(25918),v=e(1149),m=e(63373),p=e(93899),s=e(48560),g=e(43718),a=e(23418),h=e(19352),d=n.__importDefault(e(62711)),u=e(78680),E=e(82196),f=e(50674),c=e(72570).UU,y=({group:A})=>{const S=(0,o.useRef)(),D=(0,o.useRef)(),I=(0,o.useRef)(),w=(0,o.useRef)(null),T=(0,o.useRef)(null),R=(0,s.useInjectable)(a.ResourceService),M=(0,s.useInjectable)(l.IEventBus),O=(0,o.useContext)(l.ConfigContext),x=(0,s.useInjectable)(a.WorkbenchEditorService),k=(0,s.useInjectable)(u.TabTitleMenuService),F=(0,s.useInjectable)(l.PreferenceService),L=(0,s.useInjectable)(p.IMenuRegistry),N=(0,s.useInjectable)(E.IEditorTabService),U=(0,s.useInjectable)(v.LayoutViewSizeConfig),W=(0,s.useInjectable)(l.ComponentRegistry),j=(0,l.useDesignStyles)(d.default.tab_right,"tab_right"),Q=(0,l.useDesignStyles)(d.default.close_tab,"close_tab"),$=(0,l.useDesignStyles)(d.default.kt_editor_close_icon,"kt_editor_close_icon"),Z=(0,l.useDesignStyles)(d.default.kt_editor_tabs_content,"kt_editor_tabs_content"),G=(0,l.useDesignStyles)(d.default.kt_editor_tabs_current_last,"kt_editor_tabs_current_last"),V=(0,l.useDesignStyles)(d.default.kt_editor_tab,"kt_editor_tab"),H=(0,l.useDesignStyles)(d.default.kt_editor_tab_current_prev,"kt_editor_tab_current_prev"),K=(0,l.useDesignStyles)(d.default.kt_editor_tab_current_next,"kt_editor_tab_current_next"),Y=(0,l.useDesignStyles)(d.default.kt_editor_tab_current,"kt_editor_tab_current"),X=(0,l.useDesignStyles)(d.default.kt_editor_tab_dirty,"kt_editor_tab_dirty"),re=(0,l.useDesignStyles)(d.default.kt_editor_tabs,"kt_editor_tabs"),oe=(0,l.useDesignStyles)(d.default.kt_editor_tabs_scroll_wrapper,"kt_editor_tabs_scroll_wrapper"),[he,me]=(0,o.useState)({}),[q,Ae]=(0,o.useState)(!!F.get("editor.wrapTab")),[ge,te]=(0,o.useState)(new Map),[fe,Oe]=(0,o.useState)(),Me=(0,o.useMemo)(()=>(0,l.getSlotLocation)(c,O.layoutConfig),[]),Pe=o.default.useMemo(()=>{var ye,Ue;const Ye=(Ue=(ye=W.getComponentRegistryInfo(a.TabbarRightExtraContentId))===null||ye===void 0?void 0:ye.views)===null||Ue===void 0?void 0:Ue[0];if(Ye)return Ye},[]);(0,f.useUpdateOnGroupTabChange)(A),(0,s.useUpdateOnEventBusEvent)(a.ResourceDidUpdateEvent,[A.resources],ye=>!!I&&A.resources.findIndex(Ue=>Ue.uri.isEqual(ye))!==-1),(0,o.useEffect)(()=>{const ye=new l.Disposable;return ye.addDispose(A.onDidEditorGroupContentLoading(Ue=>{var Ye;(Ye=A.resourceStatus.get(Ue))===null||Ye===void 0||Ye.finally(()=>{me(Object.assign({},he,{[Ue.uri.toString()]:!1}))}),me(Object.assign({},he,{[Ue.uri.toString()]:!0}))})),ye.addDispose(A.onDidEditorGroupTabChanged(()=>{q||De()})),()=>{ye.dispose()}},[A]);const Be=(0,o.useCallback)((ye,Ue,Ye)=>{if(ye.dataTransfer.getData("uri")){const Ve=new l.URI(ye.dataTransfer.getData("uri"));let pt;ye.dataTransfer.getData("uri-source-group")&&(pt=x.getEditorGroup(ye.dataTransfer.getData("uri-source-group"))),A.dropUri(Ve,E.DragOverPosition.CENTER,pt,Ye)}ye.dataTransfer.files.length>0&&M.fire(new E.EditorGroupFileDropEvent({group:A,tabIndex:Ue,files:ye.dataTransfer.files}))},[A]),De=(0,o.useCallback)(()=>{l.fastdom.measure(()=>{try{if(S.current&&A.currentResource){const ye=S.current.querySelector("."+d.default.kt_editor_tab+"[data-uri='"+A.currentResource.uri.toString()+"']");ye&&ye.scrollIntoView({block:"nearest",inline:"nearest"})}}catch{}})},[A,S.current]),_e=(0,o.useCallback)(()=>{w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{l.fastdom.measure(()=>{var ye;const Ue=(ye=T.current)===null||ye===void 0?void 0:ye.offsetWidth;Ue!==fe&&Oe(Ue)})},200)},[T.current,w.current,fe]);(0,o.useEffect)(()=>{q||queueMicrotask(()=>{De()})},[q,S.current]),(0,o.useEffect)(()=>{if(!q){const ye=new l.Disposable;return S.current&&ye.addDispose(new l.DomListener(S.current,"mousewheel",b)),ye.addDispose(M.onDirective(l.ResizeEvent.createDirective(Me),()=>{De()})),ye.addDispose(M.onDirective(E.GridResizeEvent.createDirective(A.grid.uid),()=>{De()})),()=>{ye.dispose()}}},[q]);const Ne=(0,o.useCallback)(()=>{l.fastdom.measureAtNextFrame(()=>{if(I.current&&q){const ye=new Map;let Ue,Ye;const Ve=Array.from(I.current.children);Ve.pop(),Ve.forEach(pt=>{pt.offsetTop!==Ue&&(Ue=pt.offsetTop,Ye&&ye.set(Ve.indexOf(Ye),!0)),Ye=pt,ye.set(Ve.indexOf(pt),!1)}),te(ye)}})},[I.current,q]);(0,o.useEffect)(()=>{_e()},[T.current,q]),(0,o.useEffect)(Ne,[q,I.current,A,A.resources.length]),(0,o.useEffect)(()=>{const ye=new l.DisposableCollection;return ye.push(M.onDirective(l.ResizeEvent.createDirective(Me),()=>{Ne()})),ye.push(F.onPreferenceChanged(Ue=>{Ue.preferenceName==="editor.wrapTab"&&Ae(!!Ue.newValue)})),ye.push(x.onDidCurrentEditorGroupChanged(()=>{_e()})),ye.push(l.Event.debounce(l.Event.filter(L.onDidChangeMenu,Ue=>Ue===p.MenuId.EditorTitle),()=>{},200)(()=>{_e()})),()=>{ye.dispose()}},[]),(0,o.useEffect)(()=>{const ye=new l.DisposableCollection;return ye.push(A.onDidEditorFocusChange(()=>{_e()})),()=>{ye.dispose()}},[A]);const Te=(0,o.useCallback)(ye=>{ye.preventDefault(),ye.stopPropagation(),D.current&&D.current.classList.add(d.default.kt_on_drag_over)},[D.current]),We=(0,o.useCallback)(ye=>{D.current&&D.current.classList.remove(d.default.kt_on_drag_over)},[D.current]),pe=(0,o.useCallback)(ye=>{D.current&&D.current.classList.remove(d.default.kt_on_drag_over),Be&&Be(ye,-1)},[Be,D.current]),ie=(0,o.useCallback)(ye=>{ye.target===ye.currentTarget&&x.createUntitledResource()},[x]),le=o.default.useCallback((ye,Ue)=>{const Ye=R.getResourceDecoration(ye.uri),Ve=R.getResourceSubname(ye,A.resources);return N.renderEditorTab(o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:he[ye.uri.toString()]?"loading_indicator":(0,r.default)(ye.icon)}," "),o.default.createElement("div",{tabIndex:0,role:"tab","aria-selected":Ue?"true":"false"},ye.name),Ve?o.default.createElement("div",{className:d.default.subname},Ve):null,Ye.readOnly?o.default.createElement("span",{className:(0,r.default)((0,l.getExternalIcon)("lock"),d.default.editor_readonly_icon)}):null,o.default.createElement("div",{className:j},o.default.createElement("div",{className:(0,r.default)({[d.default.kt_hidden]:!Ye.dirty,[d.default.dirty]:!0})}),o.default.createElement("div",{className:Q,onMouseDown:pt=>{pt.stopPropagation(),A.close(ye.uri)}},N.renderTabCloseComponent(o.default.createElement("div",{className:(0,r.default)((0,l.getIcon)("close"),$),tabIndex:0,role:"button","aria-label":(0,g.formatLocalize)("editor.closeTab.title",ye.name)}))))),Ue)},[N]),Se=()=>{const ye=A.resources.length===0,Ue=A.resources.findIndex(Ye=>A.currentResource===Ye);return o.default.createElement("div",{draggable:!1,className:(0,r.default)({[Z]:!0,[d.default.kt_editor_tabs_content_empty]:ye,[G]:Ue===A.resources.length-1}),ref:I,role:"tablist"},A.resources.map((Ye,Ve)=>{let pt;const vt=R.getResourceDecoration(Ye.uri);return o.default.createElement("div",{draggable:!0,title:Ye.title,className:(0,r.default)({[V]:!0,[d.default.last_in_row]:ge.get(Ve),[H]:Ue-1===Ve,[K]:Ue+1===Ve,[Y]:A.currentResource===Ye,[d.default.kt_editor_tab_preview]:A.previewURI&&A.previewURI.isEqual(Ye.uri),[X]:vt.dirty}),style:q&&Ve===A.resources.length-1?{marginRight:fe,height:U.editorTabsHeight}:{height:U.editorTabsHeight},onContextMenu:xt=>{k.show(xt.nativeEvent.x,xt.nativeEvent.y,Ye&&Ye.uri,A),xt.preventDefault()},key:Ye.uri.toString(),onMouseUp:xt=>{xt.nativeEvent.button===l.MouseEventButton.Middle&&(xt.preventDefault(),xt.stopPropagation(),A.close(Ye.uri))},onMouseDown:xt=>{xt.nativeEvent.button===l.MouseEventButton.Left&&A.open(Ye.uri,{focus:!0})},"data-uri":Ye.uri.toString(),onDragOver:xt=>{xt.preventDefault(),xt.stopPropagation(),pt&&pt.classList.add(d.default.kt_on_drag_over)},onDragLeave:xt=>{pt&&pt.classList.remove(d.default.kt_on_drag_over)},onDrop:xt=>{pt&&pt.classList.remove(d.default.kt_on_drag_over),Be&&Be(xt,Ve,Ye)},onDoubleClick:xt=>{A.pinPreviewed(Ye.uri)},ref:xt=>pt=xt,onDragStart:xt=>{xt.dataTransfer.setData("uri",Ye.uri.toString()),xt.dataTransfer.setData("uri-source-group",A.name)}},le(Ye,A.currentResource===Ye))}))};return o.default.createElement("div",{id:m.VIEW_CONTAINERS.EDITOR_TABS,className:re},o.default.createElement("div",{className:oe,ref:D,onDragOver:Te,onDragLeave:We,onDrop:pe,onDoubleClick:ie},q?o.default.createElement("div",{className:d.default.kt_editor_wrap_container},Se()):o.default.createElement(h.Scroll,{forwardedRef:ye=>ye?S.current=ye:null,className:d.default.kt_editor_tabs_scroll},Se())),o.default.createElement(t.EditorActions,{className:(0,r.default)({[d.default.kt_editor_wrap_mode_action]:q}),ref:T,group:A}),(0,l.renderView)(Pe))};t.Tabs=y,t.EditorActions=(0,o.forwardRef)((A,S)=>{const D=(0,l.useDesignStyles)(d.default.editor_actions,"editor_actions"),{group:I,className:w}=A,T=(0,o.useCallback)(()=>{var W,j;return I.currentResource?[I.currentResource.uri,I,((W=I.currentOrPreviousFocusedEditor)===null||W===void 0?void 0:W.currentUri)||((j=I.currentEditor)===null||j===void 0?void 0:j.currentUri)]:void 0},[I]),R=(0,s.useInjectable)(E.IEditorActionRegistry),M=(0,s.useInjectable)(a.WorkbenchEditorService),O=(0,s.useInjectable)(v.LayoutViewSizeConfig),x=R.getMenu(I),[k,F]=(0,o.useState)(M.currentEditorGroup===I),[L,N]=(0,o.useState)(T()),U=x.getMergedMenuNodes().length===0;return(0,o.useEffect)(()=>{const W=new l.DisposableCollection;return W.push(M.onDidCurrentEditorGroupChanged(()=>{F(M.currentEditorGroup===I)})),W.push(M.onActiveResourceChange(()=>{N(T())})),W.push(I.onDidEditorGroupTabChanged(()=>{N(T())})),()=>{W.dispose()}},[I]),o.default.createElement("div",{ref:S,className:(0,r.default)(D,w,{[d.default.editor_actions_no_actions]:U}),style:{height:O.editorTabsHeight}},o.default.createElement(_.InlineMenuBar,{menus:x,context:L,regroup:(W,j)=>k?[W,j]:[[],j]}))});function b(A){(this.offsetWidth+this.scrollLeft+A.deltaX>this.scrollWidth||this.scrollLeft+A.deltaX<0)&&A.preventDefault()}},82196:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IEditorTabService=t.ResoucesOfActiveComponentChangedEvent=t.CodeEditorDidVisibleEvent=t.EditorComponentDisposeEvent=t.ResourceOpenTypeChangedEvent=t.IEditorFeatureRegistry=t.IBreadCrumbService=t.CompareResult=t.ICompareService=t.IEditorActionRegistry=t.EditorDecorationTypeRemovedEvent=t.EditorDecorationChangeEvent=t.EditorDecorationProviderRegistrationEvent=t.RegisterEditorSideComponentEvent=t.EditorGroupsResetSizeEvent=t.EditorGroupIndexChangedEvent=t.EditorConfigurationChangedEvent=t.EditorVisibleChangeEvent=t.EditorSelectionChangeEvent=t.IEditorDecorationCollectionService=t.EditorGroupFileDropEvent=t.EditorActiveResourceStateChangedEvent=t.EditorGroupChangeEvent=t.EditorGroupDisposeEvent=t.EditorGroupCloseEvent=t.EditorGroupOpenEvent=t.GridResizeEvent=t.MultiDiffSourceContribution=t.BrowserEditorContribution=t.EditorComponentRegistry=t.RegisterEditorComponentEvent=t.RegisterEditorComponentResolverEvent=t.EditorComponentRenderMode=void 0;const n=e(85608),r=e(41869);n.__exportStar(e(23418),t);var o;(function(O){O[O.ONE_PER_RESOURCE=1]="ONE_PER_RESOURCE",O[O.ONE_PER_GROUP=2]="ONE_PER_GROUP",O[O.ONE_PER_WORKBENCH=3]="ONE_PER_WORKBENCH"})(o||(t.EditorComponentRenderMode=o={}));class l extends r.BasicEvent{}t.RegisterEditorComponentResolverEvent=l;class _ extends r.BasicEvent{}t.RegisterEditorComponentEvent=_;class v{}t.EditorComponentRegistry=v,t.BrowserEditorContribution=Symbol("BrowserEditorContribution"),t.MultiDiffSourceContribution=Symbol("MultiDiffSourceContribution");class m extends r.BasicEvent{static createDirective(x){return`grid-resize-${x}`}}t.GridResizeEvent=m;class p extends r.BasicEvent{}t.EditorGroupOpenEvent=p;class s extends r.BasicEvent{}t.EditorGroupCloseEvent=s;class g extends r.BasicEvent{}t.EditorGroupDisposeEvent=g;class a extends r.BasicEvent{}t.EditorGroupChangeEvent=a;class h extends r.BasicEvent{}t.EditorActiveResourceStateChangedEvent=h;class d extends r.BasicEvent{}t.EditorGroupFileDropEvent=d,t.IEditorDecorationCollectionService=Symbol("IEditorDecorationCollectionService");class u extends r.BasicEvent{}t.EditorSelectionChangeEvent=u;class E extends r.BasicEvent{}t.EditorVisibleChangeEvent=E;class f extends r.BasicEvent{}t.EditorConfigurationChangedEvent=f;class c extends r.BasicEvent{}t.EditorGroupIndexChangedEvent=c;class y extends r.BasicEvent{}t.EditorGroupsResetSizeEvent=y;class b extends r.BasicEvent{}t.RegisterEditorSideComponentEvent=b;class A extends r.BasicEvent{}t.EditorDecorationProviderRegistrationEvent=A;class S extends r.BasicEvent{}t.EditorDecorationChangeEvent=S;class D extends r.BasicEvent{}t.EditorDecorationTypeRemovedEvent=D,t.IEditorActionRegistry=Symbol("IEditorActionRegistry"),t.ICompareService=Symbol("ICompareService");var I;(function(O){O.revert="revert",O.accept="accept",O.cancel="cancel"})(I||(t.CompareResult=I={})),t.IBreadCrumbService=Symbol("IBreadScrumbService"),t.IEditorFeatureRegistry=Symbol("IEditorFeatureRegistry");class w extends r.BasicEvent{}t.ResourceOpenTypeChangedEvent=w;class T extends r.BasicEvent{}t.EditorComponentDisposeEvent=T;class R extends r.BasicEvent{}t.CodeEditorDidVisibleEvent=R;class M extends r.BasicEvent{}t.ResoucesOfActiveComponentChangedEvent=M,t.IEditorTabService=Symbol("IEditorTabService")},17878:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.UntitledSchemeResourceProvider=t.UntitledSchemeDocumentProvider=t.UntitledDocumentIdCounter=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(72665),v=e(51500),m=e(23418),p=e(96689);let s=n=class{constructor(){this._id=1}async update(){this._id=await this.getLatestUnitiedIndex()}async getLatestUnitiedIndex(d){var u;await this.workspaceService.whenReady;const c=(d||((u=this.workspaceService.workspace)===null||u===void 0?void 0:u.children)||[]).filter(y=>l.URI.file(y.uri).displayName.startsWith(n.UNTITLED_FILE_NAME_PREFIX)).map(y=>{const b=l.URI.file(y.uri).displayName.match(new RegExp(`^${n.UNTITLED_FILE_NAME_PREFIX}(\\d+)`,"i"));return b?parseInt(b[1],10):-1}).filter(y=>y!==-1);return c.length>0?Math.max(...c)+1:1}get id(){return this._id++}};t.UntitledDocumentIdCounter=s,s.UNTITLED_FILE_NAME_PREFIX="Untitled-",r.__decorate([(0,o.Autowired)(v.IWorkspaceService),r.__metadata("design:type",Object)],s.prototype,"workspaceService",void 0),t.UntitledDocumentIdCounter=s=n=r.__decorate([(0,o.Injectable)()],s);let g=class{constructor(){this._onDidChangeContent=new l.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(d){return d===l.Schemes.untitled}async provideEncoding(d){return this.preferenceService.get("files.encoding",void 0,d.toString(),(0,l.getLanguageIdFromMonaco)(d))||"utf8"}async provideEOL(d){const u=await this.applicationService.getBackendOS(),E=this.preferenceService.get("files.eol","auto",d.toString(),(0,l.getLanguageIdFromMonaco)(d));return E!=="auto"?E:u===l.OperatingSystem.Windows?`\r
33324
33324
  `:`
33325
33325
  `}async provideEditorDocumentModelContent(d,u){return""}isReadonly(d){return!1}isAlwaysDirty(d){return!0}disposeEvenDirty(d){return!0}closeAutoSave(d){return!0}async saveDocumentModel(d,u,E,f,c,y=!1){const{name:b}=d.getParsedQuery(),A=d.path.toString()!=="/"?l.path.dirname(d.path.toString()):this.appConfig.workspaceDir,S=await this.commandService.tryExecuteCommand("file.save",{showNameInput:!0,defaultFileName:b||d.displayName,defaultUri:l.URI.file(l.isWindows?A.replaceAll("\\","/"):A)});return S&&(await this.editorDocumentModelService.saveEditorDocumentModel(S,u,E,f,c,y),await this.workbenchEditorService.open(S,{preview:!1,focus:!0,replace:!0,forceClose:!0})),{state:l.SaveTaskResponseState.SUCCESS}}onDidDisposeModel(){}};t.UntitledSchemeDocumentProvider=g,r.__decorate([(0,o.Autowired)(p.IEditorDocumentModelService),r.__metadata("design:type",Object)],g.prototype,"editorDocumentModelService",void 0),r.__decorate([(0,o.Autowired)(m.WorkbenchEditorService),r.__metadata("design:type",m.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),r.__decorate([(0,o.Autowired)(l.CommandService),r.__metadata("design:type",Object)],g.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],g.prototype,"appConfig",void 0),r.__decorate([(0,o.Autowired)(l.IApplicationService),r.__metadata("design:type",Object)],g.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(s),r.__metadata("design:type",s)],g.prototype,"untitledIndex",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),t.UntitledSchemeDocumentProvider=g=r.__decorate([(0,o.Injectable)()],g);let a=class extends l.WithEventBus{constructor(){super(...arguments),this.scheme=l.Schemes.untitled}provideResource(d){const{name:u}=d.getParsedQuery();return{name:u||d.displayName,uri:d,icon:"",metadata:null}}async shouldCloseResourceWithoutConfirm(d){const u=this.documentModelService.getModelDescription(d.uri,"close-resource-check");return!!(u&&u.dirty)}async close(d,u){const E=this.documentModelService.getModelReference(d.uri,"close-resource-check");if(!E)return!1;if(u===m.AskSaveResult.SAVE){const f=await E.instance.save();return E.dispose(),f}else return u===m.AskSaveResult.REVERT?(await E.instance.revert(),E.dispose(),!0):!u||u===m.AskSaveResult.CANCEL?(E.dispose(),!1):(E.dispose(),!0)}async shouldCloseResource(d){const u=this.documentModelService.getModelDescription(d.uri,"close-resource-check");if(!u||!u.dirty)return!0;const E={[(0,l.localize)("file.prompt.dontSave","Don't Save")]:m.AskSaveResult.REVERT,[(0,l.localize)("file.prompt.save","Save")]:m.AskSaveResult.SAVE,[(0,l.localize)("file.prompt.cancel","Cancel")]:m.AskSaveResult.CANCEL},f=await this.dialogService.open({message:(0,l.formatLocalize)("saveChangesMessage",d.name),type:l.MessageType.Info,buttons:Object.keys(E)});return await this.close(d,E[f])}};t.UntitledSchemeResourceProvider=a,r.__decorate([(0,o.Autowired)(_.IDialogService),r.__metadata("design:type",Object)],a.prototype,"dialogService",void 0),r.__decorate([(0,o.Autowired)(p.IEditorDocumentModelService),r.__metadata("design:type",Object)],a.prototype,"documentModelService",void 0),t.UntitledSchemeResourceProvider=a=r.__decorate([(0,o.Injectable)()],a)},33835:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeEditor=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(23418),_=e(96689),v=m=>{const p=r.default.useRef(),s=(0,o.useInjectable)(l.EditorCollectionService),g=(0,o.useInjectable)(_.IEditorDocumentModelService),[a,h]=r.default.useState(void 0),[d,u]=r.default.useState(void 0),[E,f]=r.default.useState(void 0),[c,y]=r.default.useState(void 0);let b=!1;return r.default.useEffect(()=>{if(p.current){a&&a.dispose();const A=s.createCodeEditor(p.current,{automaticLayout:!0,...m.options});h(A),d&&A.open(d)}return()=>{b=!0,a&&a.dispose(),d&&d.dispose()}},[p.current]),m&&a&&m.editorRef&&m.editorRef(a),E&&c!==E&&(y(E),g.createModelReference(new o.URI(E),"editor-react-component").then(A=>{d&&d.dispose(),!b&&A.instance.uri.toString()===E?u(A):A.dispose()})),d&&a&&a.currentDocumentModel!==d.instance&&a.open(d),m.uri&&m.uri.toString()!==E&&f(m.uri.toString()),r.default.createElement("div",{ref:A=>A&&(p.current=A),...m})};t.CodeEditor=v},50674:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.useUpdateOnGroupTabChange=r;const n=e(41869);function r(o){return(0,n.useUpdateOnEvent)(o.onDidEditorGroupTabChanged,[o])}},6670:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorSuggestWidgetContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(76835);let v=class{contribute(p){const s=new o.DisposableCollection,g=p.monacoEditor.getContribution(_.SuggestController.ID);if(g&&g.widget&&g.widget.value){const a=g.widget.value;s.push(a.onDidSelect(h=>{this.eventBus.fire(new o.SuggestEvent({eventType:"onDidSelect",data:h}))})),s.push(a.onDidHide(h=>{this.eventBus.fire(new o.SuggestEvent({eventType:"onDidHide",data:h}))})),s.push(a.onDidShow(h=>{this.eventBus.fire(new o.SuggestEvent({eventType:"onDidShow",data:h}))})),s.push(a.onDidFocus(h=>{this.eventBus.fire(new o.SuggestEvent({eventType:"onDidFocus",data:h}))})),a&&a._setDetailsVisible&&a._setDetailsVisible(this.preferenceService.get("editor.suggest.details.visible",!0))}return s}};t.EditorSuggestWidgetContribution=v,n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],v.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),t.EditorSuggestWidgetContribution=v=n.__decorate([(0,r.Injectable)()],v)},67903:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorTopPaddingContribution=void 0;class e{contribute(r){return r.monacoEditor.onDidChangeModel(()=>{r.monacoEditor.changeViewZones(o=>{o.addZone({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:0})})})}}t.EditorTopPaddingContribution=e},51553:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorGroup=t.WorkbenchEditorServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(91830),_=e(75524),v=e(43718),m=e(14951),p=n.__importStar(e(20868)),s=e(72665),g=e(50189),a=e(23418),h=e(96689),d=e(76759),u=e(47049),E=e(82196),f=e(17878),c=10,y=I=>!!(I.supportsRevive&&!I.deleted);let b=class extends v.WithEventBus{constructor(){super(),this.editorGroups=[],this._onDidEditorGroupsChanged=new v.Emitter,this.onDidEditorGroupsChanged=this._onDidEditorGroupsChanged.event,this._sortedEditorGroups=[],this._onActiveResourceChange=new v.Emitter,this.onActiveResourceChange=this._onActiveResourceChange.event,this._onActiveEditorUriChange=new v.Emitter,this.onActiveEditorUriChange=this._onActiveEditorUriChange.event,this._onCursorChange=new v.Emitter,this.onCursorChange=this._onCursorChange.event,this._onDidCurrentEditorGroupChanged=new v.Emitter,this.onDidCurrentEditorGroupChanged=this._onDidCurrentEditorGroupChanged.event,this._restoring=!0,this.contributionsReady=new v.Deferred,this.untitledCloseIndex=[],this.gridReady=!1,this._onDidGridReady=new v.Emitter,this.onDidGridReady=this._onDidGridReady.event,this.editorGroupIdGen=0,this.untitledIndex.update(),this.initialize()}setEditorContextKeyService(w){this.editorContextKeyService=w}setCurrentGroup(w){var T;if(w){if(this._currentEditorGroup===w)return;this._currentEditorGroup=w,this._onActiveResourceChange.fire(w.currentResource),this.eventBus.fire(new E.EditorActiveResourceStateChangedEvent({resource:w.currentResource,openType:w.currentOpenType,editorUri:(T=this.currentEditor)===null||T===void 0?void 0:T.currentUri})),this._onDidCurrentEditorGroupChanged.fire(this._currentEditorGroup)}}onEditorGroupChangeEvent(w){var T;w.payload.group===this.currentEditorGroup&&this.eventBus.fire(new E.EditorActiveResourceStateChangedEvent({resource:w.payload.newResource,openType:w.payload.newOpenType,editorUri:(T=this.currentEditor)===null||T===void 0?void 0:T.currentUri}))}getAllOpenedUris(){const w=[];for(const T of this.editorGroups)for(const R of T.resources)w.findIndex(O=>O.isEqual(R.uri))===-1&&w.push(R.uri);return w}async getAllOpenedDocuments(){const w=[];for(const T of this.editorGroups)for(const R of T.resources){if(R.uri.scheme!=="file")continue;if(w.findIndex(O=>O.uri.isEqual(R.uri))===-1){const O=await T.getDocumentModelRef(R.uri);O&&w.push(O.instance)}}return w}async save(w){if(this.editorGroups.length)try{for(const T of this.editorGroups){const R=T.resources.find(M=>M.uri.isEqual(w));R&&await T.saveResource(R)}return w}catch(T){throw new Error(`Save Failed: ${T.message}`)}}getDefaultSavePath(w){const T=w.path.toString()!=="/"?v.path.dirname(w.path.toString()):this.appConfig.workspaceDir;return v.isWindows?T.replace(/\\/g,"/"):T}async saveAs(w){var T,R;if(!(!this._currentEditorGroup||!((T=this._currentEditorGroup.currentResource)===null||T===void 0)&&T.deleted))try{const M=this.getDefaultSavePath(w);return await this.windowDialogService.showSaveDialog({saveLabel:"SaveAs File:",showNameInput:!0,defaultFileName:(R=this._currentEditorGroup.currentResource)===null||R===void 0?void 0:R.name,defaultUri:v.URI.file(M),saveAs:!0})}catch(M){throw new Error(`SaveAs Failed: ${M.message}`)}}async saveAll(w,T){for(const R of this.editorGroups)await R.saveAll(w,T)}hasDirty(){for(const w of this.editorGroups)if(w.hasDirty())return!0;return!1}calcDirtyCount(){const w=new Set;return this.editorGroups.reduce((T,R)=>T+R.calcDirtyCount(w),0)}createEditorGroup(){const w=this.injector.get(A,[this.generateRandomEditorGroupName(),this.editorGroupIdGen++]);this.editorGroups.push(w);const T=new v.Disposable(w.onDidEditorGroupBodyChanged(()=>{w===this.currentEditorGroup&&(!w.currentOpenType&&w.currentResource||this._onActiveResourceChange.fire(w.currentResource))}),w.onDidEditorFocusChange(()=>{var M;w===this.currentEditorGroup&&(!w.currentOpenType&&w.currentResource||this._onActiveEditorUriChange.fire((M=w.currentOrPreviousFocusedEditor)===null||M===void 0?void 0:M.currentUri))}));w.addDispose({dispose:()=>{T.dispose()}});const R=w.onDidEditorGroupTabChanged(()=>{this.saveOpenedResourceState()});return w.addDispose({dispose:()=>{R.dispose()}}),w.onCurrentEditorCursorChange(M=>{this._currentEditorGroup===w&&this._onCursorChange.fire(M)}),w}generateRandomEditorGroupName(){let w=(0,v.makeRandomHexString)(5);for(;this.editorGroups.findIndex(T=>T.name===w)!==-1;)w=(0,v.makeRandomHexString)(5);return w}initialize(){return this.initializing||(this.initializing=this.doInitialize()),this.initializing}async doInitialize(){this.openedResourceState=await this.initializeState(),await this.contributionsReady.promise,await this.restoreState(),this._currentEditorGroup=this.editorGroups[0]}async initializeState(){return await this.getStorage(v.STORAGE_NAMESPACE.WORKBENCH)}get currentEditor(){return this.currentEditorGroup&&this.currentEditorGroup.currentEditor}get currentCodeEditor(){return this.currentEditorGroup.currentCodeEditor}get currentEditorGroup(){return this._currentEditorGroup}get currentOrPreviousFocusedEditor(){return this.currentEditorGroup&&this.currentEditorGroup.currentOrPreviousFocusedEditor}async open(w,T){await this.initialize();let R=this.currentEditorGroup,M;if(T&&typeof T.groupIndex<"u"?M=T.groupIndex:T&&T.relativeGroupIndex&&(M=this.currentEditorGroup.index+T.relativeGroupIndex),typeof M=="number"&&M>=0){if(M>=this.editorGroups.length)return R.open(w,Object.assign({},T,{split:a.EditorGroupSplitAction.Right}));R=this.sortedEditorGroups[M]||this.currentEditorGroup}return R.open(w,T)}async openUris(w){await this.initialize(),await this.currentEditorGroup.openUris(w)}getEditorGroup(w){return this.editorGroups.find(T=>T.name===w)}get currentResource(){return this.currentEditorGroup?this.currentEditorGroup.currentResource:null}removeGroup(w){const T=this.editorGroups.findIndex(R=>R===w);if(T!==-1){if(this.editorGroups.length===1)return;this.editorGroups.splice(T,1),this.currentEditorGroup===w&&this.setCurrentGroup(this.editorGroups[0]);for(let R=T;R<this.editorGroups.length;R++)this.eventBus.fire(new E.EditorGroupIndexChangedEvent({group:this.editorGroups[R],index:R}))}}async saveOpenedResourceState(){if(this._restoring)return;const w=this.topGrid.serialize();await this.openedResourceState.set("grid",w)}prepareContextKeyService(){const w=R=>{let M=null;const O=this.documentModelManager.getModelDescription(R,"resourceContextKey");return O&&(M=O.languageId),M},T=new l.ResourceContextKey(this.editorContextKeyService,R=>{const M=w(R);return M||w(R)});this.onActiveResourceChange(R=>{this.currentEditor&&this.currentEditor.currentUri?T.set(this.currentEditor.currentUri):R?T.set(R.uri):T.reset()}),this.currentEditor&&this.currentEditor.currentUri?T.set(this.currentEditor.currentUri):this.currentResource?T.set(this.currentResource.uri):T.reset()}onDomCreated(w){this.editorContextKeyService&&this.editorContextKeyService.attachToDomNode(w)}notifyGroupChanged(){this._sortedEditorGroups=void 0,this._onDidEditorGroupsChanged.fire()}async restoreState(){let w={editorGroup:{uris:[],previewIndex:-1}};this.appConfig.disableRestoreEditorGroupState||(w=this.openedResourceState.get("grid",w)),this.topGrid=new u.EditorGrid,this.addDispose(this.topGrid),this.addDispose(this.topGrid.onDidGridAndDesendantStateChange(()=>{this._sortedEditorGroups=void 0,this._onDidEditorGroupsChanged.fire()}));const T=[],R=this.topGrid.deserialize(w,()=>this.createEditorGroup(),T).then(()=>{this.topGrid.children.length===0&&!this.topGrid.editorGroup&&this.topGrid.setEditorGroup(this.createEditorGroup()),this.gridReady=!0,this._onDidGridReady.fire(),this.notifyGroupChanged()});return Promise.all(T).then(()=>{this._restoring=!1;for(const M of this.contributions.getContributions())M.onDidRestoreState&&M.onDidRestoreState()}),R}async closeAll(w,T){for(const R of this.editorGroups.slice(0))w?await R.close(w,{force:T}):await R.closeAll()}async closeAllOnlyConfirmOnce(){const w=[];for(const L of this.editorGroups)for(const N of L.resources)w.push(N);const R=(await Promise.all(w.map(async L=>({shouldClose:await this.resourceService.shouldCloseResourceWithoutConfirm(L),resource:L})))).filter(L=>L.shouldClose);if(R.length===0)return!1;const M={[(0,v.localize)("file.prompt.dontSave","Don't Save")]:E.AskSaveResult.REVERT,[(0,v.localize)("file.prompt.save","Save")]:E.AskSaveResult.SAVE,[(0,v.localize)("file.prompt.cancel","Cancel")]:E.AskSaveResult.CANCEL};let x=R.slice(0,c).map(L=>L.resource.name).join("\u3001");R.length>c&&(R.length-c===1?x+=(0,v.localize)("file.prompt.more.one"):x+=(0,v.formatLocalize)("file.prompt.more.number",R.length-c));const k=await this.dialogService.open({message:(0,o.toMarkdown)((0,v.formatLocalize)("saveNFilesChangesMessage",R.length,x),this.openner),type:v.MessageType.Info,buttons:Object.keys(M)}),F=M[k];return F===E.AskSaveResult.SAVE?(await Promise.all(R.map(L=>{var N,U;return(U=(N=this.resourceService).close)===null||U===void 0?void 0:U.call(N,L.resource,E.AskSaveResult.SAVE)})),!1):F===E.AskSaveResult.REVERT?(await Promise.all(R.map(L=>{var N,U;return(U=(N=this.resourceService).close)===null||U===void 0?void 0:U.call(N,L.resource,E.AskSaveResult.REVERT)})),!1):!0}async close(w,T){return this.closeAll(w,T)}get sortedEditorGroups(){return this._sortedEditorGroups||(this._sortedEditorGroups=[],this.topGrid.sortEditorGroups(this._sortedEditorGroups)),this._sortedEditorGroups}handleOnCloseUntitledResource(w){if(w.payload.resource.uri.scheme===v.Schemes.untitled){const{index:T}=w.payload.resource.uri.getParsedQuery();this.untitledCloseIndex.push(parseInt(T,10)),this.untitledCloseIndex.sort((R,M)=>R-M)}}createUntitledURI(){const w=this.untitledCloseIndex.shift()||this.untitledIndex.id;return new v.URI().withScheme(v.Schemes.untitled).withQuery(`name=${f.UntitledDocumentIdCounter.UNTITLED_FILE_NAME_PREFIX}${w}&index=${w}`)}createUntitledResource(w={uri:this.createUntitledURI()}){return this.open(w.uri,{preview:!1,focus:!0,...w.resourceOpenOptions})}};t.WorkbenchEditorServiceImpl=b,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],b.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(a.ResourceService),n.__metadata("design:type",a.ResourceService)],b.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],b.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],b.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(v.StorageProvider),n.__metadata("design:type",Function)],b.prototype,"getStorage",void 0),n.__decorate([(0,r.Autowired)(s.IDialogService),n.__metadata("design:type",Object)],b.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(o.IOpenerService),n.__metadata("design:type",Object)],b.prototype,"openner",void 0),n.__decorate([(0,r.Autowired)(E.BrowserEditorContribution),n.__metadata("design:type",Object)],b.prototype,"contributions",void 0),n.__decorate([(0,r.Autowired)(h.IEditorDocumentModelService),n.__metadata("design:type",Object)],b.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(f.UntitledDocumentIdCounter),n.__metadata("design:type",f.UntitledDocumentIdCounter)],b.prototype,"untitledIndex",void 0),n.__decorate([(0,r.Autowired)(s.IWindowDialogService),n.__metadata("design:type",Object)],b.prototype,"windowDialogService",void 0),n.__decorate([(0,v.OnEvent)(E.EditorGroupChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorGroupChangeEvent]),n.__metadata("design:returntype",void 0)],b.prototype,"onEditorGroupChangeEvent",null),n.__decorate([(0,v.OnEvent)(E.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],b.prototype,"handleOnCloseUntitledResource",null),t.WorkbenchEditorServiceImpl=b=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],b);let A=class extends v.WithEventBus{constructor(w,T){super(),this.name=w,this.groupId=T,this.openingPromise=new Map,this._onDidEditorFocusChange=this.registerDispose(new v.Emitter),this.onDidEditorFocusChange=this._onDidEditorFocusChange.event,this._onDidEditorGroupTabChanged=new v.Emitter,this.onDidEditorGroupTabChanged=this._onDidEditorGroupTabChanged.event,this._onDidEditorGroupTabOperation=new v.Emitter,this.onDidEditorGroupTabOperation=this._onDidEditorGroupTabOperation.event,this._onDidEditorGroupBodyChanged=new v.Emitter,this.onDidEditorGroupBodyChanged=this._onDidEditorGroupBodyChanged.event,this._onDidEditorGroupContentLoading=new v.Emitter,this.onDidEditorGroupContentLoading=this._onDidEditorGroupContentLoading.event,this.previewURI=null,this.resources=[],this.resourceStatus=new Map,this.cachedResourcesActiveOpenTypes=new Map,this.cachedResourcesOpenTypes=new Map,this.availableOpenTypes=[],this.activeComponents=new Map,this.activateComponentsProps=new Map,this.holdDocumentModelRefs=new Map,this.toDispose=[],this._prevDomHeight=0,this._prevDomWidth=0,this._onCurrentEditorCursorChange=new v.Emitter,this.onCurrentEditorCursorChange=this._onCurrentEditorCursorChange.event,this.resourceOpenHistory=[],this._domNode=null,this._diffEditorDomNode=null,this._diffEditorDomNodeAttached=!1,this._multiFileDiffEditorDomNode=null,this._multiFileDiffEditorDomNodeAttached=!1,this._mergeEditorDomNode=null,this._mergeEditorDomNodeAttached=!1,this.codeEditorReady=new v.ReadyEvent,this.diffEditorReady=new v.ReadyEvent,this.diffEditorDomReady=new v.ReadyEvent,this.multiDiffEditorDomReady=new v.ReadyEvent,this.mergeEditorReady=new v.ReadyEvent,this.mergeEditorDomReady=new v.ReadyEvent,this._restoringState=!1,this._multiDiffEditorDomNodeAttached=!1,this.eventBus.onDirective(o.ResizeEvent.createDirective((0,o.getSlotLocation)("@opensumi/ide-editor",this.config.layoutConfig)),()=>{this.doLayoutEditors()}),this.eventBus.on(E.GridResizeEvent,R=>{R.payload.gridId===this.grid.uid&&this.doLayoutEditors()}),this.eventBus.on(E.EditorComponentDisposeEvent,R=>{this.activeComponents.delete(R.payload),this.activateComponentsProps.delete(R.payload)}),this.listenToExplorerAutoRevealConfig()}listenToExplorerAutoRevealConfig(){this.explorerAutoRevealConfig=!!this.preferenceService.get("explorer.autoReveal"),this.disposables.push(this.preferenceService.onPreferenceChanged(w=>{w.preferenceName==="explorer.autoReveal"&&(this.explorerAutoRevealConfig=w.newValue)}))}attachDiffEditorDom(w){this._diffEditorDomNodeAttached||(this._diffEditorDomNode=w,this.diffEditorDomReady.ready(),this._diffEditorDomNodeAttached=!0)}attachMergeEditorDom(w){this._mergeEditorDomNodeAttached||(this._mergeEditorDomNode=w,this.mergeEditorDomReady.ready(),this._mergeEditorDomNodeAttached=!0)}attachToDom(w){this._domNode=w,w&&(this.contextKeyService.attachToDomNode(w),this.layoutEditors())}layoutEditors(){o.fastdom.measure(()=>{if(this._domNode){const w=this._domNode.offsetWidth,T=this._domNode.offsetHeight;(w!==this._prevDomWidth||T!==this._prevDomHeight)&&this.doLayoutEditors(),this._prevDomWidth=w,this._prevDomHeight=T}})}_layoutEditorWorker(){if(this.currentOpenType)switch(this.currentOpenType.type){case E.EditorOpenType.code:this.codeEditor&&this.codeEditor.layout();break;case E.EditorOpenType.diff:this.diffEditor&&this.diffEditor.layout();break;case E.EditorOpenType.multiDiff:this.multiDiffEditor&&this._multiDiffEditorDomNodeAttached&&this.multiDiffEditor.layout(new g.Dimension(this._multiDiffEditorDomNode.offsetWidth,this._multiDiffEditorDomNode.offsetHeight));break;default:break}}doLayoutEditors(){this._measure&&this._measure.dispose(),this._measure=o.fastdom.mutate(()=>{this._layoutEditorWorker()})}setContextKeys(){var w;if(!this._resourceContext){const T=R=>{let M=null;const O=this.documentModelManager.getModelDescription(R,"resourceContextKey");return O&&(M=O.languageId),M};this._resourceContext=new l.ResourceContextKey(this.contextKeyService,R=>T(R)),this._diffResourceContextKey=new l.ResourceContextKey(this.contextKeyService,R=>T(R),"diffResource"),this._editorLangIDContextKey=this.contextKeyService.createKey("editorLangId",""),this._isInDiffEditorContextKey=this.contextKeyService.createKey("isInDiffEditor",!1),this._isInMultiDiffEditorContextKey=this.contextKeyService.createKey("isInMultiDiffEditor",!1),this._activeEditorIsDirtyContextKey=this.contextKeyService.createKey("activeEditorIsDirty",!1),this._isInDiffRightEditorContextKey=this.contextKeyService.createKey("isInDiffRightEditor",!1),this._isInEditorComponentContextKey=this.contextKeyService.createKey("inEditorComponent",!1)}this.currentOrPreviousFocusedEditor&&this.currentOrPreviousFocusedEditor.currentUri?(this._resourceContext.set(this.currentOrPreviousFocusedEditor.currentUri),this.currentOrPreviousFocusedEditor.currentDocumentModel&&this._editorLangIDContextKey.set(this.currentOrPreviousFocusedEditor.currentDocumentModel.languageId)):this.currentEditor&&this.currentEditor.currentUri?(this._resourceContext.set(this.currentEditor.currentUri),this.currentEditor.currentDocumentModel&&this._editorLangIDContextKey.set(this.currentEditor.currentDocumentModel.languageId)):(this.currentResource?this._resourceContext.set(this.currentResource.uri):this._resourceContext.reset(),this._editorLangIDContextKey.reset()),this._activeEditorIsDirtyContextKey.set(this.activeEditorIsDirty()),this._isInDiffEditorContextKey.set(this.isDiffEditorMode()),this._isInMultiDiffEditorContextKey.set(this.isMultiDiffEditorMode()),this._isInDiffRightEditorContextKey.set(this.isDiffEditorMode()),this._isInEditorComponentContextKey.set(this.isComponentMode()),this.isDiffEditorMode()&&this._diffResourceContextKey.set((w=this.currentResource)===null||w===void 0?void 0:w.uri),this.updateContextKeyWhenDiffEditorChangesFocus()}updateContextKeyWhenDiffEditorChangesFocus(){if(this.updateContextKeyWhenEditorChangesFocusDisposer||!this.diffEditor)return;const w=()=>{this.currentFocusedEditor||(this.setContextKeys(),this._onDidEditorFocusChange.fire())};this.updateContextKeyWhenEditorChangesFocusDisposer=new v.Disposable(this.diffEditor.modifiedEditor.onFocus(()=>{this._currentOrPreviousFocusedEditor=this.diffEditor.modifiedEditor,this.setContextKeys(),this._onDidEditorFocusChange.fire()}),this.diffEditor.originalEditor.onFocus(()=>{this._currentOrPreviousFocusedEditor=this.diffEditor.originalEditor,this.setContextKeys(),this._onDidEditorFocusChange.fire()}),this.codeEditor.onFocus(()=>{this.codeEditor.currentUri&&this.locateInFileTree(this.codeEditor.currentUri),this._currentOrPreviousFocusedEditor=this.codeEditor,this.setContextKeys(),this._onDidEditorFocusChange.fire()}),this.codeEditor.onBlur(w),this.diffEditor.originalEditor.onBlur(w),this.diffEditor.modifiedEditor.onBlur(w)),this.addDispose(this.updateContextKeyWhenEditorChangesFocusDisposer)}get contextKeyService(){return this._contextKeyService||(this._contextKeyService=this.workbenchEditorService.editorContextKeyService.createScoped()),this._contextKeyService}get index(){return this.workbenchEditorService.sortedEditorGroups.indexOf(this)}onResourceDecorationChangeEvent(w){w.payload.decoration.dirty&&this.previewURI&&this.previewURI.isEqual(w.payload.uri)&&this.pinPreviewed(),this.resources.find(R=>R.uri.isEqual(w.payload.uri))&&this.notifyTabChanged()}resetOpenType(){this._currentOpenType=null}oResourceOpenTypeChangedEvent(w){const T=w.payload;this.cachedResourcesOpenTypes.has(T.toString())&&this.cachedResourcesOpenTypes.delete(T.toString()),this.currentResource&&this.currentResource.uri.isEqual(T)&&(this.resetOpenType(),this.notifyBodyChanged(),this.displayResourceComponent(this.currentResource,{}))}async onRegisterEditorComponentEvent(){if(this.currentResource){const w=this.currentResource,T=await this.editorComponentRegistry.resolveEditorComponent(w);this.currentResource===w&&(this.availableOpenTypes=T,this.cachedResourcesOpenTypes.set(w.uri.toString(),T))}}pinPreviewed(w){const T=this.previewURI;w===void 0?this.previewURI=null:this.previewURI&&this.previewURI.isEqual(w)&&(this.previewURI=null),T!==this.previewURI&&this.notifyTabChanged()}notifyTabChanged(){this._restoringState||this._onDidEditorGroupTabChanged.fire()}notifyBodyChanged(){this._onDidEditorGroupBodyChanged.fire()}notifyTabLoading(w){this._onDidEditorGroupContentLoading.fire(w)}get currentEditor(){return this.currentOpenType?this.currentOpenType.type===E.EditorOpenType.code?this.codeEditor:this.currentOpenType.type===E.EditorOpenType.diff?this.diffEditor.modifiedEditor:null:null}get currentOrPreviousFocusedEditor(){return this._currentOrPreviousFocusedEditor||this.currentEditor}get currentFocusedEditor(){if(this.currentOpenType){if(this.currentOpenType.type===E.EditorOpenType.code){if(this.codeEditor.monacoEditor.hasWidgetFocus())return this.codeEditor}else if(this.currentOpenType.type===E.EditorOpenType.diff){if(this.diffEditor.modifiedEditor.monacoEditor.hasTextFocus())return this.diffEditor.modifiedEditor;if(this.diffEditor.originalEditor.monacoEditor.hasTextFocus())return this.diffEditor.originalEditor;if(this.diffEditor.modifiedEditor.monacoEditor.hasWidgetFocus())return this.diffEditor.modifiedEditor;if(this.diffEditor.originalEditor.monacoEditor.hasWidgetFocus())return this.diffEditor.originalEditor}}return null}get currentCodeEditor(){return this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code?this.codeEditor:null}createEditor(w){this.codeEditor=this.collectionService.createCodeEditor(w,{},{[o.ServiceNames.CONTEXT_KEY_SERVICE]:this.contextKeyService.contextKeyService}),setTimeout(()=>{this.doLayoutEditors()}),this.addDispose(this.codeEditor.onRefOpen(()=>{this.doLayoutEditors()})),this.toDispose.push(this.codeEditor.onCursorPositionChanged(T=>{this._onCurrentEditorCursorChange.fire(T)})),this.toDispose.push(this.codeEditor.onSelectionsChanged(T=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code&&this.eventBus.fire(new E.EditorSelectionChangeEvent({group:this,resource:this.currentResource,selections:T.selections,source:T.source,editorUri:this.codeEditor.currentUri}))})),this.toDispose.push(this.codeEditor.onVisibleRangesChanged(T=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code&&this.eventBus.fire(new E.EditorVisibleChangeEvent({group:this,resource:this.currentResource,visibleRanges:T,editorUri:this.codeEditor.currentUri}))})),this.toDispose.push(this.codeEditor.onConfigurationChanged(()=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code&&this.eventBus.fire(new E.EditorConfigurationChangedEvent({group:this,resource:this.currentResource,editorUri:this.codeEditor.currentUri}))})),this.eventBus.fire(new E.CodeEditorDidVisibleEvent({groupName:this.name,type:E.EditorOpenType.code,editorId:this.codeEditor.getId()})),this.toDispose.push(this.codeEditor.monacoEditor.onDidChangeModelContent(()=>{this._activeEditorIsDirtyContextKey.set(this.activeEditorIsDirty())})),this.codeEditorReady.ready()}createMergeEditor(w){this.mergeEditor=this.collectionService.createMergeEditor(w,{},{[o.ServiceNames.CONTEXT_KEY_SERVICE]:this.contextKeyService.contextKeyService}),this.mergeEditorReady.ready()}createDiffEditor(w){this.diffEditor=this.collectionService.createDiffEditor(w,{},{[o.ServiceNames.CONTEXT_KEY_SERVICE]:this.contextKeyService.contextKeyService}),setTimeout(()=>{this.doLayoutEditors()}),this.diffEditor.onRefOpen(()=>{this.doLayoutEditors()}),this.addDiffEditorEventListeners(this.diffEditor.originalEditor,"original"),this.addDiffEditorEventListeners(this.diffEditor.modifiedEditor,"modified"),this.eventBus.fire(new E.CodeEditorDidVisibleEvent({groupName:this.name,type:E.EditorOpenType.diff,editorId:this.diffEditor.modifiedEditor.getId()})),this.eventBus.fire(new E.CodeEditorDidVisibleEvent({groupName:this.name,type:E.EditorOpenType.diff,editorId:this.diffEditor.originalEditor.getId()})),this.diffEditorReady.ready()}addDiffEditorEventListeners(w,T){this.toDispose.push(w.onSelectionsChanged(R=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.diff&&this.eventBus.fire(new E.EditorSelectionChangeEvent({group:this,resource:this.currentResource,selections:R.selections,source:R.source,editorUri:v.URI.from(w.monacoEditor.getModel().uri),side:T}))})),this.toDispose.push(w.onVisibleRangesChanged(R=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.diff&&this.eventBus.fire(new E.EditorVisibleChangeEvent({group:this,resource:this.currentResource,visibleRanges:R,editorUri:w.currentUri}))})),this.toDispose.push(w.onConfigurationChanged(()=>{this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.diff&&this.eventBus.fire(new E.EditorConfigurationChangedEvent({group:this,resource:this.currentResource,editorUri:w.currentUri}))}))}async split(w,T,R){var M,O,x;const k=this.workbenchEditorService.createEditorGroup(),F=w===a.EditorGroupSplitAction.Left||w===a.EditorGroupSplitAction.Right?u.SplitDirection.Horizontal:u.SplitDirection.Vertical,L=w===a.EditorGroupSplitAction.Left||w===a.EditorGroupSplitAction.Top;if(this.grid.split(F,k,L),R&&!R.scrollTop&&(R.scrollTop=(M=this.currentEditor)===null||M===void 0?void 0:M.monacoEditor.getScrollTop()),R&&!R.scrollLeft&&(R.scrollLeft=(O=this.currentEditor)===null||O===void 0?void 0:O.monacoEditor.getScrollLeft()),R&&!R?.range){const N=(x=this.currentCodeEditor)===null||x===void 0?void 0:x.monacoEditor.getSelection();N&&(R.range=new p.Range(N.startLineNumber,N.startColumn,N.endLineNumber,N.endColumn))}return k.open(T,{...R,preview:!1,revealRangeInCenter:!1})}async open(w,T={}){if(w.scheme===v.Schemes.file&&this.recentFilesManager.setMostRecentlyOpenedFile(w.withoutFragment().toString()),T&&T.split)return this.split(T.split,w,Object.assign({},T,{split:void 0,preview:!1}));if(!this.openingPromise.has(w.toString())){const M=this.doOpen(w,T);this.openingPromise.set(w.toString(),M),M.then(()=>{this.openingPromise.delete(w.toString())},()=>{this.openingPromise.delete(w.toString())})}return this.preferenceService.get("editor.previewMode")&&((0,v.isUndefinedOrNull)(T.preview)?!0:T.preview)||this.openingPromise.get(w.toString()).then(()=>{this.pinPreviewed(w)}),this.openingPromise.get(w.toString())}async pin(w){return this.pinPreviewed(w)}getPreventScrollOption(w={}){var T;return(T=w.preventScroll)!==null&&T!==void 0?T:this.preferenceService.get("editor.preventScrollAfterFocused")}async doOpen(w,T={}){var R,M,O;if(!this.resourceService.handlesUri(w))return this.openerService.open(w),!1;let x;try{const k=this.preferenceService.get("editor.previewMode")&&((0,v.isUndefinedOrNull)(T.preview)?!0:T.preview);if(this.currentResource&&this.currentResource.uri.isEqual(w)&&(!T.forceOpenType||T.forceOpenType.type===((R=this.currentOpenType)===null||R===void 0?void 0:R.type))){if(T.focus&&this.currentEditor){const F=this.getPreventScrollOption(T);(M=this._domNode)===null||M===void 0||M.focus({preventScroll:F}),this.currentEditor.monacoEditor.focus()}return T.range&&this.currentEditor&&(this.currentEditor.monacoEditor.setSelection(T.range),setTimeout(()=>{var F;(F=this.currentEditor)===null||F===void 0||F.monacoEditor.revealRangeInCenter(T.range,0)},0)),this.locationInTree(T,w),this.notifyTabChanged(),{group:this,resource:this.currentResource}}else{const F=this._currentOpenType,L=this._currentResource;let N=null,U=this.resources.find(Q=>Q.uri.toString()===w.toString());if(!U){if(U=await this.resourceService.getResource(w),!U)throw new Error("This uri cannot be opened!: "+w);if(U.deleted){if(T.deletedPolicy==="fail")throw new Error("resource deleted "+w);if(T.deletedPolicy==="skip")return!1}T&&T.label&&(U.name=T.label),T&&(0,v.isDefined)(T.supportsRevive)&&(U.supportsRevive=T.supportsRevive);let Q=null;if(T&&T.index!==void 0&&T.index<this.resources.length)Q=this.resources[T.index],this.resources.splice(T.index,0,U),N={type:"open",resource:U,index:T.index};else if(this.currentResource){const $=this.resources.indexOf(this.currentResource);this.resources.splice($+1,0,U),N={type:"open",resource:U,index:$+1},Q=this.currentResource}else this.resources.push(U),N={type:"open",resource:U,index:this.resources.length-1};k&&(this.previewURI&&await this.close(this.previewURI,{treatAsNotCurrent:!0,force:T.forceClose}),this.previewURI=U.uri),T.replace&&Q&&await this.close(Q.uri,{treatAsNotCurrent:!0,force:T.forceClose})}if(T.backend)return this.notifyTabChanged(),!1;if(L&&this.resourceOpenHistory[this.resourceOpenHistory.length-1]!==L.uri){this.resourceOpenHistory.push(L.uri);const Q=(O=this.currentCodeEditor)===null||O===void 0?void 0:O.getSelections();Q&&Q.length>0&&this.recentFilesManager.updateMostRecentlyOpenedFile(L.uri.toString(),{lineNumber:Q[0].selectionStartLineNumber,column:Q[0].selectionStartColumn})}this._currentOpenType=null,this._currentResource=U;const W=this.reporterService.time(v.REPORT_NAME.EDITOR_REACTIVE);x=new v.Deferred,this.resourceStatus.set(U,x.promise);const j=setTimeout(()=>{this.notifyTabLoading(U)},60);this.notifyTabChanged(),this.notifyBodyChanged();try{await this.displayResourceComponent(U,T)}finally{N&&this._onDidEditorGroupTabOperation.fire(N)}return this._currentOrPreviousFocusedEditor=this.currentEditor,clearTimeout(j),x.resolve(),W.timeEnd(U.uri.toString()),this._onDidEditorFocusChange.fire(),this.setContextKeys(),this.eventBus.fire(new E.EditorGroupOpenEvent({group:this,resource:U})),this.locationInTree(T,w),this.eventBus.fire(new E.EditorGroupChangeEvent({group:this,newOpenType:this.currentOpenType,newResource:this.currentResource,oldOpenType:F,oldResource:L})),{group:this,resource:U}}}catch(k){return(0,v.getDebugLogger)().error(k),x&&x.reject(),(0,d.isEditorError)(k,d.EditorTabChangedError)||this.messageService.error((0,v.formatLocalize)("editor.failToOpen",w.displayName,k.message),[],!0),!1}}locationInTree(w,T){w?.backend||(w?.disableNavigate||this.locateInFileTree(T),w.disableNavigateOnOpendEditor||this.locateInOpenedEditor(T))}locateInFileTree(w){this.explorerAutoRevealConfig&&this.commands.tryExecuteCommand(o.FILE_COMMANDS.LOCATION.id,w)}locateInOpenedEditor(w){this.explorerAutoRevealConfig&&this.commands.tryExecuteCommand(o.OPEN_EDITORS_COMMANDS.LOCATION.id,w)}async openUris(w){for(const T of w)await this.open(T)}async getDocumentModelRef(w){const T=w.toString();return this.holdDocumentModelRefs.has(T)||this.holdDocumentModelRefs.set(T,await this.documentModelManager.createModelReference(w,"editor-group-"+this.name)),this.holdDocumentModelRefs.get(T)}disposeDocumentRef(w){if(w.scheme==="diff"){const T=w.getParsedQuery();this.doDisposeDocRef(new v.URI(T.original)),this.doDisposeDocRef(new v.URI(T.modified))}else w.scheme==="mergeEditor"?this.mergeEditor&&this.mergeEditor.dispose():this.doDisposeDocRef(w)}doDisposeDocRef(w){const T=w.toString();this.holdDocumentModelRefs.has(T)&&(this.holdDocumentModelRefs.get(T).dispose(),this.holdDocumentModelRefs.delete(T))}async openCodeEditor(w,T){this.resolveTabChanged(w,this.currentResource),await this.codeEditorReady.onceReady(async()=>{var R;const M=await this.getDocumentModelRef(w.uri);if(await this.codeEditor.open(M),T.range){const O=new p.Range(T.range.startLineNumber,T.range.startColumn,T.range.endLineNumber,T.range.endColumn);this.codeEditor.monacoEditor.setSelection(O),T.revealRangeInCenter&&setTimeout(()=>{this.codeEditor.monacoEditor.revealRangeInCenter(O,1)})}if(queueMicrotask(()=>{T.scrollTop&&this.codeEditor.monacoEditor.setScrollTop(T.scrollTop),T.scrollLeft&&this.codeEditor.monacoEditor.setScrollLeft(T.scrollLeft)}),T.focus){const O=this.getPreventScrollOption(T);(R=this._domNode)===null||R===void 0||R.focus({preventScroll:O});const x=this.eventBus.on(E.CodeEditorDidVisibleEvent,k=>{var F;if(k.payload.groupName===this.name&&k.payload.type===E.EditorOpenType.code){if(x.dispose(),this.disposed||this!==this.workbenchEditorService.currentEditorGroup)return;if(this.currentEditor===this.codeEditor&&(!((F=this.codeEditor.currentUri)===null||F===void 0)&&F.isEqual(w.uri)))try{this.codeEditor.focus()}catch{}}})}M.instance.dirty&&this.pinPreviewed(w.uri)})}async openDiffEditor(w,T){this.diffEditor||await this.diffEditorDomReady.onceReady(()=>{var x;const k=document.createElement("div");(x=this._diffEditorDomNode)===null||x===void 0||x.appendChild(k),this.createDiffEditor(k)});const R=w,[M,O]=await Promise.all([this.getDocumentModelRef(R.metadata.original),this.getDocumentModelRef(R.metadata.modified)]);await this.diffEditorReady.onceReady(async()=>{var x;if(!(!M||!O)&&(await this.diffEditor.compare(M,O,T,w.uri),T.focus)){const k=this.getPreventScrollOption(T);(x=this._domNode)===null||x===void 0||x.focus({preventScroll:k});const F=this.eventBus.on(E.CodeEditorDidVisibleEvent,L=>{if(L.payload.groupName===this.name&&L.payload.type===E.EditorOpenType.diff){if(F.dispose(),this.disposed||this!==this.workbenchEditorService.currentEditorGroup)return;if(this.currentEditor===this.diffEditor.modifiedEditor)try{this.diffEditor.focus()}catch{}}})}})}async openMergeEditor(w){const{metadata:T}=w;if(!T)return;this.mergeEditor||await this.mergeEditorDomReady.onceReady(()=>{var j;const Q=document.createElement("div");(j=this._mergeEditorDomNode)===null||j===void 0||j.appendChild(Q),this.createMergeEditor(Q)});const{ancestor:R,input1:M,input2:O,output:x}=T,k=_.MergeEditorInputData.from(M),F=_.MergeEditorInputData.from(O),[L,N,U,W]=await Promise.all([this.getDocumentModelRef(v.URI.parse(R)),this.getDocumentModelRef(k.uri),this.getDocumentModelRef(v.URI.parse(x)),this.getDocumentModelRef(F.uri)]);await this.mergeEditorReady.onceReady(async()=>{await this.mergeEditor.open({ancestor:{uri:v.URI.parse(T.ancestor),textModel:L.instance.getMonacoModel(),baseContent:L.instance.baseContent||""},input1:k.setTextModel(N.instance.getMonacoModel()),input2:F.setTextModel(W.instance.getMonacoModel()),output:{uri:v.URI.parse(T.output),textModel:U.instance.getMonacoModel()}})})}async openCustomEditor(w,T){const R=this.editorComponentRegistry.getEditorComponent(T),M=this.editorComponentRegistry.getEditorInitialProps(T);if(R){if(this.activateComponentsProps.set(R,M),R.renderMode===E.EditorComponentRenderMode.ONE_PER_RESOURCE){const O=this.activeComponents.get(R)||[];O.findIndex(k=>k.uri.toString()===w.uri.toString())===-1&&O.push(w),this.activeComponents.set(R,O)}else if(R.renderMode===E.EditorComponentRenderMode.ONE_PER_GROUP)this.activeComponents.set(R,[w]);else if(R.renderMode===E.EditorComponentRenderMode.ONE_PER_WORKBENCH){const O=[];this.workbenchEditorService.editorGroups.forEach(x=>{if(x===this)return;const k=x.resources.find(F=>F.uri.isEqual(w.uri));k&&O.push(x.close(k.uri))}),await Promise.all(O).catch((0,v.getDebugLogger)().error),this.activeComponents.set(R,[w])}}else throw new Error("Cannot find Editor Component with id: "+T);this._onCurrentEditorCursorChange.fire({position:null,selectionLength:0})}async displayResourceComponent(w,T){T.revealRangeInCenter===void 0&&(T.revealRangeInCenter=!0);const R=w,M=await this.resolveOpenType(w,T);if(M){const{activeOpenType:O,openTypes:x}=M;switch(this.availableOpenTypes=x,T.preserveFocus&&(T.focus=!1),O.type){case E.EditorOpenType.code:await this.openCodeEditor(w,T);break;case E.EditorOpenType.diff:await this.openDiffEditor(w,T);break;case E.EditorOpenType.multiDiff:await this.openMultiDiffEditor(w,T);break;case E.EditorOpenType.mergeEditor:await this.openMergeEditor(w);break;case E.EditorOpenType.component:await this.openCustomEditor(w,O.componentId);break;default:return}this.resolveTabChanged(R,this.currentResource),this._currentOpenType=O,this.notifyBodyChanged(),this.doLayoutEditors(),this.cachedResourcesActiveOpenTypes.set(w.uri.toString(),O)}}resolveTabChanged(w,T){if(w!==T)throw new d.EditorTabChangedError}getLastOpenType(w){return this.cachedResourcesActiveOpenTypes.get(w.uri.toString())}async resolveOpenType(w,T){const R=this.cachedResourcesOpenTypes.get(w.uri.toString())||await this.editorComponentRegistry.resolveEditorComponent(w),M=this.preferenceService.get("workbench.editorAssociations"),O=S(R,this.cachedResourcesActiveOpenTypes.get(w.uri.toString()),w,M,T.forceOpenType);return this.cachedResourcesOpenTypes.set(w.uri.toString(),R),{activeOpenType:O,openTypes:R}}async close(w,{treatAsNotCurrent:T,force:R}={}){const M=this.resources.findIndex(O=>O.uri.toString()===w.toString());if(M!==-1){const O=this.resources[M];if(!R&&!await this.shouldClose(O))return!1;if(this.resources.splice(M,1),this._onDidEditorGroupTabOperation.fire({type:"close",resource:O,index:M}),this.eventBus.fire(new E.EditorGroupCloseEvent({group:this,resource:O})),this.previewURI&&this.previewURI.isEqual(w)&&(this.previewURI=null),O===this.currentResource&&!T){let x;for(;this.resourceOpenHistory.length>0;)if(this.resources.findIndex(k=>k.uri===this.resourceOpenHistory[this.resourceOpenHistory.length-1])!==-1){x=this.resourceOpenHistory.pop();break}else this.resourceOpenHistory.pop();if(x)this.open(x);else{let k=M;for(;k>0&&!this.resources[k];)k--;this.resources[k]?this.open(this.resources[k].uri):this.backToEmpty()}}else this.notifyTabChanged();this.removeResouceFromActiveComponents(O),this.disposeDocumentRef(w)}return this.resources.length===0&&(this.grid.parent&&this.dispose(),this.availableOpenTypes=[]),!0}removeResouceFromActiveComponents(w){this.activeComponents.forEach((T,R)=>{const M=T.indexOf(w);M!==-1&&(T.splice(M,1),this.eventBus.fire(new E.ResoucesOfActiveComponentChangedEvent({component:R,resources:T})))})}async shouldClose(w){const T=this.workbenchEditorService.editorGroups.map(R=>R.resources);if(await this.resourceService.shouldCloseResource(w,T)){let R=0;for(const M of T)for(const O of M)if(O.uri.isEqual(w.uri)&&(R++,R>=2))break;return R<=1&&this.resourceService.disposeResource(w),!0}else return!1}backToEmpty(){const w=this._currentOpenType,T=this._currentResource;this._currentResource=null,this.resetOpenType(),this.notifyTabChanged(),this.notifyBodyChanged(),this._currentOrPreviousFocusedEditor=null,this._onDidEditorFocusChange.fire(),this.eventBus.fire(new E.EditorGroupChangeEvent({group:this,newOpenType:this.currentOpenType,newResource:this.currentResource,oldOpenType:w,oldResource:T}))}async closeAll(){for(const T of this.resources)if(!await this.shouldClose(T))return!1;return this.resources.splice(0,this.resources.length).reverse().forEach((T,R)=>{this.clearResourceOnClose(T),this._onDidEditorGroupTabOperation.fire({type:"close",resource:T,index:R})}),this.activeComponents.clear(),this.workbenchEditorService.editorGroups.length>1&&this.dispose(),this.previewURI=null,this.backToEmpty(),!0}async closeSaved(){const w=this.resources.filter(T=>{const R=this.resourceService.getResourceDecoration(T.uri);if(!R||!R.dirty)return!0});for(const T of w)if(!await this.shouldClose(T))return;for(const T of w)await this.close(T.uri)}async closeToRight(w){const T=this.resources.findIndex(R=>R.uri.toString()===w.toString());if(T!==-1){const R=this.resources.slice(T+1);for(const M of R)if(!await this.shouldClose(M))return;this.resources.splice(T+1),R.reverse().forEach((M,O)=>{this._onDidEditorGroupTabOperation.fire({type:"close",resource:M,index:T+1+(R.length-1-O)})});for(const M of R)this.clearResourceOnClose(M);this.open(w)}}clearResourceOnClose(w){this.eventBus.fire(new E.EditorGroupCloseEvent({group:this,resource:w})),this.removeResouceFromActiveComponents(w)}async closeOthers(w){const T=this.resources.findIndex(R=>R.uri.toString()===w.toString());if(T!==-1){const R=this.resources.filter((O,x)=>x!==T);for(const O of R)if(!await this.shouldClose(O))return;const M=this.resources;this.resources=[this.resources[T]],R.reverse().forEach(O=>{this._onDidEditorGroupTabOperation.fire({type:"close",resource:O,index:M.indexOf(O)})});for(const O of R)this.clearResourceOnClose(O);await this.open(w)}}get currentResource(){return this._currentResource}get currentOpenType(){return this._currentOpenType}async changeOpenType(w){const T=this.availableOpenTypes.find(M=>M.type===w||M.componentId===w);if(!T||!this.currentResource||D(T,this.currentOpenType))return;const R=this.currentOpenType;await this.displayResourceComponent(this.currentResource,{forceOpenType:T}),this.eventBus.fire(new E.EditorGroupChangeEvent({group:this,newOpenType:this.currentOpenType,newResource:this.currentResource,oldOpenType:R,oldResource:this.currentResource}))}async dropUri(w,T,R,M){if(T!==E.DragOverPosition.CENTER)await this.split((0,a.getSplitActionFromDragDrop)(T),w,{preview:!1,focus:!0});else if(!M)await this.open(w,{preview:!1,focus:!0});else{const O=this.resources.indexOf(M);if(O===-1)await this.open(w,{preview:!1,focus:!0});else{const x=this.resources.findIndex(k=>k.uri.toString()===w.toString());if(x===-1)await this.open(w,{index:O,preview:!1});else{const k=this.resources[x];x>O?(this.resources.splice(x,1),this.resources.splice(O,0,k),this._onDidEditorGroupTabOperation.fire({type:"move",resource:k,oldIndex:x,index:O}),await this.open(w,{preview:!1})):x<O&&(this.resources.splice(O+1,0,k),this.resources.splice(x,1),this._onDidEditorGroupTabOperation.fire({type:"move",resource:k,oldIndex:x,index:O}),await this.open(w,{preview:!1}))}}}R&&(R!==this?await R.close(w):T!==E.DragOverPosition.CENTER&&await this.close(w))}gainFocus(){this.workbenchEditorService.setCurrentGroup(this)}focus(){this.gainFocus(),this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code&&this.codeEditor.focus(),this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.diff&&this.diffEditor.focus()}dispose(){var w;(w=this.grid)===null||w===void 0||w.dispose(),this.workbenchEditorService.removeGroup(this),super.dispose(),this.codeEditor&&this.codeEditor.dispose(),this.diffEditor&&this.diffEditor.dispose(),this.multiDiffEditor&&this.multiDiffEditor.dispose(),this.toDispose.forEach(T=>T.dispose()),this.eventBus.fire(new E.EditorGroupDisposeEvent({group:this}))}getState(){const w=this.resources.filter(y).map(T=>T.uri.toString());return{uris:w,current:this.currentResource&&y(this.currentResource)?this.currentResource.uri.toString():void 0,previewIndex:this.previewURI?w.indexOf(this.previewURI.toString()):-1}}isCodeEditorMode(){return!!this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.code}isDiffEditorMode(){return!!this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.diff}isMultiDiffEditorMode(){return!!this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.multiDiff}activeEditorIsDirty(){return this.hasDirty()&&this.workbenchEditorService.currentEditorGroup===this}isComponentMode(){return!!this.currentOpenType&&this.currentOpenType.type===E.EditorOpenType.component}async restoreState(w){this._restoringState=!0,this.previewURI=w.uris[w.previewIndex]?new v.URI(w.uris[w.previewIndex]):null;for(const R of w.uris)await this.doOpen(new v.URI(R),{disableNavigate:!0,backend:!0,preview:!1,deletedPolicy:"skip"});let T;w.current?T=new v.URI(w.current):w.uris.length>0&&(T=new v.URI(w.uris[w.uris.length-1])),T&&(await this.open(T,{deletedPolicy:"skip"})||this.resources[0]&&await this.open(this.resources[0].uri)),this._restoringState=!1,this.notifyTabChanged()}async saveAll(w,T){for(const R of this.resources)!w&&R.uri.scheme===v.Schemes.untitled||await this.saveResource(R,T)}async saveResource(w,T=a.SaveReason.Manual){if(await this.saveByOpenType(w,T))return;const R=this.documentModelManager.getModelReference(w.uri);R&&(await R.instance.save(void 0,T),R.dispose())}async saveByOpenType(w,T){const R=this.cachedResourcesActiveOpenTypes.get(w.uri.toString());if(R&&R.saveResource)try{return await R.saveResource(w,T),!0}catch(M){this.logger.error(M)}return!1}async saveCurrent(w=a.SaveReason.Manual){const T=this.currentResource;if(T&&!await this.saveByOpenType(T,w)&&this.currentEditor)return this.currentEditor.save()}hasDirty(){for(const w of this.resources){const T=this.documentModelManager.getModelDescription(w.uri);if(T&&T.dirty)return!0}return!1}calcDirtyCount(w=new Set){let T=0;for(const R of this.resources){const M=this.documentModelManager.getModelDescription(R.uri,"calc-dirty-count");w.has(R.uri.toString())||(w.add(R.uri.toString()),M&&M.dirty&&(T+=1))}return T}componentUndo(){const w=this.currentOpenType;w?.undo&&w.undo(this.currentResource)}componentRedo(){const w=this.currentOpenType;w?.redo&&w.redo(this.currentResource)}toJSON(){return{name:this.name}}attachMultiDiffEditorDom(w){this._multiDiffEditorDomNodeAttached||(this._multiDiffEditorDomNode=w,this.multiDiffEditorDomReady.ready(),this._multiDiffEditorDomNodeAttached=!0)}createMultiDiffEditor(w){const T=this.collectionService.createMultiDiffEditor(w,{},{[o.ServiceNames.CONTEXT_KEY_SERVICE]:this.contextKeyService.contextKeyService});this.multiDiffEditor=T}async openMultiDiffEditor(w,T){this.multiDiffEditor||await this.multiDiffEditorDomReady.onceReady(()=>{var R;const M=document.createElement("div");(R=this._multiDiffEditorDomNode)===null||R===void 0||R.appendChild(M),this.createMultiDiffEditor(M)}),await this.multiDiffEditor.compareMultiple(this.multiDiffEditor,w,T)}};t.EditorGroup=A,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",a.EditorCollectionService)],A.prototype,"collectionService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",a.ResourceService)],A.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",E.EditorComponentRegistry)],A.prototype,"editorComponentRegistry",void 0),n.__decorate([(0,r.Autowired)(a.WorkbenchEditorService),n.__metadata("design:type",b)],A.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(h.IEditorDocumentModelService),n.__metadata("design:type",Object)],A.prototype,"documentModelManager",void 0),n.__decorate([(0,r.Autowired)(v.CommandService),n.__metadata("design:type",Object)],A.prototype,"commands",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],A.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.RecentFilesManager),n.__metadata("design:type",o.RecentFilesManager)],A.prototype,"recentFilesManager",void 0),n.__decorate([(0,r.Autowired)(s.IMessageService),n.__metadata("design:type",Object)],A.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(v.IReporterService),n.__metadata("design:type",Object)],A.prototype,"reporterService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],A.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(o.IOpenerService),n.__metadata("design:type",Object)],A.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(v.ILogger),n.__metadata("design:type",Object)],A.prototype,"logger",void 0),n.__decorate([(0,v.OnEvent)(a.ResourceDecorationChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[a.ResourceDecorationChangeEvent]),n.__metadata("design:returntype",void 0)],A.prototype,"onResourceDecorationChangeEvent",null),n.__decorate([(0,v.OnEvent)(E.ResourceOpenTypeChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.ResourceOpenTypeChangedEvent]),n.__metadata("design:returntype",void 0)],A.prototype,"oResourceOpenTypeChangedEvent",null),n.__decorate([(0,v.OnEvent)(E.RegisterEditorComponentEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],A.prototype,"onRegisterEditorComponentEvent",null),t.EditorGroup=A=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Number])],A);function S(I,w,T,R,M){if(M)return I.find(O=>D(O,M))||I[0];if(w)return I.find(O=>D(O,w))||I[0];if(R){const O=I.find(x=>{const k=Object.keys(R).find(N=>(0,v.match)(N,T.uri.path.toString().toLowerCase())||(0,v.match)(N,T.uri.path.base.toLowerCase())),F=k&&R[k];if(!F)return!1;const L=`${v.CUSTOM_EDITOR_SCHEME}-${F}`;return x.componentId===L});if(O)return O}return I[0]}function D(I,w){return I.type===w.type&&(I.type!==E.EditorOpenType.component||I.componentId===w.componentId)}},94180:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabbarLeftExtraContentId=t.TabbarRightExtraContentId=void 0,t.TabbarRightExtraContentId="tabbar-right-extra-content",t.TabbarLeftExtraContentId="tabbar-left-extra-content"},93107:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDocPersistentCacheProvider=void 0,t.isDocContentCache=e,t.isDocChangesCache=n,t.parseCacheValueFrom=r,t.IDocPersistentCacheProvider=Symbol("IDocPersistentCacheProvider");function e(o){return o.hasOwnProperty("content")}function n(o){return o.hasOwnProperty("changeMatrix")}function r(o){const l=o.text,_=o.range.startLineNumber,v=o.range.startColumn,m=o.range.endLineNumber,p=o.range.endColumn;return[l,_,v,m,p]}},55113:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AUTO_SAVE_MODE=t.SaveReason=t.Direction=t.EditorGroupSplitAction=t.DragOverPosition=t.EditorOpenType=t.IEditorPriority=t.OverviewRulerLane=t.WorkbenchEditorService=t.DidApplyEditorDecorationFromProvider=t.DidChangeEditorGroupUriEvent=t.CollectionEditorsUpdateEvent=t.EditorCollectionService=t.EditorType=t.ShowLightbulbIconMode=void 0,t.getSimpleEditorOptions=b,t.isTextEditorViewState=A;const n=e(85608),r=e(76003),o=e(43718);var l=e(20868);Object.defineProperty(t,"ShowLightbulbIconMode",{enumerable:!0,get:function(){return l.ShowLightbulbIconMode}});var _;(function(S){S[S.CODE=0]="CODE",S[S.ORIGINAL_DIFF=1]="ORIGINAL_DIFF",S[S.MODIFIED_DIFF=2]="MODIFIED_DIFF",S.MERGE_EDITOR_DIFF="MERGE_EDITOR_DIFF"})(_||(t.EditorType=_={}));let v=class{};t.EditorCollectionService=v,t.EditorCollectionService=v=n.__decorate([(0,r.Injectable)()],v);class m extends o.BasicEvent{}t.CollectionEditorsUpdateEvent=m;class p extends o.BasicEvent{}t.DidChangeEditorGroupUriEvent=p;class s extends o.BasicEvent{}t.DidApplyEditorDecorationFromProvider=s;class g{}t.WorkbenchEditorService=g;var a;(function(S){S[S.Left=1]="Left",S[S.Center=2]="Center",S[S.Right=4]="Right",S[S.Full=7]="Full"})(a||(t.OverviewRulerLane=a={}));var h;(function(S){S.builtin="builtin",S.option="option",S.exclusive="exclusive",S.default="default"})(h||(t.IEditorPriority=h={}));var d;(function(S){S.code="code",S.diff="diff",S.mergeEditor="mergeEditor",S.component="component",S.multiDiff="multiDiff"})(d||(t.EditorOpenType=d={}));var u;(function(S){S.LEFT="left",S.RIGHT="right",S.TOP="top",S.BOTTOM="bottom",S.CENTER="center"})(u||(t.DragOverPosition=u={}));var E;(function(S){S[S.Top=1]="Top",S[S.Bottom=2]="Bottom",S[S.Left=3]="Left",S[S.Right=4]="Right"})(E||(t.EditorGroupSplitAction=E={}));var f;(function(S){S.UP="up",S.DOWN="down",S.LEFT="left",S.RIGHT="right"})(f||(t.Direction=f={}));var c;(function(S){S[S.Manual=1]="Manual",S[S.AfterDelay=2]="AfterDelay",S[S.FocusOut=3]="FocusOut"})(c||(t.SaveReason=c={}));var y;(function(S){S.OFF="off",S.AFTER_DELAY="afterDelay",S.EDITOR_FOCUS_CHANGE="editorFocusChange",S.WINDOWS_LOST_FOCUS="windowLostFocus"})(y||(t.AUTO_SAVE_MODE=y={}));function b(){return{fontSize:12,fontWeight:"normal",lineHeight:0,wordWrap:"on",overviewRulerLanes:0,glyphMargin:!1,lineNumbers:"off",folding:!1,selectOnLineNumbers:!1,hideCursorInOverviewRuler:!0,selectionHighlight:!1,scrollbar:{horizontal:"hidden"},lineDecorationsWidth:0,overviewRulerBorder:!1,scrollBeyondLastLine:!1,renderLineHighlight:"none",fixedOverflowWidgets:!0,acceptSuggestionOnEnter:"smart",minimap:{enabled:!1},guides:{highlightActiveIndentation:!1,indentation:!1,bracketPairs:!1}}}function A(S){const D=S;if(!D)return!1;const I=D;if(I.modified)return A(I.modified);const w=D;return!!(w.contributionsState&&w.viewState&&Array.isArray(w.cursorState))}},23418:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(94180),t),n.__exportStar(e(93107),t),n.__exportStar(e(55113),t),n.__exportStar(e(23950),t),n.__exportStar(e(27693),t),n.__exportStar(e(46225),t),n.__exportStar(e(4308),t),n.__exportStar(e(39467),t)},27693:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ILanguageStatusService=void 0,t.ILanguageStatusService=Symbol("ILanguageStatusService")},23950:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticTag=t.DiagnosticSeverity=t.ILanguageService=void 0,t.asSeverity=l,t.asRelatedInformations=_,t.asRelatedInformation=v,t.asMonacoDiagnostics=m,t.asMonacoDiagnostic=p;const n=e(43718);t.ILanguageService=Symbol("ILanguageService");var r;(function(s){s[s.Error=1]="Error",s[s.Warning=2]="Warning",s[s.Information=3]="Information",s[s.Hint=4]="Hint"})(r||(t.DiagnosticSeverity=r={}));var o;(function(s){s[s.Unnecessary=1]="Unnecessary",s[s.Deprecated=2]="Deprecated"})(o||(t.DiagnosticTag=o={}));function l(s){return s===1?n.MarkerSeverity.Error:s===2?n.MarkerSeverity.Warning:s===3?n.MarkerSeverity.Info:n.MarkerSeverity.Hint}function _(s){if(s)return s.map(g=>v(g))}function v(s){return{resource:n.Uri.parse(s.location.uri),startLineNumber:s.location.range.start.line+1,startColumn:s.location.range.start.character+1,endLineNumber:s.location.range.end.line+1,endColumn:s.location.range.end.character+1,message:s.message}}function m(s){if(s)return s.map(g=>p(g))}function p(s){return{code:typeof s.code=="number"?s.code.toString():typeof s.code=="object"?{value:s.code.value.toString(),target:s.code.target}:s.code,severity:l(s.severity),message:s.message,source:s.source,startLineNumber:s.range.start.line+1,startColumn:s.range.start.character+1,endLineNumber:s.range.end.line+1,endColumn:s.range.end.character+1,relatedInformation:_(s.relatedInformation),tags:s.tags}}},64335:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MultiDiffEditorItem=t.IMultiDiffSourceResolverService=t.MULTI_DIFF_SCHEME=void 0,t.MULTI_DIFF_SCHEME="multi-diff-editor",t.IMultiDiffSourceResolverService=Symbol("IMultiDiffSourceResolverService");class e{constructor(r,o,l,_){if(this.originalUri=r,this.modifiedUri=o,this.goToFileUri=l,this.contextKeys=_,!r&&!o)throw new Error("Invalid arguments")}getKey(){var r,o;return JSON.stringify([(r=this.modifiedUri)===null||r===void 0?void 0:r.toString(),(o=this.originalUri)===null||o===void 0?void 0:o.toString()])}}t.MultiDiffEditorItem=e},46225:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.notebookCellScheme=t.INotebookService=t.CellKind=t.NotebookCellsChangeType=void 0;var e;(function(r){r[r.ModelChange=1]="ModelChange",r[r.Move=2]="Move",r[r.ChangeCellLanguage=5]="ChangeCellLanguage",r[r.Initialize=6]="Initialize",r[r.ChangeCellMetadata=7]="ChangeCellMetadata",r[r.Output=8]="Output",r[r.OutputItem=9]="OutputItem",r[r.ChangeCellContent=10]="ChangeCellContent",r[r.ChangeDocumentMetadata=11]="ChangeDocumentMetadata",r[r.ChangeCellInternalMetadata=12]="ChangeCellInternalMetadata",r[r.ChangeCellMime=13]="ChangeCellMime",r[r.Unknown=100]="Unknown"})(e||(t.NotebookCellsChangeType=e={}));var n;(function(r){r[r.Markup=1]="Markup",r[r.Code=2]="Code"})(n||(t.CellKind=n={})),t.INotebookService=Symbol("INotebookService"),t.notebookCellScheme="vscode-notebook-cell"},4308:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AskSaveResult=t.DIFF_SCHEME=t.ResourceDecorationNeedChangeEvent=t.ResourceDecorationChangeEvent=t.ResourceRemoveEvent=t.ResourceDidUpdateEvent=t.ResourceNeedUpdateEvent=t.ResourceService=void 0,t.isDiffResource=p;const n=e(43718);class r{}t.ResourceService=r;class o extends n.BasicEvent{}t.ResourceNeedUpdateEvent=o;class l extends n.BasicEvent{}t.ResourceDidUpdateEvent=l;class _ extends n.BasicEvent{}t.ResourceRemoveEvent=_;class v extends n.BasicEvent{}t.ResourceDecorationChangeEvent=v;class m extends n.BasicEvent{}t.ResourceDecorationNeedChangeEvent=m,t.DIFF_SCHEME="diff";function p(g){return g.uri.scheme===t.DIFF_SCHEME}var s;(function(g){g[g.REVERT=1]="REVERT",g[g.SAVE=2]="SAVE",g[g.CANCEL=3]="CANCEL"})(s||(t.AskSaveResult=s={}))},39467:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSplitActionFromDragDrop=r;const n=e(55113);function r(o){return{[n.DragOverPosition.LEFT]:n.EditorGroupSplitAction.Left,[n.DragOverPosition.RIGHT]:n.EditorGroupSplitAction.Right,[n.DragOverPosition.BOTTOM]:n.EditorGroupSplitAction.Bottom,[n.DragOverPosition.TOP]:n.EditorGroupSplitAction.Top}[o]}},54414:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(23418),t)},32595:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExplorerContribution=t.EXPLORER_CONTAINER_ID=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144);Object.defineProperty(t,"EXPLORER_CONTAINER_ID",{enumerable:!0,get:function(){return l.EXPLORER_CONTAINER_ID}});const _=e(21634),v=e(68456),m=e(43718);let p=class{registerComponent(g){g.register("@opensumi/ide-explorer",[],{iconClass:(0,o.getIcon)("explorer"),title:(0,o.localize)("explorer.title"),priority:10,containerId:l.EXPLORER_CONTAINER_ID,activateKeyBinding:"ctrlcmd+shift+e"})}onStart(){this.extensionsSchemaService.appendExtensionPoint(["browserViews","properties"],{extensionPoint:l.EXPLORER_CONTAINER_ID,frameworkKind:["opensumi"],jsonSchema:{..._.browserViews.properties,description:(0,o.formatLocalize)("sumiContributes.browserViews.location.custom",(0,o.localize)("explorer.title"))}})}};t.ExplorerContribution=p,n.__decorate([(0,r.Autowired)(m.IExtensionsSchemaService),n.__metadata("design:type",Object)],p.prototype,"extensionsSchemaService",void 0),t.ExplorerContribution=p=n.__decorate([(0,o.Domain)(o.ClientAppContribution,v.ComponentContribution)],p)},59027:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExplorerModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(32595);let _=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[l.ExplorerContribution]}};t.ExplorerModule=_,t.ExplorerModule=_=n.__decorate([(0,r.Injectable)()],_)},18531:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressFileServerContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(32242),_=e(90242);let v=class{registerStaticResolver(p){p.registerStaticResourceProvider({scheme:o.Schemes.file,resolveStaticResource:s=>{const g=new o.URI(this.appConfig.staticServicePath||_.EXPRESS_SERVER_PATH),[a,h]=s.codeUri.path.split("?");return g.resolve(`assets${decodeURIComponent(a)}`).withQuery(h)},roots:[this.appConfig.staticServicePath||_.EXPRESS_SERVER_PATH]})}};t.ExpressFileServerContribution=v,n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],v.prototype,"appConfig",void 0),t.ExpressFileServerContribution=v=n.__decorate([(0,o.Domain)(l.StaticResourceContribution)],v)},98885:(P,t,e)=>{"use strict";var n;n={value:!0},t.Q=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(18531);let v=class extends l.BrowserModule{constructor(){super(...arguments),this.providers=[_.ExpressFileServerContribution]}};t.Q=v,t.Q=v=r.__decorate([(0,o.Injectable)()],v)},90242:(P,t,e)=>{"use strict";var n=e(39907);Object.defineProperty(t,"__esModule",{value:!0}),t.ALLOW_MIME=t.EXPRESS_SERVER_PATH=t.EXPRESS_SERVER_PORT=void 0,t.EXPRESS_SERVER_PORT=8e3,t.EXPRESS_SERVER_PATH=n.env.STATIC_SERVER_PATH||`http://127.0.0.1:${t.EXPRESS_SERVER_PORT}/`,t.ALLOW_MIME={gif:"image/gif",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",webp:"image/webp",svg:"image/svg+xml",ttf:"font/ttf",eot:"font/eot",otf:"font/otf",woff:"font/woff",woff2:"font/woff2",js:"application/javascript",css:"text/css",mp4:"video/mp4",ogg:"video/ogg",webm:"video/webm"}},21082:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EXTENSION_SCHEME=t.OPEN_VSX_EXTENSION_MANAGER_CONTAINER_ID=void 0;const n=e(30144);t.OPEN_VSX_EXTENSION_MANAGER_CONTAINER_ID=n.EXTENSION_CONTAINER_ID,t.EXTENSION_SCHEME="extension"},6449:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionOverview=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(68974),_=e(95422),v=e(43718),m=e(93374),p=e(29150),s=n.__importDefault(e(40769));var g;(function(d){d.details="Details",d.changelog="ChangeLog",d.deps="Dependencies"})(g||(g={}));const a=[g.details,g.changelog,g.deps],h=({resource:d})=>{var u,E,f,c,y,b,A,S,D,I,w,T,R,M,O,x,k,F,L,N,U,W,j,Q,$;const Z=(0,_.useInjectable)(p.VSXExtensionServiceToken),[G,V]=(0,r.useState)(!0),[H,K]=(0,r.useState)(((u=d.metadata)===null||u===void 0?void 0:u.state)===p.InstallState.INSTALLED?4:0),[Y,X]=(0,r.useState)(g.details),[re,oe]=(0,r.useState)({}),he=(0,r.useCallback)(te=>{const fe=a[te];fe&&X(fe)},[]),me=(0,r.useCallback)(async()=>{var te;const fe=await Z.getRemoteRawExtension((te=d.metadata)===null||te===void 0?void 0:te.extensionId);if(fe){const Oe=["readme","changelog"].map(Be=>{var De,_e;const Ne=(De=fe.files)===null||De===void 0?void 0:De[Be];return Ne?fetch(Ne).then(Te=>Te.text()):(_e=fe[Be])!==null&&_e!==void 0?_e:""}),[Me,Pe]=await Promise.all(Oe);oe({readme:Me,changelog:Pe,downloadCount:fe.downloadCount})}V(!1)},[d]),q=(0,r.useCallback)(async()=>{var te;const fe=await Z.getLocalExtension((te=d.metadata)===null||te===void 0?void 0:te.extensionId);fe&&(K(1),Z.install(fe).finally(()=>{K(4)}))},[d]),Ae=(0,r.useCallback)(async()=>{var te;const fe=await Z.getLocalExtension((te=d.metadata)===null||te===void 0?void 0:te.extensionId);fe&&(K(2),Z.uninstall(fe).finally(()=>{K(3)}))},[d]);(0,r.useEffect)(()=>{me()},[d]);const ge=(0,r.useMemo)(()=>{var te,fe,Oe;const Me=[];if(((te=d.metadata)===null||te===void 0?void 0:te.state)!==p.InstallState.NOT_INSTALLED)if(H!==3)Me.push(r.default.createElement(o.Button,{size:"small",key:"uninstall",onClick:Ae,disabled:H===2},(0,v.localize)(H===2?"marketplace.extension.uninstalling":"marketplace.extension.uninstall")));else return Me.push(r.default.createElement(o.Button,{size:"small",key:"uninstalled",disabled:!0},(0,v.localize)("marketplace.extension.uninstalled"))),Me;return((fe=d.metadata)===null||fe===void 0?void 0:fe.state)===p.InstallState.NOT_INSTALLED?H===4?Me.push(r.default.createElement(o.Button,{size:"small",key:"installed",disabled:!0},(0,v.localize)("marketplace.extension.installed"))):Me.push(r.default.createElement(o.Button,{size:"small",key:"install",onClick:q,disabled:H!==0},(0,v.localize)(H===1?"marketplace.extension.installing":"marketplace.extension.install"))):((Oe=d.metadata)===null||Oe===void 0?void 0:Oe.state)===p.InstallState.SHOULD_UPDATE?H===4?Me.push(r.default.createElement(o.Button,{size:"small",key:"installed",disabled:!0},(0,v.localize)("marketplace.extension.installed"))):Me.push(r.default.createElement(o.Button,{size:"small",key:"update",onClick:q,disabled:H!==0},(0,v.localize)(H===1?"marketplace.extension.updating":"marketplace.extension.update"))):Me.push(r.default.createElement(o.Button,{size:"small",key:"installed",disabled:!0},(0,v.localize)("marketplace.extension.installed"))),Me},[d,H]);return r.default.createElement("div",{className:s.default.extension_overview_container},r.default.createElement(l.Progress,{loading:G}),r.default.createElement("div",{className:s.default.extension_overview_header},!((E=d.metadata)===null||E===void 0)&&E.iconUrl?r.default.createElement("img",{src:(f=d.metadata)===null||f===void 0?void 0:f.iconUrl,alt:(0,v.replaceLocalizePlaceholder)((c=d.metadata)===null||c===void 0?void 0:c.displayName,(y=d.metadata)===null||y===void 0?void 0:y.extensionId)}):r.default.createElement("div",{className:s.default.default_icon},r.default.createElement(o.Icon,{iconClass:(0,o.getIcon)("extension")})),r.default.createElement("div",{className:s.default.extension_detail},r.default.createElement("div",{className:s.default.extension_name},r.default.createElement("h1",null,r.default.createElement("a",{href:`${(b=d.metadata)===null||b===void 0?void 0:b.openVSXRegistry}/extension/${(A=d.metadata)===null||A===void 0?void 0:A.namespace.toLowerCase()}/${(S=d.metadata)===null||S===void 0?void 0:S.name.toLowerCase()}`,target:"_blank",rel:"noopener noreferrer"},(0,v.replaceLocalizePlaceholder)((D=d.metadata)===null||D===void 0?void 0:D.displayName,(I=d.metadata)===null||I===void 0?void 0:I.extensionId)||((w=d.metadata)===null||w===void 0?void 0:w.name))),r.default.createElement("span",{className:s.default.extension_id},((T=d.metadata)===null||T===void 0?void 0:T.namespace.toLowerCase())+"."+((R=d.metadata)===null||R===void 0?void 0:R.name.toLowerCase()))),r.default.createElement("div",{className:s.default.manifest},r.default.createElement("span",null,r.default.createElement("a",{href:(M=d.metadata)===null||M===void 0?void 0:M.namespaceUrl,target:"_blank",rel:"noopener noreferrer"},(O=d.metadata)===null||O===void 0?void 0:O.namespace)),r.default.createElement("span",null,r.default.createElement(o.Icon,{iconClass:(0,o.getIcon)("download")}),((x=d.metadata)===null||x===void 0?void 0:x.downloadCount)||re.downloadCount),((k=d.metadata)===null||k===void 0?void 0:k.averageRating)&&r.default.createElement("span",null,(F=d.metadata)===null||F===void 0?void 0:F.averageRating),((L=d.metadata)===null||L===void 0?void 0:L.repository)&&r.default.createElement("span",null,r.default.createElement("a",{href:(N=d.metadata)===null||N===void 0?void 0:N.repository,target:"blank"},"Repository")),((U=d.metadata)===null||U===void 0?void 0:U.license)&&r.default.createElement("span",null,r.default.createElement("a",{href:(W=d.metadata)===null||W===void 0?void 0:W.files.license,target:"blank"},"License")),r.default.createElement("span",null,"v",(j=d.metadata)===null||j===void 0?void 0:j.version)),r.default.createElement("div",{className:s.default.description},(0,v.replaceLocalizePlaceholder)((Q=d.metadata)===null||Q===void 0?void 0:Q.description,($=d.metadata)===null||$===void 0?void 0:$.extensionId)),r.default.createElement("div",{className:s.default.buttons},ge))),r.default.createElement("div",{className:s.default.extension_overview_body},r.default.createElement(o.Tabs,{className:s.default.tabs,value:Y,onChange:he,tabs:[g.details,g.changelog]}),r.default.createElement("div",{className:s.default.extension_content},Y===g.details&&re.readme&&r.default.createElement(m.Markdown,{content:re.readme}),Y===g.changelog&&re.changelog&&r.default.createElement(m.Markdown,{content:re.changelog}))))};t.ExtensionOverview=h},87791:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Extension=t.ExtensionViewType=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(43718),v=e(29150),m=n.__importDefault(e(90425));var p;(function(s){s[s.MARKETPLACE=0]="MARKETPLACE",s[s.INSTALLED=1]="INSTALLED"})(p||(t.ExtensionViewType=p={})),t.Extension=r.default.memo(({extension:s,onInstall:g,onClick:a,type:h,installedExtensions:d,openVSXRegistry:u})=>{const E=(0,l.useDesignStyles)(m.default.extension_item,"extension_item"),[f,c]=(0,r.useState)(),y=d?.find(T=>T.namespace===s.namespace&&T.name===s.name),b=!!(h===p.INSTALLED||y),A=b&&h===p.MARKETPLACE&&y?.version!==s.version,[S,D]=(0,r.useState)(b),I=(0,r.useCallback)(T=>{T.stopPropagation(),c(!0),g(s).then(()=>{c(!1),D(!0)})},[s]),w=(0,r.useCallback)(()=>{a(s,S?A?v.InstallState.SHOULD_UPDATE:v.InstallState.INSTALLED:v.InstallState.NOT_INSTALLED)},[s]);return r.default.createElement("div",{className:E,onClick:w},s.iconUrl?r.default.createElement("img",{className:m.default.icon,src:s.iconUrl,alt:(0,_.replaceLocalizePlaceholder)(s.displayName,`${s.publisher}.${s.name}`)}):r.default.createElement("div",{className:m.default.default_icon},r.default.createElement(o.Icon,{iconClass:(0,o.getIcon)("extension")})),r.default.createElement("div",{className:m.default.extension_detail},r.default.createElement("div",{className:m.default.base_info},r.default.createElement("span",{className:m.default.display_name},(0,_.replaceLocalizePlaceholder)(s.displayName,`${s.publisher}.${s.name}`)||s.name),r.default.createElement("span",{className:m.default.version},s.version),!S&&r.default.createElement("span",{className:m.default.download_count},r.default.createElement(o.Icon,{iconClass:(0,o.getIcon)("download")}),s.downloadCount)),r.default.createElement("span",{className:m.default.description},(0,_.replaceLocalizePlaceholder)(s.description,`${s.publisher}.${s.name}`)),r.default.createElement("div",{className:m.default.footer},r.default.createElement("span",{className:m.default.namespace},s.namespace),h===p.MARKETPLACE&&(b?A?r.default.createElement(o.Button,{type:"primary",size:"small",onClick:I,disabled:f},(0,_.localize)(f?"marketplace.extension.updating":"marketplace.extension.update")):r.default.createElement("span",{className:m.default.state_text},(0,_.localize)("marketplace.extension.installed")):r.default.createElement(o.Button,{type:"primary",size:"small",onClick:I,disabled:f},(0,_.localize)(f?"marketplace.extension.installing":"marketplace.extension.install"))),h===p.INSTALLED&&r.default.createElement(o.Button,{type:"primary",size:"small",onClick:I,disabled:!0},(0,_.localize)("marketplace.extension.installed")))))})},38105:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenVsxExtensionManagerModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(29150),_=e(70274),v=e(67761);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[_.VSXExtensionContribution,{token:l.VSXExtensionServiceToken,useClass:v.VSXExtensionService}],this.backServices=[{servicePath:l.VSXExtensionServicePath}]}};t.OpenVsxExtensionManagerModule=m,t.OpenVsxExtensionManagerModule=m=n.__decorate([(0,r.Injectable)()],m)},70274:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VSXExtensionContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(57517),v=e(63067),m=e(52416),p=e(29150),s=e(21082),g=e(6449),a=e(73689);let h=class{initialize(){}onDidRender(){const u=this.mainLayoutService.getTabbarHandler(s.OPEN_VSX_EXTENSION_MANAGER_CONTAINER_ID);u&&(u.isActivated()?this.vsxExtensionService.getOpenVSXRegistry().then(()=>{this.vsxExtensionService.search("")}):u.onActivate(async()=>{!this.vsxExtensionService.openVSXRegistry&&await this.vsxExtensionService.getOpenVSXRegistry(),this.vsxExtensionService.search("")}))}registerResource(u){u.registerResourceProvider({scheme:s.EXTENSION_SCHEME,provideResource:async E=>{const{extensionId:f,state:c}=E.getParsedQuery(),y=await this.vsxExtensionService.getLocalExtension(f),b=this.iconService.fromIcon("",y?.iconUrl,m.IconType.Background);return{uri:E,metadata:{...y,extensionId:f,state:c,openVSXRegistry:this.vsxExtensionService.openVSXRegistry},icon:b||(0,o.getIcon)("extension"),name:(0,l.replaceLocalizePlaceholder)(y?.displayName,f)||""}}})}registerEditorComponent(u){const E=`${s.EXTENSION_SCHEME}_detail`;u.registerEditorComponent({component:g.ExtensionOverview,uid:E,scheme:s.EXTENSION_SCHEME}),u.registerEditorComponentResolver(s.EXTENSION_SCHEME,(f,c,y)=>{y?.([{type:_.EditorOpenType.component,componentId:E}])})}registerComponent(u){u.register("@opensumi/ide-extension-manager",[],{iconClass:(0,o.getIcon)("extension"),title:(0,l.localize)("marketplace.extension.container"),priority:5,containerId:s.OPEN_VSX_EXTENSION_MANAGER_CONTAINER_ID,component:a.VSXExtensionView,activateKeyBinding:"ctrlcmd+shift+x"})}};t.VSXExtensionContribution=h,n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],h.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(p.VSXExtensionServiceToken),n.__metadata("design:type",Object)],h.prototype,"vsxExtensionService",void 0),n.__decorate([(0,r.Autowired)(m.IIconService),n.__metadata("design:type",Object)],h.prototype,"iconService",void 0),t.VSXExtensionContribution=h=n.__decorate([(0,l.Domain)(o.ClientAppContribution,v.MainLayoutContribution,o.ComponentContribution,_.BrowserEditorContribution)],h)},67761:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VSXExtensionService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57517),_=e(98453),v=e(71354),m=e(28423),p=e(52416),s=e(12456),g=e(29150);let a=class extends o.Disposable{get extensions(){return this.extensionsObservable.get()}get installedExtensions(){return this.installedExtensionsObservable.get()}get openVSXRegistry(){return this.openVSXRegistryObservable.get()}constructor(){super(),this.extensionsObservable=(0,m.observableValue)(this,[]),this.installedExtensionsObservable=(0,m.observableValue)(this,[]),this.openVSXRegistryObservable=(0,m.observableValue)(this,""),this.tasks=new Map,this.getInstalledExtensions(),this.disposables.push(this.extensionInstanceService.onDidChange(()=>{this.getInstalledExtensions(),this.search(this.searchValue)}))}updateStatusBar(){if(this.tasks.size===0){this.installStatus&&(this.installStatus.dispose(),this.installStatus=void 0);return}const d="sumi-upload-file-status";if(this.tasks.size===1){const u=(0,o.localize)("marketplace.extension.installing"),E={text:u,alignment:o.StatusBarAlignment.RIGHT,tooltip:u,iconClass:"kaitian-icon kticon-cloud-server"};this.installStatus=this.statusBarService.addElement(d,E)}}async install(d){var u,E;const f=this.getExtensionId(d);if(this.tasks.has(f)||!d.downloadUrl)return;const c=this.backService.install({id:f,name:(u=d.name)!==null&&u!==void 0?u:"-",url:d.downloadUrl,version:(E=d.version)!==null&&E!==void 0?E:"-"});return this.tasks.set(f,c),this.updateStatusBar(),c.then(async y=>{if(this.tasks.delete(f),this.updateStatusBar(),await this.extensionManagementService.postChangedExtension(!1,y),this.themeService.getAvailableThemeInfos().some(D=>D.extensionId===d.originId)){this.commandService.executeCommand(s.THEME_TOGGLE_COMMAND.id,{extensionId:d.originId});return}if(this.iconService.getAvailableThemeInfos().some(D=>D.extensionId===d.originId)){this.commandService.executeCommand(s.ICON_THEME_TOGGLE_COMMAND.id,{extensionId:d.originId});return}if(this.productIconService.getAvailableThemeInfos().some(D=>D.extensionId===d.originId)){this.commandService.executeCommand(s.PRODUCT_ICON_THEME_TOGGLE_COMMAND.id,{extensionId:d.originId});return}})}async uninstall(d){d&&d.path&&await this.extensionManagementService.postUninstallExtension(d.path)}async disable(d){d&&d.path&&this.extensionManagementService.postDisableExtension(d.path)}async enable(d){d&&d.path&&this.extensionManagementService.postEnableExtension(d.path)}getExtensionId(d){var u,E,f;return(u=d?.extensionId)!==null&&u!==void 0?u:((E=d?.namespace)===null||E===void 0?void 0:E.toLowerCase())+"."+((f=d?.name)===null||f===void 0?void 0:f.toLowerCase())}async getLocalExtension(d){return d?this.extensions.find(E=>this.getExtensionId(E)===d)||this.installedExtensions.find(E=>this.getExtensionId(E)===d):void 0}async getRemoteRawExtension(d){if(!d)return;const u={extensionId:d},E=await this.backService.getExtension(u);if(E&&E.extensions&&E.extensions.length>=1)return Object.assign({},E.extensions[0])}async getOpenVSXRegistry(){const d=await this.backService.getOpenVSXRegistry();(0,m.transaction)(u=>{this.openVSXRegistryObservable.set(d,u)})}async openExtensionEditor(d,u){this.workbenchEditorService.open(new o.URI(`extension://?extensionId=${d}&state=${u}`),{preview:!0})}async search(d){const u={query:d,size:50,sortBy:"downloadCount"};this.searchValue=d;const E=await this.backService.search(u);E.extensions&&(0,m.transaction)(f=>{this.extensionsObservable.set(E.extensions.filter(c=>!this.installedExtensions.find(y=>this.getExtensionId(y)===this.getExtensionId(c))).map(c=>({...c,publisher:c.namespace,iconUrl:c.files.icon,downloadUrl:c.files.download,readme:c.files.readme})),f)})}async searchInstalledExtensions(d){(0,m.transaction)(u=>{const E=this.installedExtensions;this.installedExtensionsObservable.set(E.sort((f,c)=>{const y=(0,o.fuzzyScore)(d,d.toLowerCase(),0,f.name,f.name.toLowerCase(),0,!0),b=(0,o.fuzzyScore)(d,d.toLowerCase(),0,c.name,c.name.toLowerCase(),0,!0);return y?b?b[0]-y[0]:-1:1}),u)})}getInstalledExtensions(){const d=this.extensionInstanceService.getExtensionInstances().map(u=>{const E=u.extensionId;return{namespace:E&&E.includes(".")?E.split(".")[0]:u.packageJSON.publisher,name:u.packageJSON.name,id:u.extensionId,version:u.packageJSON.version,displayName:u.packageJSON.displayName,description:u.packageJSON.description,publisher:u.packageJSON.publisher,iconUrl:u.packageJSON.icon&&u.extensionLocation.toString()+`/${u.packageJSON.icon}`,path:u.path,realpath:u.realPath}});(0,m.transaction)(u=>{this.installedExtensionsObservable.set(d,u)})}};t.VSXExtensionService=a,n.__decorate([(0,r.Autowired)(g.VSXExtensionServicePath),n.__metadata("design:type",Object)],a.prototype,"backService",void 0),n.__decorate([(0,r.Autowired)(l.WorkbenchEditorService),n.__metadata("design:type",l.WorkbenchEditorService)],a.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractExtInstanceManagementService),n.__metadata("design:type",v.AbstractExtInstanceManagementService)],a.prototype,"extensionInstanceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.ExtensionManagementService)],a.prototype,"extensionManagementService",void 0),n.__decorate([(0,r.Autowired)(p.IThemeService),n.__metadata("design:type",Object)],a.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(p.IIconService),n.__metadata("design:type",Object)],a.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(p.IProductIconService),n.__metadata("design:type",Object)],a.prototype,"productIconService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.IStatusBarService),n.__metadata("design:type",Object)],a.prototype,"statusBarService",void 0),n.__decorate([(0,o.pMemoize)(h=>h),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],a.prototype,"search",null),t.VSXExtensionService=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a)},73689:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VSXExtensionView=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=e(14041),_=e(97267),v=e(41869),m=e(68974),p=e(43718),s=e(5567),g=e(29150),a=e(21082),h=e(87791),d=n.__importDefault(e(68143)),u=[g.TabActiveKey.MARKETPLACE,g.TabActiveKey.INSTALLED],E=()=>{const[f,c]=(0,l.useState)(g.TabActiveKey.MARKETPLACE),[y,b]=(0,l.useState)(!1),A=(0,v.useInjectable)(g.VSXExtensionServiceToken),S=(0,v.useAutorun)(A.extensionsObservable),D=(0,v.useAutorun)(A.installedExtensionsObservable),I=(0,v.useAutorun)(A.openVSXRegistryObservable),w=(0,r.default)(O=>{b(!0);let x;f===g.TabActiveKey.MARKETPLACE?x=A.search(O):x=A.searchInstalledExtensions(O),typeof x=="object"&&x.then&&x.then(()=>{b(!1)})},500),T=(0,l.useCallback)(O=>A.install(O),[]),R=(0,l.useCallback)((O,x)=>{const k=A.getExtensionId(O);A.openExtensionEditor(k,x)},[]),M=(0,l.useCallback)(O=>{const x=u[O];x&&c(x)},[]);return o.createElement("div",{className:d.default.panel},o.createElement(_.Tabs,{mini:!0,className:d.default.tabs,value:u.indexOf(f),onChange:M,tabs:[(0,p.localize)("marketplace.panel.tab.marketplace"),(0,p.localize)("marketplace.tab.installed")]}),o.createElement("div",{style:{padding:"8px"}},o.createElement(s.AutoFocusedInput,{containerId:a.OPEN_VSX_EXTENSION_MANAGER_CONTAINER_ID,placeholder:(0,p.localize)("marketplace.panel.tab.placeholder.search"),value:"",onChange:O=>w(O.target.value)})),f===g.TabActiveKey.MARKETPLACE&&o.createElement("div",{className:d.default.extensions_view},o.createElement(m.Progress,{loading:y}),S.map((O,x)=>o.createElement(h.Extension,{key:`${x}:${O.namespace}-${O.name}`,onClick:R,onInstall:T,extension:O,type:h.ExtensionViewType.MARKETPLACE,installedExtensions:D,openVSXRegistry:I}))),f===g.TabActiveKey.INSTALLED&&o.createElement("div",{className:d.default.extensions_view},D.map((O,x)=>o.createElement(h.Extension,{key:`${x}:${O.namespace}-${O.name}`,onClick:R,onInstall:T,extension:O,type:h.ExtensionViewType.INSTALLED,openVSXRegistry:I}))))};t.VSXExtensionView=E},29150:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IOpenvsxMarketplaceService=t.VSXExtensionServicePath=t.VSXExtensionServiceToken=t.VSXExtension=t.InstallState=t.TabActiveKey=t.EnableScope=void 0;var e;(function(l){l.GLOBAL="GLOBAL",l.WORKSPACE="WORKSPACE"})(e||(t.EnableScope=e={}));var n;(function(l){l.MARKETPLACE="marketplace",l.INSTALLED="installed"})(n||(t.TabActiveKey=n={}));var r;(function(l){l.INSTALLED="INSTALLED",l.NOT_INSTALLED="NOT_INSTALLED",l.SHOULD_UPDATE="SHOULD_UPDATE"})(r||(t.InstallState=r={}));class o{}t.VSXExtension=o,o.KEYS=new Set(["version","iconUrl","publisher","name","displayName","description","averageRating","downloadCount","downloadUrl","readmeUrl","licenseUrl","repository","license","readme","preview","namespaceAccess","publishedBy"]),t.VSXExtensionServiceToken=Symbol("VSXExtensionSerivceToken"),t.VSXExtensionServicePath="VSXExtensionServicePath",t.IOpenvsxMarketplaceService=Symbol("IOpenvsxMarketplaceService")},53599:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionStorageContribution=t.ExtensionStorageModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93584),_=e(7446),v=e(16132),m=e(10207),p=e(19227);let s=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IExtensionStorageService,useClass:m.ExtensionStorageService},{token:l.IExtensionStoragePathServer,useClass:v.ExtensionStoragePathServer},{token:l.IExtensionStorageServer,useClass:_.ExtensionStorageServer},g]}};t.ExtensionStorageModule=s,t.ExtensionStorageModule=s=n.__decorate([(0,o.Domain)(p.name)],s);let g=class{onReconnect(){this.extensionStorageService.reConnectInit()}};t.ExtensionStorageContribution=g,n.__decorate([(0,r.Autowired)(l.IExtensionStorageService),n.__metadata("design:type",Object)],g.prototype,"extensionStorageService",void 0),t.ExtensionStorageContribution=g=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],g),n.__exportStar(e(10207),t)},16132:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionStoragePathServer=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(96405),v=e(14951),m=e(73344),p=e(51500),{Path:s}=l.path;let g=class{constructor(){this.windowsDataFolders=[l.StoragePaths.WINDOWS_APP_DATA_DIR,l.StoragePaths.WINDOWS_ROAMING_DIR],this.deferredWorkspaceStoragePath=new l.Deferred,this.deferredStoragePath=new l.Deferred,this.storagePathInitialized=!1}get workspaceSuffixName(){return this.appConfig.workspaceSuffixName||p.DEFAULT_WORKSPACE_SUFFIX_NAME}async provideHostLogPath(){const h=await this.getLogsDirPath();if(!h)throw new Error("Unable to get parent log directory");const d=h,u=l.URI.file(d).toString();return await this.fileSystem.access(u)||await this.fileSystem.createFolder(u),new l.URI(h)}async provideHostStoragePath(h,d,u){const E=await this.getWorkspaceStorageDirPath(u);if(!E)throw new Error("Unable to get parent storage directory");await this.fileSystem.access(l.URI.file(E).toString())||await this.fileSystem.createFolder(l.URI.file(E).toString());const f=await this.buildWorkspaceId(h,d,u),c=new s(E).join(f).toString();await this.fileSystem.access(l.URI.file(c).toString())||await this.fileSystem.createFolder(l.URI.file(c).toString());const y=new l.URI(c);return this.storagePathInitialized||(this.deferredWorkspaceStoragePath.resolve(y.path.toString()),this.deferredStoragePath.resolve(E),this.storagePathInitialized=!0),this.cachedStoragePath=y}async getLastWorkspaceStoragePath(){var h;return this.storagePathInitialized?(h=this.cachedStoragePath)===null||h===void 0?void 0:h.path.toString():this.deferredWorkspaceStoragePath.promise}async getLastStoragePath(){return this.deferredStoragePath.promise}doHash(h){return this.hashCalculateService.calculate(h)}async buildWorkspaceId(h,d,u){const E=await this.getUserHomeDir(),f=b=>b.resolve(u||p.WORKSPACE_USER_STORAGE_FOLDER_NAME).resolve(`${p.UNTITLED_WORKSPACE}.${this.workspaceSuffixName}`).withScheme(l.Schemes.file),c=b=>b.resolve(u||p.WORKSPACE_USER_STORAGE_FOLDER_NAME).resolve(`${p.UNTITLED_WORKSPACE}`).withScheme(l.Schemes.file);if(!h){const b=c(new l.URI(E));return this.doHash(b.toString())}if(f(new l.URI(E)).toString()===h.uri){const b=d.map(A=>A.uri).sort().join(",");return this.doHash(b)}else{const b=new l.URI(h.uri);return this.doHash(b.toString())}}async getLogsDirPath(){const h=await this.loggerManager.getLogFolder();return new s(h).join(l.StoragePaths.EXTENSIONS_LOGS_DIR).toString()}async getWorkspaceStorageDirPath(h){const d=await this.getWorkspaceDataDirPath(h);return new s(d).join(l.StoragePaths.EXTENSIONS_WORKSPACE_STORAGE_DIR).toString()}async getWorkspaceDataDirPath(h){const d=await this.getUserHomeDir(),u=h;return new s(d).join(...l.isWindows?this.windowsDataFolders:[""],u).toString()}async getUserHomeDir(){const h=await this.fileSystem.getCurrentUserHome();if(!h)throw new Error("Unable to get user home directory");return await this.fileSystem.getFsPath(h.uri)}};t.ExtensionStoragePathServer=g,n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],g.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(m.ILoggerManagerClient),n.__metadata("design:type",Object)],g.prototype,"loggerManager",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],g.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(_.IHashCalculateService),n.__metadata("design:type",Object)],g.prototype,"hashCalculateService",void 0),t.ExtensionStoragePathServer=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},7446:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionStorageServer=void 0;const r=e(85608),o=e(76003),l=e(43718),_=e(14951),v=e(93584),{Path:m}=l.path;let p=n=class{constructor(){this.deferredWorkspaceDataDirPath=new l.Deferred,this.storageThrottler=new l.Throttler,this.storageTasks={},this.storageExistPromises=new Map}async init(g,a,h){return this.storageDelayer=new l.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),await this.setupDirectories(g,a,h||v.DEFAULT_EXTENSION_STORAGE_DIR_NAME)}async asAccess(g,a){if(a)return await this.fileSystem.access(g);if(!this.storageExistPromises.has(g)){const h=this.fileSystem.access(g);this.storageExistPromises.set(g,h)}return await this.storageExistPromises.get(g)}async setupDirectories(g,a,h){const d=await this.extensionStoragePathsServer.getWorkspaceDataDirPath(h),u=l.URI.file(d).toString();await this.fileSystem.access(u)||await this.fileSystem.createFolder(u),this.workspaceDataDirPath=d,this.globalDataPath=new m(this.workspaceDataDirPath).join(l.StoragePaths.EXTENSIONS_GLOBAL_STORAGE_DIR).toString();const E=l.URI.file(this.globalDataPath).toString();await this.fileSystem.access(E)||await this.fileSystem.createFolder(E),this.deferredWorkspaceDataDirPath.resolve(this.workspaceDataDirPath);const f=await this.extensionStoragePathsServer.provideHostLogPath(),c=await this.extensionStoragePathsServer.provideHostStoragePath(g,a,h);return{logUri:f.codeUri,storageUri:c.codeUri,globalStorageUri:l.Uri.file(this.globalDataPath)}}async resolveStorageTask(g){const a=Object.keys(g);for(const h of a){const d=await this.readFromFile(h);for(const{key:u,value:E}of g[h])E===void 0||(0,l.isEmptyObject)(E)?delete d[u]:d[u]=E;await this.writeToFile(h,d)}}doSet(){const g={...this.storageTasks};return this.storageTasks={},this.resolveStorageTask(g)}async set(g,a,h){const d=await this.getDataPath(h);if(!d)throw new Error("Cannot save data: no opened workspace");return this.storageTasks[d]||(this.storageTasks[d]=[]),this.storageTasks[d].push({key:g,value:a}),this.storageDelayer.trigger(()=>this.storageThrottler.queue(this.doSet.bind(this)))}async get(g,a){const h=await this.getDataPath(a);return h?(await this.readFromFile(h))[g]:{}}async getAll(g){const a=await this.getDataPath(g);return a?await this.readFromFile(a):{}}async getDataPath(g){if(this.workspaceDataDirPath===void 0&&await this.deferredWorkspaceDataDirPath.promise,g)return new m(this.globalDataPath).join("global-state.json").toString();{const a=await this.extensionStoragePathsServer.getLastWorkspaceStoragePath();return a?new m(a).join("workspace-state.json").toString():void 0}}async readFromFile(g){const a=l.URI.file(g);if(!await this.asAccess(a.toString(),!0))return{};try{const{content:d}=await this.fileSystem.readFile(a.toString());return JSON.parse(d.toString())}catch(d){return this.logger.error('Failed to parse data from "',a.toString(),'". Reason:',d),{}}}async writeToFile(g,a){const h=l.URI.file(g);await this.asAccess(h.parent.toString())||await this.fileSystem.createFolder(h.parent.toString());const u=JSON.stringify(a);let E=await this.fileSystem.getFileStat(h.toString());E||(E=await this.fileSystem.createFile(h.toString())),await this.fileSystem.setContent(E,u)}};t.ExtensionStorageServer=p,p.DEFAULT_FLUSH_DELAY=100,r.__decorate([(0,o.Autowired)(v.IExtensionStoragePathServer),r.__metadata("design:type",Object)],p.prototype,"extensionStoragePathsServer",void 0),r.__decorate([(0,o.Autowired)(_.IFileServiceClient),r.__metadata("design:type",Object)],p.prototype,"fileSystem",void 0),r.__decorate([(0,o.Autowired)(l.ILogger),r.__metadata("design:type",Object)],p.prototype,"logger",void 0),t.ExtensionStorageServer=p=n=r.__decorate([(0,o.Injectable)()],p)},10207:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionStorageService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(51500),v=e(93584);let m=class{constructor(){this._init=this.init(),this.updateEnvState()}get whenReady(){return this._init}get extensionStoragePath(){return this._extensionStoragePath}async init(){const s=await this.workspaceService.roots,g=this.workspaceService.workspace,a=this.appConfig.extensionStorageDirName||v.DEFAULT_EXTENSION_STORAGE_DIR_NAME;return this._extensionStoragePath=await this.extensionStorageServer.init(g,s,a),this._extensionStoragePath}async updateEnvState(){await this.get(l.firstSessionDateStorageKey,!0)===void 0&&await this.set(l.firstSessionDateStorageKey,{date:new Date().toUTCString()},!0)}set(s,g,a){return this.extensionStorageServer.set(s,g,a)}get(s,g){return this.extensionStorageServer.get(s,g)}getAll(s=!1){return this.extensionStorageServer.getAll(s)}async reConnectInit(){const s=await this.workspaceService.roots,g=this.workspaceService.workspace,a=this.appConfig.extensionStorageDirName||v.DEFAULT_EXTENSION_STORAGE_DIR_NAME;return this._extensionStoragePath=await this.extensionStorageServer.init(g,s,a),this._extensionStoragePath}};t.ExtensionStorageService=m,n.__decorate([(0,r.Autowired)(v.IExtensionStorageServer),n.__metadata("design:type",Object)],m.prototype,"extensionStorageServer",void 0),n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),t.ExtensionStorageService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},93584:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(85853),t),n.__exportStar(e(56969),t),n.__exportStar(e(23618),t)},85853:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_EXTENSION_STORAGE_DIR_NAME=t.IExtensionStoragePathServer=void 0,t.IExtensionStoragePathServer=Symbol("IExtensionStoragePathServer"),t.DEFAULT_EXTENSION_STORAGE_DIR_NAME=".sumi"},56969:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IExtensionStorageService=t.IExtensionStorageServer=void 0,t.IExtensionStorageServer=Symbol("ExtensionStorageServer"),t.IExtensionStorageService=Symbol("ExtensionStorageService")},23618:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},50492:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(93584),t)},57962:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActivationEventServiceImpl=void 0;const n=e(85608),r=n.__importDefault(e(80076)),o=e(76003),l=e(43718);let _=class{constructor(){this.eventListeners=new Map,this.collectTopicData=new l.MultiMap,this.wildCardTopics=new Set,this.activatedEventSet=new Set,this.wildCardTopics.add("workspaceContains")}getTopicsData(m){return this.collectTopicData.get(m)||[]}async fireEvent(m,p=""){this.activatedEventSet.add(JSON.stringify({topic:m,data:p}));let s;if(this.wildCardTopics.has(m)?s=this.eventListeners.get(m):this.eventListeners.has(m)?s=this.eventListeners.get(m):s=this.eventListeners.get(m+":"+p),s){const g=await Promise.allSettled(s.map(a=>this.tryRun(m,p,a)));for(const a of g)a.status==="rejected"&&this.logger.error(`fire event ${m}:${p} error: ${a.reason}`)}}addWildCardTopic(m){return this.wildCardTopics.add(m),{dispose:()=>{this.wildCardTopics.delete(m)}}}onEvent(m,p){const s=m.indexOf(":");let g,a;return s===-1?(g=m,a=""):(g=m.substr(0,s),a=m.substr(s+1)),this.addListener(g,{topic:g,data:a,execute:p})}addListener(m,p){if(this.collectTopicData.set(p.topic,p.data),this.wildCardTopics.has(m))return this.eventListeners.has(m)||this.eventListeners.set(m,[]),this.eventListeners.get(m).push(p),{dispose:()=>{const s=this.eventListeners.get(m).indexOf(p);s!==-1&&this.eventListeners.get(m).splice(s,1)}};{const s=m+":"+p.data;return this.eventListeners.has(s)||this.eventListeners.set(s,[]),this.eventListeners.get(s).push(p),{dispose:()=>{const g=this.eventListeners.get(s).indexOf(p);g!==-1&&this.eventListeners.get(s).splice(g,1)}}}}async tryRun(m,p,s){this.wildCardTopics.has(m)?(0,r.default)(s.data)(p)&&await s.execute():await s.execute()}};t.ActivationEventServiceImpl=_,n.__decorate([(0,o.Autowired)(l.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),t.ActivationEventServiceImpl=_=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],_)},63056:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionNoExportsView=t.ExtensionLoadingView=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(68974),_=n.__importDefault(e(17267)),v=({style:p})=>r.default.createElement("div",{style:p||{},className:_.default.kt_extension_view},r.default.createElement(l.Progress,{loading:!0}));t.ExtensionLoadingView=v;const m=(p,s)=>r.default.createElement("div",{className:_.default.kt_extension_no_exports_view},(0,o.formatLocalize)("extension.no.view.found",p,s));t.ExtensionNoExportsView=m},56405:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PortalRoot=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(87420),v=e(25600),m=p=>{var s;const[g,a]=o.default.useState(null),h=(0,l.useInjectable)(v.AbstractViewExtProcessService),d=(0,l.useInjectable)(_.IThemeService);o.default.useEffect(()=>{const E=new l.DisposableCollection;return d.getCurrentTheme().then(f=>a(f.type)),E.push(d.onThemeChange(f=>{f.type&&f.type!==g&&a(f.type)})),E.dispose.bind(E)},[]);const u=p.original;return o.default.createElement(u,{...p.otherProps,className:(0,r.default)((s=p.otherProps)===null||s===void 0?void 0:s.className,(0,_.getThemeTypeSelector)(g)),getContainer:()=>h.getPortalShadowRoot(p.extensionId)})};t.PortalRoot=m},82443:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TREE_VIEW_NODE_HEIGHT=t.TreeViewNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(25918),m=e(93899),p=e(95422),s=e(69589),g=e(42912),a=n.__importDefault(e(50790)),h=({item:d,onClick:u,onChange:E,onContextMenu:f,itemType:c,leftPadding:y=8,onTwistierClick:b,decorations:A,defaultLeftPadding:S=8,treeViewId:D,decorationService:I,draggable:w,onDragStart:T,onDragEnter:R,onDragLeave:M,onDragOver:O,onDrop:x})=>{const k=(0,p.useInjectable)(g.IIconService),F=(0,_.useDesignStyles)(a.default.expansion_toggle,"expansion_toggle"),L=(0,_.useDesignStyles)(a.default.tree_view_node,"tree_view_node"),[N,U]=(0,o.useState)(d.uri&&I.getDecoration(d.uri,!1));(0,o.useEffect)(()=>{const Be=I.onDidChangeDecorations(De=>{d.uri&&De.affectsResource(d.uri)&&U(I.getDecoration(d.uri,!1))});return()=>{Be.dispose()}},[]);const W=(0,p.useInjectable)(g.IThemeService),j=(0,o.useCallback)(Be=>{(c===l.TreeNodeType.TreeNode||c===l.TreeNodeType.CompositeTreeNode)&&u(Be,d,c)},[d,c,u]),Q=(0,o.useCallback)(Be=>{(c===l.TreeNodeType.TreeNode||c===l.TreeNodeType.CompositeTreeNode)&&(b?b(Be,d,c):u(Be,d,c))},[d,c,b,u]),$=(0,o.useCallback)(Be=>{Be.nativeEvent.which===0||!f||(c===l.TreeNodeType.TreeNode||c===l.TreeNodeType.CompositeTreeNode)&&f(Be,d,c)},[d,c,f]),Z=(0,o.useCallback)(Be=>{T&&T(Be,d)},[d,T]),G=(0,o.useCallback)(Be=>{R&&R(Be,d)},[d,R]),V=(0,o.useCallback)(Be=>{M&&M(Be,d)},[d,M]),H=(0,o.useCallback)(Be=>{O&&O(Be,d)},[d,O]),K=(0,o.useCallback)(Be=>{x&&x(Be,d)},[d,x]),Y=(0,o.useCallback)(Be=>{E(d),Be.stopPropagation()},[d,E]),X=c===l.TreeNodeType.CompositeTreeNode,re=X?`${S+(d.depth||0)*(y||0)}px`:`${S+(d.depth||0)*(y||0)+8}px`,oe={height:t.TREE_VIEW_NODE_HEIGHT,lineHeight:`${t.TREE_VIEW_NODE_HEIGHT}px`,paddingLeft:re},he=(Be,De)=>A&&A?.classlist.indexOf(a.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:De,className:(0,r.default)(a.default.tree_view_node_segment,F,(0,_.getIcon)("arrow-right"),{[`${a.default.mod_collapsed}`]:!Be.expanded})}),me=Be=>o.default.createElement("div",{className:(0,r.default)(a.default.file_icon,Be.icon),style:{maxHeight:t.TREE_VIEW_NODE_HEIGHT}}),q=Be=>{var De;return Be.checkboxInfo===void 0?null:o.default.createElement(l.CheckBox,{"data-node-id":Be.treeItemId,readOnly:!0,onChange:_e=>Y(_e),checked:!!Be.checkboxInfo.checked,id:Be.treeItemId,role:(De=Be.checkboxInfo.accessibilityInformation)===null||De===void 0?void 0:De.role,title:Be.checkboxInfo.tooltip})},Ae=Be=>{const De=()=>{if(Be.highlights){let _e=[],Ne=0;const Te=Be.highlights.sort((We,pe)=>We[0]-pe[0]);return _e=Te.map((We,pe)=>{const[ie,le]=We,Se=Be.displayName.slice(Ne,ie);Ne=le;const ye=Be.displayName.slice(ie,le),Ue=[o.default.createElement("span",{key:`line_begin_${pe}_${Se}`},Se),o.default.createElement("span",{className:a.default.highlight,key:`line_hightlight_${pe}_${ye}`},ye)];if(pe===Te.length-1){const Ye=Be.displayName.slice(le);Ue.push(o.default.createElement("span",{key:`line_end_${pe}_${Ye}`},Ye))}return Ue}),_e}else return Be.displayName};return o.default.createElement("div",{className:(0,r.default)(a.default.tree_view_node_segment,a.default.tree_view_node_displayname,Be.strikethrough&&a.default.strikethrough)},De())},ge=()=>o.default.createElement("div",{className:(0,r.default)(a.default.tree_view_node_segment,a.default.tree_view_node_tail)},te()),te=()=>{if(d.actions.length>0)return o.default.createElement("div",{className:a.default.tree_view_actions},o.default.createElement(v.TitleActionList,{className:a.default.inlineMenu,context:[{treeViewId:D,treeItemId:d.treeItemId}],nav:d.actions,menuId:m.MenuId.ViewItemContext}))},fe=Be=>{if(X)return he(Be,Q)},Oe=()=>d.tooltip||d.name,Me=Be=>o.default.createElement("div",{className:(0,r.default)(a.default.tree_view_node_segment_grow,a.default.tree_view_node_description)},!Be.name&&!Be.description?"\u2014\u2014":Be.description),Pe=()=>{if(!N)return null;const Be=N.badge||"",De=N.color,_e=De&&W.getColor({id:De});return o.default.createElement("div",{className:a.default.tree_view_node_tail,style:{color:_e}},(0,s.transformLabelWithCodicon)(Be.slice(),{},k.fromString.bind(k)))};return o.default.createElement("div",{key:d.id,onClick:j,onContextMenu:$,onDragStart:Z,onDragOver:H,onDragEnter:G,onDragLeave:V,onDrop:K,title:Oe(),className:(0,r.default)(L,A?A.classlist:null),"data-id":d.id,style:oe,draggable:w},o.default.createElement("div",{className:(0,r.default)(a.default.tree_view_node_content)},fe(d),q(d),me(d),o.default.createElement("div",{className:a.default.tree_view_node_overflow_wrap},Ae(d),Me(d)),ge(),Pe()))};t.TreeViewNode=h,t.TREE_VIEW_NODE_HEIGHT=22},81302:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionTabBarTreeView=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(68974),v=e(41893),m=e(24429),p=e(72260),s=e(82443),g=n.__importDefault(e(17267)),a=({viewState:u,model:E,dataProvider:f,treeViewId:c})=>{const y=(0,l.useInjectable)(p.IMainLayoutService),b=(0,l.useInjectable)(v.IDecorationsService),A=(0,r.useMemo)(()=>y.getViewAccordionService(c),[]),S=(0,r.useMemo)(()=>{const Z=A?.getViewState(c);return Z?!Z.collapsed&&!Z.hidden:!1},[A]),{height:D}=u,{canSelectMany:I}=E.treeViewOptions||{},w=(0,r.useRef)(null),T=(0,r.useCallback)(Z=>{E.handleTreeHandler({...Z,getModel:()=>E.treeModel,hasDirectFocus:()=>w.current===document.activeElement})},[E]),R=(0,r.useCallback)((Z,G)=>{Z.stopPropagation();const{toggleDirectory:V}=E;V(G)},[E]),M=(0,r.useCallback)(Z=>O(Z)?!1:Z.shiftKey,[]),O=(0,r.useCallback)(Z=>{const{metaKey:G,ctrlKey:V}=Z;return l.isOSX&&G||V},[]),x=(0,r.useCallback)((Z,G,V)=>{Z.stopPropagation();const{handleItemClick:H,handleItemToggleClick:K,handleItemRangeClick:Y}=E;if(!G)return;const X=M(event),re=O(event);I?X?Y(G,V):re?K(G,V):H(G,V):H(G,V)},[I,E]),k=(0,r.useCallback)(Z=>{const{handleCheckBoxChange:G}=E;Z&&G(Z)},[E]),F=(0,r.useCallback)((Z,G)=>{const{handleContextMenu:V}=E;V(Z,G)},[E]),L=Z=>{const{handleContextMenu:G}=E;G(Z)},N=(0,r.useCallback)(()=>{const{enactiveNodeDecoration:Z}=E;Z()},[E]),U=(0,r.useCallback)((Z,G)=>{const{handleDragStart:V}=E;V(Z,G)},[E]),W=(0,r.useCallback)((Z,G)=>{const{handleDragOver:V}=E;V(Z,G)},[E]),j=(0,r.useCallback)((Z,G)=>{const{handleDragEnter:V}=E;V(Z,G)},[E]),Q=(0,r.useCallback)((Z,G)=>{const{handleDrop:V}=E;V(Z,G)},[E]),$=(0,r.useCallback)((Z,G)=>{const{handleDragLeave:V}=E;V(Z,G)},[E]);return(0,r.useEffect)(()=>{var Z;const G=()=>{E.handleTreeBlur()};return(Z=w.current)===null||Z===void 0||Z.addEventListener("blur",G,!0),()=>{var V;(V=w.current)===null||V===void 0||V.removeEventListener("blur",G,!0)}},[w.current]),r.default.createElement("div",{className:g.default.kt_extension_view,tabIndex:-1,ref:w,onContextMenu:L,onClick:N,"data-tree-view-id":c},r.default.createElement(d,{height:D,isVisible:S,handleTreeReady:T,handleItemClicked:x,handleCheckBoxChange:k,handleTwistierClick:R,handleContextMenu:F,handleDragStart:U,handleDragOver:W,handleDragEnter:j,handleDragLeave:$,handleDrop:Q,draggable:E.draggable,treeViewId:c,model:E,dataProvider:f,decorationService:b}))};t.ExtensionTabBarTreeView=a;function h(u,E){return u.isVisible===E.isVisible&&u.model===E.model&&u.treeViewId===E.treeViewId&&u.height===E.height}const d=(0,r.memo)(({model:u,treeViewId:E,height:f,isVisible:c,dataProvider:y,handleTreeReady:b,handleItemClicked:A,handleCheckBoxChange:S,handleTwistierClick:D,handleContextMenu:I,handleDragStart:w,handleDragOver:T,handleDragEnter:R,handleDragLeave:M,handleDrop:O,draggable:x,decorationService:k})=>{const[F,L]=(0,r.useState)(!1),[N,U]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let j=!1;return(async()=>(await u.whenReady,u.treeModel&&c&&await u.treeModel.ensureReady,j||L(!0)))(),()=>{j=!0,u&&u.removeNodeDecoration()}},[u,c]),(0,r.useEffect)(()=>{const j=y.onDidChangeEmpty(()=>{y.isTreeEmpty!==N&&U(y.isTreeEmpty)});return()=>j.dispose()},[]);const W=(0,r.useCallback)(j=>r.default.createElement(s.TreeViewNode,{item:j.item,itemType:j.itemType,decorations:u.decorations.getDecorations(j.item),onClick:A,onChange:S,onTwistierClick:D,onContextMenu:I,onDragStart:w,onDragOver:T,onDragEnter:R,onDragLeave:M,onDrop:O,defaultLeftPadding:8,leftPadding:8,treeViewId:E,draggable:x,decorationService:k}),[u.treeModel]);if(F){if(N)return r.default.createElement(m.WelcomeView,{viewId:E});if(u.treeModel)return r.default.createElement(o.RecycleTree,{height:f,itemHeight:s.TREE_VIEW_NODE_HEIGHT,onReady:b,model:u.treeModel},W)}else return r.default.createElement(_.Progress,{loading:!0});return null},h);d.displayName="ExtensionsTreeView"},88341:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionWebviewView=t.WebviewViewShouldShowEvent=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(99220);class _ extends o.BasicEvent{}t.WebviewViewShouldShowEvent=_;const v=({viewId:m})=>{const p=r.default.useRef(null),s=(0,o.useInjectable)(o.IEventBus),g=(0,o.useInjectable)(l.ExtensionService);return r.default.useEffect(()=>{const a=new o.CancellationTokenSource,h=new o.Disposable({dispose:()=>a.cancel()});return g.eagerExtensionsActivated.promise.then(()=>{a.token.isCancellationRequested||p.current&&s.fire(new _({viewType:m,container:p.current,title:"",cancellationToken:a.token,disposer:h}))}),()=>{h.dispose()}},[]),r.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative"},className:"webview-view-component",ref:p})};t.ExtensionWebviewView=v},17428:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(81302),t),n.__exportStar(e(63056),t)},21167:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalkthroughsEditorView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(93374),m=e(52416),p=e(99220),s=e(17441),g=n.__importDefault(e(42076)),a=({resource:{uri:E}})=>{const f=(0,_.useInjectable)(s.WalkthroughsService),c=(0,_.useInjectable)(_.IContextKeyService),{query:y,authority:b}=E,[A,S]=(0,o.useState)(),[D,I]=(0,o.useState)();(0,o.useEffect)(()=>{A&&A.steps.length>0&&(D||I(A.steps[0].id))},[A,D]),(0,o.useEffect)(()=>{y&&S(f.getWalkthrough(y))},[y,A]);const w=(0,o.useCallback)(()=>{var T;return A&&((T=A.steps.find(R=>R.id===D))===null||T===void 0?void 0:T.media)},[D,A]);return o.default.createElement("div",{className:g.default.getting_started_container},o.default.createElement("div",{className:g.default.getting_started_detailsContent},o.default.createElement("div",{className:g.default.category_container},o.default.createElement("div",{className:g.default.category_icon},A&&A.icon.type==="image"&&o.default.createElement("img",{src:A.icon.path})),o.default.createElement("div",{className:g.default.category_description_container},o.default.createElement("h2",{className:g.default.category_title},A?.title),o.default.createElement("div",{className:g.default.category_description},A?.description))),o.default.createElement("div",{className:g.default.steps_container},o.default.createElement("div",{className:g.default.getting_started_detail_container},o.default.createElement("div",{className:g.default.step_list_container},A?A.steps.filter(T=>c.match(T.when)).map(T=>o.default.createElement(h,{key:T.id,step:T,isExpanded:T.id===D,onSelected:I})):null))),o.default.createElement("div",{className:g.default.getting_started_media},D&&o.default.createElement(d,{media:w(),extensionId:b,stepId:D}))))};t.WalkthroughsEditorView=a;const h=({step:E,isExpanded:f,onSelected:c})=>{const y=(0,_.useInjectable)(_.IOpenerService),b=(0,_.useInjectable)(s.WalkthroughsService),A=(0,_.useInjectable)(m.IIconService),[S,D]=(0,o.useState)(!1),{description:I}=E;(0,o.useEffect)(()=>{const O=b.onDidProgressStep(x=>{const{id:k,done:F}=x;k===E.id&&F&&D(F)});return()=>O.dispose()},[]);const w=(0,o.useCallback)(()=>{D(!S),b.progressByEvent(p.CompletionEventsType.stepSelected+":"+E.id)},[S,E.id]),T=(0,o.useCallback)(O=>{const{href:x}=O;y.open(x),/^http(s)?:\/\//.test(x)&&b.progressByEvent(p.CompletionEventsType.onLink+":"+x)},[]),R=(0,o.useCallback)(()=>{if(I.length===0)return null;const O=[];return I.map((x,k)=>{if(x.nodes.length===1&&typeof x.nodes[0]!="string"){const F=x.nodes[0];O.push(o.default.createElement("div",{key:k.toString()+O.length,title:F.title},o.default.createElement(l.Button,{onClick:()=>T(F)},(0,_.transformLabelWithCodicon)(F.label,{},A.fromString.bind(A)))))}else{const F=x.nodes.map((L,N)=>typeof L=="string"?L:o.default.createElement("a",{key:L.label+"#"+N,title:L.title,onClick:()=>T(L)},L.label));O.push(o.default.createElement("p",{key:k.toString()+O.length.toString()+F.length.toString()},F))}}),o.default.createElement("div",{className:g.default.step_description_container},o.default.createElement(o.default.Fragment,null,O))},[I]),M=(0,o.useCallback)(()=>(0,_.transformLabelWithCodicon)(E.title,{},A.fromString.bind(A)),[E.title]);return o.default.createElement("div",{className:(0,r.default)(g.default.getting_started_step,f&&g.default.expanded),onClick:()=>c(E.id)},o.default.createElement("div",{className:g.default.checkbox},o.default.createElement(l.CheckBox,{id:E.id,onChange:w,checked:S})),o.default.createElement("div",{className:g.default.step_container},o.default.createElement("h3",{className:g.default.step_title},M()),f&&R()))},d=({media:E,extensionId:f,stepId:c})=>{const y=(0,_.useInjectable)(m.IThemeService),b=(0,_.useInjectable)(s.WalkthroughsService),[A,S]=(0,o.useState)(""),[D,I]=(0,o.useState)(""),w=(0,o.useCallback)(async T=>E?.type==="image"?"":T?(await b.getFileContent(f,T)).toString():"",[E]);if((0,o.useEffect)(()=>{const T=b.getStepsByExtension(c);T&&(E&&E.type==="svg"&&T.media.svg&&w(T.media.svg).then(S),E&&E.type==="markdown"&&T.media.markdown&&w(T.media.markdown).then(I))},[E,c]),!E)return null;if(E.type==="image"){const T=y.getCurrentThemeSync().type,R=E.path[T].toString(!0).replace(/ /g,"%20");return o.default.createElement(o.default.Fragment,null,o.default.createElement("img",{alt:E.altText,srcSet:R.toLowerCase().endsWith(".svg")?R:R+" 1.5x"}))}return E.type==="svg"?o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:g.default.media_svg_container,dangerouslySetInnerHTML:{__html:A}})):E.type==="markdown"?o.default.createElement(o.default.Fragment,null,o.default.createElement(u,{content:D,media:E})):null},u=({content:E,media:f})=>{const c=(0,_.useInjectable)(_.IOpenerService);if(f.type!=="markdown")return null;const y=(0,o.useCallback)(()=>f.base.resolve("/").toString(),[f,E]);return o.default.createElement(v.Markdown,{content:E,options:{baseUrl:y()},onLinkClick:b=>c.open(b)})}},87444:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtCommandManagementImpl=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class extends o.Disposable{constructor(){super(...arguments),this.commandEnvRegistry=new Map,this.proxyCommandExecutorRegistry=new Map}dispose(){this.commandEnvRegistry.clear(),this.proxyCommandExecutorRegistry.clear()}registerProxyCommandExecutor(v,m){this.proxyCommandExecutorRegistry.set(v,m)}async executeExtensionCommand(v,m,p){const s=this.proxyCommandExecutorRegistry.get(v);if(!s)throw new Error('Proxy command executor "'+v+'" is not existed');return s.$executeExtensionCommand(m,...p)}registerExtensionCommandEnv(v,m="node"){return this.commandEnvRegistry.set(v,m),{dispose:()=>{this.commandEnvRegistry.delete(v)}}}getExtensionCommandEnv(v){return this.commandEnvRegistry.get(v)}};t.ExtCommandManagementImpl=l,t.ExtCommandManagementImpl=l=n.__decorate([(0,r.Injectable)()],l)},49413:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtInstanceManagementService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(99220),v=e(42734);let m=class extends o.Disposable{constructor(){super(),this.onDidChangeEmitter=new l.Emitter,this.extensionMap=new Map,this._whenReady=this.init()}async init(){this.workspaceStorage=await this.storageProvider(o.STORAGE_NAMESPACE.EXTENSIONS),this.globalStorage=await this.storageProvider(o.STORAGE_NAMESPACE.GLOBAL_EXTENSIONS)}get whenReady(){return this._whenReady}get onDidChange(){return this.onDidChangeEmitter.event}dispose(){this.disposeExtensionInstances()}getExtensionInstances(){return Array.from(this.extensionMap.values())}disposeExtensionInstances(){for(const s of this.extensionMap.values())s.dispose();this.extensionMap=new Map}disposeExtensionInstancesByPath(s){s.forEach(g=>{var a;(a=this.extensionMap.get(g))===null||a===void 0||a.dispose()})}resetExtensionInstances(){for(const s of this.extensionMap.values())s.reset()}getExtensionInstanceByPath(s){return this.extensionMap.get(s)}getExtensionInstanceByExtId(s){for(const g of this.extensionMap.values())if(g.id===s)return g}deleteExtensionInstanceByPath(s){this.extensionMap.delete(s),this.onDidChangeEmitter.fire()}addExtensionInstance(s){this.extensionMap.set(s.path,s),this.onDidChangeEmitter.fire()}async checkExtensionEnable(s){await this.whenReady;const g=this.globalStorage.get(s.extensionId,_.EXTENSION_ENABLE.ENABLE);return this.workspaceStorage.get(s.extensionId,g)===_.EXTENSION_ENABLE.ENABLE}async createExtensionInstance(s,g,a){const h=typeof s=="string"?await this.extensionNodeClient.getExtension(s,(0,l.getLanguageId)(),{}):s;if(h)return this.injector.get(v.Extension,[h,await this.checkExtensionEnable(h),g||(this.appConfig.extensionDir?h.realPath.startsWith(this.appConfig.extensionDir):!1),!!a])}checkIsBuiltin(s){const g=this.getExtensionCandidateByPath(s.realPath);return(this.appConfig.extensionDir?s.realPath.startsWith(this.appConfig.extensionDir):!1)||(g?g.isBuiltin:!1)}checkIsDevelopment(s){const g=this.getExtensionCandidateByPath(s.realPath);return!!g?.isDevelopment}getExtensionCandidateByPath(s){return this.appConfig.extensionCandidate&&this.appConfig.extensionCandidate.find(g=>g.path===s)}};t.ExtInstanceManagementService=m,n.__decorate([(0,r.Autowired)(o.StorageProvider),n.__metadata("design:type",Function)],m.prototype,"storageProvider",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],m.prototype,"extensionNodeClient",void 0),t.ExtInstanceManagementService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},98453:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtensionManagementService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(14951),_=e(99220),v=e(82389),m=e(71354),p=e(35321);let s=class extends o.WithEventBus{async getExtensionProps(a,h){const d=await this.extensionNodeClient.getExtension(a,(0,o.getLanguageId)(),h);if(d){const u=this.getExtensionByPath(a);if(u)return{...u.toJSON(),extraMetadata:d.extraMetadata}}}getExtensionByPath(a){return this.extInstanceManagementService.getExtensionInstances().find(h=>a===h.path)}getExtensionByExtId(a){return this.extInstanceManagementService.getExtensionInstances().find(h=>a===h.id)}async postChangedExtension(a,h,d){const{upgrade:u,extensionPath:E,oldExtensionPath:f,isBuiltin:c}=typeof a=="boolean"?{upgrade:a,extensionPath:h,oldExtensionPath:d,isBuiltin:!1}:a,y=this.extInstanceManagementService.getExtensionInstanceByPath(E);if(y){this.logger.warn(`Extension ${y.id} already exists, skip activate`);return}const b=await this.extInstanceManagementService.createExtensionInstance(E,!!c);if(b)return u&&this.disableExtension(f),await this.enableExtension(b)}async postEnableExtension(a){const h=await this.extInstanceManagementService.getExtensionInstanceByPath(a);if(h)return await this.enableExtension(h)}async postDisableExtension(a){return this.disableExtension(a)}async postUninstallExtension(a){return this.uninstallExtension(a)}getAllExtensionJson(){return this.extInstanceManagementService.getExtensionInstances().map(a=>a.toJSON())}disableExtension(a){const h=this.extInstanceManagementService.getExtensionInstanceByPath(a);h&&(h.disable(),this.extInstanceManagementService.deleteExtensionInstanceByPath(a))}async enableExtension(a){this.extInstanceManagementService.addExtensionInstance(a),a.enable(),await a.initialize(),this.eventBus.fire(new m.ExtensionDidEnabledEvent(a.toJSON())),this.sumiContributesService.register(a.id,a.packageJSON.sumiContributes||{}),this.contributesService.register(a.id,a.contributes),this.sumiContributesService.initialize(),this.contributesService.initialize()}async removeExtension(a){try{return await this.fileService.delete(o.URI.file(a).toString()),!0}catch(h){return this.logger.error(h),!1}}async uninstallExtension(a){const h=this.extInstanceManagementService.getExtensionInstanceByPath(a);h&&(h.dispose(),this.extInstanceManagementService.deleteExtensionInstanceByPath(a)),await this.removeExtension(a),this.eventBus.fire(new m.ExtensionDidUninstalledEvent)}};t.ExtensionManagementService=s,n.__decorate([(0,r.Autowired)(m.AbstractExtInstanceManagementService),n.__metadata("design:type",m.AbstractExtInstanceManagementService)],s.prototype,"extInstanceManagementService",void 0),n.__decorate([(0,r.Autowired)(_.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],s.prototype,"extensionNodeClient",void 0),n.__decorate([(0,r.Autowired)(p.VSCodeContributesServiceToken),n.__metadata("design:type",p.VSCodeContributesService)],s.prototype,"contributesService",void 0),n.__decorate([(0,r.Autowired)(v.SumiContributionsServiceToken),n.__metadata("design:type",v.SumiContributionsService)],s.prototype,"sumiContributesService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.ExtensionManagementService=s=n.__decorate([(0,r.Injectable)()],s)},20670:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeExtProcessService=void 0;const n=e(85608),r=e(76003),o=e(8919),l=e(18740),_=e(41869),v=e(99220),m=e(72464),p=e(46147),s=e(37846),g=e(28949),a=e(51072),h=e(17802);let d=class{constructor(){this._apiFactoryDisposables=new _.DisposableStore,this.ready=new _.Deferred,this._extHostUpdated=new _.Deferred,this.extensions=[]}disposeApiFactory(){this._apiFactoryDisposables.clear()}async disposeProcess(){this.disposeApiFactory(),await this.extensionNodeClient.disposeClientExtProcess(this.clientId,!1)}async activate(){return await this.createExtProcess(),this.protocol&&(this.ready.resolve(),await this.createBrowserMainThreadAPI(),await(await this.getProxy()).$updateExtHostData(),this._extHostUpdated.resolve()),this.protocol}async activeExtension(E,f){!this.appConfig.noExtHost&&!f&&(await this._extHostUpdated.promise,await(await this.getProxy()).$activateExtension(E.id))}async updateExtensionData(E){if(this.extensions=E,this.protocol){const f=await this.getProxy();await f.$updateExtHostData(),f.$fireChangeEvent()}}getExtension(E){return this.extensions.find(f=>f.id===E)}async $activateExtension(E){const f=this.extensions.find(c=>c.path===E);f&&await f.activate()}async $getExtensions(){return this.extensions.map(E=>E.toJSON())}async getProxy(){return await this.ready.promise,this.protocol.getProxy(p.ExtHostAPIIdentifier.ExtHostExtensionService)}async createBrowserMainThreadAPI(){const E=(0,h.initSharedAPIProxy)(this.protocol,this.injector);this._apiFactoryDisposables.add(E),this._apiFactoryDisposables.add((0,_.toDisposable)((0,a.initNodeThreadAPIProxy)(this.protocol,this.injector,this))),this._apiFactoryDisposables.add((0,_.toDisposable)((0,g.createSumiAPIFactory)(this.protocol,this.injector))),this._apiFactoryDisposables.add(this.createExternalSumiAPIFactory()),await E.setup()}getSpawnOptions(){return{}}createExternalSumiAPIFactory(){const E=new _.Disposable,f=this.mainThreadExtenderContributionProvider.getContributions();for(const y of f)y.registerMainThreadExtender(this.mainThreadExtenderService);const c=this.mainThreadExtenderService.getMainThreadExtenders();for(const y of c){const b=this.injector.get(y.serviceClass,[this.protocol]);this.protocol.set(y.identifier,b),E.addDispose(b)}return E}async getActivatedExtensions(){return await(await this.getProxy()).$getActivatedExtensions()}get clientId(){return this.applicationService.clientId}async createExtProcess(){await this.extensionNodeClient.createProcess(this.clientId,{enableDebugExtensionHost:this.appConfig.enableDebugExtensionHost,inspectExtensionHost:this.appConfig.inspectExtensionHost,extensionConnectOption:this.appConfig.extensionConnectOption,extHostSpawnOptions:this.getSpawnOptions()}),await this.initExtProtocol()}async initExtProtocol(){var E,f;this.channel&&this.channel.dispose(),this.protocol&&((f=(E=this.protocol).dispose)===null||f===void 0||f.call(E)),this.channel=await this.channelHandler.openChannel(v.CONNECTION_HANDLE_BETWEEN_EXTENSION_AND_MAIN_THREAD),this.connection=this.channel.createConnection(),this.protocol=new o.SumiConnectionMultiplexer(this.connection,{timeout:this.appConfig.rpcMessageTimeout,name:"node-ext-host",io:(0,o.createExtMessageIO)(s.knownProtocols)})}};t.NodeExtProcessService=d,n.__decorate([(0,r.Autowired)(_.AppConfig),n.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],d.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.ExtensionNodeServiceServerPath),n.__metadata("design:type",Object)],d.prototype,"extensionNodeClient",void 0),n.__decorate([(0,r.Autowired)(_.IApplicationService),n.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),n.__decorate([(0,r.Autowired)(l.WSChannelHandler),n.__metadata("design:type",l.WSChannelHandler)],d.prototype,"channelHandler",void 0),n.__decorate([(0,r.Autowired)(m.IMainThreadExtenderService),n.__metadata("design:type",Object)],d.prototype,"mainThreadExtenderService",void 0),n.__decorate([(0,r.Autowired)(m.MainThreadExtenderContribution),n.__metadata("design:type",Object)],d.prototype,"mainThreadExtenderContributionProvider",void 0),t.NodeExtProcessService=d=n.__decorate([(0,r.Injectable)()],d)},90731:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ViewExtProcessService=void 0;const r=e(85608),o=e(76003),l=e(65973),_=e(8919),v=e(41869),m=e(40827),p=e(43718),s=e(61656),g=e(99220),a=e(25600),h=e(17428),d=e(54107),u=e(9438),E=e(8403),f=e(31738),{Path:c,posix:y}=v.path,b="load";let A=n=class extends p.Disposable{constructor(){super(...arguments),this.debugLogger=(0,p.getDebugLogger)(),this.extensions=[],this.activatedViewExtensionMap=new Map,this.portalShadowRootMap=new Map,this.shadowRootBodyMap=new Map}getExtension(D){return this.extensions.find(I=>I.id===D)}async initExtension(D){this.extensions=D}async getActivatedExtensions(){return[]}getProxy(){}async $activateExtension(D){}async $getExtensions(){return this.extensions.map(D=>D.toJSON())}async disposeProcess(){}activate(){const D=this.requireInterceptorContributionProvider.getContributions();for(const I of D)I.registerRequireInterceptor(this.requireInterceptorService);this.extendExtensionErrorStackTrace()}extendExtensionErrorStackTrace(){Error.stackTraceLimit=100,Error.prepareStackTrace=(D,I)=>{let w,T=`Error: ${D.message}`;for(const R of I)if(T+=`
33326
33326
  at ${R.toString()}`,!w&&R.isEval()){const M=R.getEvalOrigin(),O=this.getExtension.apply(this,[M]);if(O){w=O;const x=R.getColumnNumber(),k=R.getLineNumber();T=`
@@ -33398,7 +33398,7 @@ Tokenizing line: ${R}`);for(let W=0;W<N.tokens.length;W++){const j=N.tokens[W];U
33398
33398
 
33399
33399
  `),this}appendMarkdown(s){return this.value+=s,this}appendCodeblock(s,g){return this.value+="\n```",this.value+=s,this.value+=`
33400
33400
  `,this.value+=g,this.value+="\n```\n",this}}t.MarkdownString=_;function v(p){return p instanceof _?!0:p&&typeof p=="object"?typeof p.value=="string"&&(typeof p.isTrusted=="boolean"||p.isTrusted===void 0)&&(typeof p.supportThemeIcons=="boolean"||p.supportThemeIcons===void 0):!1}function m(p){const s=[],g=p.split("|").map(h=>h.trim());p=g[0];const a=g[1];if(a){const h=/height=(\d+)/.exec(a),d=/width=(\d+)/.exec(a),u=h?h[1]:"",E=d?d[1]:"",f=isFinite(parseInt(E,10)),c=isFinite(parseInt(u,10));f&&s.push(`width="${E}"`),c&&s.push(`height="${u}"`)}return{href:p,dimensions:s}}},53886:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(84811),t),n.__exportStar(e(38677),t),n.__exportStar(e(32112),t),n.__exportStar(e(58063),t),n.__exportStar(e(3484),t),n.__exportStar(e(84569),t),n.__exportStar(e(92771),t),n.__exportStar(e(87330),t),n.__exportStar(e(37070),t),n.__exportStar(e(32504),t),n.__exportStar(e(78941),t),n.__exportStar(e(69403),t)},32112:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},69403:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverviewRulerLane=void 0;var e;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(e||(t.OverviewRulerLane=e={}))},58063:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3484:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},92771:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},51418:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},73294:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},50288:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},37846:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownProtocols=void 0;const n=e(11431),r=e(46147);t.knownProtocols=new Map,t.knownProtocols.set(r.ExtHostAPIIdentifier.ExtHostDocuments,n.ExtensionDocumentProtocol)},35250:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectIdentifier=void 0;var e;(function(n){n.name="$ident";function r(l,_){return Object.defineProperty(l,n.name,{value:_,enumerable:!0}),l}n.mixin=r;function o(l){return l[n.name]}n.of=o})(e||(t.ObjectIdentifier=e={}))},16363:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},70858:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLittleEndian=_,t.encodeSemanticTokensDto=v,t.decodeSemanticTokensDto=p;function e(s){for(let g=0,a=s.length;g<a;g+=4){const h=s[g+0],d=s[g+1],u=s[g+2],E=s[g+3];s[g+0]=E,s[g+1]=u,s[g+2]=d,s[g+3]=h}}function n(s){const g=new Uint8Array(s.buffer,s.byteOffset,s.length*4);return _()||e(g),g}function r(s){const g=s;if(_()||e(g),g.byteOffset%4===0)return new Uint32Array(g.buffer,g.byteOffset,g.length/4);{const a=new Uint8Array(g.byteLength);return a.set(g),new Uint32Array(a.buffer,a.byteOffset,a.length/4)}}let o=!0,l=!1;function _(){if(!l){l=!0;const s=new Uint8Array(2);s[0]=1,s[1]=2,o=new Uint16Array(s.buffer)[0]===513}return o}function v(s){const g=new Uint32Array(m(s));let a=0;if(g[a++]=s.id,s.type==="full")g[a++]=1,g[a++]=s.data.length,g.set(s.data,a),a+=s.data.length;else{g[a++]=2,g[a++]=s.deltas.length;for(const h of s.deltas)g[a++]=h.start,g[a++]=h.deleteCount,h.data?(g[a++]=h.data.length,g.set(h.data,a),a+=h.data.length):g[a++]=0}return n(g)}function m(s){let g=0;if(g+=2,s.type==="full")g+=1+s.data.length;else{g+=1,g+=3*s.deltas.length;for(const a of s.deltas)a.data&&(g+=a.data.length)}return g}function p(s){const g=r(s);let a=0;const h=g[a++];if(g[a++]===1){const f=g[a++],c=g.subarray(a,a+f);return a+=f,{id:h,type:"full",data:c}}const u=g[a++],E=[];for(let f=0;f<u;f++){const c=g[a++],y=g[a++],b=g[a++];let A;b>0&&(A=g.subarray(a,a+b),a+=b),E[f]={start:c,deleteCount:y,data:A}}return{id:h,type:"delta",deltas:E}}},29490:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},89225:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.startsWith=e,t.endsWith=n,t.isLowerAsciiLetter=r,t.isUpperAsciiLetter=o,t.equalsIgnoreCase=_,t.escapeRegExpCharacters=m,t.startsWithIgnoreCase=p;function e(s,g){if(s.length<g.length)return!1;if(s===g)return!0;for(let a=0;a<g.length;a++)if(s[a]!==g[a])return!1;return!0}function n(s,g){const a=s.length-g.length;return a>0?s.indexOf(g,a)===a:a===0?s===g:!1}function r(s){return s>=97&&s<=122}function o(s){return s>=65&&s<=90}function l(s){return r(s)||o(s)}function _(s,g){const a=s?s.length:0,h=g?g.length:0;return a!==h?!1:v(s,g)}function v(s,g,a=s.length){if(typeof s!="string"||typeof g!="string")return!1;for(let h=0;h<a;h++){const d=s.charCodeAt(h),u=g.charCodeAt(h);if(d!==u){if(l(d)&&l(u)){const E=Math.abs(d-u);if(E!==0&&E!==32)return!1}else if(String.fromCharCode(d).toLowerCase()!==String.fromCharCode(u).toLowerCase())return!1}}return!0}function m(s){return s.replace(/[-\\{}*+?|^$.[\]()#]/g,"\\$&")}function p(s,g){const a=g.length;return g.length>s.length?!1:v(s,g,a)}},54741:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaskFilterDTO=void 0;var e;(function(n){function r(l){return l}n.from=r;function o(l){if(l)return Object.assign(Object.create(null),l)}n.to=o})(e||(t.TaskFilterDTO=e={}))},25535:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},54056:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TestItemRootImpl=t.TestItemImpl=t.MixedTestItemController=t.InvalidTestItemError=t.DuplicateTestItemError=t.diffTestItems=t.getPrivateApiFor=t.createPrivateApiFor=void 0;const e=new WeakMap,n=(E,f)=>{const c={controllerId:f};return e.set(E,c),c};t.createPrivateApiFor=n;const r=E=>e.get(E);t.getPrivateApiFor=r;const o=(E,f,c,y)=>{let b=c;return{enumerable:!0,configurable:!1,get(){return b},set(A){var S;if(!y(b,A)){const D=b;b=A,(S=E.listener)===null||S===void 0||S.call(E,{op:3,key:f,value:A,previous:D})}}}},l=(E,f)=>E===f,_={range:(E,f)=>E===f?!0:!E||!f?!1:E.isEqual(f),label:l,description:l,sortText:l,busy:l,error:l,canResolveChildren:l,tags:(E,f)=>!(E.length!==f.length||E.some(c=>!f.find(y=>c.id===y.id)))},v=Object.keys(_),m=(E,f)=>({range:o(E,"range",void 0,_.range),label:o(E,"label",f,_.label),description:o(E,"description",void 0,_.description),sortText:o(E,"sortText",void 0,_.sortText),canResolveChildren:o(E,"canResolveChildren",!1,_.canResolveChildren),busy:o(E,"busy",!1,_.busy),error:o(E,"error",void 0,_.error),tags:o(E,"tags",[],_.tags)}),p=(E,f)=>{const c=new Map;for(const y of v){const b=_[y];b(E[y],f[y])||c.set(y,f[y])}return c};t.diffTestItems=p;class s extends Error{constructor(f){super(`Attempted to insert a duplicate test item ID ${f}`)}}t.DuplicateTestItemError=s;class g extends Error{constructor(f){super(`TestItem with ID "${f}" is invalid. Make sure to create it from the createTestItem method.`)}}t.InvalidTestItemError=g;class a extends Error{constructor(f,c,y){super(`TestItem with ID "${f}" is from controller "${c}" and cannot be added as a child of an item from controller "${y}".`)}}t.MixedTestItemController=a;const h=E=>{const f=(0,t.getPrivateApiFor)(E);let c=new Map;return{get size(){return c.size},forEach(y,b){for(const A of c.values())y.call(b,A,this)},replace(y){var b;const A=new Map,S=new Set(c.keys()),D={op:4,ops:[]};for(const I of y){if(!(I instanceof d))throw new g(I.id);const w=(0,t.getPrivateApiFor)(I).controllerId;if(w!==f.controllerId)throw new a(I.id,w,f.controllerId);if(A.has(I.id))throw new s(I.id);A.set(I.id,I),S.delete(I.id),D.ops.push({op:0,item:I})}for(const I of S.keys())D.ops.push({op:1,id:I});(b=f.listener)===null||b===void 0||b.call(f,D),c=A},add(y){var b;if(!(y instanceof d))throw new g(y.id);c.set(y.id,y),(b=f.listener)===null||b===void 0||b.call(f,{op:0,item:y})},delete(y){var b;c.delete(y)&&((b=f.listener)===null||b===void 0||b.call(f,{op:1,id:y}))},get(y){return c.get(y)},toJSON(){return Array.from(c.values())},[Symbol.iterator](){return c.values()}}};class d{constructor(f,c,y,b){if(c.includes("\0"))throw new Error(`Test IDs may not include the ${JSON.stringify(c)} symbol`);const A=(0,t.createPrivateApiFor)(this,f);Object.defineProperties(this,{id:{value:c,enumerable:!0,writable:!1},uri:{value:b,enumerable:!0,writable:!1},parent:{enumerable:!1,get(){return A.parent instanceof u?void 0:A.parent}},children:{value:h(this),enumerable:!0,writable:!1},...m(A,y)})}invalidateResults(){var f,c;(c=(f=(0,t.getPrivateApiFor)(this)).listener)===null||c===void 0||c.call(f,{op:2})}}t.TestItemImpl=d;class u extends d{constructor(f,c){super(f,f,c,void 0)}}t.TestItemRootImpl=u},82086:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4809:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86162:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TreeviewsService=t.ITreeViewsService=t.TreeViewSelection=t.TreeViewItem=t.TreeItemCheckboxState=void 0;var e;(function(l){l[l.Unchecked=0]="Unchecked",l[l.Checked=1]="Checked"})(e||(t.TreeItemCheckboxState=e={}));class n{}t.TreeViewItem=n;var r;(function(l){function _(v){return!!v&&typeof v=="object"&&"treeViewId"in v&&"treeItemId"in v}l.is=_})(r||(t.TreeViewSelection=r={})),t.ITreeViewsService=Symbol("ITreeViewsService");class o{constructor(){this._dragOperations=new Map,this._renderedElements=new Map}removeDragOperationTransfer(_){if(_&&this._dragOperations.has(_)){const v=this._dragOperations.get(_);return this._dragOperations.delete(_),v}}addDragOperationTransfer(_,v){this._dragOperations.set(_,v)}getRenderedTreeElement(_){if(this._renderedElements.has(_))return this._renderedElements.get(_)}addRenderedTreeItemElement(_,v){this._renderedElements.set(_,v)}removeRenderedTreeItemElement(_){this._renderedElements.has(_)&&this._renderedElements.delete(_)}}t.TreeviewsService=o},64945:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},43710:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=o,t.mixin=l,t.illegalArgument=_,t.isLocationArray=v,t.isDefinitionLinkArray=m,t.reviveRegExp=p,t.reviveIndentationRule=s,t.reviveOnEnterRule=g,t.reviveOnEnterRules=a,t.serializeEnterRules=h,t.serializeRegExp=d,t.serializeIndentation=u,t.serializeAutoClosingPairs=E;const r=e(85608).__importStar(e(51328));function o(f){return typeof f=="object"&&f!==null&&!Array.isArray(f)&&!(f instanceof RegExp)&&!(f instanceof Date)}function l(f,c,y=!0){return o(f)?(o(c)&&Object.keys(c).forEach(b=>{b in f?y&&(o(f[b])&&o(c[b])?l(f[b],c[b],y):f[b]=c[b]):f[b]=c[b]}),f):c}function _(f){return f?new Error(`Illegal argument: ${f}`):new Error("Illegal argument")}function v(f){return Array.isArray(f)&&f.length>0&&f[0]instanceof r.Location}function m(f){return Array.isArray(f)&&f.length>0&&f[0].hasOwnProperty("targetUri")&&f[0].hasOwnProperty("targetRange")}function p(f){if(!(typeof f>"u"||f===null))return new RegExp(f.pattern,f.flags)}function s(f){if(!(typeof f>"u"||f===null))return{increaseIndentPattern:p(f.increaseIndentPattern),decreaseIndentPattern:p(f.decreaseIndentPattern),indentNextLinePattern:p(f.indentNextLinePattern),unIndentedLinePattern:p(f.unIndentedLinePattern)}}function g(f){return{beforeText:p(f.beforeText),afterText:p(f.afterText),action:f.action,previousLineText:p(f.previousLineText)}}function a(f){if(!(typeof f>"u"||f===null))return f.map(g)}function h(f){if(!(typeof f>"u"||f===null))return f.map(c=>({action:c.action,beforeText:d(c.beforeText),afterText:d(c.afterText),previousLineText:d(c.previousLineText)}))}function d(f){if(!(typeof f>"u"||f===null))return{pattern:f.source,flags:(f.global?"g":"")+(f.ignoreCase?"i":"")+(f.multiline?"m":"")}}function u(f){if(!(typeof f>"u"||f===null))return{increaseIndentPattern:d(f.increaseIndentPattern),decreaseIndentPattern:d(f.decreaseIndentPattern),indentNextLinePattern:d(f.indentNextLinePattern),unIndentedLinePattern:d(f.unIndentedLinePattern)}}function E(f){if(f)return f.map(c=>({open:c.open,close:c.close,notIn:c.notIn?c.notIn.map(y=>r.SyntaxTokenType.toString(y)):void 0}))}},96833:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98116:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebviewViewResolverRegistrationRemovalEvent=t.WebviewViewResolverRegistrationEvent=void 0;const n=e(43718);class r extends n.BasicEvent{}t.WebviewViewResolverRegistrationEvent=r;class o extends n.BasicEvent{}t.WebviewViewResolverRegistrationRemovalEvent=o},55467:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},92622:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationTarget=void 0,t.reviveWorkspaceEditDto=o;const n=e(43718);var r;(function(l){l[l.Global=1]="Global",l[l.Workspace=2]="Workspace",l[l.WorkspaceFolder=3]="WorkspaceFolder"})(r||(t.ConfigurationTarget=r={}));function o(l){if(l&&l.edits)for(const _ of l.edits)if(typeof _.resource=="object")_.resource=n.URI.from(_.resource),_.options={openDirtyInEditor:!0},_.textEdit=_.textEdit,_.versionId=_.versionId;else{const v=_;v.newResource=_.newResource?n.URI.from(_.newResource):void 0,v.oldResource=_.oldResource?n.URI.from(_.oldResource):void 0,v.options={...v.options,showInEditor:!1}}return l}},57646:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryEditorComponent=void 0;const r=e(85608).__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(37406),v=e(57517),m=e(88819),p=s=>{const g=s.resource.uri.codeUri.fsPath,a=(0,l.useInjectable)(o.INJECTOR_TOKEN),h=(0,l.useInjectable)(l.AppConfig),d=(0,l.useInjectable)(v.WorkbenchEditorService),u=(0,l.useInjectable)(l.IEventBus),E=()=>{const c=d.currentResource;c&&(c.metadata={...c.metadata,skipPreventBinary:!0},u.fire(new v.ResourceOpenTypeChangedEvent(c.uri)))},f=[{label:(0,l.localize)("editor.file.prevent.stillOpen"),onClick:()=>E()}];return h.isElectronRenderer&&f.push({label:(0,l.localize)("editor.openExternal"),onClick:()=>a.get(_.IElectronMainUIService).openPath(g)}),r.default.createElement(m.PreventComponent,{description:(0,l.localize)("editor.cannotOpenBinary"),actions:f})};t.BinaryEditorComponent=p},60387:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WalkThroughSnippetSchemeDocumentProvider=t.VscodeSchemeDocumentProvider=t.FileSchemeDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96405),_=e(68692),v=e(14951),m=e(80449);let p=class extends _.BaseFileSystemEditorDocumentProvider{handlesUri(h){return h.scheme===o.Schemes.file?20:-1}handlesScheme(){return!1}provideEncoding(h){return super.provideEncoding(h)}preferLanguageForUri(h){if(["settings.json"].includes(h.path.base))return"jsonc"}async saveDocumentModel(h,d,u,E,f,c=!1,y=`
33401
- `,b){const A=this.hashCalculateService.calculate(u);return d.length>m.FILE_SAVE_BY_CHANGE_THRESHOLD?await this.fileSchemeDocClient.saveByChange(h.toString(),{baseMd5:A,changes:E,eol:y},f,c,b):await this.fileSchemeDocClient.saveByContent(h.toString(),{baseMd5:A,content:d},f,c,b)}async provideEditorDocumentModelContentMd5(h,d){return this.fileSchemeDocClient.getMd5(h.toString(),d)}};t.FileSchemeDocumentProvider=p,n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(m.IFileSchemeDocClient),n.__metadata("design:type",Object)],p.prototype,"fileSchemeDocClient",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.IHashCalculateService),n.__metadata("design:type",Object)],p.prototype,"hashCalculateService",void 0),t.FileSchemeDocumentProvider=p=n.__decorate([(0,r.Injectable)()],p);let s=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event,this.listeners={}}isReadonly(h){return!0}handlesScheme(h){return h==="vscode"}async provideEditorDocumentModelContent(h,d){return this.getSchemaContent(h)}getSchemaContent(h){const d=h.toString(),u=this.jsonRegistry.getSchemaContributions().schemas[d];if(u){const E=JSON.stringify(u);if(!this.listeners[d]){const f=o.Disposable.create(()=>{this.jsonRegistry.onDidChangeSchema(c=>{c===d&&this._onDidChangeContent.fire(h)})});this.listeners[d]=f}return E}return"{}"}onDidDisposeModel(h){h.toString()&&(this.listeners[h.toString()].dispose(),delete this.listeners[h.toString()])}};t.VscodeSchemeDocumentProvider=s,n.__decorate([(0,r.Autowired)(o.ISchemaStore),n.__metadata("design:type",Object)],s.prototype,"schemaStore",void 0),n.__decorate([(0,r.Autowired)(o.IJSONSchemaRegistry),n.__metadata("design:type",Object)],s.prototype,"jsonRegistry",void 0),t.VscodeSchemeDocumentProvider=s=n.__decorate([(0,r.Injectable)()],s);let g=class{constructor(){this.documentContentMaps=new Map,this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(h){return h===o.Schemes.walkThroughSnippet}provideEditorDocumentModelContent(h,d){return this.documentContentMaps.has(h.toString())||this.documentContentMaps.set(h.toString(),""),this.documentContentMaps.get(h.toString())}isReadonly(){return!1}preferLanguageForUri(){return"plaintext"}};t.WalkThroughSnippetSchemeDocumentProvider=g,t.WalkThroughSnippetSchemeDocumentProvider=g=n.__decorate([(0,r.Injectable)()],g)},41352:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSchemeDocClientService=void 0;const n=e(85608),r=e(76003),o=e(80449);let l=class{saveByChange(v,m,p,s,g){return this.fileDocBackendService.$saveByChange(v,m,p,s,g)}saveByContent(v,m,p,s,g){return this.fileDocBackendService.$saveByContent(v,m,p,s,g)}getMd5(v,m){return this.fileDocBackendService.$getMd5(v,m)}};t.FileSchemeDocClientService=l,n.__decorate([(0,r.Autowired)(o.FileSchemeDocNodeServicePath),n.__metadata("design:type",Object)],l.prototype,"fileDocBackendService",void 0),t.FileSchemeDocClientService=l=n.__decorate([(0,r.Injectable)()],l)},17276:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemEditorComponentContribution=t.FileSystemEditorResourceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(57517),v=e(17878),m=e(42933),p=e(57646),s=e(60387),g=e(88819),a=e(99025),h="video-preview",d="image-preview",u="external-file",E="large-file-prevent";let f=class{registerResource(b){b.registerResourceProvider(this.untitledResourceProvider)}registerEditorDocumentModelContentProvider(b){b.registerEditorDocumentModelContentProvider(this.fileSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.vscodeSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.walkThroughSnippetSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.untitledSchemeDocumentProvider)}};t.FileSystemEditorResourceContribution=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.FileSchemeDocumentProvider)],f.prototype,"fileSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.VscodeSchemeDocumentProvider)],f.prototype,"vscodeSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.WalkThroughSnippetSchemeDocumentProvider)],f.prototype,"walkThroughSnippetSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.UntitledSchemeResourceProvider)],f.prototype,"untitledResourceProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.UntitledSchemeDocumentProvider)],f.prototype,"untitledSchemeDocumentProvider",void 0),t.FileSystemEditorResourceContribution=f=n.__decorate([(0,o.Domain)(_.BrowserEditorContribution)],f);let c=class{constructor(){this.cachedFileType=new o.LRUMap(200,100),this.fileServiceClient.onFilesChanged(b=>{b.forEach(A=>{this.cachedFileType.delete(A.uri.toString())})})}registerEditorComponent(b){b.registerEditorComponent({component:a.ImagePreview,uid:d,scheme:o.Schemes.file}),b.registerEditorComponent({component:a.VideoPreview,uid:h,scheme:o.Schemes.file}),b.registerEditorComponent({component:p.BinaryEditorComponent,uid:u,scheme:o.Schemes.file}),b.registerEditorComponent({component:g.LargeFilePrevent,uid:E,scheme:o.Schemes.file}),b.registerEditorComponentResolver(A=>A===o.Schemes.file||this.fileServiceClient.handlesScheme(A)?10:-1,(A,S)=>{S.length===0&&S.push({type:_.EditorOpenType.component,componentId:u})}),b.registerEditorComponentResolver(A=>A===o.Schemes.file||this.fileServiceClient.handlesScheme(A)?10:-1,async(A,S)=>{const D=await this.getFileType(A.uri.toString());switch(D){case"image":{S.push({type:_.EditorOpenType.component,componentId:d});break}case"video":{S.push({type:_.EditorOpenType.component,componentId:h});break}case"binary":case"text":{const{metadata:I,uri:w}=A,T=I||{};if(D==="binary"&&!T.skipPreventBinary)break;const R=await this.fileServiceClient.getFileStat(w.toString());await this.preference.ready;const M=this.preference.getValid("editor.largeFile",4*1024*1024*1024);R&&(R.size||0)>M&&!T.skipPreventTooLarge?S.push({type:_.EditorOpenType.component,componentId:E}):S.push({type:_.EditorOpenType.code,title:(0,o.localize)("editorOpenType.code")});break}}}),b.registerEditorComponentResolver(o.Schemes.untitled,(A,S,D)=>{D([{type:_.EditorOpenType.code,priority:"default"}])})}async getFileType(b){return this.cachedFileType.has(b)||((0,l.getLanguageIdFromMonaco)(new o.URI(b))?this.cachedFileType.set(b,"text"):this.cachedFileType.set(b,await this.getRealFileType(b))),this.cachedFileType.get(b)}async getRealFileType(b){try{return await this.fileServiceClient.getFileType(b)}catch{return"text"}}};t.FileSystemEditorComponentContribution=c,n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],c.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],c.prototype,"preference",void 0),t.FileSystemEditorComponentContribution=c=n.__decorate([(0,o.Domain)(_.BrowserEditorContribution),n.__metadata("design:paramtypes",[])],c)},52568:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSchemeModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(80449),_=e(41352),v=e(17276);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[v.FileSystemEditorResourceContribution,v.FileSystemEditorComponentContribution,{token:l.IFileSchemeDocClient,useClass:_.FileSchemeDocClientService}],this.backServices=[{servicePath:l.FileSchemeDocNodeServicePath}]}};t.FileSchemeModule=m,t.FileSchemeModule=m=n.__decorate([(0,r.Injectable)()],m)},88819:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LargeFilePrevent=t.PreventComponent=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(81878),v=e(54414),m=e(82196),p=n.__importDefault(e(19996)),s=a=>o.default.createElement("div",{className:p.default["error-page"]},o.default.createElement("div",{className:(0,r.default)(p.default.icon,(0,l.getExternalIcon)("warning"))}),o.default.createElement("div",{className:p.default.description},a.description),o.default.createElement("div",{className:p.default["actions-wrapper"]},a.actions.map((h,d)=>o.default.createElement(_.Button,{key:d,onClick:()=>h.onClick(),className:p.default["action-button"]},h.label))));t.PreventComponent=s;const g=()=>{const a=(0,l.useInjectable)(v.WorkbenchEditorService),h=(0,l.useInjectable)(l.IEventBus),d=()=>{const u=a.currentResource;u&&(u.metadata={...u.metadata,skipPreventTooLarge:!0},h.fire(new m.ResourceOpenTypeChangedEvent(u.uri)))};return o.default.createElement(t.PreventComponent,{description:(0,l.localize)("editor.largeFile.prevent"),actions:[{label:(0,l.localize)("editor.file.prevent.stillOpen"),onClick:()=>d()}]})};t.LargeFilePrevent=g},99025:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImagePreview=t.VideoPreview=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(40827),_=n.__importDefault(e(19996)),v=p=>{const s=(0,o.useInjectable)(l.StaticResourceService);return{src:r.default.useMemo(()=>s.resolveStaticResource(p.uri).toString(),[p])}};t.VideoPreview=(0,r.memo)(p=>{const{src:s}=v(p.resource);return r.default.createElement("div",{className:_.default.kt_video_preview},r.default.createElement("video",{playsInline:!0,controls:!0,className:_.default.kt_video,src:s}))});const m=p=>{const s=r.default.useRef(),g=r.default.useRef(),{src:a}=v(p.resource);return r.default.useEffect(()=>{const h=new o.Disposable;return s.current&&(s.current.src=a),()=>{h.dispose()}},[p.resource]),r.default.createElement("div",{className:_.default.kt_image_preview},r.default.createElement("div",{ref:g},r.default.createElement("img",{ref:h=>h&&(s.current=h)})))};t.ImagePreview=m},80449:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChangeType=t.FileSchemeDocNodeServicePath=t.IFileSchemeDocNodeService=t.IFileSchemeDocClient=t.FILE_SAVE_BY_CHANGE_THRESHOLD=t.FILE_ON_DISK_SCHEME=void 0,t.FILE_ON_DISK_SCHEME="fileOnDisk",t.FILE_SAVE_BY_CHANGE_THRESHOLD=1e5,t.IFileSchemeDocClient=Symbol("IFileSchemeDocClient"),t.IFileSchemeDocNodeService=Symbol("FileSchemeDocNodeService"),t.FileSchemeDocNodeServicePath="FileSchemeDocNodeService";var e;(function(n){n[n.ADDED=1]="ADDED",n[n.REMOVED=2]="REMOVED"})(e||(t.ChangeType=e={}))},15625:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IFileSearchService=t.FileSearchServicePath=void 0,t.FileSearchServicePath="FileSearchServicePath",t.IFileSearchService=Symbol("FileSearchService")},84660:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(15625),t)},47720:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(84660),t)},2156:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceClient=t.BrowserFileSystemRegistryImpl=void 0;const n=e(85608),r=e(32852),o=e(76003),l=e(41869),_=e(43718),v=e(37406),m=e(8170),p=e(93062),s=e(41682),g=e(42933),a=e(81952);let h=class{constructor(){this.providers=new Map}registerFileSystemProvider(E){const f=E.scheme;return this.providers.set(f,E),{dispose:()=>{this.providers.delete(f)}}}};t.BrowserFileSystemRegistryImpl=h,t.BrowserFileSystemRegistryImpl=h=n.__decorate([(0,o.Injectable)()],h);let d=class{get clientId(){return this.applicationService.clientId}constructor(){this.watcherWithSchemaMap=new Map,this.watcherDisposerMap=new Map,this.onFileChangedEmitter=new l.Emitter,this.onFileProviderChangedEmitter=new l.Emitter,this._onFilesChanged=new l.Emitter,this.onFilesChanged=this._onFilesChanged.event,this._onWatcherOverflow=new l.Emitter,this.onWatcherOverflow=this._onWatcherOverflow.event,this._onWatcherFailed=new l.Emitter,this.onWatcherFailed=this._onWatcherFailed.event,this._onFileProviderChanged=new l.Emitter,this.onFileProviderChanged=this._onFileProviderChanged.event,this._onDidChangeFileSystemProviderRegistrations=new l.Emitter,this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event,this._onWillActivateFileSystemProvider=new l.Emitter,this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event,this._onDidChangeFileSystemProviderCapabilities=new l.Emitter,this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event,this.filesExcludesMatcherList=[],this.watcherId=0,this.toDisposable=new l.DisposableCollection,this.watchFileExcludes=[],this.watchFileExcludesMatcherList=[],this.filesExcludes=[],this.workspaceRoots=[],this._providerChanged=new Set,this.fsProviders=new Map,this.userHomeDeferred=new l.Deferred,this.options={encoding:"utf8",overwrite:!1,recursive:!0,moveToTrash:!0},this.uriWatcherMap=new Map,this.toDisposable.push(this.onDidChangeFileSystemProviderRegistrations(E=>{E.added&&E.scheme===_.Schemes.file&&this.doGetCurrentUserHome()}))}async initialize(){const E=await this.getProvider(_.Schemes.file);E.initialize&&await E.initialize(this.clientId,this.appConfig.recursiveWatcherBackend)}async doGetCurrentUserHome(){const f=(await this.getProvider(_.Schemes.file)).getCurrentUserHome();this.userHomeDeferred.resolve(f)}handlesScheme(E){return this.registry.providers.has(E)||this.fsProviders.has(E)}dispose(){return this.toDisposable.dispose()}async resolveContent(E,f){const c=this.convertUri(E),b=await(await this.getProvider(c.scheme)).readFile(c.codeUri),A=b.data||b;return{content:l.BinaryBuffer.wrap(A instanceof Uint8Array?A:Uint8Array.from(A)).toString(f?.encoding)}}async readFile(E){const f=this.convertUri(E),c=await this.getProvider(f.scheme),y=await this.doReadFile(c,f.codeUri),b=y.data||y;return{content:l.BinaryBuffer.wrap(b instanceof Uint8Array?b:Uint8Array.from(b))}}async readFileStream(E){const f=this.convertUri(E);return await(await this.getProvider(f.scheme)).readFileStream(f.codeUri)}async getFileStat(E,f=!0){const c=this.convertUri(E),y=await this.getProvider(c.scheme);try{const b=await y.stat(c.codeUri);if(!b)throw g.FileSystemError.FileNotFound(c.codeUri.toString(),"File not found.");return this.filterStat(b,f)}catch(b){if(g.FileSystemError.FileNotFound.is(b))return}}async setContent(E,f,c){const y=this.convertUri(E.uri),b=await this.getProvider(y.scheme),A=await b.stat(y.codeUri);if(!A)throw g.FileSystemError.FileNotFound(E.uri,"File not found.");if(A.isDirectory)throw g.FileSystemError.FileIsADirectory(E.uri,"Cannot set the content.");if(!await this.isInSync(E,A))throw this.createOutOfSyncError(E);return await b.writeFile(y.codeUri,typeof f=="string"?l.BinaryBuffer.fromString(f).buffer:f,{create:!1,overwrite:!0,encoding:c?.encoding}),await b.stat(y.codeUri)}async updateContent(E,f,c){const y=this.convertUri(E.uri),b=await this.getProvider(y.scheme),A=await b.stat(y.codeUri);if(!A)throw g.FileSystemError.FileNotFound(E.uri,"File not found.");if(A.isDirectory)throw g.FileSystemError.FileIsADirectory(E.uri,"Cannot set the content.");if(!this.checkInSync(E,A))throw this.createOutOfSyncError(E);if(f.length===0)return A;const S=await b.readFile(y.codeUri),D=this.applyContentChanges(l.BinaryBuffer.wrap(S).toString(c?.encoding),f);await b.writeFile(y.codeUri,l.BinaryBuffer.fromString(D).buffer,{create:!1,overwrite:!0,encoding:c?.encoding});const I=await b.stat(y.codeUri);if(!I)throw g.FileSystemError.FileNotFound(y.codeUri.toString(),"File not found.");return I}async createFile(E,f){const c=this.convertUri(E),y=await this.getProvider(c.scheme),b=l.BinaryBuffer.fromString(f?.content||"").buffer;let A=await y.writeFile(c.codeUri,b,{create:!0,overwrite:f&&f.overwrite||!1,encoding:f?.encoding});return A=A||await y.stat(c.codeUri),A}async createFolder(E){const f=this.convertUri(E),c=await this.getProvider(f.scheme),y=await c.createDirectory(f.codeUri);return y||await c.stat(f.codeUri)}async move(E,f,c){const y=this.convertUri(E),b=this.convertUri(f),A=await this.getProvider(y.scheme),S=await A.rename(y.codeUri,b.codeUri,{overwrite:!!(c&&c.overwrite)});return S||await A.stat(b.codeUri)}async copy(E,f,c){const y=this.convertUri(E),b=this.convertUri(f),A=await this.getProvider(y.scheme),S=await this.doGetOverwrite(c);if(!(0,g.containsExtraFileMethod)(A,"copy"))throw this.getErrorProvideNotSupport(y.scheme,"copy");const D=await A.copy(y.codeUri,b.codeUri,{overwrite:!!S});return D||await A.stat(b.codeUri)}async getFsPath(E){if(E.startsWith("file:/"))return l.FileUri.fsPath(E)}fireFilesChange(E){const f=E.changes.map(c=>({uri:c.uri,type:c.type}));this._onFilesChanged.fire(f),this.eventBus.fire(new l.FilesChangeEvent(f))}fireWatcherOverflow(E){this._onWatcherOverflow.fire(E),this.eventBus.fire(new l.FileWatcherOverflowEvent(E))}fireWatcherFailed(E){this._onWatcherFailed.fire(E),this.eventBus.fire(new l.FileWatcherFailureEvent(E))}async watchFileChanges(E,f){const y=(this.appConfig.pollingWatcherDirectories||[]).some(R=>E.path.toString().startsWith(R)),b=this.convertUri(E.toString());let A=0;const S=await this.getProvider(b.scheme),D=this.watcherWithSchemaMap.get(b.scheme)||[];let I;if(this.uriWatcherMap.has(b.toString())){const R=this.uriWatcherMap.get(b.toString());I=R?.watcher,I&&await I.dispose()}I?A=I.watchId:A=this.watcherId++;const w=await S.watch(b.codeUri,{excludes:f,pollingWatch:y});this.watcherDisposerMap.set(A,{dispose:async()=>{const R=this.uriWatcherMap.get(b.toString()),M=R?.watcher;await Promise.all([S.unwatch&&S.unwatch(w),M&&M.dispose()]),this.uriWatcherMap.delete(b.toString())}}),D.push(A),this.watcherWithSchemaMap.set(b.scheme,D);const T=new a.FileSystemWatcher({fileServiceClient:this,watchId:A,uri:E});return this.uriWatcherMap.set(b.toString(),{watcher:T,excludes:f}),T}async setWatchFileExcludes(E){return await(await this.getProvider(_.Schemes.file)).setWatchFileExcludes(E)}async getWatchFileExcludes(){return await(await this.getProvider(_.Schemes.file)).getWatchFileExcludes()}async setFilesExcludes(E,f){this.filesExcludes=E,this.filesExcludesMatcherList=[],f&&this.setWorkspaceRoots(f),this.updateExcludeMatcher()}async setWorkspaceRoots(E){this.workspaceRoots=E,this.updateExcludeMatcher()}async unwatchFileChanges(E){const f=this.watcherDisposerMap.get(E);if(!(!f||!f.dispose))return this.watcherDisposerMap.delete(E),f.dispose()}async delete(E,f){if(this.appConfig.isElectronRenderer&&f?.moveToTrash!==!1){const b=new l.URI(E);if(b.scheme===_.Schemes.file)return this.injector.get(v.IElectronMainUIService).moveToTrash(b.codeUri.fsPath)}const c=this.convertUri(E),y=await this.getProvider(c.scheme);await y.stat(c.codeUri),await y.delete(c.codeUri,{recursive:!0,moveToTrash:await this.doGetMoveToTrash(f)})}async getEncoding(E){return"utf8"}listCapabilities(){return s.Iterable.map(this.fsProviders,([E,f])=>({scheme:E,capabilities:f.capabilities}))}registerProvider(E,f){if(this.fsProviders.has(E))throw new Error(`The file system provider for \`${E}\` already registered`);const c=[];this.fsProviders.set(E,f),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:E,provider:f}),c.push({dispose:()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:E,provider:f}),this.fsProviders.delete(E),this._providerChanged.add(E)}}),f.onDidChangeFile&&c.push(f.onDidChangeFile(b=>this.fireFilesChange({changes:b}))),f.onDidWatcherOverflow&&c.push(f.onDidWatcherOverflow(b=>this.fireWatcherOverflow(b))),f.onDidWatcherFailed&&c.push(f.onDidWatcherFailed(b=>this.fireWatcherFailed(b))),this.toDisposable.push(f.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:f,scheme:E}))),c.push({dispose:async()=>{const b=[];(this.watcherWithSchemaMap.get(E)||[]).forEach(A=>b.push(this.unwatchFileChanges(A))),await Promise.all(b)}}),this._providerChanged.add(E),this.onFileProviderChangedEmitter.fire(Array.from(this._providerChanged)),this.toDisposable.pushAll(c);const y=new l.DisposableCollection;return y.pushAll(c),this._onFileProviderChanged.fire(Array.from(this._providerChanged)),y}async access(E,f=g.FileAccess.Constants.F_OK){const c=this.convertUri(E),y=await this.getProvider(c.scheme);if(!(0,g.containsExtraFileMethod)(y,"access")){if(f===g.FileAccess.Constants.F_OK)try{return!!await y.stat(c.codeUri)}catch{return!1}throw this.getErrorProvideNotSupport(c.scheme,"access")}return await y.access(c.codeUri,f)}async getFileType(E){const f=this.convertUri(E),c=await this.getProvider(f.scheme);if(!(0,g.containsExtraFileMethod)(c,"getFileType"))throw this.getErrorProvideNotSupport(f.scheme,"getFileType");return await c.getFileType(E)}async getCurrentUserHome(){return this.userHomeDeferred.promise}getErrorProvideNotSupport(E,f){return`Scheme ${E} not support this function: ${f}.`}convertUri(E){const f=new l.URI(E);if(!f.scheme)throw new Error(`Unsupported convert Uri with non-scheme Uri: ${E}`);return f}async doReadFile(E,f){var c;if(await this.shouldUseReadStream(E,f)&&E.readFileStream)try{const b=await E.readFileStream(f);return await this.collectReadableStream(b)}catch(b){(c=this.logger)===null||c===void 0||c.warn("[FileServiceClient] readFileStream failed, fallback to readFile.",b)}return await E.readFile(f)}async shouldUseReadStream(E,f){var c;if(!E.readFileStream||!this.isLargeFileStreamEnabled())return!1;const y=this.getLargeFileStreamThreshold();if(!y)return!1;try{const b=await E.stat(f);if(b&&typeof b.size=="number"&&b.size>=y)return!0}catch(b){(c=this.logger)===null||c===void 0||c.warn("[FileServiceClient] stat failed when deciding readFile strategy, fallback to readFile.",b)}return!1}collectReadableStream(E){return new Promise((f,c)=>{const y=[];let b=0;(0,p.listenReadable)(E,{onData:A=>{const S=A instanceof Uint8Array?A:Uint8Array.from(A);y.push(S),b+=S.byteLength},onError:A=>c(A),onEnd:()=>{if(y.length===0){f(new Uint8Array(0));return}if(y.length===1){f(y[0]);return}const A=new Uint8Array(b);let S=0;for(const D of y)A.set(D,S),S+=D.byteLength;f(A)}})})}getLargeFileStreamThreshold(){var E;const f=(E=this.preference)===null||E===void 0?void 0:E.getValid("editor.largeFile",4294967296);if(typeof f=="number"&&f>0)return f}isLargeFileStreamEnabled(){var E;const f=(E=this.preference)===null||E===void 0?void 0:E.getValid("editor.streamLargeFile",!0);return typeof f>"u"?!0:f}updateExcludeMatcher(){this.filesExcludes.forEach(E=>{this.workspaceRoots.length>0?this.workspaceRoots.forEach(f=>{const y=new l.URI(f).resolve(E).path.toString();this.filesExcludesMatcherList.push((0,l.parseGlob)(y))}):this.filesExcludesMatcherList.push((0,l.parseGlob)(E))})}async shouldWaitProvider(E){const f=await this._onWillActivateFileSystemProvider.fireAndAwait({scheme:E}),{result:c}=f[0];if(c&&c.includes(E)){const y=await l.Event.toPromise(l.Event.filter(this.onFileProviderChanged,b=>b.includes(E)));if(!(0,_.isUndefined)(y))return!0}return!1}async getProvider(E){this._providerChanged.has(E)&&(await this.eventBus.fireAndAwait(new l.ExtensionActivateEvent({topic:"onFileSystem",data:E}),{timeout:3e3}),this._providerChanged.delete(E));const f=this.fsProviders.get(E);if(!f)throw new Error(`Not find ${E} provider.`);return f}async isReadonly(E){try{const f=new l.URI(E);return!!(await(await this.getProvider(f.scheme)).stat(this.convertUri(E).codeUri)).readonly}catch{return!1}}isExclude(E){const f=new l.URI(E);return this.filesExcludesMatcherList.some(c=>c(f.path.toString()))}filterStat(E,f=!0){if(E&&!this.isExclude(E.uri))return E.children&&f&&(E.children=this.filterStatChildren(E.children)),E}filterStatChildren(E){const f=[];return E.forEach(c=>{if(this.isExclude(c.uri))return!1;const y=this.filterStat(c);y&&f.push(y)}),f}applyContentChanges(E,f){let c=r.TextDocument.create("","",1,E);for(const y of f){let b=y.text;if(y.range){const A=c.offsetAt(y.range.start),S=c.offsetAt(y.range.end);b=c.getText().substr(0,A)+y.text+c.getText().substr(S)}c=r.TextDocument.create(c.uri,c.languageId,c.version,b)}return c.getText()}async isInSync(E,f){return!!this.checkInSync(E,f)}checkInSync(E,f){return f.lastModification===E.lastModification&&f.size===E.size}createOutOfSyncError(E){return g.FileSystemError.FileIsOutOfSync(E.uri)}async doGetEncoding(E){return E&&typeof E.encoding<"u"?E.encoding:this.options.encoding}async doGetOverwrite(E){return E&&typeof E.overwrite<"u"?E.overwrite:this.options.overwrite}async doGetRecursive(E){return E&&typeof E.recursive<"u"?E.recursive:this.options.recursive}async doGetMoveToTrash(E){return E&&typeof E.moveToTrash<"u"?E.moveToTrash:this.options.moveToTrash}async reconnect(){const E=await this.getProvider(_.Schemes.file);E.initialize&&await E.initialize(this.clientId,this.appConfig.recursiveWatcherBackend);const c=Array.from(this.uriWatcherMap.keys()).map(async y=>{var b;try{const A=new l.URI(y),S=this.uriWatcherMap.get(y);S?.watcher&&await this.watchFileChanges(A,S.excludes)}catch(A){(b=this.logger)===null||b===void 0||b.error("Error reconnecting watcher for:",y,A)}});await Promise.allSettled(c)}};t.FileServiceClient=d,n.__decorate([(0,o.Autowired)(g.IBrowserFileSystemRegistry),n.__metadata("design:type",h)],d.prototype,"registry",void 0),n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],d.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],d.prototype,"eventBus",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(m.IApplicationService),n.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),n.__decorate([(0,o.Autowired)(_.ILogger),n.__metadata("design:type",Object)],d.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],d.prototype,"preference",void 0),t.FileServiceClient=d=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],d)},69037:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(42933),_=e(2156);let v=class{constructor(){this._disposables=new o.DisposableStore,this._disposables.add(this.fileSystem.registerProvider(o.Schemes.file,this.diskFileServiceProvider))}async initialize(){const p=this.contributionProvider.getContributions();await Promise.all(p.map(async s=>{s.registerProvider&&await s.registerProvider(this.fileSystem)})),await Promise.all(p.map(async s=>{s.onFileServiceReady&&await s.onFileServiceReady()})),this.fileSystem.initialize&&await this.fileSystem.initialize()}onReconnect(){this.fileServiceClient.reconnect().catch(p=>this.logger.error("Failed to reconnect watchers:",p))}dispose(){this._disposables.dispose()}};t.FileServiceContribution=v,n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",_.FileServiceClient)],v.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(l.IDiskFileProvider),n.__metadata("design:type",Object)],v.prototype,"diskFileServiceProvider",void 0),n.__decorate([(0,r.Autowired)(o.FsProviderContribution),n.__metadata("design:type",Object)],v.prototype,"contributionProvider",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),t.FileServiceContribution=v=n.__decorate([(0,o.Domain)(o.ClientAppContribution),n.__metadata("design:paramtypes",[])],v)},60476:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiskFsProviderClient=t.CoreFileServiceProviderClient=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(42933);class _{constructor(){this.onDidChangeFileEmitter=new o.Emitter,this.onDidChangeFile=this.onDidChangeFileEmitter.event,this.watcherOverflowEmitter=new o.Emitter,this.onDidWatcherOverflow=this.watcherOverflowEmitter.event,this.watcherFailedEmitter=new o.Emitter,this.onDidWatcherFailed=this.watcherFailedEmitter.event}onWatcherOverflow(p){this.watcherOverflowEmitter.fire(p)}onWatcherFailed(p){this.watcherFailedEmitter.fire(p)}watch(p,s){return this.fileServiceProvider.watch(p,s)}unwatch(p){return this.fileServiceProvider.unwatch&&this.fileServiceProvider.unwatch(p)}async stat(p){return await this.fileServiceProvider.stat(p)}readDirectory(p){return this.fileServiceProvider.readDirectory(p)}createDirectory(p){return this.fileServiceProvider.createDirectory(p)}async readFile(p,s){return s&&(0,o.getDebugLogger)("fileService.fsProvider").warn("encoding option for fsProvider.readFile is deprecated"),await this.fileServiceProvider.readFile(p)}readFileStream(p){if(this.fileServiceProvider.readFileStream)return this.fileServiceProvider.readFileStream(p);throw new Error("readFileStream not supported")}writeFile(p,s,g){return this.fileServiceProvider.writeFile(p,Array.from(s),g)}delete(p,s){return this.fileServiceProvider.delete(p,s)}rename(p,s,g){return this.fileServiceProvider.rename(p,s,g)}}t.CoreFileServiceProviderClient=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0);let v=class extends _{constructor(){super(...arguments),this.onDidChangeCapabilities=o.Event.None}get capabilities(){return this._capabilities||(this._capabilities=12318,o.isLinux&&(this._capabilities|=1024)),this._capabilities}async initialize(p,s){var g,a;if(!((g=this.fileServiceProvider)===null||g===void 0)&&g.initialize)try{await((a=this.fileServiceProvider)===null||a===void 0?void 0:a.initialize(p,s))}catch(h){(0,o.getDebugLogger)("fileService.fsProvider").error("initialize error",h)}}setWatchFileExcludes(p){return this.fileServiceProvider.setWatchFileExcludes(p)}getWatchFileExcludes(){return this.fileServiceProvider.getWatchFileExcludes()}onDidFilesChanged(p){const s=p.changes.map(g=>({uri:g.uri,type:g.type}));this.onDidChangeFileEmitter.fire(s)}copy(p,s,g){return this.fileServiceProvider.copy(p,s,g)}access(p,s){return this.fileServiceProvider.access(p,s)}getCurrentUserHome(){return this.fileServiceProvider.getCurrentUserHome()}getFileType(p){return this.fileServiceProvider.getFileType(p)}};t.DiskFsProviderClient=v,n.__decorate([(0,r.Autowired)(l.DiskFileServicePath),n.__metadata("design:type",Object)],v.prototype,"fileServiceProvider",void 0),n.__decorate([(0,o.debounce)(100),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Array]),n.__metadata("design:returntype",void 0)],v.prototype,"setWatchFileExcludes",null),t.DiskFsProviderClient=v=n.__decorate([(0,r.Injectable)()],v)},96708:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceClientModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(42933),_=e(70671),v=e(2156),m=e(69037),p=e(60476),s=e(23188);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IFileServiceClient,useClass:v.FileServiceClient},{token:l.IBrowserFileSystemRegistry,useClass:v.BrowserFileSystemRegistryImpl},{token:l.IDiskFileProvider,useClass:p.DiskFsProviderClient},{token:l.IShadowFileProvider,useClass:s.ShadowFileSystemProvider},m.FileServiceContribution],this.backServices=[{servicePath:l.DiskFileServicePath,clientToken:l.IDiskFileProvider,protocol:_.DiskFileServiceProtocol}]}};t.FileServiceClientModule=g,t.FileServiceClientModule=g=n.__decorate([(0,r.Injectable)()],g)},23188:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShadowFileSystemProvider=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class{constructor(){this.capabilities=2048,this.onDidChangeCapabilities=o.Event.None,this.readonly=!0,this.shadowFiles=new Map,this.fileChangeEmitter=new o.Emitter,this.onDidChangeFile=this.fileChangeEmitter.event}unwatch(v){throw new Error("Method not implemented.")}readFileStream(v){throw new Error("Method not implemented.")}watch(v,m){throw new Error("Method not implemented.")}stat(v){return Promise.resolve({uri:v.toString(),lastModification:0})}readDirectory(v){throw new Error("Method not implemented.")}createDirectory(v){throw new Error("Method not implemented.")}readFile(v){return this.shadowFiles.get(v.toString())||o.BinaryBuffer.fromString("no available").buffer}writeFile(v,m,p){this.shadowFiles.set(v.toString(),m)}delete(v,m){throw new Error("Method not implemented.")}rename(v,m,p){throw new Error("Method not implemented.")}copy(v,m,p){throw new Error("Method not implemented.")}exists(v){throw new Error("Method not implemented.")}access(v,m){throw new Error("Method not implemented.")}};t.ShadowFileSystemProvider=l,t.ShadowFileSystemProvider=l=n.__decorate([(0,r.Injectable)()],l)},81952:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemWatcher=void 0;const n=e(43718);function r(l,_){return l.filter(v=>!!v.uri.startsWith(_))}class o{constructor(_){this.toDispose=new n.DisposableCollection,this.changeEmitter=new n.Emitter,this.toDispose.push(this.changeEmitter),this.fileServiceClient=_.fileServiceClient,this.watchId=_.watchId,this.uri=_.uri,this.fileServiceClient.onFilesChanged(v=>{const m=r(v,this.uri.toString());m&&m.length>0&&this.changeEmitter.fire(m)})}get onFilesChanged(){return this.changeEmitter.event}dispose(){return Promise.all([this.toDispose.dispose(),this.fileServiceClient.unwatchFileChanges(this.watchId)])}isDisposed(){return this.toDispose.disposed}}t.FileSystemWatcher=o},91813:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EXT_LIST_TEXT=t.EXT_LIST_IMAGE=t.EXT_LIST_VIDEO=void 0,t.getFileTypeByExt=e,t.EXT_LIST_VIDEO=new Set(["mp4","webm","mkv","mov","mts","flv","avi","wmv"]),t.EXT_LIST_IMAGE=new Set(["png","gif","jpg","jpeg","svg","bmp","avif","cr2","cr3","dng","flif","heic","icns","jxl","jpm","jpx","nef","raf","rw2","tif","orf","webp","apng"]),t.EXT_LIST_TEXT=new Set(["xml"]);function e(n){let r="text";return n&&(t.EXT_LIST_IMAGE.has(n)?r="image":t.EXT_LIST_VIDEO.has(n)?r="video":t.EXT_LIST_TEXT.has(n)?r="text":r="binary"),r}},79929:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IBrowserFileSystemRegistry=t.IFileServiceClient=void 0;const n=e(43718);t.IFileServiceClient=n.IFileServiceClient,t.IBrowserFileSystemRegistry=Symbol("IBrowserFileSystemRegistry")},49818:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemError=t.FileOperationError=t.FileSystemProviderError=t.FileSystemProviderErrorCode=t.FileAccess=t.IFileService=t.IShadowFileProvider=t.IDiskFileProvider=t.FileStat=t.FileType=void 0,t.createFileSystemProviderError=p,t.markAsFileSystemProviderError=s,t.containsExtraFileMethod=a,t.notEmpty=h,t.isErrnoException=d,t.handleError=u;const n=e(85608),r=e(43718);var o=e(31036);Object.defineProperty(t,"FileType",{enumerable:!0,get:function(){return o.FileType}}),Object.defineProperty(t,"FileStat",{enumerable:!0,get:function(){return o.FileStat}}),n.__exportStar(e(11854),t),t.IDiskFileProvider=Symbol("IDiskFileProvider"),t.IShadowFileProvider=Symbol("IShadowFileProvider"),t.IFileService=Symbol("IFileService");var l;(function(E){let f;(function(c){c.F_OK=0,c.R_OK=4,c.W_OK=2,c.X_OK=1})(f=E.Constants||(E.Constants={}))})(l||(t.FileAccess=l={}));var _;(function(E){E.FileExists="EntryExists",E.FileNotFound="EntryNotFound",E.FileNotADirectory="EntryNotADirectory",E.FileIsADirectory="EntryIsADirectory",E.FileIsOutOfSync="FileIsOutOfSync",E.FileExceedsMemoryLimit="EntryExceedsMemoryLimit",E.FileTooLarge="EntryTooLarge",E.FileWriteLocked="EntryWriteLocked",E.NoPermissions="NoPermissions",E.Unavailable="Unavailable",E.Unknown="Unknown"})(_||(t.FileSystemProviderErrorCode=_={}));class v extends Error{static declare(f,c){return Object.assign((...y)=>p(c(...y),f),{is:y=>{var b;return(b=y.stack)===null||b===void 0?void 0:b.startsWith(f)}})}constructor(f,c){super(f),this.code=c}is(f){return this.name===f.name}}t.FileSystemProviderError=v;class m extends Error{constructor(f,c,y){super(f),this.fileOperationResult=c,this.options=y}static isFileOperationError(f){return f instanceof Error&&!(0,r.isUndefinedOrNull)(f.fileOperationResult)}}t.FileOperationError=m;function p(E,f){const c=new v(E.toString(),f);return s(c,f),c}function s(E,f){return E.name=f?`${f} (FileSystemError)`:"FileSystemError",E}var g;(function(E){E.FileNotFound=v.declare(_.FileNotFound,(f,c)=>`${c?c+" ":""} '${f}' is not found.`),E.FileExists=v.declare(_.FileExists,(f,c)=>`${c?c+" ":""}'${f}' already exists.`),E.FileNotADirectory=v.declare(_.FileNotADirectory,(f,c)=>`${c?c+" ":""}'${f}' is not a directory.`),E.FileIsADirectory=v.declare(_.FileIsADirectory,(f,c)=>`${c?c+" ":""}'${f}' is a directory.`),E.FileIsOutOfSync=v.declare(_.FileIsOutOfSync,(f,c)=>`${c?c+" ":""}'${f}' is out of sync.`),E.FileExceedsMemoryLimit=v.declare(_.FileExceedsMemoryLimit,(f,c)=>`${c?c+" ":""}'${f}' is exceeds memory limit.`),E.FileTooLarge=v.declare(_.FileTooLarge,(f,c)=>`${c?c+" ":""}'${f}' is too large.`),E.FileWriteLocked=v.declare(_.FileWriteLocked,(f,c)=>`${c?c+" ":""}'${f}' is locked.`),E.FileIsNoPermissions=v.declare(_.NoPermissions,(f,c)=>`${c?c+" ":""}'${f}' is no permissions.`),E.Unavailable=v.declare(_.Unavailable,(f,c)=>`${c?c+" ":""}'${f}' is unavailable.`),E.Unknown=v.declare(_.Unknown,(f,c)=>`${c?c+" ":""}'${f}' is unkonw.`)})(g||(t.FileSystemError=g={}));function a(E,f){return(0,r.hasProperty)(E,f)&&(0,r.isFunction)(E[f])}function h(E){return E!==void 0}function d(E){return E.code!==void 0&&E.errno!==void 0}function u(E){var f,c,y,b,A;if(d(E))switch(E.code){case"EEXIST":throw g.FileExists(r.Uri.file((f=E.path)!==null&&f!==void 0?f:""));case"EPERM":case"EACCESS":throw g.FileIsNoPermissions(r.Uri.file((c=E.path)!==null&&c!==void 0?c:""));case"ENOENT":throw g.FileNotFound(r.Uri.file((y=E.path)!==null&&y!==void 0?y:""));case"ENOTDIR":throw g.FileNotADirectory(r.Uri.file((b=E.path)!==null&&b!==void 0?b:""));case"EISDIR":throw g.FileIsADirectory(r.Uri.file((A=E.path)!==null&&A!==void 0?A:""))}throw E}},42933:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(79929),t),n.__exportStar(e(49818),t),n.__exportStar(e(28217),t),n.__exportStar(e(91813),t),n.__exportStar(e(50295),t)},70671:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiskFileServiceProtocol=void 0;const n=e(26387),r=e(52890),o=e(50295);t.DiskFileServiceProtocol={name:o.DiskFileServicePath,methods:[{method:"readFile",request:[{name:"uri",type:r.UriComponentsProto}],response:{type:n.Type.binary()}}]}},50295:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileExtServicePath=t.FileWatcherServicePath=t.ShadowFileServicePath=t.DiskFileServicePath=t.FileServicePath=void 0,t.FileServicePath="FileService",t.DiskFileServicePath="DiskFileService",t.ShadowFileServicePath="ShadowFileService",t.FileWatcherServicePath="FileWatcherService",t.FileExtServicePath="FileExtServicePath"},28217:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WatcherProcessManagerProxy=t.WatcherServiceProxy=t.WATCHER_INIT_DATA_KEY=t.SUMI_WATCHER_PROCESS_SOCK_KEY=t.INsfw=void 0;const n=e(86058);var r;(function(o){let l;(function(_){_[_.CREATED=0]="CREATED",_[_.DELETED=1]="DELETED",_[_.MODIFIED=2]="MODIFIED",_[_.RENAMED=3]="RENAMED"})(l=o.actions||(o.actions={}))})(r||(t.INsfw=r={})),t.SUMI_WATCHER_PROCESS_SOCK_KEY="sumi-watcher-process-sock",t.WATCHER_INIT_DATA_KEY="sumi-watcher-init-data",t.WatcherServiceProxy=new n.ProxyIdentifier("WatcherHostServiceImpl"),t.WatcherProcessManagerProxy=new n.ProxyIdentifier("WatcherProcessManagerProxy")},14951:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(42933),t)},57942:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDialogModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(26542),m=e(6250),p=e(2812),s=r.__importDefault(e(89200)),g=e(9018);let a=n=class{static createContainer(d,u){return d.createChild([{token:m.IFileDialogTreeService,useValue:u},{token:m.IFileDialogModel,useClass:n}])}static createModel(d,u){return n.createContainer(d,u).get(m.IFileDialogModel)}constructor(){this.selectedDecoration=new l.Decoration(s.default.mod_selected),this.focusedDecoration=new l.Decoration(s.default.mod_focused),this.loadingDecoration=new l.Decoration(s.default.mod_loading),this.cutDecoration=new l.Decoration(s.default.mod_cut),this._selectedFiles=[],this.disposableCollection=new _.DisposableCollection,this.onDidFocusedFileChangeEmitter=new _.Emitter,this.onDidSelectedFileChangeEmitter=new _.Emitter,this.clearFileSelectedDecoration=()=>{this._selectedFiles.forEach(d=>{this.selectedDecoration.removeTarget(d)}),this._selectedFiles=[],this.onDidSelectedFileChangeEmitter.fire([])},this.activeFileDecoration=(d,u=!0)=>{d!==this.treeModel.root&&(this.preContextMenuFocusedFile&&(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile),this.preContextMenuFocusedFile=null),d&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(E=>{this.selectedDecoration.removeTarget(E)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedFile=d,this._selectedFiles=[d],this.onDidFocusedFileChangeEmitter.fire(d.uri),this.onDidSelectedFileChangeEmitter.fire([d.uri]),u&&this.treeModel.dispatchChange()))},this.selectFileDecoration=(d,u=!0)=>{d!==this.treeModel.root&&(this.preContextMenuFocusedFile&&(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile),this.preContextMenuFocusedFile=null),d&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(E=>{this.selectedDecoration.removeTarget(E)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(d),this._selectedFiles=[d],this.onDidSelectedFileChangeEmitter.fire([d.uri]),u&&this.treeModel.dispatchChange()))},this.activeFileFocusedDecoration=(d,u=!1)=>{d!==this.treeModel.root&&(this.focusedFile!==d&&(u?(this.preContextMenuFocusedFile?(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile)):this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.preContextMenuFocusedFile=d):this.focusedFile&&(this.preContextMenuFocusedFile=null,this.focusedDecoration.removeTarget(this.focusedFile)),d&&(this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedFile=d,this._selectedFiles.push(d),this.onDidFocusedFileChangeEmitter.fire(d.uri),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(E=>E.uri)))),this.treeModel.dispatchChange())},this.activeFileSelectedDecoration=d=>{this._selectedFiles.indexOf(d)>-1||(this._selectedFiles.push(d),this.selectedDecoration.addTarget(d),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(u=>u.uri)),this.treeModel.dispatchChange())},this.activeFileDecorationByRange=(d,u)=>{for(this.clearFileSelectedDecoration(),this.preContextMenuFocusedFile=null;d<=u;d++){const E=this.treeModel.root.getTreeNodeAtIndex(d);E&&(this._selectedFiles.push(E),this.selectedDecoration.addTarget(E))}this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(E=>E.uri)),this.treeModel.dispatchChange()},this.enactiveFileDecoration=()=>{this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this.onDidFocusedFileChangeEmitter.fire(),this.treeModel.dispatchChange()),this._focusedFile=void 0},this.toggleDirectory=async d=>{d.expanded?this.fileTreeHandle.collapseNode(d):this.fileTreeHandle.expandNode(d)},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this.handleTreeFocus=()=>{},this.handleItemRangeClick=(d,u)=>{if(!this.focusedFile)this.handleItemClick(d,u);else if(this.focusedFile&&this.focusedFile!==d){const E=this.treeModel.root.getIndexAtTreeNode(d),f=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);f>E?this.activeFileDecorationByRange(E,f):f<E&&this.activeFileDecorationByRange(f,E)}},this.handleItemToggleClick=(d,u)=>{u!==l.TreeNodeType.CompositeTreeNode&&u!==l.TreeNodeType.TreeNode||(this.selectedFiles.indexOf(d)>-1?this.focusedFile===d?this.enactiveFileDecoration():this.activeFileFocusedDecoration(d):this.activeFileSelectedDecoration(d))},this.handleItemClick=(d,u)=>{this.clickTimes++,(u===l.TreeNodeType.CompositeTreeNode||u===l.TreeNodeType.TreeNode)&&this.activeFileDecoration(d),u===l.TreeNodeType.CompositeTreeNode&&this.corePreferences["workbench.list.openMode"]==="singleClick"&&this.toggleDirectory(d),this.clickTimer&&clearTimeout(this.clickTimer),this.clickTimer=setTimeout(()=>{this.clickTimes>1&&u!==l.TreeNodeType.TreeNode&&this.corePreferences["workbench.list.openMode"]==="doubleClick"&&this.toggleDirectory(d),this.clickTimes=0},200)},this.getDirectoryList=()=>this.fileTreeDialogService.getDirectoryList(),this._whenReady=this.initTreeModel()}get onDidFocusedFileChange(){return this.onDidFocusedFileChangeEmitter.event}get onDidSelectedFileChange(){return this.onDidSelectedFileChangeEmitter.event}get fileTreeHandle(){return this._fileTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get selectedFiles(){return this._selectedFiles}async initTreeModel(){const d=(await this.fileTreeDialogService.resolveChildren())[0];this._treeModel=this.injector.get(p.FileTreeModel,[d]),this.initDecorations(d),this.disposableCollection.push(this._decorations),this.disposableCollection.push(this.labelService.onDidChange(()=>{this.treeModel.dispatchChange()})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,u=>{this.loadingDecoration.addTarget(u)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,u=>{this.loadingDecoration.removeTarget(u)}))}async updateTreeModel(d){const u=await this.fileTreeDialogService.resolveRoot(d);if(u&&u.length>0){const E=u[0];this._treeModel=this.injector.get(p.FileTreeModel,[E]),this.clearFileSelectedDecoration(),this.initDecorations(E)}}initDecorations(d){this._decorations&&this._decorations.dispose(),this._decorations=new l.DecorationsManager(d),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.cutDecoration),this._decorations.addDecoration(this.loadingDecoration)}handleTreeHandler(d){this._fileTreeHandle=d}dispose(){this.disposableCollection.dispose()}};t.FileTreeDialogModel=a,a.FILE_TREE_SNAPSHOT_KEY="FILE_TREE_SNAPSHOT",a.DEFAULT_LOCATION_FLUSH_DELAY=500,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],a.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(m.IFileDialogTreeService),r.__metadata("design:type",g.FileTreeDialogService)],a.prototype,"fileTreeDialogService",void 0),r.__decorate([(0,o.Autowired)(v.LabelService),r.__metadata("design:type",v.LabelService)],a.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(_.CorePreferences),r.__metadata("design:type",Object)],a.prototype,"corePreferences",void 0),t.FileTreeDialogModel=a=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],a)},69748:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FILE_TREE_BADGE_LIMIT=t.FILE_TREE_NODE_HEIGHT=t.FileTreeDialogNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(69959),m=n.__importDefault(e(89200)),p=({item:s,onClick:g,itemType:a,labelService:h,leftPadding:d=8,onTwistierClick:u,decorations:E,defaultLeftPadding:f=8,template:c})=>{const y=a===l.TreeNodeType.RenamePrompt,b=a===l.TreeNodeType.NewPrompt,A=y||b,S=(0,_.useDesignStyles)(m.default.expansion_toggle,"expansion_toggle"),D=(0,_.useDesignStyles)(m.default.file_tree_node,"file_tree_node"),I=W=>{(a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode)&&g(W,s,a)},w=W=>{(a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode)&&(u?u(W,s,a):g(W,s,a))},T=a===l.TreeNodeType.CompositeTreeNode;let R;A?b?R=`${f+(s.parent.depth+1||0)*(d||0)}px`:R=`${f+(s.target.depth||0)*(d||0)}px`:R=T?`${f+(s.depth||0)*(d||0)}px`:`${f+(s.depth||0)*(d||0)+8}px`;const M={height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`,paddingLeft:R},O=(W,j)=>{if(E&&E?.classlist.indexOf(m.default.mod_loading)>-1)return o.default.createElement(l.Loading,null);if(A&&W instanceof l.PromptHandle){let Q=!1;if(y?Q=W.target.type===l.TreeNodeType.CompositeTreeNode:Q=W.type===l.TreeNodeType.CompositeTreeNode,Q)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,S,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:b||!(y&&W.target.type===l.TreeNodeType.CompositeTreeNode&&W.target.expanded)})})}else return o.default.createElement("div",{onClick:j,className:(0,r.default)(m.default.file_tree_node_segment,S,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:!W.expanded})})},x=W=>{let j,Q;A&&W instanceof l.PromptHandle?W instanceof l.RenamePromptHandle?(j=W.target.uri.resolve(W.$.value),Q=v.Directory.is(W.target)):(j=W.parent.uri.resolve(W.$.value),Q=W.type===l.TreeNodeType.CompositeTreeNode):(j=W.uri,Q=W.filestat.isDirectory);const $=h.getIcon(j,{isDirectory:Q});return o.default.createElement("div",{className:(0,r.default)(m.default.file_icon,$,{expanded:Q&&W.expanded}),style:{height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`}})},k=W=>c?o.default.createElement(c,null):A&&W instanceof l.PromptHandle?o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_inputbox)},o.default.createElement("div",{className:(0,r.default)("input-box",m.default.file_tree_node_prompt_box)},o.default.createElement(W.ProxiedInput,{wrapperStyle:{height:t.FILE_TREE_NODE_HEIGHT,padding:"0 5px"}}))):o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},W.name),F=()=>o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_tail)},L()),L=()=>null,N=W=>{if(T)return O(W,w);if(A)return O(W,()=>{})},U=()=>s.tooltip||s.name;return o.default.createElement("div",{key:s.id,onClick:I,title:U(),className:(0,r.default)(D,E?E.classlist:null),style:M,draggable:a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode},o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_content)},N(s),x(s),o.default.createElement("div",{className:A?m.default.file_tree_node_prompt_wrap:m.default.file_tree_node_overflow_wrap},k(s)),F()))};t.FileTreeDialogNode=p,t.FILE_TREE_NODE_HEIGHT=22,t.FILE_TREE_BADGE_LIMIT=99},68195:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileDialogContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3);let _=class{initScopedContext(m){this._contextKeyService=this.globalContextKeyService.createScoped(m),this.fileDialogViewVisibleContext=l.FileDialogViewVisibleContext.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.FileDialogContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextKeyService",void 0),t.FileDialogContextKey=_=n.__decorate([(0,r.Injectable)()],_)},9018:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDialogService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(26542),v=e(54414),m=e(14951),p=e(72665),s=e(51500),g=e(6250),a=e(57781),h=e(97738),d=e(68195);let u=class extends o.Tree{constructor(f){super(),this._whenReady=this.resolveWorkspaceRoot(f)}get whenReady(){return this._whenReady}async resolveWorkspaceRoot(f){if(f){const c=new l.URI(f).withScheme(l.Schemes.file),y=await this.fileTreeAPI.resolveFileStat(c);y&&(this.workspaceRoot=y)}}async resolveChildren(f){if(f){if(f.uri){const{children:c}=await this.fileTreeAPI.resolveChildren(this,f.uri.toString(),f);return c}}else{this.workspaceRoot||(this.workspaceRoot=(await this.workspaceService.roots)[0]);const{children:c}=await this.fileTreeAPI.resolveChildren(this,this.workspaceRoot);return this.root=c[0],c}return[]}async resolveRoot(f){let c;/^file:\/\//.test(f)&&(c=new l.URI(f)),c=l.URI.file(f);const y=await this.fileTreeAPI.resolveFileStat(c);if(y){const{children:b}=await this.fileTreeAPI.resolveChildren(this,y);return this.root=b[0],b}}getDirectoryList(){const f=[];if(!this.root)return f;let c=new l.URI(this.workspaceRoot.uri);if(c&&c.parent)for(;c.parent;){const y=c.codeUri.fsPath;if(f.indexOf(y)>=0)break;f.push(y),c=c.parent}else f.push(c.codeUri.fsPath.toString());return f}sortComparator(f,c){return f.constructor===c.constructor?f.name.startsWith(".")&&!c.name.startsWith(".")?1:!f.name.startsWith(".")&&c.name.startsWith(".")?-1:f.name.localeCompare(c.name,"kn",{numeric:!0}):f.type===o.TreeNodeType.CompositeTreeNode?-1:c.type===o.TreeNodeType.CompositeTreeNode?1:0}initContextKey(f){f&&this.fileDialogContextKey.initScopedContext(f)}get contextKey(){return this.fileDialogContextKey}async saveAs(f){const{oldFilePath:c,newFilePath:y}=f;if(!c||!y)throw new Error("oldFilePath and newFilePath are required");await this.createFile(f);try{const b=l.URI.file(f.newFilePath),A={preview:!1,focus:!0,replace:!0,forceClose:!0,disableNavigate:!1};await this.workbenchEditorService.open(b,A),await this.fileTreeModelService.clearFileSelectedDecoration();const S=this.fileTreeService.getNodeByPathOrUri(b);S&&await this.fileTreeModelService.activeFileDecoration(S)}catch(b){throw new Error(`Failed to open saveAs file: ${b.message}`)}}async createFile(f){try{const{oldFilePath:c,newFilePath:y}=f;if(!await this.fileServiceClient.getFileStat(c))throw new Error(`Source file not found: ${c}`);const{content:A}=await this.fileServiceClient.readFile(c);await this.fileServiceClient.createFile(y,{content:A.toString(),encoding:"utf8",overwrite:!0})}catch(c){throw new Error(`Failed to create file: ${c.message}`)}}renderCustomMsg(){return null}async getDefaultFilePath(f,c){return c}dispose(){super.dispose()}};t.FileTreeDialogService=u,n.__decorate([(0,r.Autowired)(g.IFileTreeAPI),n.__metadata("design:type",Object)],u.prototype,"fileTreeAPI",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],u.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.LabelService),n.__metadata("design:type",_.LabelService)],u.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(d.FileDialogContextKey),n.__metadata("design:type",d.FileDialogContextKey)],u.prototype,"fileDialogContextKey",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],u.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],u.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(p.IDialogService),n.__metadata("design:type",Object)],u.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(h.FileTreeModelService),n.__metadata("design:type",h.FileTreeModelService)],u.prototype,"fileTreeModelService",void 0),n.__decorate([(0,r.Autowired)(g.IFileTreeService),n.__metadata("design:type",a.FileTreeService)],u.prototype,"fileTreeService",void 0),t.FileTreeDialogService=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],u)},51888:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileDialog=t.FILE_TREE_DIALOG_HEIGHT=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(68974),v=e(72665),m=e(69748),p=n.__importDefault(e(13294));t.FILE_TREE_DIALOG_HEIGHT=22;const s=({options:g,model:a,isOpenDialog:h,fileService:d})=>{const u=(0,l.useInjectable)(v.IDialogService),E=(0,r.useRef)(null),[f,c]=(0,r.useState)(g.defaultFileName||""),[y,b]=(0,r.useState)(!1),[A,S]=(0,r.useState)(""),[D,I]=(0,r.useState)([]),w=(0,r.useRef)(g.defaultFileName||"");(0,r.useEffect)(()=>{var re;return a&&(b(!1),O(),(re=d.contextKey.fileDialogViewVisibleContext)===null||re===void 0||re.set(!0)),()=>{a.dispose()}},[a]),(0,r.useEffect)(()=>{g.defaultFileName&&(c(g.defaultFileName||""),w.current=g.defaultFileName||"")},[g]),(0,r.useEffect)(()=>{if(y){const re=a.getDirectoryList();I(re)}},[y]);const T=(0,r.useCallback)(()=>{const re=a.selectedFiles.map(oe=>oe.uri.path.toString());if(w.current&&g.showNameInput&&(re?.length===1||g.defaultUri)){const oe=re?.length===1?re[0]:g.defaultUri.path.toString();g?.saveAs&&d.saveAs({oldFilePath:l.path.join(oe,g?.defaultFileName||""),newFilePath:l.path.join(oe,w.current)}),u.hide([l.path.join(oe,w.current)])}else re.length>0?u.hide(re):A?u.hide([A]):g.defaultUri?u.hide([g.defaultUri.path.toString()]):a.treeModel&&a.treeModel.root?u.hide([a.treeModel.root.uri.path.toString()]):u.hide([]);b(!1),d.contextKey.fileDialogViewVisibleContext.set(!1)},[y,u,a,g,A]),R=async re=>{let oe=re.treeModel.root.uri.codeUri.fsPath;return d.getDefaultFilePath&&(oe=await d.getDefaultFilePath(re,oe)),oe},M=(0,r.useCallback)(()=>{b(!1),u.hide(),d.contextKey.fileDialogViewVisibleContext.set(!1)},[y,u]),O=(0,r.useCallback)(async()=>{await a.whenReady,await a.treeModel.ensureReady;const re=await R(a);S(re),b(!0)},[a,A,y]),x=!h,k=(0,r.useCallback)(re=>{a.handleTreeHandler({...re,getModel:()=>a.treeModel})},[a]),F=(0,r.useCallback)((re,oe)=>{re.stopPropagation();const{toggleDirectory:he}=a;he(oe)},[a]),L=(0,r.useCallback)(re=>N(re)?!1:re.shiftKey,[]),N=(0,r.useCallback)(re=>{const{metaKey:oe,ctrlKey:he}=re;return l.isMacintosh&&oe||he},[]),U=(0,r.useCallback)((re,oe,he)=>{var me;re.stopPropagation();const{handleItemClick:q,handleItemToggleClick:Ae,handleItemRangeClick:ge}=a;if(!oe)return;const te=L(event),fe=N(event);if(te&&!x&&g.canSelectMany)ge(oe,he);else if(fe&&!x&&g.canSelectMany)Ae(oe,he);else if(x)he===o.TreeNodeType.CompositeTreeNode&&q(oe,he);else if(g.canSelectFiles&&he===o.TreeNodeType.TreeNode){const Oe=new Set(Object.values((me=g.filters)!==null&&me!==void 0?me:{}).flat().map(Me=>`.${Me}`));if(Oe.size>0){const Me=l.URI.parse(oe.filestat.uri).path.ext;Oe.has(Me)&&q(oe,he)}else q(oe,he)}else g.canSelectFolders&&he===o.TreeNodeType.CompositeTreeNode&&q(oe,he)},[a,x,g]),W=(0,r.useCallback)(async re=>{b(!1),S(re),await a.updateTreeModel(re),b(!0)},[a,y,A]),j=(0,r.useCallback)(async re=>{b(!1),S(re),await a.updateTreeModel(re),b(!0)},[a,y,A,D]),Q=(0,r.useCallback)(()=>d.renderCustomMsg?d.renderCustomMsg():null,[d.renderCustomMsg]),$=(0,r.useCallback)(re=>r.default.createElement(m.FileTreeDialogNode,{item:re.item,itemType:re.itemType,labelService:a.labelService,decorations:a.decorations.getDecorations(re.item),onClick:U,onTwistierClick:F,defaultLeftPadding:8,leftPadding:8}),[a.treeModel]),Z=(0,r.useCallback)(()=>{if(y){if(a.treeModel)return r.default.createElement(o.RecycleTree,{height:300,itemHeight:t.FILE_TREE_DIALOG_HEIGHT,onReady:k,model:a.treeModel},$)}else return r.default.createElement(_.Progress,{loading:!0})},[y,a]),G=(0,r.useMemo)(()=>d.showFilePathSearch!==!1,[d.showFilePathSearch]),V=(0,r.useCallback)(()=>{if(D.length>0)return r.default.createElement(o.Select,{onChange:W,onSearchChange:j,className:p.default.select_control,size:"large",searchPlaceholder:A,value:A,showSearch:G},D.map((re,oe)=>r.default.createElement(o.Option,{value:re,key:`${oe} - ${re}`},re)))},[D,A]),H=(0,r.useCallback)(re=>{const{key:oe}=l.KeyCode.createKeyCode(re),he=re.shiftKey||re.metaKey||re.altKey||re.ctrlKey;oe&&l.Key.ENTER.keyCode===oe.keyCode&&!he&&T()},[T]);(0,r.useEffect)(()=>{var re;return E.current&&(d.initContextKey(E.current),d.contextKey.fileDialogViewVisibleContext.set(!0),(re=E.current)===null||re===void 0||re.addEventListener("keyup",H)),()=>{var oe;(oe=E.current)===null||oe===void 0||oe.removeEventListener("keyup",H)}},[]);const K=(0,r.useMemo)(()=>r.default.createElement(r.default.Fragment,null,Q(),r.default.createElement("div",{className:p.default.file_dialog_directory},V()),r.default.createElement("div",{className:p.default.file_dialog_content},Z())),[V,Z]),Y=(0,r.useMemo)(()=>r.default.createElement("div",{className:p.default.file_dialog_buttons},r.default.createElement(o.Button,{onClick:M,type:"ghost",className:p.default.button},(0,l.localize)("dialog.file.close")),r.default.createElement(o.Button,{onClick:T,type:"primary",className:p.default.button,disabled:x&&g.showNameInput&&f.length===0},h&&g.openLabel||(0,l.localize)("dialog.file.ok"))),[M,T,x,h,f,g]),X=(0,r.useCallback)(re=>{c(re.target.value),w.current=re.target.value},[f]);return r.default.createElement("div",{className:p.default.file_dialog_wrapper,ref:E},r.default.createElement("div",{className:p.default.file_dialog_directory_title},h?g.title||(0,l.localize)("dialog.file.openLabel"):g.saveLabel||(0,l.localize)("dialog.file.saveLabel")),K,!h&&g.showNameInput&&r.default.createElement("div",{className:p.default.file_dialog_file_container},r.default.createElement("span",{className:p.default.file_dialog_file_name},(0,l.localize)("dialog.file.name"),": "),r.default.createElement(o.Input,{size:"small",value:f,autoFocus:!0,selection:{start:0,end:f.indexOf(".")||f.length},onChange:X})),Y)};t.FileDialog=s},89508:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowDialogServiceImpl=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(37406),v=e(14951),m=e(72665),p=e(57942),s=n.__importDefault(e(13294)),g=e(9018),a=e(51888);let h=class{constructor(){this.idx=1,this._whenReady=this.init()}async init(){this.recentGlobalStorage=await this.storageProvider(l.STORAGE_NAMESPACE.GLOBAL_RECENT_DATA);const u=await this.recentGlobalStorage.get("RECENT_DIALOG_DEFAULT_URI");if(u)this._defaultUri=new l.URI(u);else{const E=await this.fileServiceClient.getCurrentUserHome();this._defaultUri=new l.URI(E.uri)}}get defaultUri(){return this._defaultUri}get whenReady(){return this._whenReady}async updateRecentDefaultUri(u){this.recentGlobalStorage.set("RECENT_DIALOG_DEFAULT_URI",u.toString()),this._defaultUri=u}async showOpenDialog(u={}){this.dialogService.reset(),await this.whenReady;const E={canSelectFiles:!0,canSelectFolders:!1,canSelectMany:!1};if(this.appConfig.isElectronRenderer&&!this.appConfig.isRemote){const f=this.injector.get(_.IElectronMainUIService),c=[];u.canSelectFiles&&c.push("openFile"),u.canSelectFolders&&c.push("openDirectory"),u.canSelectMany&&c.push("multiSelections"),l.isMacintosh&&c.push("treatPackageAsDirectory","createDirectory");const y=u.defaultUri||this.defaultUri,b=await f.showOpenDialog(l.electronEnv.currentWindowId,{defaultPath:y.codeUri.fsPath,title:u.title,buttonLabel:u.openLabel,properties:c});if(b&&b.length>0){const A=b.map(S=>l.URI.file(S));return this.updateRecentDefaultUri(A[0].parent),A}else return}else{u.defaultUri||(u.defaultUri=this.defaultUri);let f;u.defaultUri?f=this.injector.get(g.FileTreeDialogService,[u.defaultUri.toString()]):f=this.injector.get(g.FileTreeDialogService),await f.whenReady;const c=p.FileTreeDialogModel.createModel(this.injector,f),y=await this.dialogService.open({message:r.default.createElement(a.FileDialog,{key:this.idx++,fileService:f,model:c,options:{...E,...u},isOpenDialog:!0}),type:l.MessageType.Empty,buttons:[],closable:!0,props:{className:s.default.file_dialog_wrapper}});if(this.dialogService.reset(),y&&y.length>0){const b=y.map(A=>l.URI.file(A));return this.updateRecentDefaultUri(b[0].parent),b}else return}}async showSaveDialog(u={}){if(await this.whenReady,this.appConfig.isElectronRenderer&&!this.appConfig.isRemote){const E=u.defaultUri||this.defaultUri,c=await this.injector.get(_.IElectronMainUIService).showSaveDialog(l.electronEnv.currentWindowId,{defaultPath:E.resolve(u.defaultFileName||"").codeUri.fsPath,title:u.saveLabel,message:u.saveLabel});if(c){const y=l.URI.file(c);return this.updateRecentDefaultUri(y.parent),y}else return}else{u.defaultUri||(u.defaultUri=this.defaultUri);let E;u.defaultUri?E=this.injector.get(g.FileTreeDialogService,[u.defaultUri.toString()]):E=this.injector.get(g.FileTreeDialogService),await E.whenReady;const f=p.FileTreeDialogModel.createModel(this.injector,E),c=await this.dialogService.open({message:r.default.createElement(a.FileDialog,{key:this.idx++,fileService:E,model:f,options:u,isOpenDialog:!1}),type:l.MessageType.Empty,buttons:[],closable:!0,props:{className:s.default.file_dialog_wrapper}});if(this.dialogService.reset(),c&&c.length>0){const y=l.URI.file(c[0]);return this.updateRecentDefaultUri(y.parent),y}else return}}};t.WindowDialogServiceImpl=h,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],h.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(m.IDialogService),n.__metadata("design:type",Object)],h.prototype,"dialogService",void 0),n.__decorate([(0,o.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],h.prototype,"fileServiceClient",void 0),n.__decorate([(0,o.Autowired)(l.StorageProvider),n.__metadata("design:type",Function)],h.prototype,"storageProvider",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],h.prototype,"appConfig",void 0),t.WindowDialogServiceImpl=h=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],h)},88014:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(16413);let _=class{constructor(){this.explorerResourceIsFolder=l.ExplorerResourceIsFolderContext.bind(this.globalContextKeyService),this.explorerViewletVisibleContext=l.ExplorerViewletVisibleContext.bind(this.globalContextKeyService)}initScopedContext(m){this._contextKeyService=this.globalContextKeyService.createScoped(m),this.explorerFocused=l.ExplorerFocusedContext.bind(this._contextKeyService),this.explorerResourceCut=l.ExplorerResourceCut.bind(this._contextKeyService),this.filesExplorerFocused=l.FilesExplorerFocusedContext.bind(this._contextKeyService),this.filesExplorerInputFocused=l.FilesExplorerInputFocusedContext.bind(this._contextKeyService),this.filesExplorerFilteredContext=l.FilesExplorerFilteredContext.bind(this._contextKeyService),this.explorerCompressedFocusContext=l.ExplorerCompressedFocusContext.bind(this._contextKeyService),this.explorerCompressedFirstFocusContext=l.ExplorerCompressedFirstFocusContext.bind(this._contextKeyService),this.explorerCompressedLastFocusContext=l.ExplorerCompressedLastFocusContext.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.FileContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextKeyService",void 0),t.FileContextKey=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},40439:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(16413),_=e(93899),v=e(68969),m=e(98295),p=e(41893),s=e(54414),g=e(32595),a=e(63067),h=e(58296),d=e(72665),u=e(55121),E=e(51500),f=e(6250),c=e(69959),y=e(56384),b=e(57781),A=e(97738),S=e(4446);let D=class{constructor(){this._disposables=new o.DisposableStore,this.isRendered=!1,this.deleteThrottler=new o.Throttler,this.willDeleteUris=[]}initialize(){this.workspaceService.initFileServiceExclude().then(async()=>{await this.fileTreeService.init(),this.fileTreeModelService.initTreeModel()}),this.progressService.registerProgressIndicator(g.EXPLORER_CONTAINER_ID)}async onStart(){this.viewsRegistry.registerViewWelcomeContent(f.RESOURCE_VIEW_ID,{content:(0,o.formatLocalize)("welcome-view.noFolderHelp",o.FILE_COMMANDS.OPEN_FOLDER.id),group:h.ViewContentGroups.Open,order:1}),this.mainLayoutService.collectViewComponent({id:f.RESOURCE_VIEW_ID,name:this.getWorkspaceTitle(),weight:3,priority:9,collapsed:!1,component:y.FileTree},g.EXPLORER_CONTAINER_ID),this._disposables.add(this.workspaceService.onWorkspaceLocationChanged(()=>{const w=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);w&&w.updateViewTitle(f.RESOURCE_VIEW_ID,this.getWorkspaceTitle())}))}onDidStart(){const w=this.injector.get(S.SymlinkDecorationsProvider,[this.fileTreeService]);this.decorationService.registerDecorationsProvider(w)}onDidRender(){this.isRendered=!0;const w=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);w&&(this.fileTreeModelService.whenReady.then(()=>{this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(w.isActivated())}),w.onActivate(()=>{this.fileTreeModelService.performLocationOnHandleShow(),this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(!0)}),w.onInActivate(()=>{this.fileTreeModelService.handleTreeBlur(),this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(!1)}))}getWorkspaceTitle(){let w=(0,o.localize)("file.empty.defaultTitle");const T=this.workspaceService.workspace;return T&&(w=new o.URI(T.uri).displayName,!T.isDirectory&&w.endsWith(`.${this.workspaceService.workspaceSuffixName}`)&&(w=w.slice(0,w.lastIndexOf(".")),w===E.UNTITLED_WORKSPACE))?(0,o.localize)("file.workspace.defaultTip"):w}revealFile(w){if(w)if(this.isRendered){const T=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!T||!T.isVisible||T.isCollapsed(f.RESOURCE_VIEW_ID)?this.fileTreeModelService.locationOnShow(w):this.fileTreeModelService.location(w)}else this.fileTreeModelService.locationOnShow(w)}registerMenus(w){w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.NEW_FILE.id,label:(0,o.localize)("file.new")},order:1,group:"0_new"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.NEW_FOLDER.id,label:(0,o.localize)("file.folder.new")},order:2,group:"0_new"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.addFolderToWorkspace")},order:1,group:"0_workspace",when:"config.workspace.supportMultiRootWorkspace"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.WORKSPACE_COMMANDS.REMOVE_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.removeFolderFromWorkspace")},order:1,group:"0_workspace",when:"config.workspace.supportMultiRootWorkspace"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_RESOURCES.id,label:(0,o.localize)("file.open")},order:1,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TO_THE_SIDE.id,label:(0,o.localize)("file.open.side")},order:2,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TYPE_WITH.id,label:(0,o.localize)("file.open.type")},order:3,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TERMINAL_WITH_PATH.id,label:(0,o.localize)("file.filetree.openTerminalWithPath")},when:"workbench.panel.terminal",order:4,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.SEARCH_ON_FOLDER.id,label:(0,o.localize)("file.search.folder")},order:1,group:"2_search"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.DELETE_FILE.id,label:(0,o.localize)("file.delete")},order:1,group:"7_modification"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.RENAME_FILE.id,label:(0,o.localize)("file.rename")},order:3,group:"7_modification"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COMPARE_SELECTED.id,label:(0,o.localize)("file.compare")},order:2,group:"3_compare"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_FILE.id,label:(0,o.localize)("file.copy.file")},order:1,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.CUT_FILE.id,label:(0,o.localize)("file.cut.file")},order:2,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.PASTE_FILE.id,label:(0,o.localize)("file.paste.file")},order:3,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_PATH.id,label:(0,o.localize)("file.copy.path")},group:"6_copypath"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,label:(0,o.localize)("file.copy.relativepath")},group:"6_copypath"})}registerCommands(w){const T=()=>{this.fileTreeService.filterMode&&this.fileTreeService.toggleFilterMode()};w.registerCommand(o.FILE_COMMANDS.OPEN_TERMINAL_WITH_PATH,{execute:M=>{let O=M;if(!O)return;const x=this.fileTreeService.getNodeByPathOrUri(O);x&&!x.filestat.isDirectory&&(O=x.uri.parent),this.commandService.executeCommand(o.TERMINAL_COMMANDS.OPEN_WITH_PATH.id,O)}}),w.registerCommand(o.FILE_COMMANDS.SEARCH_ON_FOLDER,{execute:async M=>{var O;let x=M;if(x||(this.fileTreeModelService.focusedFile?x=this.fileTreeModelService.focusedFile.uri:this.fileTreeModelService.selectedFiles.length>0&&(x=(O=this.fileTreeModelService.selectedFiles[0])===null||O===void 0?void 0:O.uri)),!x)return;let k;if(this.fileTreeService.isMultipleWorkspace)for(const F of await this.workspaceService.roots){const L=new o.URI(F.uri);if(L.isEqualOrParent(x)){k=`./${L.relative(x).toString()}`;break}}else if(this.workspaceService.workspace){const F=new o.URI(this.workspaceService.workspace.uri);F.isEqualOrParent(x)&&(k=`./${F.relative(x).toString()}`)}this.commandService.executeCommand(o.SEARCH_COMMANDS.OPEN_SEARCH.id,{includeValue:k+"/"})},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.LOCATION,{execute:M=>{M?this.revealFile(M):this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0&&this.revealFile(this.fileTreeModelService.selectedFiles[0].uri)}}),w.registerCommand(o.FILE_COMMANDS.LOCATION_WITH_EDITOR,{execute:()=>{var M,O,x;((O=(M=this.workbenchEditorService.currentEditor)===null||M===void 0?void 0:M.currentUri)===null||O===void 0?void 0:O.scheme)===o.Schemes.file&&this.revealFile((x=this.workbenchEditorService.currentEditor)===null||x===void 0?void 0:x.currentUri)}}),w.registerCommand(o.FILE_COMMANDS.COLLAPSE_ALL,{execute:()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!M||!M.isVisible||this.fileTreeModelService.collapseAll()}}),w.registerCommand(o.FILE_COMMANDS.REFRESH_ALL,{execute:async()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!M||!M.isVisible||await this.fileTreeService.refresh()}}),w.registerCommand(o.FILE_COMMANDS.DELETE_FILE,{execute:(M,O)=>{if(T(),O?this.willDeleteUris=this.willDeleteUris.concat(O):this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0?this.willDeleteUris=this.willDeleteUris.concat(this.fileTreeModelService.selectedFiles.map(x=>x.uri)):this.fileTreeModelService.focusedFile&&this.willDeleteUris.push(this.fileTreeModelService.focusedFile.uri),this.willDeleteUris.length!==0)return this.deleteThrottler.queue(this.doDelete.bind(this))},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.RENAME_FILE,{execute:M=>{if(T(),!M)if(this.fileTreeModelService.contextMenuFile)M=this.fileTreeModelService.contextMenuFile.uri;else if(this.fileTreeModelService.focusedFile)M=this.fileTreeModelService.focusedFile.uri;else return;this.fileTreeModelService.renamePrompt(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.NEW_FILE,{execute:async M=>{var O;if(T(),M)this.fileTreeModelService.newFilePrompt(M);else if(this.fileTreeService.isCompactMode&&this.fileTreeModelService.activeUri)this.fileTreeModelService.newFilePrompt(this.fileTreeModelService.activeUri);else if(this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0)this.fileTreeModelService.newFilePrompt(this.fileTreeModelService.selectedFiles[0].uri);else{let x;this.fileTreeService.isMultipleWorkspace?x=new o.URI((await this.workspaceService.roots)[0].uri):x=new o.URI((O=this.workspaceService.workspace)===null||O===void 0?void 0:O.uri),this.fileTreeModelService.newFilePrompt(x)}}}),w.registerCommand(o.FILE_COMMANDS.NEW_FOLDER,{execute:async M=>{var O;if(T(),M)this.fileTreeModelService.newDirectoryPrompt(M);else if(this.fileTreeService.isCompactMode&&this.fileTreeModelService.activeUri)this.fileTreeModelService.newDirectoryPrompt(this.fileTreeModelService.activeUri);else if(this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0)this.fileTreeModelService.newDirectoryPrompt(this.fileTreeModelService.selectedFiles[0].uri);else{let x;this.fileTreeService.isMultipleWorkspace?x=new o.URI((await this.workspaceService.roots)[0].uri):x=new o.URI((O=this.workspaceService.workspace)===null||O===void 0?void 0:O.uri),this.fileTreeModelService.newDirectoryPrompt(x)}}}),w.registerCommand(o.FILE_COMMANDS.COMPARE_SELECTED,{execute:(M,O)=>{if(O&&O.length){const x=this.workbenchEditorService.currentEditor;x&&x.currentUri&&this.fileTreeService.compare(O[0],x.currentUri)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.OPEN_RESOURCES,{execute:M=>{this.fileTreeService.openAndFixedFile(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.OPEN_TO_THE_SIDE,{execute:M=>{this.fileTreeService.openToTheSide(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)});const R=(M,O)=>{const{availableOpenTypes:x,currentOpenType:k}=this.workbenchEditorService.currentEditorGroup;if(!(x&&M&&k))return{items:[],selectIndex:-1};const F=this.preferenceService.get("workbench.editorAssociations"),L=[],N=(Q,$)=>$.type===s.EditorOpenType.code?Q.type===s.EditorOpenType.code:$.type===s.EditorOpenType.component&&Q.type===s.EditorOpenType.component?Q.componentId===$.componentId:!1,U=(Q,$)=>(Q?Q+=(0,o.localize)("file.open.type.detail.and")+$:Q=$,Q);let W,j;if(F){const Q=Object.keys(F).find($=>(0,o.match)($,M.path.toString().toLowerCase())||(0,o.match)($,M.path.base.toLowerCase()));W=Q&&F[Q]}return x.forEach((Q,$)=>{var Z;const G={label:Q.title||Q.componentId||Q.type,detail:Q.title,run:V=>O(V,Q)};N(k,Q)&&(G.description=U(G.description,(0,o.localize)("file.open.type.detail.active")),j=$),W&&(!((Z=Q.componentId)===null||Z===void 0)&&Z.endsWith(W))&&(G.description=U(G.description,(0,o.localize)("file.open.type.detail.default"))),L.push(new o.QuickOpenItem(G))}),{items:L,selectIndex:j}};w.registerCommand(o.FILE_COMMANDS.OPEN_TYPE_WITH,{execute:M=>{const O=(L,N)=>{var U,W;return L===o.Mode.OPEN?((U=this.workbenchEditorService.currentEditorGroup)===null||U===void 0||U.changeOpenType((W=N.componentId)!==null&&W!==void 0?W:N.type),!0):!1},{items:x,selectIndex:k}=R(M,O);if(x.length===0||typeof k>"u")return;const F=L=>{this.quickOpenService.open({onType:(N,U)=>U(L)},{fuzzyMatchLabel:!0,ignoreFocusOut:!1,placeholder:(0,o.formatLocalize)("file.open.type.placeholder",M.path.base),selectIndex:()=>k})};x.push(new o.QuickOpenItem({label:(0,o.formatLocalize)("file.open.type.preference.default",`*${M.path.ext}`),showBorder:!0,run:L=>{if(L===o.Mode.OPEN){const N=(j,Q)=>{var $,Z,G;if(j===o.Mode.OPEN){const V="workbench.editorAssociations",H=this.preferenceService.resolve(V).scope,K=this.preferenceService.get(V);return this.preferenceService.set(V,{...K||{},[`*${M.path.ext}`]:($=Q.componentId)!==null&&$!==void 0?$:Q.type},H),(Z=this.workbenchEditorService.currentEditorGroup)===null||Z===void 0||Z.changeOpenType((G=Q.componentId)!==null&&G!==void 0?G:Q.type),!0}return!1},{items:U,selectIndex:W}=R(M,N);if(U.length===0||typeof W>"u")return!0;F(U)}return!1}})),F(x)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.COPY_PATH,{execute:async M=>{if(!M)return;let x=M.path.toString();if(M.scheme===s.DIFF_SCHEME){const F=M.getParsedQuery();x=new o.URI(F.modified).path.toString()}let k=decodeURIComponent(x);await this.appService.backendOS===o.OperatingSystem.Windows&&(k=k.slice(1)),await this.clipboardService.writeText(k)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile}),w.registerCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH,{execute:async M=>{if(!M)return;if(M.scheme===s.DIFF_SCHEME){const k=M.getParsedQuery();M=new o.URI(k.modified).withScheme("file")}const O=this.fileTreeService.getNodeByPathOrUri(M);if(O&&O.filestat.isInSymbolicDirectory)return await this.clipboardService.writeText(O.path.split(u.Path.separator).slice(2).join(u.Path.separator));let x;if(this.fileTreeService.isMultipleWorkspace)for(const k of await this.workspaceService.roots){if(x=new o.URI(k.uri),x.isEqual(M))return await this.clipboardService.writeText("./");if(x.isEqualOrParent(M))return await this.clipboardService.writeText(decodeURIComponent(x.relative(M).toString()))}else if(this.workspaceService.workspace)return x=new o.URI(this.workspaceService.workspace.uri),x.isEqual(M)?await this.clipboardService.writeText("./"):await this.clipboardService.writeText(decodeURIComponent(x.relative(M).toString()))},isVisible:()=>!!this.fileTreeModelService.contextMenuFile}),w.registerCommand(o.FILE_COMMANDS.COPY_FILE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.copyFile(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.copyFile(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.SELECT_CURRENT_NODE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.selectChildNode(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.selectChildNode(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.CUT_FILE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.cutFile(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.cutFile(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.PASTE_FILE,{execute:M=>{if(T(),M)this.fileTreeModelService.pasteFile(M);else if(this.fileTreeModelService.focusedFile){let O;this.fileTreeModelService.activeUri?O=this.fileTreeModelService.activeUri:O=this.fileTreeModelService.focusedFile.uri,this.fileTreeModelService.pasteFile(O)}},isEnabled:()=>this.fileTreeModelService.pasteStore&&this.fileTreeModelService.pasteStore.type!==f.PasteTypes.NONE||this.appConfig.isElectronRenderer}),w.registerCommand(o.FILE_COMMANDS.VSCODE_OPEN_FOLDER,{execute:(M,O)=>{const x=this.injector.get(o.IWindowService),k={newWindow:!0};return typeof O=="boolean"?k.newWindow=O:k.newWindow=typeof O?.forceNewWindow=="boolean"?O.forceNewWindow:!0,M?x.openWorkspace(M,k):this.commandService.executeCommand(o.FILE_COMMANDS.OPEN_FOLDER.id,k)},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenFolder");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.OPEN_FOLDER,{execute:M=>{const O=this.injector.get(o.IWindowService);this.appConfig.isElectronRenderer?this.injector.get(o.IElectronNativeDialogService).showOpenDialog({title:(0,o.localize)("workspace.openDirectory"),properties:["openDirectory"]}).then(k=>{k&&k.length>0&&O.openWorkspace(o.URI.file(k[0]),M||{newWindow:!0})}):this.injector.get(d.IWindowDialogService).showOpenDialog({title:(0,o.localize)("workspace.openDirectory"),canSelectFiles:!1,canSelectFolders:!0}).then(k=>{var F;k&&k.length>0&&this.injector.get(E.IWorkspaceService).open(k[0],{preserveWindow:(F=M?.newWindow)!==null&&F!==void 0?F:!1})})},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenFolder");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.OPEN_WORKSPACE,{execute:M=>{if(!this.preferenceService.get("application.supportsOpenWorkspace"))return;const x=this.injector.get(o.IWindowService);this.appConfig.isElectronRenderer?this.injector.get(o.IElectronNativeDialogService).showOpenDialog({title:(0,o.localize)("workspace.openWorkspace"),properties:["openFile"],filters:[{name:(0,o.localize)("workspace.openWorkspaceTitle"),extensions:[this.workspaceService.workspaceSuffixName]}]}).then(F=>{F&&F.length>0&&x.openWorkspace(o.URI.file(F[0]),M||{newWindow:!0})}):this.injector.get(d.IWindowDialogService).showOpenDialog({title:(0,o.localize)("workspace.openWorkspace"),canSelectFiles:!0,canSelectFolders:!1,canSelectMany:!1,filters:{workspace:[this.workspaceService.workspaceSuffixName]}}).then(F=>{var L;F&&F.length>0&&this.injector.get(E.IWorkspaceService).open(F[0],{preserveWindow:(L=M?.newWindow)!==null&&L!==void 0?L:!1})})},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenWorkspace");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.REVEAL_IN_EXPLORER,{execute:M=>{var O;let x=M instanceof o.URI?M:M?.uri;const k=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);k&&!k.isVisible&&(k.activate(),setTimeout(()=>{k.setCollapsed(f.RESOURCE_VIEW_ID,!1)},200)),!x&&(!((O=this.workbenchEditorService.currentEditor)===null||O===void 0)&&O.currentUri)&&(x=this.workbenchEditorService.currentEditor.currentUri),x&&this.revealFile(o.URI.parse(x.toString()))}}),w.registerCommand(o.FILE_COMMANDS.FOCUS_FILES,{execute:()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);M&&M.activate()}}),w.registerCommand(o.FILE_COMMANDS.OPEN_FILE,{execute:M=>this.windowDialogService.showOpenDialog(M)}),w.registerCommand(o.FILE_COMMANDS.SAVE_FILE,{execute:M=>this.windowDialogService.showSaveDialog(M)}),w.registerCommand(o.FILE_COMMANDS.FILTER_TOGGLE,{execute:()=>this.fileTreeService.toggleFilterMode()}),w.registerCommand(o.FILE_COMMANDS.FILTER_OPEN,{execute:()=>{if(!this.fileTreeService.filterMode)return this.fileTreeService.toggleFilterMode()}}),w.registerCommand(o.FILE_COMMANDS.FILTER_CLOSE,{execute:()=>{this.fileTreeService.filterMode&&this.fileTreeService.toggleFilterMode()}}),w.registerCommand(o.FILE_COMMANDS.NEXT,{execute:()=>{this.fileTreeModelService.moveToNext()}}),w.registerCommand(o.FILE_COMMANDS.PREV,{execute:()=>{this.fileTreeModelService.moveToPrev()}}),w.registerCommand(o.FILE_COMMANDS.COLLAPSE,{execute:()=>{this.fileTreeModelService.collapseCurrentFile()}}),w.registerCommand(o.FILE_COMMANDS.EXPAND,{execute:()=>{this.fileTreeModelService.expandCurrentFile()}}),w.registerCommand(o.FILE_COMMANDS.TOGGLE_OR_OPEN,{execute:()=>{this.fileTreeModelService.toggleOrOpenCurrentFile()}}),w.registerCommand(o.WORKSPACE_COMMANDS.REMOVE_WORKSPACE_FOLDER,{execute:async(M,O)=>{if(T(),!O.length||!this.workspaceService.isMultiRootWorkspaceOpened)return;const x=await this.workspaceService.roots,k=O.filter(F=>x.find(L=>L.uri===F.toString()));k.length>0&&await this.workspaceService.removeRoots(k)},isVisible:()=>this.workspaceService.isMultiRootWorkspaceOpened&&!!this.fileTreeModelService.contextMenuFile&&!!this.workspaceService.tryGetRoots().find(M=>{var O;return M.uri===((O=this.fileTreeModelService.contextMenuFile)===null||O===void 0?void 0:O.uri.toString())})})}registerKeybindings(w){w.registerKeybinding({command:o.FILE_COMMANDS.COPY_FILE.id,keybinding:"ctrlcmd+c",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.PASTE_FILE.id,keybinding:"ctrlcmd+v",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.CUT_FILE.id,keybinding:"ctrlcmd+x",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.SELECT_CURRENT_NODE.id,keybinding:"ctrlcmd+a",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.RENAME_FILE.id,keybinding:"enter",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.DELETE_FILE.id,keybinding:"ctrlcmd+backspace",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.FILTER_OPEN.id,keybinding:"ctrlcmd+f",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.FILTER_CLOSE.id,keybinding:"esc",when:`${l.FilesExplorerFocusedContext.raw} && ${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.NEXT.id,keybinding:"down",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.PREV.id,keybinding:"up",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.EXPAND.id,keybinding:"right",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.COLLAPSE.id,keybinding:"left",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.TOGGLE_OR_OPEN.id,keybinding:"space",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`})}registerToolbarItems(w){w.registerItem({id:o.FILE_COMMANDS.LOCATION_WITH_EDITOR.id,command:o.FILE_COMMANDS.LOCATION_WITH_EDITOR.id,label:(0,o.localize)("file.location"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !config.explorer.autoReveal && !${l.FilesExplorerFilteredContext.raw}`,order:0}),w.registerItem({id:o.FILE_COMMANDS.NEW_FILE.id,command:o.FILE_COMMANDS.NEW_FILE.id,label:(0,o.localize)("file.new"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:1}),w.registerItem({id:o.FILE_COMMANDS.NEW_FOLDER.id,command:o.FILE_COMMANDS.NEW_FOLDER.id,label:(0,o.localize)("file.folder.new"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:2}),w.registerItem({id:o.FILE_COMMANDS.FILTER_TOGGLE.id,command:o.FILE_COMMANDS.FILTER_TOGGLE.id,label:(0,o.localize)("file.filetree.filter"),viewId:f.RESOURCE_VIEW_ID,toggledWhen:`${l.FilesExplorerFilteredContext.raw}`,order:3}),w.registerItem({id:o.FILE_COMMANDS.REFRESH_ALL.id,command:o.FILE_COMMANDS.REFRESH_ALL.id,label:(0,o.localize)("file.refresh"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:4}),w.registerItem({id:o.FILE_COMMANDS.COLLAPSE_ALL.id,command:o.FILE_COMMANDS.COLLAPSE_ALL.id,label:(0,o.localize)("file.collapse"),viewId:f.RESOURCE_VIEW_ID,order:5}),w.registerItem({id:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,command:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.addFolderToWorkspace"),viewId:f.RESOURCE_VIEW_ID,order:0,group:"file_explore_workspace",when:"config.workspace.supportMultiRootWorkspace"})}doDelete(){const w=this.willDeleteUris.slice();return this.willDeleteUris=[],this.fileTreeModelService.deleteFileByUris(w)}dispose(){this._disposables.dispose()}};t.FileTreeContribution=D,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],D.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(f.IFileTreeService),n.__metadata("design:type",b.FileTreeService)],D.prototype,"fileTreeService",void 0),n.__decorate([(0,r.Autowired)(a.IMainLayoutService),n.__metadata("design:type",Object)],D.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(v.IProgressService),n.__metadata("design:type",Object)],D.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],D.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(A.FileTreeModelService),n.__metadata("design:type",A.FileTreeModelService)],D.prototype,"fileTreeModelService",void 0),n.__decorate([(0,r.Autowired)(p.IDecorationsService),n.__metadata("design:type",p.IDecorationsService)],D.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(s.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorService)],D.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],D.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(d.IWindowDialogService),n.__metadata("design:type",Object)],D.prototype,"windowDialogService",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],D.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],D.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],D.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(a.IViewsRegistry),n.__metadata("design:type",Object)],D.prototype,"viewsRegistry",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],D.prototype,"appService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],D.prototype,"appConfig",void 0),t.FileTreeContribution=D=n.__decorate([(0,m.Domain)(_.MenuContribution,o.CommandContribution,o.KeybindingContribution,o.TabBarToolbarContribution,o.ClientAppContribution,a.MainLayoutContribution)],D)},2812:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(69959),m=e(93239);let p=n=class extends l.TreeModel{constructor(g){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(g)}init(g){this.root=g,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,this.doDispatchChange.bind(this)),this.decorationService.onDidChange(this.doDispatchChange.bind(this))}doDispatchChange(){this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})}};t.FileTreeModel=p,p.DEFAULT_FLUSH_DELAY=100,r.__decorate([(0,o.Autowired)(m.FileTreeDecorationService),r.__metadata("design:type",m.FileTreeDecorationService)],p.prototype,"decorationService",void 0),t.FileTreeModel=p=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.Directory])],p)},46377:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FILE_TREE_BADGE_LIMIT=t.FILE_TREE_NODE_HEIGHT=t.FileTreeNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(69959),m=n.__importDefault(e(89200)),{Path:p}=_.path,s=({item:g,onClick:a,onDoubleClick:h,onContextMenu:d,dndService:u,itemType:E,decorationService:f,labelService:c,leftPadding:y=8,onTwistierClick:b,decorations:A,defaultLeftPadding:S=8,template:D,hasFolderIcons:I,hasFileIcons:w,hidesExplorerArrows:T,hasPrompt:R,iconService:M})=>{const[O,x]=o.default.useState(-1),k=E===l.TreeNodeType.RenamePrompt,F=E===l.TreeNodeType.NewPrompt,L=k||F,N=!L&&g.name.indexOf(p.separator)>=0,U=(0,_.useDesignStyles)(m.default.expansion_toggle,"expansion_toggle"),W=(0,_.useDesignStyles)(m.default.file_tree_node,"file_tree_node"),j=L?null:f.getDecoration(g.uri,v.Directory.is(g)),Q=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(N&&x(g.name.split(p.separator).length-1),a(Me,g,E))},$=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(N&&x(g.name.split(p.separator).length-1),h(Me,g,E))},Z=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(b?b(Me,g,E):a(Me,g,E))},G=o.default.useCallback(Me=>{Me.nativeEvent.which!==0&&(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&d(Me,g,E)},[d,g]),V=o.default.useCallback(Me=>{const{handleDragStart:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),H=o.default.useCallback(Me=>{const{handleDragLeave:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),K=o.default.useCallback(Me=>{const{handleDragEnter:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),Y=o.default.useCallback(Me=>{const{handleDrop:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),X=o.default.useCallback(Me=>{const{handleDragOver:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]);let re=E===l.TreeNodeType.CompositeTreeNode,oe;L?F?(re=g.type===l.TreeNodeType.CompositeTreeNode,oe=`${S+(g.parent.depth+1||0)*(y||0)+(re?0:I?T?0:20:0)}px`):(re=g.target.type===l.TreeNodeType.CompositeTreeNode,oe=`${S+(g.target.depth||0)*(y||0)+(re?0:I?T?0:20:0)}px`):oe=`${S+(g.depth||0)*(y||0)+(re?0:I?T?0:20:0)}px`;const he={color:j?j.color:"",height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`,paddingLeft:oe,opacity:R&&!L?".6":"1"},me=(Me,Pe)=>{if(A&&A?.classlist.indexOf(m.default.mod_loading)>-1)return o.default.createElement(l.Loading,null);if(L&&Me instanceof l.PromptHandle){let Be=!1;if(k?Be=Me.target.type===l.TreeNodeType.CompositeTreeNode:Be=Me.type===l.TreeNodeType.CompositeTreeNode,Be)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,U,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:F||!(k&&Me.target.type===l.TreeNodeType.CompositeTreeNode&&Me.target.expanded)})})}else return o.default.createElement("div",{onClick:Pe,className:(0,r.default)(m.default.file_tree_node_segment,U,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:!Me.expanded})})},q=Me=>{let Pe,Be;L&&Me instanceof l.PromptHandle?Me instanceof l.RenamePromptHandle?(Pe=Me.target.uri.resolve(Me.$.value),Be=v.Directory.is(Me.target)):(Pe=Me.parent.uri.resolve(Me.$.value),Be=Me.type===l.TreeNodeType.CompositeTreeNode):(Pe=Me.uri,Be=Me.filestat.isDirectory);const De=c.getIcon(Pe,{isDirectory:Be,isOpenedDirectory:Be&&Me.expanded});return Be&&!I||!Be&&!w?null:o.default.createElement("div",{className:(0,r.default)(m.default.file_icon,De,{expanded:Be&&Me.expanded}),style:{height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`}})},Ae=Me=>{if(D)return o.default.createElement(D,null);if(L&&Me instanceof l.PromptHandle)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_inputbox)},o.default.createElement("div",{className:(0,r.default)("input-box",m.default.file_tree_node_prompt_box)},o.default.createElement(Me.ProxiedInput,{wrapperStyle:{height:t.FILE_TREE_NODE_HEIGHT,padding:"0 5px"}})));if(N){const Pe=Me.displayName.split(p.separator),Be=Pe.map((De,_e)=>{const Ne=Pe.slice(0,_e+1).join(p.separator),Te=Ue=>{Ue.stopPropagation(),x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));a(Ue,g,E,Ye)},We=Ue=>{Ue.stopPropagation(),x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));d(Ue,g,E,Ye)},pe=Ue=>{Ue.stopPropagation(),Ue.preventDefault(),O!==_e&&(x(_e),u.handleDragOver(Ue,g))},ie=Ue=>{Ue.stopPropagation(),Ue.preventDefault(),x(-1)},le=Ue=>{Ue.stopPropagation(),O!==_e&&x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));u.handleDragStart(Ue,g,Ye)},Se=Ue=>{const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));u.handleDrop(Ue,g,Ye)},ye=(0,r.default)(O===_e&&m.default.active,m.default.compact_name);return o.default.createElement("span",{key:Ne},o.default.createElement("a",{className:ye,draggable:!0,onContextMenu:We,onDragStart:le,onDragOver:pe,onDragLeave:ie,onDrop:Se,onClick:Te},De),_e!==Pe.length-1?o.default.createElement("span",{className:m.default.compact_name_separator},p.separator):null)});return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},Be)}return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},c.getName(Me.uri)||Me.displayName)},ge=()=>o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_tail)},te()),te=()=>j?o.default.createElement("div",{className:m.default.file_tree_node_status},(0,_.transformLabelWithCodicon)(j.badge.slice(),{color:"inherit"},M.fromString.bind(M))):null,fe=Me=>{if(T)return null;if(re)return me(Me,Z);if(L)return me(Me,()=>{})},Oe=()=>{let Me=g.tooltip;return j&&j.badge&&(Me+=` \u2022 ${j.tooltip}`),Me};return o.default.createElement("div",{key:g.id,onClick:Q,onDoubleClick:$,onContextMenu:G,onDragStart:V,onDragOver:X,onDragEnter:K,onDragLeave:H,onDrop:Y,title:Oe(),className:(0,r.default)(W,A?A.classlist:null),style:he,draggable:E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode,"data-id":g.id},o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_content)},fe(g),q(g),o.default.createElement("div",{className:L?m.default.file_tree_node_prompt_wrap:m.default.file_tree_node_overflow_wrap},Ae(g)),ge()))};t.FileTreeNode=s,t.FILE_TREE_NODE_HEIGHT=22,t.FILE_TREE_BADGE_LIMIT=99},56384:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTree=t.FILE_TREE_FILTER_DELAY=t.FILTER_AREA_HEIGHT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(68974),m=e(24429),p=e(87420),s=e(6250),g=e(46377),a=n.__importDefault(e(2613)),h=e(97738);t.FILTER_AREA_HEIGHT=30,t.FILE_TREE_FILTER_DELAY=500;const d=(0,l.RecycleTreeFilterDecorator)(l.RecycleTree),u=({viewState:f})=>{const[c,y]=(0,o.useState)(!1),[b,A]=(0,o.useState)(!0),[S,D]=(0,o.useState)(!1),[I,w]=(0,o.useState)(!1),[T,R]=(0,o.useState)(),M=(0,o.useRef)(null),O=(0,o.useRef)(new _.DisposableCollection),{height:x}=f,k=(0,_.useInjectable)(s.IFileTreeService),{iconService:F,locationToCurrentFile:L,filterMode:N,indent:U,baseIndent:W}=k,j=(0,_.useInjectable)(h.FileTreeModelService),[Q,$]=(0,o.useState)({indent:U,baseIndent:W}),[Z,G]=(0,o.useState)(N),[V,H]=(0,o.useState)(F.currentTheme||{hasFolderIcons:!0,hasFileIcons:!0,hidesExplorerArrows:!0}),K=(0,o.useCallback)(Ne=>Y(Ne)?!1:Ne.shiftKey,[]),Y=(0,o.useCallback)(Ne=>{const{metaKey:Te,ctrlKey:We}=Ne;return _.isOSX&&Te||We},[]),X=(0,o.useCallback)((Ne,Te,We,pe)=>{Ne.stopPropagation();const{handleItemClick:ie,handleItemToggleClick:le,handleItemRangeClick:Se}=j;if(!Te)return;const ye=K(Ne),Ue=Y(Ne);ye?Se(Te,We):Ue?le(Te,We):ie(Te,We,pe)},[]),re=(0,o.useCallback)((Ne,Te,We)=>{Ne.stopPropagation();const{handleItemDoubleClick:pe}=j;Te&&pe(Te,We)},[]),oe=(0,o.useCallback)((Ne,Te)=>{Ne.stopPropagation();const{toggleDirectory:We}=j;We(Te)},[]);(0,o.useEffect)(()=>{c&&j.onFileTreeModelChange(async Ne=>{A(!0),Ne&&(await Ne.ensureReady,M.current&&k.initContextKey(M.current)),R(Ne),A(!1)})},[c,M.current,k]),(0,o.useEffect)(()=>{var Ne,Te,We;const pe=new _.CancellationTokenSource;return q(pe.token),(Ne=O.current)===null||Ne===void 0||Ne.push(F.onThemeChange(ie=>{H(ie)})),(Te=O.current)===null||Te===void 0||Te.push(k.onTreeIndentChange(({indent:ie,baseIndent:le})=>{$({indent:ie,baseIndent:le})})),(We=O.current)===null||We===void 0||We.push(k.onFilterModeChange(ie=>{G(ie)})),()=>{var ie;pe.cancel(),(ie=O.current)===null||ie===void 0||ie.dispose()}},[]);const he=(0,o.useCallback)((Ne,Te)=>{let We;if(Ne&&Te)for(We=Ne.parentNode;We;){if(Te===We)return!0;We=We.parentNode}return!1},[]),me=(0,o.useCallback)(Ne=>{he(Ne.relatedTarget,M.current)||!Ne.relatedTarget||(D(!1),j.handleTreeBlur())},[M.current]);(0,o.useEffect)(()=>{Z||(j.fileTreeHandle&&j.fileTreeHandle.clearFilter(),j.selectedFiles.length===1&&j.location(j.selectedFiles[0].uri))},[Z]),(0,o.useEffect)(()=>{const Ne=new _.DisposableCollection;return T&&(Ne.push(j.onDidFocusedFileChange(Te=>{Te?Te.isEqual((T?.root).uri)?S||D(!S):S&&D(!S):Te||S&&D(!S)})),Ne.push(j.onDidContextMenuFileChange(Te=>{Te?Te.isEqual((T?.root).uri)?S||D(!S):S&&D(!S):Te||S&&D(!S)}))),()=>{Ne.dispose()}},[T,S]);const q=(0,o.useCallback)(async Ne=>{var Te;if(await j.whenReady,!Ne.isCancellationRequested){if(j.treeModel){if(await j.treeModel.ensureReady,R(j.treeModel),Ne.isCancellationRequested)return;M.current&&k.initContextKey(M.current)}A(!1),!((Te=O.current)===null||Te===void 0)&&Te.disposed||y(!0)}},[j,O.current]),Ae=(0,o.useCallback)(Ne=>{j.handleTreeHandler({...Ne,getModel:()=>j.treeModel,hasDirectFocus:()=>M.current===document.activeElement})},[M.current,T]),ge=(0,o.useCallback)(()=>{const{handleItemClick:Ne}=j;Ne()},[]),te=(0,o.useCallback)(()=>{j.handleDblClick()},[]),fe=(0,o.useCallback)(()=>{const{handleTreeFocus:Ne}=j;Ne()},[]),Oe=(0,o.useCallback)(Ne=>{const{handleContextMenu:Te}=j;Te(Ne)},[]),Me=(0,o.useCallback)(Ne=>{Ne.stopPropagation(),Ne.preventDefault()},[]),Pe=(0,o.useCallback)(Ne=>{Ne.preventDefault(),w(!0)},[]),Be=(0,o.useCallback)(()=>{w(!1)},[]),De=(0,o.useCallback)(Ne=>{const{handleDrop:Te}=j.dndService;w(!1),Te(Ne)},[]),_e=(0,o.useCallback)((Ne,Te,We,pe)=>{const{handleContextMenu:ie}=j;ie(Ne,Te,pe)},[]);return o.default.createElement("div",{className:(0,r.default)(a.default.file_tree,I&&a.default.outer_drag_over,S&&a.default.outer_active),tabIndex:-1,ref:M,onClick:ge,onDoubleClick:te,onFocus:fe,onBlur:me,onContextMenu:Oe,draggable:!0,onDragStart:Me,onDragLeave:Be,onDragOver:Pe,onDrop:De},o.default.createElement(E,{isLoading:b,isReady:c,height:x,model:T,iconTheme:V,treeIndent:Q,filterMode:Z,locationToCurrentFile:L,onTreeReady:Ae,onContextMenu:_e,onItemClick:X,onItemDoubleClick:re,onTwistierClick:oe}))};t.FileTree=u;const E=(0,o.memo)(({isReady:f,isLoading:c,height:y,model:b,filterMode:A,treeIndent:S,iconTheme:D,onTreeReady:I,onItemClick:w,onItemDoubleClick:T,onContextMenu:R,onTwistierClick:M})=>{const O=(0,_.useInjectable)(s.IFileTreeService),x=(0,_.useInjectable)(p.IIconService),{decorationService:k,labelService:F,locationToCurrentFile:L}=O,N=(0,_.useInjectable)(h.FileTreeModelService),U=(0,o.useCallback)(W=>o.default.createElement(g.FileTreeNode,{item:W.item,itemType:W.itemType,template:W.template,decorationService:k,labelService:F,iconService:x,dndService:N.dndService,decorations:N.decorations.getDecorations(W.item),onClick:w,onDoubleClick:T,onTwistierClick:M,onContextMenu:R,defaultLeftPadding:S.baseIndent,leftPadding:S.indent,hasPrompt:W.hasPrompt,hasFolderIcons:D.hasFolderIcons,hasFileIcons:D.hasFileIcons,hidesExplorerArrows:D.hidesExplorerArrows}),[b,S,D]);return f?c?o.default.createElement(v.Progress,{loading:!0}):b?o.default.createElement(d,{height:y,itemHeight:g.FILE_TREE_NODE_HEIGHT,onReady:I,model:b,filterEnabled:A,filterAfterClear:L,filterAutoFocus:!0,leaveBottomBlank:!0},U):o.default.createElement(m.WelcomeView,{viewId:s.FILE_EXPLORER_WELCOME_ID}):o.default.createElement(v.Progress,{loading:!0})});E.displayName="FileTreeView"},57781:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(18193),v=e(26542),m=e(42933),p=e(52416),s=e(51500),g=e(6250),a=e(69959),h=e(88014),d=e(93239),{Path:u}=l.path;let E=class extends o.Tree{constructor(){super(...arguments),this._fileServiceWatchers=new Map,this._symbolicFiles=new Map,this._changeEventDispatchQueue=new Set,this._readyToWatch=!1,this._watchRootsQueue=[],this.effectedNodes=[],this.onWorkspaceChangeEmitter=new l.Emitter,this.onTreeIndentChangeEmitter=new l.Emitter,this.onFilterModeChangeEmitter=new l.Emitter,this.onNodeRefreshedEmitter=new l.Emitter,this._filterMode=!1,this._refreshable=!0,this.refreshEffectNode=()=>{const c=this.effectedNodes.slice(0);if(this.effectedNodes=[],c.find(b=>a.Directory.isRoot(b)))this.refresh();else for(const b of c)this.refresh(b)},this.flushEventQueue=async()=>{if(!this._changeEventDispatchQueue||this._changeEventDispatchQueue.size===0)return;const c=Array.from(this._changeEventDispatchQueue),y=this.sortPaths(c);(!this.refreshCancelToken||this.refreshCancelToken.token.isCancellationRequested)&&(this.refreshCancelToken=new l.CancellationTokenSource);const b=(0,l.pSeries)(y.map(A=>async()=>{a.Directory.is(A.node)&&await A.node.refresh(this.refreshCancelToken)}));return this._changeEventDispatchQueue.clear(),await b},this.locationToCurrentFile=()=>{this.commandService.executeCommand(l.FILE_COMMANDS.LOCATION.id)}}get onNodeRefreshed(){return this.onNodeRefreshedEmitter.event}get refreshable(){return this._refreshable}get filterMode(){return this._filterMode}get baseIndent(){return this._baseIndent}get indent(){return this._indent}get onWorkspaceChange(){return this.onWorkspaceChangeEmitter.event}get onTreeIndentChange(){return this.onTreeIndentChangeEmitter.event}get onFilterModeChange(){return this.onFilterModeChangeEmitter.event}get isCompactMode(){return this._isCompactMode}get contextKey(){return this.fileContextKey}async init(){this._roots=await this.workspaceService.roots,await this.preferenceService.ready,this._baseIndent=this.preferenceService.getValid("explorer.fileTree.baseIndent",8),this._indent=this.preferenceService.getValid("explorer.fileTree.indent",8),this._isCompactMode=this.preferenceService.getValid("explorer.compactFolders",!0),this.toDispose.push(this.workspaceService.onWorkspaceChanged(c=>{this._roots=c;const y=new l.URI(c[0].uri),b=new a.Directory(this,void 0,y,y.displayName,c[0],this.fileTreeAPI.getReadableTooltip(y));this.root=b,this.onWorkspaceChangeEmitter.fire(b),this.refresh()})),this.toDispose.push(this.workspaceService.onWorkspaceFileExcludeChanged(()=>{this.refresh()})),this.toDispose.push(l.Disposable.create(()=>{var c;(c=this._root)===null||c===void 0||c.dispose(),this._roots=null})),this.toDispose.push(this.corePreferences.onPreferenceChanged(c=>{c.preferenceName==="explorer.fileTree.baseIndent"?(this._baseIndent=c.newValue||8,this.onTreeIndentChangeEmitter.fire({indent:this.indent,baseIndent:this.baseIndent})):c.preferenceName==="explorer.fileTree.indent"?(this._indent=c.newValue||8,this.onTreeIndentChangeEmitter.fire({indent:this.indent,baseIndent:this.baseIndent})):c.preferenceName==="explorer.compactFolders"&&(this._isCompactMode=c.newValue,this.refresh())}))}initContextKey(c){this.fileContextKey.initScopedContext(c)}startWatchFileEvent(){return this._readyToWatch=!0,Promise.all(this._watchRootsQueue.map(c=>this.watchFilesChange(c)))}async resolveChildren(c){var y,b,A,S;let D=[];if(c){if(a.Directory.isRoot(c)&&this.isMultipleWorkspace){const I=await this.workspaceService.roots;for(const w of I){const T=this.fileTreeAPI.toNode(this,w,c,this.workspaceService.getWorkspaceName(new l.URI(w.uri)));this.watchFilesChange(new l.URI(w.uri)),D=D.concat(T),(T.filestat.isSymbolicLink||T.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(T.filestat.uri,T)}return D}if(c.uri){const I=await this.fileTreeAPI.resolveChildren(this,c.uri.toString(),c,this.isCompactMode&&!a.Directory.isRoot(c));D=I.children,D.forEach(T=>{(T.filestat.isSymbolicLink||T.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(T.filestat.uri,T)});const w=I.filestat;if(w&&this.isCompactMode&&!a.Directory.isRoot(c)){const T=new l.URI(w.uri),R=c.parent;if(c&&R){let M=c.name;if(c.filestat.isSymbolicLink){const O=(b=new l.URI(c.filestat.realUri).relative(T))===null||b===void 0?void 0:b.toString();O&&(M=O,M=[c.uri.displayName].concat(M.split(u.separator)).join(u.separator))}else R.filestat.isSymbolicLink?M=(A=new l.URI(R.filestat.realUri).relative(T))===null||A===void 0?void 0:A.toString():M=(S=R.uri.relative(T))===null||S===void 0?void 0:S.toString();M&&M!==c.name&&c.updateMetaData({name:M,uri:T,tooltip:this.fileTreeAPI.getReadableTooltip(T),fileStat:w})}}return D}}else if(this._roots||(this._roots=await this.workspaceService.roots),this.isMultipleWorkspace){const I=new l.URI((y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri);let w=I.displayName;w=w.slice(0,w.lastIndexOf("."));const T={...this.workspaceService.workspace,isDirectory:!0},R=new a.Directory(this,void 0,I,w,T,this.fileTreeAPI.getReadableTooltip(I));return this.root=R,[R]}else if(this._roots.length>0)return D=await(await this.fileTreeAPI.resolveChildren(this,this._roots[0])).children,D.forEach(I=>{const w=this.workspaceService.getWorkspaceName(I.uri);w&&w!==I.name&&I.updateMetaData({name:w}),(I.filestat.isSymbolicLink||I.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(I.filestat.uri,I)}),this.watchFilesChange(new l.URI(this._roots[0].uri)),this.root=D[0],D;return[]}async watchFilesChange(c){if(!this._readyToWatch){this._watchRootsQueue.push(c);return}const y=await this.fileServiceClient.watchFileChanges(c);this.toDispose.push(y),this.toDispose.push(y.onFilesChanged(b=>{this.onFilesChanged(b)})),this._fileServiceWatchers.set(c.toString(),y)}updateRefreshable(c){var y;c!==this.refreshable&&(this._refreshable=c,this._refreshable?this.doHandleQueueChange():(y=this.refreshCancelToken)===null||y===void 0||y.cancel())}isContentFile(c){return!!c&&"filestat"in c&&!c.filestat.isDirectory}isFileContentChanged(c){return c.type===m.FileChangeType.UPDATED&&this.isContentFile(this.getNodeByPathOrUri(c.uri))}getAffectedChanges(c){const y=[];for(const b of c)this.isFileContentChanged(b)||y.push(b);return y}isRootAffected(c){return this._roots?c.some(y=>y.type>m.FileChangeType.UPDATED&&this._roots&&this._roots.find(b=>y.uri.indexOf(b.uri)>=0)):!1}async onFilesChanged(c){const y=await this.getAffectedNodes(this.getAffectedChanges(c));return y.length>0?this.effectedNodes=this.effectedNodes.concat(y):!(y.length>0)&&this.isRootAffected(c)&&this.effectedNodes.push(this.root),this.refreshEffectNode()}async getFileTreeNodePathByUri(c){var y,b,A,S,D,I;if(!c)return;let w;if(this.isMultipleWorkspace){if(this._roots||(this._roots=await this.workspaceService.roots),w=(S=this._roots.find(T=>new l.URI(T.uri).isEqualOrParent(c)))===null||S===void 0?void 0:S.uri,w){const T=new l.URI(w);if(T.isEqualOrParent(c))return new u(((D=this.root)===null||D===void 0?void 0:D.path)||"/").join(T.displayName).join(((I=T.relative(c))===null||I===void 0?void 0:I.toString())||"").toString()}}else if(w=(y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri,w){const T=new l.URI(w);if(T.isEqualOrParent(c))return new u(((b=this.root)===null||b===void 0?void 0:b.path)||"").join(((A=T.relative(c))===null||A===void 0?void 0:A.toString())||"").toString()}}async moveNodeByPath(c,y,b,A,S=o.TreeNodeType.TreeNode){const D=new u(c.path).join(b).toString(),I=new u(y.path).join(A).toString();if(D&&I&&I!==D){const w=c.moveNode(D,I);return w&&a.File.is(w)&&(w.updateMetaData({uri:y.uri.resolve(A),fileStat:{...y.filestat,uri:y.uri.resolve(A).toString(),isDirectory:S!==o.TreeNodeType.TreeNode},tooltip:this.fileTreeAPI.getReadableTooltip(y.uri.resolve(A))}),a.Directory.is(w)&&this.updateChildren(w)),w}}async updateChildren(c){const y=c.children;if(!(!y||y.length===0)){for(const b of y)if(a.File.is(b)){const A=c.uri.resolve(b.uri.displayName);b.updateMetaData({uri:A,fileStat:{...b.filestat,uri:A.toString(),isDirectory:!!a.Directory.is(b)},tooltip:this.fileTreeAPI.getReadableTooltip(A)}),a.Directory.is(b)&&this.updateChildren(b)}}}async addNode(c,y,b){let A,S;const D=u.splitPath(y);if(D.length>1){let w=c.uri;for(const T of D)w=w.resolve(T);!this.isCompactMode||a.Directory.isRoot(c)?S=D[0]:b===o.TreeNodeType.CompositeTreeNode?S=y:S=D.slice(0,D.length-1).join(u.separator)}else S=y;A={uri:c.uri.resolve(S).toString(),isDirectory:b===o.TreeNodeType.CompositeTreeNode||D.length>1,isSymbolicLink:!1,lastModification:new Date().getTime()};const I=await this.fileTreeAPI.toNode(this,A,c,S);return I&&c.addNode(I),I}async deleteAffectedNodeByPath(c,y){var b,A;const S=this.getNodeByPathOrUri(c);S&&S.parent&&(this.isCompactMode&&!y?((b=S.parent.children)===null||b===void 0?void 0:b.length)===2?this.refresh((A=S.parent)===null||A===void 0?void 0:A.parent):this.refresh(S.parent):S.parent.removeNode(S.path))}async deleteAffectedNodes(c,y=[]){const b=[];for(const A of c){const S=this.getNodeByPathOrUri(A);S&&a.File.is(S)&&b.push(S)}for(const A of b)!A?.parent||this._changeEventDispatchQueue.has(A?.parent.path)||await this.deleteAffectedNodeByPath(A.path);return y.filter(A=>A.type!==m.FileChangeType.DELETED)}async getAffectedNodes(c){const y=[];for(const b of c){const A=new l.URI(b.uri),S=this.getNodeByPathOrUri(A.parent);S&&y.push(S)}return y}isFileURI(c){return/^file:\/\//.test(c)}getNodeByPathOrUri(c){var y,b,A,S;let D,I;if(typeof c!="string"?(I=c,c=c.toString()):this.isFileURI(c)?I=new l.URI(c):!this.isFileURI(c)&&typeof c=="string"&&(D=c),this.isFileURI(c)&&I){if(this._symbolicFiles.has(I?.toString()))return this._symbolicFiles.get(I.toString());let w;if(this.isMultipleWorkspace?this._roots&&(w=(b=this._roots.find(T=>new l.URI(T.uri).isEqualOrParent(I)))===null||b===void 0?void 0:b.uri):w=(y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri,this.root&&w){const T=new l.URI(w);if(T.isEqualOrParent(I)){const R=T.relative(I);R&&(this.isMultipleWorkspace?D=new u(this.root.path).join(T.displayName).join(R.toString()).toString():D=new u(this.root.path).join(R.toString()).toString())}}}if(D){const w=(A=this.root)===null||A===void 0?void 0:A.getTreeNodeByPath(D);if(!w){let T;const R=D.split(u.separator);for(;R.length>=1;){R.pop();const M=R.join(u.separator);if(T=(S=this.root)===null||S===void 0?void 0:S.getTreeNodeByPath(M),T)break}if(T&&a.Directory.is(T)){for(const M of T.children||[])if(M.path.includes(D))return M}}return w}}sortComparator(c,y){return c.constructor===y.constructor?c.name.localeCompare(y.name,"en",{numeric:!0}):c.type===o.TreeNodeType.CompositeTreeNode?-1:y.type===o.TreeNodeType.CompositeTreeNode?1:0}get contextMenuContextKeyService(){return this.fileContextKey?this.fileContextKey.service:this.contextKeyService}get isMultipleWorkspace(){return!!this.workspaceService.workspace&&!this.workspaceService.workspace.isDirectory}getDisplayName(c){return this.workspaceService.getWorkspaceName(c)}async refresh(c=this.root){if(c)return a.Directory.is(c)||a.File.is(c)&&c.parent&&(c=c.parent),this._changeEventDispatchQueue.add(c.path),this.doHandleQueueChange()}async doHandleQueueChange(){if(this.refreshable)try{await this.flushEventQueue()}catch(c){this.logger.error("flush file change event queue error:",c)}finally{this.onNodeRefreshedEmitter.fire()}}sortPaths(c){const b=c.slice().map(S=>({node:this.getNodeByPathOrUri(S),path:S})).filter(S=>S&&!!S.node);c.length>1&&b.sort((S,D)=>{var I,w;const T=((I=S.node)===null||I===void 0?void 0:I.depth)||0,R=((w=D.node)===null||w===void 0?void 0:w.depth)||0;return T-R});const A=[];for(let S=b.length-1;S>=0;S--){const D=b[S];let I=!1;for(let w=0;w<S;w++){const T=b[w];a.Directory.is(T)&&D.node.path.startsWith(T.node.path)&&(I=!0)}I||A.push(D)}return A}openFile(c){const y=this.preferenceService.get("editor.previewMode");this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,preview:y})}openAndFixedFile(c){this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,preview:!1,focus:!0})}openToTheSide(c){this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,split:4})}compare(c,y){this.commandService.executeCommand(l.EDITOR_COMMANDS.COMPARE.id,{original:c,modified:y})}toggleFilterMode(){var c;this._filterMode=!this.filterMode,this.onFilterModeChangeEmitter.fire(this.filterMode),(c=this.fileContextKey)===null||c===void 0||c.filesExplorerFilteredContext.set(this.filterMode),this.filterMode===!1&&this.commandService.executeCommand(l.FILE_COMMANDS.LOCATION.id)}};t.FileTreeService=E,n.__decorate([(0,r.Autowired)(g.IFileTreeAPI),n.__metadata("design:type",Object)],E.prototype,"fileTreeAPI",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.IContextKeyService),n.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],E.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.CorePreferences),n.__metadata("design:type",Object)],E.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.LabelService),n.__metadata("design:type",v.LabelService)],E.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(d.FileTreeDecorationService),n.__metadata("design:type",d.FileTreeDecorationService)],E.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],E.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(p.IIconService),n.__metadata("design:type",Object)],E.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(h.FileContextKey),n.__metadata("design:type",h.FileContextKey)],E.prototype,"fileContextKey",void 0),t.FileTreeService=E=n.__decorate([(0,r.Injectable)()],E)},83709:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeNextModule=void 0;const n=e(85608),r=e(41869),o=e(72665),l=e(41103),_=e(6250),v=e(89508),m=e(40439),p=e(57781),s=e(88808),g=e(93239),a=e(97738),h=e(24861);let d=class extends r.BrowserModule{constructor(){super(...arguments),this.providers=[{token:_.IFileTreeAPI,useClass:s.FileTreeAPI},{token:g.FileTreeDecorationService,useClass:g.FileTreeDecorationService},{token:_.IFileTreeService,useClass:p.FileTreeService},{token:a.FileTreeModelService,useClass:a.FileTreeModelService},{token:o.IWindowDialogService,useClass:v.WindowDialogServiceImpl},m.FileTreeContribution]}};t.FileTreeNextModule=d,t.FileTreeNextModule=d=n.__decorate([(0,r.Domain)(h.name),(0,r.ModuleDependencies)([l.WorkspaceModule])],d)},88808:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeAPI=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(42933),v=e(72665),m=e(26199),p=e(69959);let s=class{constructor(){this.onDidResolveChildrenEmitter=new l.Emitter,this.onDidResolveChildren=this.onDidResolveChildrenEmitter.event}async resolveChildren(a,h,d,u){var E;let f;if(!this.userhomePath){const c=await this.fileServiceClient.getCurrentUserHome();c&&(this.userhomePath=new l.URI(c.uri))}if(typeof h=="string"?f=await this.fileServiceClient.getFileStat(h):f=await this.fileServiceClient.getFileStat(h.uri),f){if(this.onDidResolveChildrenEmitter.fire(f.uri.toString()),((E=f.children)===null||E===void 0?void 0:E.length)===1&&f.children[0].isDirectory&&u)return await this.resolveChildren(a,f.children[0].uri,d,u);{const c={...f,isInSymbolicDirectory:d?.filestat.isSymbolicLink||d?.filestat.isInSymbolicDirectory};return{children:this.toNodes(a,c,d),filestat:c}}}else return{children:[],filestat:null}}async resolveNodeByPath(a,h,d){const u=await this.fileServiceClient.getFileStat(h);if(u)return this.toNode(a,u,d)}async resolveFileStat(a){return await this.fileServiceClient.getFileStat(a.toString())}toNodes(a,h,d){if(d){if(h.children)return h.children.map(u=>this.toNode(a,u,d))}else return[this.toNode(a,h,d)];return[]}toNode(a,h,d,u){var E;const f=new l.URI(h.uri),c=u||f.displayName;let y;return h.isInSymbolicDirectory=(E=d?.filestat.isSymbolicLink)!==null&&E!==void 0?E:d?.filestat.isInSymbolicDirectory,h.isDirectory?y=new p.Directory(a,d,f,c,h,this.getReadableTooltip(f)):y=new p.File(a,d,f,c,h,this.getReadableTooltip(f)),y}async mvFiles(a,h){const d=[];for(const f of a)if(f.url.isEqualOrParent(h))return;const u=a.sort((f,c)=>f.toString().length-c.toString().length),E=[];for(const f of u)E.length>0&&E.find(c=>c.url.isEqualOrParent(f.url))||E.push(f);if(this.corePreferences["explorer.confirmMove"]){const f=(0,l.localize)("file.confirm.move.ok"),c=(0,l.localize)("file.confirm.move.cancel");if(await this.dialogService.warning((0,l.formatLocalize)("file.confirm.move",`[ ${E.map(b=>b.url.displayName).join(",")} ]`,h.displayName),[c,f])!==f)return}for(const f of E){const c=await this.mv(f.url,h.resolve(f.url.displayName),f.isDirectory);c&&d.push(c)}return d}async mv(a,h,d=!1){try{await this.workspaceEditService.apply({edits:[{newResource:h,oldResource:a,options:{isDirectory:d,overwrite:!0}}]})}catch(u){return u.message}}async createFile(a,h){try{await this.workspaceEditService.apply({edits:[{newResource:a,options:{content:h}}]})}catch(d){return d.message}this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE.id,a,{disableNavigate:!0,focus:!0})}async createDirectory(a){try{await this.workspaceEditService.apply({edits:[{newResource:a,options:{isDirectory:!0}}]})}catch(h){return h.message}}async delete(a){try{await this.workspaceEditService.apply({edits:[{oldResource:a,options:{}}]});return}catch(h){return h.message}}async copyFile(a,h){let d=1,u;try{u=await this.fileServiceClient.access(h.toString())}catch(E){return E.message}for(;u;){const E=h.displayName.replace(/\Wcopy\W\d+/,""),f=l.path.extname(E),y=`${l.path.basename(E,f)} copy ${d}${f}`;h=h.parent.resolve(y),d++;try{u=await this.fileServiceClient.access(h.toString())}catch{return}}try{return await this.fileServiceClient.copy(a.toString(),h.toString())}catch(E){return E.message}}getReadableTooltip(a){const h=a.toString(),d=this.userhomePath&&this.userhomePath.toString();return this.userhomePath&&this.userhomePath.isEqualOrParent(a)?decodeURIComponent(h.replace(d,"~")):decodeURIComponent(a.withScheme("").toString())}};t.FileTreeAPI=s,n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(m.IWorkspaceEditService),n.__metadata("design:type",Object)],s.prototype,"workspaceEditService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.CorePreferences),n.__metadata("design:type",Object)],s.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],s.prototype,"dialogService",void 0),t.FileTreeAPI=s=n.__decorate([(0,r.Injectable)()],s)},93239:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),_=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableCollection,this.onDidChangeEmitter=new o.Emitter,this.cacheDecorations=new Map,this.disposeCollection.pushAll([this.decorationsService.onDidChangeDecorations(p=>{var s,g,a;const h=(g=(s=p._data)===null||s===void 0?void 0:s._iter)===null||g===void 0?void 0:g._value;if(h){const d=new o.URI(h),u=this.getDecoration(d);this.cacheDecorations.has(h)?((a=this.cacheDecorations.get(h))===null||a===void 0?void 0:a.tooltip)!==u?.tooltip&&this.onDidChangeEmitter.fire():(this.cacheDecorations.set(h,u),this.onDidChangeEmitter.fire())}}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(p,s=!1){p instanceof o.URI&&(p=o.Uri.parse(p.toString()));const g=this.decorationsService.getDecoration(p,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.FileTreeDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.FileTreeDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},30577:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DragAndDropService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(53622),m=e(14951),p=e(72665),s=e(51500),g=e(6250),a=e(69959),h=r.__importDefault(e(89200)),d=r.__importDefault(e(2613)),u=e(57781),E=e(97738);let f=n=class extends _.WithEventBus{constructor(y){super(),this.model=y,this.toCancelNodeExpansion=new _.DisposableCollection,this.beingDraggedDec=new l.Decoration(h.default.mod_dragging),this.draggedOverDec=new l.Decoration(h.default.mod_dragover),this.beingDraggedNodes=[],this.dragOverTrigger=new _.ThrottledDelayer(n.MS_TILL_DRAGGED_OVER_EXPANDS),this.handleDragStart=(b,A,S)=>{b.stopPropagation();const D=R=>{this.handleDragEnd(R,A)};b.currentTarget.addEventListener("dragend",D,!1);let I=this.model.selectedFiles,w=!1;for(const R of I)R&&R.id===A.id&&(w=!0);w||(I=[A]),this.beingDraggedNodes=I,this.beingDraggedActiveUri=S;const T=I.find(R=>!a.Directory.is(R));if(T&&b.dataTransfer.setData("uri",T.uri.toString()),b.dataTransfer.setData("beingDraggedNodes",JSON.stringify(this.beingDraggedNodes.map(R=>R.uri.toString()))),T){const R=T;R.uri.scheme==="file"&&b.dataTransfer.setData("DownloadURL",`application/octet-stream:${R.displayName}:data:application/octet-stream;base64,${(0,_.encodeBase64)(_.BinaryBuffer.fromString(R.filestat.uri))}`)}if(I.forEach(R=>{this.beingDraggedDec.addTarget(R,l.TargetMatchMode.Self)}),b.dataTransfer){let R;I.length===1?R=S?S.displayName:typeof A.name=="string"?A.name:"":R=String(I.length);const M=document.createElement("div");M.className=d.default.file_tree_drag_image,M.textContent=R,document.body.appendChild(M),b.dataTransfer.setDragImage(M,-10,-10),setTimeout(()=>document.body.removeChild(M),0)}},this.handleDragEnter=(b,A)=>{b.stopPropagation(),b.preventDefault()},this.handleDragLeave=(b,A)=>{b.preventDefault(),b.stopPropagation(),this.toCancelNodeExpansion.dispose(),this.potentialParent&&(this.draggedOverDec.removeTarget(this.potentialParent),this.model.treeModel.dispatchChange())},this.handleDragOver=(b,A)=>{if(b.preventDefault(),b.stopPropagation(),!this.toCancelNodeExpansion.disposed||this.beingDraggedNodes.indexOf(A)>=0)return;this.draggedOverNode=A;const S=a.Directory.is(A)&&A.expanded?A:A.parent;(this.potentialParent!==S||!this.draggedOverDec.hasTarget(S))&&(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=S,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren),this.model.treeModel.dispatchChange()),this.potentialParent!==A&&a.Directory.is(A)&&(this.dragOverTrigger.trigger(async()=>{A.expanded?(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=A,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren)):(await A.setExpanded(!0),this.draggedOverNode===A&&(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=A,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren))),this.model.treeModel.dispatchChange()}),this.toCancelNodeExpansion.push(_.Disposable.create(()=>{this.dragOverTrigger.isTriggered()||this.dragOverTrigger.cancel()})))},this.handleDrop=async(b,A,S)=>{var D,I;this.eventBus.fire(new v.FileTreeDropEvent({event:b.nativeEvent,targetDir:S?S.codeUri.path:A&&A instanceof a.File?(D=A.parent)===null||D===void 0?void 0:D.uri.codeUri.path:A?A.uri.codeUri.path:new _.URI((I=this.workspaceService.workspace)===null||I===void 0?void 0:I.uri).codeUri.path}));try{b.preventDefault(),b.stopPropagation(),b.dataTransfer.dropEffect="copy";let w;const T=!!this.beingDraggedActiveUri;this.fileTreeService.isCompactMode&&S&&!A?.uri.isEqual(S)?w=null:A?w=a.Directory.is(A)?A:A.parent:w=this.root;let R;if(this.beingDraggedActiveUri){const M=this.fileTreeService.getNodeByPathOrUri(this.beingDraggedActiveUri);R=[new a.Directory(this.fileTreeService,M?.parent,this.beingDraggedActiveUri,this.beingDraggedActiveUri.displayName,{uri:this.beingDraggedActiveUri.toString(),isDirectory:!0,lastModification:new Date().getTime()},this.beingDraggedActiveUri.displayName)]}else if(R=this.beingDraggedNodes,!R||R.length===0)try{const M=JSON.parse(b.dataTransfer.getData("beingDraggedNodes"));M&&M.length!==0&&(R=M.map(O=>this.fileTreeService.getNodeByPathOrUri(new _.URI(O))).filter(Boolean),R.length||(R=await Promise.all(M.map(async O=>{const x=new _.URI(O);let k;const F=await this.filesystem.getFileStat(x.toString());return F?.isDirectory?k=new a.Directory(this.fileTreeService,this.root,x,x.displayName,{uri:x.toString(),isDirectory:!0,lastModification:new Date().getTime()},x.displayName):k=new a.File(this.fileTreeService,this.root,x,x.displayName,{uri:x.toString(),isDirectory:!0,lastModification:new Date().getTime()},x.displayName),k}))))}catch{}if(R.length>0){const M=S||w&&w.uri,O=R.filter(x=>x&&x.parent&&(this.beingDraggedActiveUri?!x.parent.uri.isEqual(M):!0));if(O.length>0){const x=await this.fileTreeAPI.mvFiles(O.map(k=>({url:k.uri,isDirectory:k.filestat.isDirectory})),M);if(x&&x.length>0)x.forEach(k=>{this.messageService.error(k)});else if(x){if(w)if(this.fileTreeService.isCompactMode&&T){for(const k of O)this.fileTreeService.refresh(k.parent);this.fileTreeService.refresh(w)}else for(const k of O){const F=w.uri.resolve(k.name);this.fileTreeService.moveNodeByPath(k.parent,w,k.name,k.name,k.type),k.updateMetaData({name:F.displayName,fileStat:{...k.filestat,uri:F.toString()},uri:F,tooltip:this.fileTreeAPI.getReadableTooltip(F)}),a.Directory.is(k)&&this.fileTreeService.refresh(k)}else if(A){if(this.fileTreeService.isCompactMode&&T)for(const k of O)this.fileTreeService.refresh(k.parent);else for(const k of O)this.fileTreeService.deleteAffectedNodeByPath(k.path);this.fileTreeService.refresh(A.parent)}}else return}}A&&this.beingDraggedDec.removeTarget(A),this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(M=>{this.beingDraggedDec.removeTarget(M)}),this.beingDraggedNodes=[],this.beingDraggedActiveUri=void 0,this.potentialParent=null,this.model.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()}catch(w){this.logger.error(w)}},this.handleDragEnd=(b,A)=>{this.beingDraggedDec.removeTarget(A),this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(S=>{this.beingDraggedDec.removeTarget(S)}),this.beingDraggedNodes=[],this.beingDraggedActiveUri=void 0,this.potentialParent=null,this.model.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()},this.model.decorations.addDecoration(this.beingDraggedDec),this.model.decorations.addDecoration(this.draggedOverDec)}get root(){return this.model.treeModel.root}};t.DragAndDropService=f,f.MS_TILL_DRAGGED_OVER_EXPANDS=500,r.__decorate([(0,o.Autowired)(g.IFileTreeAPI),r.__metadata("design:type",Object)],f.prototype,"fileTreeAPI",void 0),r.__decorate([(0,o.Autowired)(_.ILogger),r.__metadata("design:type",Object)],f.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],f.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(g.IFileTreeService),r.__metadata("design:type",u.FileTreeService)],f.prototype,"fileTreeService",void 0),r.__decorate([(0,o.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],f.prototype,"filesystem",void 0),r.__decorate([(0,o.Autowired)(s.IWorkspaceService),r.__metadata("design:type",Object)],f.prototype,"workspaceService",void 0),t.DragAndDropService=f=n=r.__decorate([(0,o.Injectable)(),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[E.FileTreeModelService])],f)},97738:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeModelService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(91830),m=e(93899),p=e(26542),s=e(54414),g=e(14951),a=e(63067),h=e(75053),d=e(72665),u=e(6250),E=e(69959),f=e(2812),c=e(46377),y=r.__importDefault(e(89200)),b=e(57781),A=e(30577),{Path:S,isValidBasename:D}=_.path,{coalesce:I}=_.arrays,{trim:w,rtrim:T}=_.strings;let R=n=class{constructor(){this._isDisposed=!1,this._whenReady=new _.Deferred,this.selectedDecoration=new l.Decoration(y.default.mod_selected),this.focusedDecoration=new l.Decoration(y.default.mod_focused),this.contextMenuDecoration=new l.Decoration(y.default.mod_actived),this.loadingDecoration=new l.Decoration(y.default.mod_loading),this.cutDecoration=new l.Decoration(y.default.mod_cut),this._selectedFiles=[],this.disposableCollection=new _.DisposableCollection,this._isMultiSelected=!1,this.refreshedActionDelayer=new _.ThrottledDelayer(n.DEFAULT_REFRESHED_ACTION_DELAY),this.labelChangedDelayer=new _.ThrottledDelayer(n.DEFAULT_LABEL_CHANGED_DELAY),this.locationThrottler=new _.Throttler,this.onDidFocusedFileChangeEmitter=new _.Emitter,this.onDidContextMenuFileChangeEmitter=new _.Emitter,this.onDidSelectedFileChangeEmitter=new _.Emitter,this.onFileTreeModelChangeEmitter=new _.Emitter,this._initTreeModelReady=!1,this.clearFileSelectedDecoration=()=>{this.selectedDecoration.clearAppliedTarget(),this._selectedFiles=[]},this.activeFileDecoration=(O,x=!0)=>{this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),O&&(this.selectedFiles.length>0&&this.selectedDecoration.clearAppliedTarget(),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.selectedDecoration.addTarget(O),this.focusedDecoration.addTarget(O),this.focusedFile=O,this.selectedFiles=[O],x&&this.treeModel.dispatchChange())},this.selectFileDecoration=(O,x=!0)=>{O!==this.treeModel.root&&(this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),O&&(this.selectedFiles.length>0&&this.selectedDecoration.clearAppliedTarget(),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.selectedDecoration.addTarget(O),this._selectedFiles=[O],x&&this.treeModel.dispatchChange()))},this.activateFileActivedDecoration=O=>{this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),this.focusedFile&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this.contextMenuDecoration.addTarget(O),this.contextMenuFile=O,this.treeModel.dispatchChange()},this.activateFileFocusedDecoration=O=>{this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),this.focusedDecoration.addTarget(O),this.focusedFile=O,this.treeModel.dispatchChange()},this.activeFileFocusedDecoration=(O,x=!1)=>{O!==this.treeModel.root&&(this.focusedFile!==O&&(x?(this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.contextMenuFile=O):this.focusedFile&&(this.contextMenuFile=void 0,this.focusedDecoration.clearAppliedTarget()),O&&(this._selectedFiles.indexOf(O)<0&&(this.selectedDecoration.addTarget(O),this._selectedFiles.push(O),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri))),this.focusedDecoration.addTarget(O),this.focusedFile=O)),this.treeModel.dispatchChange())},this.toggleFileSelectedDecoration=O=>{const x=this._selectedFiles.indexOf(O);x>-1?(this.focusedFile===O&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this._selectedFiles.splice(x,1),this.selectedDecoration.clearAppliedTarget()):(this._selectedFiles.push(O),this.selectedDecoration.addTarget(O),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.focusedFile=O,this.focusedDecoration.addTarget(O)),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri)),this.treeModel.dispatchChange()},this.activeFileDecorationByRange=(O,x)=>{for(this.clearFileSelectedDecoration(),this.contextMenuFile=void 0;O<=x;O++){const k=this.treeModel.root.getTreeNodeAtIndex(O);k&&(this._selectedFiles.push(k),this.selectedDecoration.addTarget(k))}this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri)),this.treeModel.dispatchChange()},this.deactivateFileDecoration=()=>{var O;this.focusedFile&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(O=this.treeModel)===null||O===void 0||O.dispatchChange()},this.toggleDirectory=async O=>{O.expanded?this.fileTreeHandle.collapseNode(O):this.fileTreeHandle.expandNode(O)},this.handleDblClick=()=>{this.commandService.executeCommand(_.FILE_COMMANDS.NEW_FILE.id)},this.handleContextMenu=(O,x,k)=>{var F;O.stopPropagation(),O.preventDefault();let L,N;x?(N=x,this._isMultiSelected?this.selectedFiles.indexOf(N)>=0?L=this.selectedFiles:L=[N]:L=[N]):(L=[this.treeModel.root],N=this.treeModel.root),this.activateFileActivedDecoration(N),this.setFileTreeContextKey(N),this.fileTreeService.isCompactMode&&k?(this._activeUri=k,(F=this.contextKey)===null||F===void 0||F.explorerResourceIsFolder.set(!0)):k||(this._activeUri=null);const U=this.contextMenuService.createMenu({id:m.MenuId.ExplorerContext,contextKeyService:this.fileTreeService.contextMenuContextKeyService}),W=U.getMergedMenuNodes();U.dispose(),this.updateExplorerCompressedContextKey(N,k);const{x:j,y:Q}=O.nativeEvent;this.ctxMenuRenderer.show({anchor:{x:j,y:Q},menuNodes:W,args:k?[k,[k]]:[N.uri,L.map($=>$.uri)]})},this.handleTreeBlur=()=>{var O,x,k;this._isDisposed||((x=(O=this.contextKey)===null||O===void 0?void 0:O.filesExplorerFocused)===null||x===void 0||x.set(!1),this.deactivateFileDecoration(),(k=this.contextKey)===null||k===void 0||k.explorerResourceIsFolder.set(!1))},this.handleTreeFocus=()=>{var O,x;(x=(O=this.contextKey)===null||O===void 0?void 0:O.filesExplorerFocused)===null||x===void 0||x.set(!0)},this.handleItemRangeClick=(O,x)=>{if(this.selectedFiles.length===1&&E.Directory.isRoot(this.selectedFiles[0])&&this.clearFileSelectedDecoration(),!this.focusedFile)this.handleItemClick(O,x);else if(this.focusedFile&&this.focusedFile!==O){this._isMultiSelected=!0;const k=this.treeModel.root.getIndexAtTreeNode(O),F=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);F>k?this.activeFileDecorationByRange(k,F):F<k&&this.activeFileDecorationByRange(F,k)}},this.handleItemToggleClick=(O,x)=>{this._isMultiSelected=!0,!(x!==l.TreeNodeType.CompositeTreeNode&&x!==l.TreeNodeType.TreeNode)&&(this.selectedFiles.length===1&&E.Directory.isRoot(this.selectedFiles[0])&&this.clearFileSelectedDecoration(),this.toggleFileSelectedDecoration(O))},this.handleItemClick=(O,x=this.fileTreeService.isMultipleWorkspace?l.TreeNodeType.TreeNode:l.TreeNodeType.CompositeTreeNode,k)=>{var F,L,N,U;if(this.treeModel&&(O||(O=this.treeModel.root),this.updateExplorerCompressedContextKey(O,k),this._isMultiSelected=!1,(x===l.TreeNodeType.CompositeTreeNode||x===l.TreeNodeType.TreeNode)&&this.activeFileDecoration(O),this.fileTreeService.isCompactMode&&k?(this._activeUri=k,(F=this.contextKey)===null||F===void 0||F.explorerResourceIsFolder.set(!0)):k||(this._activeUri=null,(L=this.contextKey)===null||L===void 0||L.explorerResourceIsFolder.set(x===l.TreeNodeType.CompositeTreeNode)),this.corePreferences["workbench.list.openMode"]==="singleClick")){if(x===l.TreeNodeType.CompositeTreeNode){if((N=this.contextKey)===null||N===void 0||N.explorerResourceIsFolder.set(!0),O===this.treeModel.root)return;this.toggleDirectory(O)}else if(x===l.TreeNodeType.TreeNode){if((U=this.contextKey)===null||U===void 0||U.explorerResourceIsFolder.set(!1),O===this.treeModel.root)return;this.fileTreeService.openFile(O.uri),this.mainlayoutService.bottomExpanded&&this.commandService.executeCommand(h.RETRACT_PANEL_COMMAND.id)}}},this.handleItemDoubleClick=(O,x)=>{x===l.TreeNodeType.TreeNode?this.fileTreeService.openAndFixedFile(O.uri):this.corePreferences["workbench.list.openMode"]==="doubleClick"&&this.toggleDirectory(O)},this.validateFileName=(O,x)=>{var k;if(x=this.getWellFormedFileName(x),!x||x.length===0||/^\s+$/.test(x))return{message:(0,_.localize)("validate.tree.emptyFileNameError"),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x};if(x[0]==="/"||x[0]==="\\")return{message:(0,_.localize)("validate.tree.fileNameStartsWithSlashError"),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x};if(x[0]===" "||x[x.length-1]===" ")return{message:(0,_.localize)("validate.tree.fileNameFollowOrStartWithSpaceWarning"),type:l.PROMPT_VALIDATE_TYPE.WARNING,value:x};let F;if(O.target){const N=O.target;if(x===N.name)return null;F=N.parent}else F=O.parent;return F&&!(O instanceof l.RenamePromptHandle&&O.target.displayName.indexOf(S.separator)>0)&&((k=F.children)===null||k===void 0?void 0:k.find(W=>W.name===x))?{message:(0,_.formatLocalize)("validate.tree.fileNameExistsError",x),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x}:I(x.split(/[\\/]/)).some(N=>!D(N))?{message:(0,_.formatLocalize)("validate.tree.invalidFileNameError",this.trimLongName(x)),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x}:null},this.proxyPrompt=O=>{let x=!1;const k=async $=>{const Z=await this.fileTreeService.getNodeByPathOrUri($);Z&&(E.Directory.is(Z)?this.selectFileDecoration(Z):this.location(Z.uri))},F=async $=>{var Z,G,V;if(this.validateMessage=void 0,O instanceof l.RenamePromptHandle){const H=O.target,K=O.target.displayName.split(S.separator),Y=H.name.indexOf(S.separator)>0;if(Y&&this.activeUri&&!O.target.uri.toString().includes(this.activeUri.toString()))return!1;const X=this.activeUri?K.length-O.target.uri.toString().replace(this.activeUri.toString(),"").split(S.separator).length:-1,re=X===-1?[]:K.slice(0,X).concat($);let oe=H.uri,he=H.parent.uri.resolve($);if(Y&&((Z=this.activeUri)===null||Z===void 0?void 0:Z.displayName)===$||!Y&&$===H.name)return!0;O.addAddonAfter("loading_indicator"),Y&&re.length>0&&E.Directory.is(H.parent)&&(oe=H.parent.uri.resolve(K.slice(0,X+1).join(S.separator)),he=H.parent.uri.resolve(re.concat().join(S.separator)));const me=await this.fileTreeAPI.mv(oe,he,H.type===l.TreeNodeType.CompositeTreeNode);if(me)return this.validateMessage={type:l.PROMPT_VALIDATE_TYPE.ERROR,message:me,value:$},this.fileTreeService.updateRefreshable(!0),O.addValidateMessage(this.validateMessage),!1;if(this.fileTreeService.updateRefreshable(!1),O.removeAddonAfter(),!Y&&H.parent){const q=await this.fileTreeService.moveNodeByPath(H.parent,H.parent,H.name,$,H.type);q&&this.selectFileDecoration(q,!1),this.fileTreeService.updateRefreshable(!0)}else if(E.Directory.is(H)&&!E.Directory.isRoot(H)){H.updateMetaData({name:re.concat(K.slice(X+1)).join(S.separator),uri:he,fileStat:{...H.filestat,uri:he.toString()},tooltip:this.fileTreeAPI.getReadableTooltip(he)}),this.treeModel.dispatchChange();let q;E.Directory.is(H.parent)&&(!((G=H.parent.children)===null||G===void 0)&&G.find(Ae=>H.path.indexOf(Ae.path)>=0))?q=this.fileTreeService.refresh(H.parent):q=this.fileTreeService.refresh(H),q.then(()=>{k(he)})}O.removeAddonAfter()}else if(O instanceof l.NewPromptHandle){const H=O.parent,K=H.uri.resolve($);let Y;if(O.addAddonAfter("loading_indicator"),this.fileTreeService.updateRefreshable(!0),O.type===l.TreeNodeType.CompositeTreeNode?Y=await this.fileTreeAPI.createDirectory(K):Y=await this.fileTreeAPI.createFile(K),O.removeAddonAfter(),Y)return this.validateMessage={type:l.PROMPT_VALIDATE_TYPE.ERROR,message:Y,value:$},this.fileTreeService.updateRefreshable(!1),O.addValidateMessage(this.validateMessage),!1;if($.includes(S.separator)&&this.fileTreeService.refresh(H).then(()=>{k(H.uri.resolve($))}),this.fileTreeService.isCompactMode)if(O.type===l.TreeNodeType.CompositeTreeNode)if((!H.children||H.children.length===0)&&!E.Directory.isRoot(H)){const re=H.uri.resolve($),oe=[H.name].concat($).join(S.separator);H.updateMetaData({name:oe,uri:re,fileStat:{...H.filestat,uri:re.toString()},tooltip:this.fileTreeAPI.getReadableTooltip(re)}),k(re)}else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($));else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($));else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($))}return(V=this.contextKey)===null||V===void 0||V.filesExplorerInputFocused.set(!1),!0},L=async $=>{var Z,G,V,H;if(this.validateMessage&&this.validateMessage.type===l.PROMPT_VALIDATE_TYPE.ERROR)return this.validateMessage=void 0,!0;if(x)return!1;if(!$){(Z=this.contextKey)===null||Z===void 0||Z.explorerCompressedFocusContext.set(!1),(G=this.contextKey)===null||G===void 0||G.explorerCompressedFirstFocusContext.set(!1),(V=this.contextKey)===null||V===void 0||V.explorerCompressedLastFocusContext.set(!1),this.fileTreeService.isCompactMode&&O instanceof l.NewPromptHandle&&this.fileTreeService.refresh(O.parent);return}return(H=this.contextKey)===null||H===void 0||H.filesExplorerInputFocused.set(!1),await F($),!0},N=async $=>{if(x=!0,this.validateMessage&&this.validateMessage.type===l.PROMPT_VALIDATE_TYPE.ERROR)return!1;if($.trim()===""||this.validateMessage&&this.validateMessage.type!==l.PROMPT_VALIDATE_TYPE.ERROR)return this.validateMessage=void 0,!0;const Z=await F($);return x=!1,!!Z},U=async()=>{var $;($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!0)},W=()=>{var $;this.fileTreeService.updateRefreshable(!0),($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!1),this.contextMenuFile&&this.selectFileDecoration(this.contextMenuFile,!0)},j=()=>{var $;($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!1),this.fileTreeService.isCompactMode&&O instanceof l.NewPromptHandle&&this.fileTreeService.refresh(O.parent)},Q=$=>{const Z=this.validateFileName(O,$);Z?(this.validateMessage=Z,O.addValidateMessage(Z)):!Z&&this.validateMessage&&this.validateMessage.value!==$&&(this.validateMessage=void 0,O.removeValidateMessage())};O.destroyed||(this.fileTreeService.updateRefreshable(!1),O.onChange(Q),O.onCommit(N),O.onBlur(L),O.onFocus(U),O.onDestroy(W),O.onCancel(j))},this.copyFile=async O=>{var x;this.pasteStore&&this.pasteStore.type===u.PasteTypes.CUT&&(this._pasteStore.files.forEach(F=>{F&&this.cutDecoration.removeTarget(F)}),(x=this.contextKey)===null||x===void 0||x.explorerResourceCut.set(!1)),this.treeModel.dispatchChange();const k=[];for(const F of O){const L=this.fileTreeService.getNodeByPathOrUri(F);L&&k.push(L)}this._pasteStore={files:k,type:u.PasteTypes.COPY},this.clipboardService.writeResources(O)},this.pasteFile=async O=>{var x,k;let F=!1,L=this.fileTreeService.getNodeByPathOrUri(O.toString());if(!L)return;let N=this.pasteStore,U=!1;if(!N){const W=await this.clipboardService.readResources();if(!W||!W.length)return;N={files:[],type:u.PasteTypes.COPY,crossFiles:W},U=!0}if(N){if(E.Directory.is(L)||(F=!0,L=L.parent),U){const W=(0,_.localize)("file.confirm.paste.ok"),j=(0,_.localize)("file.confirm.paste.cancel");if(await this.dialogService.warning((0,_.formatLocalize)("file.confirm.paste",`[ ${(x=N.crossFiles)===null||x===void 0?void 0:x.map($=>$.displayName).join(",")} ]`,E.Directory.isRoot(L)?L.uri.displayName:L.displayName),[j,W])!==W)return}if(N.type===u.PasteTypes.CUT){for(const j of N.files)j&&this.cutDecoration.removeTarget(j),L.expanded||await L.setExpanded(!0);const W=await this.fileTreeAPI.mvFiles(N.crossFiles?N.crossFiles.map(j=>{var Q;return{url:j,isDirectory:((Q=this.fileTreeService.getNodeByPathOrUri(j))===null||Q===void 0?void 0:Q.filestat.isDirectory)||!1}}):N.files.map(j=>({url:j.uri,isDirectory:j.filestat.isDirectory})),L.uri);W&&W.length>0&&(W.forEach(j=>{this.messageService.error(j)}),this.fileTreeService.refresh()),(k=this.contextKey)===null||k===void 0||k.explorerResourceCut.set(!1),this.treeModel.dispatchChange(),this._pasteStore={files:[],type:u.PasteTypes.NONE,crossFiles:void 0}}else if(N.type===u.PasteTypes.COPY){const W=N.crossFiles?N.crossFiles:N.files.map(j=>j.uri);for(const j of W){L.uri.isEqual(j)&&!F&&(L=L.parent);const Q=L.uri.resolve(j.displayName);L.expanded||await L.setExpanded(!0);const $=await this.fileTreeAPI.copyFile(j,Q);if($)if($.uri){const Z=new _.URI($.uri),G=await this.filesystem.getFileStat(j.toString());this.fileTreeService.addNode(L,Z.displayName,G?.isDirectory?l.TreeNodeType.CompositeTreeNode:l.TreeNodeType.TreeNode)}else this.messageService.error(`Error when copy file: ${j.toString()}, ${$}`)}}}},this.cutFile=async O=>{var x;O.length>0&&((x=this.contextKey)===null||x===void 0||x.explorerResourceCut.set(!0)),this._pasteStore&&this._pasteStore.type===u.PasteTypes.CUT&&this._pasteStore.files.forEach(F=>{this.cutDecoration.removeTarget(F)});const k=[];for(const F of O){const L=this.fileTreeService.getNodeByPathOrUri(F);L&&k.push(L)}this._pasteStore={files:k,type:u.PasteTypes.CUT};for(const F of k)F&&this.cutDecoration.addTarget(F);this.treeModel.dispatchChange()},this.location=async O=>{if(await this.whenReady,!this.fileTreeService.filterMode)return this._fileToLocation=O,this.locationThrottler.queue(this.doLocation)},this.doLocation=async()=>{if(!this._fileToLocation)return;const O=this._fileToLocation;let x;if(typeof O=="string"?x=O:x=await this.fileTreeService.getFileTreeNodePathByUri(O),x){if(!this.fileTreeHandle)return;const k=await this.fileTreeHandle.ensureVisible(x,"center",!0);k&&this.selectFileDecoration(k)}this._fileToLocation=void 0},this.locationOnShow=O=>{this._nextLocationTarget=O},this.performLocationOnHandleShow=async()=>{this._nextLocationTarget&&(await this.location(this._nextLocationTarget),this._nextLocationTarget=void 0)}}get onDidFocusedFileChange(){return this.onDidFocusedFileChangeEmitter.event}get onDidContextMenuFileChange(){return this.onDidContextMenuFileChangeEmitter.event}get onDidSelectedFileChange(){return this.onDidSelectedFileChangeEmitter.event}get onFileTreeModelChange(){return this.onFileTreeModelChangeEmitter.event}get fileTreeHandle(){return this._fileTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get dndService(){return this._dndService}get whenReady(){return this._whenReady.promise}get focusedFile(){return this._focusedFile}set focusedFile(O){this.onDidFocusedFileChangeEmitter.fire(O?O.uri:void 0),this._focusedFile=O}get contextMenuFile(){return this._contextMenuFile}set contextMenuFile(O){this.onDidContextMenuFileChangeEmitter.fire(O?O.uri:void 0),this._contextMenuFile=O}get selectedFiles(){return this._selectedFiles}set selectedFiles(O){this.onDidSelectedFileChangeEmitter.fire(O?O.map(x=>x.uri):[]),this._selectedFiles=O}get activeUri(){return this._activeUri}get pasteStore(){return this._pasteStore}get explorerStorage(){return this._explorerStorage}get currentRelativeUriContextKey(){return this._currentRelativeUriContextKey||(this._currentRelativeUriContextKey=this.fileTreeService.contextMenuContextKeyService.createKey("filetreeContextRelativeUri","")),this._currentRelativeUriContextKey}get currentContextUriContextKey(){return this._currentContextUriContextKey||(this._currentContextUriContextKey=this.fileTreeService.contextMenuContextKeyService.createKey("filetreeContextUri","")),this._currentContextUriContextKey}get contextMenuResourceContext(){return this._contextMenuResourceContext||(this._contextMenuResourceContext=new v.ResourceContextKey(this.fileTreeService.contextMenuContextKeyService)),this._contextMenuResourceContext}get contextKey(){return this.fileTreeService.contextKey}get initTreeModelReady(){return this._initTreeModelReady}async initTreeModel(){this._initTreeModelReady=!1;const O=(await this.fileTreeService.resolveChildren())[0];if(!O){this._whenReady.resolve();return}this._treeModel=this.injector.get(f.FileTreeModel,[O]),this.initDecorations(O),this._dndService=this.injector.get(A.DragAndDropService,[this]),this.treeStateWatcher=this._treeModel.getTreeStateWatcher(!0),this.disposableCollection.push(this.fileTreeService.onNodeRefreshed(()=>{this.initTreeModelReady&&(this.refreshedActionDelayer.isTriggered()||this.refreshedActionDelayer.cancel(),this.refreshedActionDelayer.trigger(async()=>{if(this.selectedFiles.length===0){const k=this.editorService.currentEditor;k&&k.currentUri&&this.location(k.currentUri)}this.fileTreeService.isCompactMode||(this._activeUri=null)}))})),this.disposableCollection.push(this.fileTreeService.onWorkspaceChange(()=>{this.disposableCollection.dispose(),this.initTreeModel()})),this.disposableCollection.push(this.labelService.onDidChange(async()=>{this.initTreeModelReady&&(this.labelChangedDelayer.isTriggered()||this.labelChangedDelayer.cancel(),this.labelChangedDelayer.trigger(async()=>{this.fileTreeService.refresh()}))})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,k=>{this.loadingDecoration.addTarget(k),this.treeModel.dispatchChange()})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,k=>{this.loadingDecoration.clearAppliedTarget(),this.treeModel.dispatchChange()})),this._explorerStorage=await this.storageProvider(_.STORAGE_NAMESPACE.EXPLORER);const x=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY);x&&await this.loadFileTreeSnapshot(x),this.disposableCollection.push(this.treeStateWatcher.onDidChange(()=>{if(!this._initTreeModelReady)return;const k=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),F=this.treeStateWatcher.snapshot();this.explorerStorage.set(n.FILE_TREE_SNAPSHOT_KEY,{...k,...F})})),this.fileTreeService.startWatchFileEvent(),this.onFileTreeModelChangeEmitter.fire(this._treeModel),this._whenReady.resolve(),this._initTreeModelReady=!0}initDecorations(O){this._decorations=new l.DecorationsManager(O),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.cutDecoration),this._decorations.addDecoration(this.loadingDecoration)}setFileTreeContextKey(O){var x;this.currentContextUriContextKey.set(O.uri.toString()),this.currentRelativeUriContextKey.set((this.treeModel.root.uri.relative(O.uri)||"").toString()),this.contextMenuResourceContext.set(O.uri),(x=this.contextKey)===null||x===void 0||x.explorerResourceIsFolder.set(O&&O.type===l.TreeNodeType.CompositeTreeNode)}async loadFileTreeSnapshot(O){await this._treeModel.loadTreeState(O)}updateExplorerCompressedContextKey(O,x){var k,F,L,N,U,W,j,Q,$,Z,G,V,H,K,Y,X;if(O&&x){(k=this.contextKey)===null||k===void 0||k.explorerCompressedFocusContext.set(!0);const re=new S(O.name);re.name===x.displayName?((F=this.contextKey)===null||F===void 0||F.explorerCompressedLastFocusContext.set(!0),(L=this.contextKey)===null||L===void 0||L.explorerCompressedFirstFocusContext.set(!1)):re.root&&re.root.name===x.displayName?((N=this.contextKey)===null||N===void 0||N.explorerCompressedLastFocusContext.set(!1),(U=this.contextKey)===null||U===void 0||U.explorerCompressedFirstFocusContext.set(!0)):((W=this.contextKey)===null||W===void 0||W.explorerCompressedLastFocusContext.set(!1),(j=this.contextKey)===null||j===void 0||j.explorerCompressedFirstFocusContext.set(!1))}else O?O.name.indexOf(S.separator)>0?((Q=this.contextKey)===null||Q===void 0||Q.explorerCompressedFocusContext.set(!0),($=this.contextKey)===null||$===void 0||$.explorerCompressedFirstFocusContext.set(!1),(Z=this.contextKey)===null||Z===void 0||Z.explorerCompressedLastFocusContext.set(!0)):((G=this.contextKey)===null||G===void 0||G.explorerCompressedFocusContext.set(!1),(V=this.contextKey)===null||V===void 0||V.explorerCompressedFirstFocusContext.set(!1),(H=this.contextKey)===null||H===void 0||H.explorerCompressedLastFocusContext.set(!1)):((K=this.contextKey)===null||K===void 0||K.explorerCompressedFocusContext.set(!1),(Y=this.contextKey)===null||Y===void 0||Y.explorerCompressedFirstFocusContext.set(!1),(X=this.contextKey)===null||X===void 0||X.explorerCompressedLastFocusContext.set(!1))}handleTreeHandler(O){this._fileTreeHandle=O}toggleOrOpenCurrentFile(){let O;this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),O&&(this.activeFileDecoration(O),E.Directory.is(O)?this.toggleDirectory(O):this.fileTreeService.openFile(O.uri))}moveToNext(){let O;if(this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),!O)return;const k=this.treeModel.root.getIndexAtTreeNode(O)+1,F=this.treeModel.root.getTreeNodeAtIndex(k),L=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),N=(k+1)*c.FILE_TREE_NODE_HEIGHT-(L.scrollPosition||0),{height:U}=this.fileTreeHandle.getCurrentSize();F&&(this.activateFileFocusedDecoration(F),N>U&&this.fileTreeHandle.ensureVisible(F,"end"))}moveToPrev(){let O;if(this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),!O)return;const x=this.treeModel.root.getIndexAtTreeNode(O);if(x===0)return;const k=x-1,F=this.treeModel.root.getTreeNodeAtIndex(k);if(!F)return;const L=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),N=k*c.FILE_TREE_NODE_HEIGHT;this.activateFileFocusedDecoration(F),(L.scrollPosition||0)>N&&this.fileTreeHandle.ensureVisible(F,"start")}async collapseCurrentFile(){let O;this.focusedFile?(O=this.focusedFile,this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0):this.contextMenuFile&&(O=this.contextMenuFile,this.focusedDecoration.removeTarget(this.contextMenuFile),this.contextMenuFile=void 0);const x=this.selectedFiles.indexOf(O);x>=0&&(this.selectedFiles.splice(x,1),this.selectedDecoration.removeTarget(O));let k;if(E.Directory.is(O)&&O.expanded)k=O;else if(O)E.Directory.isRoot(O.parent)?k=O:k=O.parent;else return;this.focusedFile=k,k&&k.expanded&&(await this.fileTreeHandle.collapseNode(k),this.activeFileFocusedDecoration(k,!0))}async expandCurrentFile(){let O;this.focusedFile?(O=this.focusedFile,this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0):this.contextMenuFile&&(O=this.contextMenuFile,this.focusedDecoration.removeTarget(this.contextMenuFile),this.contextMenuFile=void 0);const x=this.selectedFiles.indexOf(O);x>=0&&(this.selectedFiles.splice(x,1),this.selectedDecoration.removeTarget(O)),this.focusedFile=O,E.Directory.is(O)&&(O.expanded||await this.fileTreeHandle.expandNode(O))}async collapseAll(){await this.treeModel.root.collapsedAll();const O=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY);O&&this.explorerStorage.set(n.FILE_TREE_SNAPSHOT_KEY,{...O,expandedDirectories:{atSurface:[],buried:[]}})}async deleteFileByUris(O){var x;if(O.length===0)return;if(this.corePreferences["explorer.confirmDelete"]){const N=this.applicationService.backendOS===_.OperatingSystem.Linux,U=N?(0,_.localize)("file.confirm.delete.ok"):(0,_.localize)("file.confirm.moveToTrash.ok"),W=(0,_.localize)("file.confirm.delete.cancel"),j=10;let Q=O.slice(0,j).map(Z=>Z.displayName).join(`
33401
+ `,b){const A=this.hashCalculateService.calculate(u);return d.length>m.FILE_SAVE_BY_CHANGE_THRESHOLD?await this.fileSchemeDocClient.saveByChange(h.toString(),{baseMd5:A,changes:E,eol:y},f,c,b):await this.fileSchemeDocClient.saveByContent(h.toString(),{baseMd5:A,content:d},f,c,b)}async provideEditorDocumentModelContentMd5(h,d){return this.fileSchemeDocClient.getMd5(h.toString(),d)}};t.FileSchemeDocumentProvider=p,n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(m.IFileSchemeDocClient),n.__metadata("design:type",Object)],p.prototype,"fileSchemeDocClient",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.IHashCalculateService),n.__metadata("design:type",Object)],p.prototype,"hashCalculateService",void 0),t.FileSchemeDocumentProvider=p=n.__decorate([(0,r.Injectable)()],p);let s=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event,this.listeners={}}isReadonly(h){return!0}handlesScheme(h){return h==="vscode"}async provideEditorDocumentModelContent(h,d){return this.getSchemaContent(h)}getSchemaContent(h){const d=h.toString(),u=this.jsonRegistry.getSchemaContributions().schemas[d];if(u){const E=JSON.stringify(u);if(!this.listeners[d]){const f=o.Disposable.create(()=>{this.jsonRegistry.onDidChangeSchema(c=>{c===d&&this._onDidChangeContent.fire(h)})});this.listeners[d]=f}return E}return"{}"}onDidDisposeModel(h){h.toString()&&(this.listeners[h.toString()].dispose(),delete this.listeners[h.toString()])}};t.VscodeSchemeDocumentProvider=s,n.__decorate([(0,r.Autowired)(o.ISchemaStore),n.__metadata("design:type",Object)],s.prototype,"schemaStore",void 0),n.__decorate([(0,r.Autowired)(o.IJSONSchemaRegistry),n.__metadata("design:type",Object)],s.prototype,"jsonRegistry",void 0),t.VscodeSchemeDocumentProvider=s=n.__decorate([(0,r.Injectable)()],s);let g=class{constructor(){this.documentContentMaps=new Map,this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(h){return h===o.Schemes.walkThroughSnippet}provideEditorDocumentModelContent(h,d){return this.documentContentMaps.has(h.toString())||this.documentContentMaps.set(h.toString(),""),this.documentContentMaps.get(h.toString())}isReadonly(){return!1}preferLanguageForUri(){return"plaintext"}};t.WalkThroughSnippetSchemeDocumentProvider=g,t.WalkThroughSnippetSchemeDocumentProvider=g=n.__decorate([(0,r.Injectable)()],g)},41352:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSchemeDocClientService=void 0;const n=e(85608),r=e(76003),o=e(80449);let l=class{saveByChange(v,m,p,s,g){return this.fileDocBackendService.$saveByChange(v,m,p,s,g)}saveByContent(v,m,p,s,g){return this.fileDocBackendService.$saveByContent(v,m,p,s,g)}getMd5(v,m){return this.fileDocBackendService.$getMd5(v,m)}};t.FileSchemeDocClientService=l,n.__decorate([(0,r.Autowired)(o.FileSchemeDocNodeServicePath),n.__metadata("design:type",Object)],l.prototype,"fileDocBackendService",void 0),t.FileSchemeDocClientService=l=n.__decorate([(0,r.Injectable)()],l)},17276:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemEditorComponentContribution=t.FileSystemEditorResourceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(57517),v=e(17878),m=e(42933),p=e(57646),s=e(60387),g=e(88819),a=e(99025),h="video-preview",d="image-preview",u="external-file",E="large-file-prevent";let f=class{registerResource(b){b.registerResourceProvider(this.untitledResourceProvider)}registerEditorDocumentModelContentProvider(b){b.registerEditorDocumentModelContentProvider(this.fileSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.vscodeSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.walkThroughSnippetSchemeDocumentProvider),b.registerEditorDocumentModelContentProvider(this.untitledSchemeDocumentProvider)}};t.FileSystemEditorResourceContribution=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.FileSchemeDocumentProvider)],f.prototype,"fileSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.VscodeSchemeDocumentProvider)],f.prototype,"vscodeSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.WalkThroughSnippetSchemeDocumentProvider)],f.prototype,"walkThroughSnippetSchemeDocumentProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.UntitledSchemeResourceProvider)],f.prototype,"untitledResourceProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.UntitledSchemeDocumentProvider)],f.prototype,"untitledSchemeDocumentProvider",void 0),t.FileSystemEditorResourceContribution=f=n.__decorate([(0,o.Domain)(_.BrowserEditorContribution)],f);let c=class{constructor(){this.cachedFileType=new o.LRUMap(200,100),this.fileServiceClient.onFilesChanged(b=>{b.forEach(A=>{this.cachedFileType.delete(A.uri.toString())})})}registerEditorComponent(b){b.registerEditorComponent({component:a.ImagePreview,uid:d,scheme:o.Schemes.file}),b.registerEditorComponent({component:a.VideoPreview,uid:h,scheme:o.Schemes.file}),b.registerEditorComponent({component:p.BinaryEditorComponent,uid:u,scheme:o.Schemes.file}),b.registerEditorComponent({component:g.LargeFilePrevent,uid:E,scheme:o.Schemes.file}),b.registerEditorComponentResolver(A=>A===o.Schemes.file||this.fileServiceClient.handlesScheme(A)?10:-1,(A,S)=>{S.length===0&&S.push({type:_.EditorOpenType.component,componentId:u})}),b.registerEditorComponentResolver(A=>A===o.Schemes.file||this.fileServiceClient.handlesScheme(A)?10:-1,async(A,S)=>{const D=await this.getFileType(A.uri.toString());switch(D){case"image":{S.push({type:_.EditorOpenType.component,componentId:d});break}case"video":{S.push({type:_.EditorOpenType.component,componentId:h});break}case"binary":case"text":{const{metadata:I,uri:w}=A,T=I||{};if(D==="binary"&&!T.skipPreventBinary)break;const R=await this.fileServiceClient.getFileStat(w.toString());await this.preference.ready;const M=this.preference.getValid("editor.largeFile",4*1024*1024*1024);R&&(R.size||0)>M&&!T.skipPreventTooLarge?S.push({type:_.EditorOpenType.component,componentId:E}):S.push({type:_.EditorOpenType.code,title:(0,o.localize)("editorOpenType.code")});break}}}),b.registerEditorComponentResolver(o.Schemes.untitled,(A,S,D)=>{D([{type:_.EditorOpenType.code,priority:"default"}])})}async getFileType(b){return this.cachedFileType.has(b)||((0,l.getLanguageIdFromMonaco)(new o.URI(b))?this.cachedFileType.set(b,"text"):this.cachedFileType.set(b,await this.getRealFileType(b))),this.cachedFileType.get(b)}async getRealFileType(b){try{return await this.fileServiceClient.getFileType(b)}catch{return"text"}}};t.FileSystemEditorComponentContribution=c,n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],c.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],c.prototype,"preference",void 0),t.FileSystemEditorComponentContribution=c=n.__decorate([(0,o.Domain)(_.BrowserEditorContribution),n.__metadata("design:paramtypes",[])],c)},52568:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSchemeModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(80449),_=e(41352),v=e(17276);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[v.FileSystemEditorResourceContribution,v.FileSystemEditorComponentContribution,{token:l.IFileSchemeDocClient,useClass:_.FileSchemeDocClientService}],this.backServices=[{servicePath:l.FileSchemeDocNodeServicePath}]}};t.FileSchemeModule=m,t.FileSchemeModule=m=n.__decorate([(0,r.Injectable)()],m)},88819:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LargeFilePrevent=t.PreventComponent=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(81878),v=e(54414),m=e(82196),p=n.__importDefault(e(19996)),s=a=>o.default.createElement("div",{className:p.default["error-page"]},o.default.createElement("div",{className:(0,r.default)(p.default.icon,(0,l.getExternalIcon)("warning"))}),o.default.createElement("div",{className:p.default.description},a.description),o.default.createElement("div",{className:p.default["actions-wrapper"]},a.actions.map((h,d)=>o.default.createElement(_.Button,{key:d,onClick:()=>h.onClick(),className:p.default["action-button"]},h.label))));t.PreventComponent=s;const g=()=>{const a=(0,l.useInjectable)(v.WorkbenchEditorService),h=(0,l.useInjectable)(l.IEventBus),d=()=>{const u=a.currentResource;u&&(u.metadata={...u.metadata,skipPreventTooLarge:!0},h.fire(new m.ResourceOpenTypeChangedEvent(u.uri)))};return o.default.createElement(t.PreventComponent,{description:(0,l.localize)("editor.largeFile.prevent"),actions:[{label:(0,l.localize)("editor.file.prevent.stillOpen"),onClick:()=>d()}]})};t.LargeFilePrevent=g},99025:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImagePreview=t.VideoPreview=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(40827),_=e(14951),v=n.__importDefault(e(19996)),m=g=>{const a=(0,o.useInjectable)(_.IFileServiceClient),[h,d]=r.default.useState(0);return r.default.useEffect(()=>{const u=a.onImageFilesChanged(E=>{E.some(c=>(typeof c.uri=="string"?new o.URI(c.uri):c.uri).isEqual(g.uri))&&d(c=>c+1)});return()=>u.dispose()},[g.uri,a]),{fileChanged:h}},p=g=>{const a=(0,o.useInjectable)(l.StaticResourceService);return{src:r.default.useMemo(()=>a.resolveStaticResource(g.uri).toString(),[g])}};t.VideoPreview=(0,r.memo)(g=>{const{src:a}=p(g.resource);return r.default.createElement("div",{className:v.default.kt_video_preview},r.default.createElement("video",{playsInline:!0,controls:!0,className:v.default.kt_video,src:a}))});const s=g=>{const a=r.default.useRef(),h=r.default.useRef(),{src:d}=p(g.resource),{fileChanged:u}=m(g.resource);return r.default.useEffect(()=>{const E=new o.Disposable;if(a.current)try{const f=new URL(d);f.searchParams.set("_t",u.toString()),a.current.src=f.href}catch{a.current.src=d}return()=>{E.dispose()}},[d,u]),r.default.createElement("div",{className:v.default.kt_image_preview},r.default.createElement("div",{ref:h},r.default.createElement("img",{ref:E=>E&&(a.current=E)})))};t.ImagePreview=s},80449:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChangeType=t.FileSchemeDocNodeServicePath=t.IFileSchemeDocNodeService=t.IFileSchemeDocClient=t.FILE_SAVE_BY_CHANGE_THRESHOLD=t.FILE_ON_DISK_SCHEME=void 0,t.FILE_ON_DISK_SCHEME="fileOnDisk",t.FILE_SAVE_BY_CHANGE_THRESHOLD=1e5,t.IFileSchemeDocClient=Symbol("IFileSchemeDocClient"),t.IFileSchemeDocNodeService=Symbol("FileSchemeDocNodeService"),t.FileSchemeDocNodeServicePath="FileSchemeDocNodeService";var e;(function(n){n[n.ADDED=1]="ADDED",n[n.REMOVED=2]="REMOVED"})(e||(t.ChangeType=e={}))},15625:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IFileSearchService=t.FileSearchServicePath=void 0,t.FileSearchServicePath="FileSearchServicePath",t.IFileSearchService=Symbol("FileSearchService")},84660:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(15625),t)},47720:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(84660),t)},2156:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceClient=t.BrowserFileSystemRegistryImpl=void 0;const n=e(85608),r=e(32852),o=e(76003),l=e(41869),_=e(43718),v=e(37406),m=e(8170),p=e(41682),s=e(42933),g=e(91813),a=e(81952);let h=class{constructor(){this.providers=new Map}registerFileSystemProvider(E){const f=E.scheme;return this.providers.set(f,E),{dispose:()=>{this.providers.delete(f)}}}};t.BrowserFileSystemRegistryImpl=h,t.BrowserFileSystemRegistryImpl=h=n.__decorate([(0,o.Injectable)()],h);let d=class{get clientId(){return this.applicationService.clientId}constructor(){this.watcherWithSchemaMap=new Map,this.watcherDisposerMap=new Map,this.onFileChangedEmitter=new l.Emitter,this.onFileProviderChangedEmitter=new l.Emitter,this._onFilesChanged=new l.Emitter,this.onFilesChanged=this._onFilesChanged.event,this._onWatcherOverflow=new l.Emitter,this.onWatcherOverflow=this._onWatcherOverflow.event,this._onWatcherFailed=new l.Emitter,this.onWatcherFailed=this._onWatcherFailed.event,this._onImageFilesChanged=new l.Emitter,this.onImageFilesChanged=this._onImageFilesChanged.event,this._onFileProviderChanged=new l.Emitter,this.onFileProviderChanged=this._onFileProviderChanged.event,this._onDidChangeFileSystemProviderRegistrations=new l.Emitter,this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event,this._onWillActivateFileSystemProvider=new l.Emitter,this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event,this._onDidChangeFileSystemProviderCapabilities=new l.Emitter,this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event,this.filesExcludesMatcherList=[],this.watcherId=0,this.toDisposable=new l.DisposableCollection,this.watchFileExcludes=[],this.watchFileExcludesMatcherList=[],this.filesExcludes=[],this.workspaceRoots=[],this._providerChanged=new Set,this.fsProviders=new Map,this.userHomeDeferred=new l.Deferred,this.options={encoding:"utf8",overwrite:!1,recursive:!0,moveToTrash:!0},this.uriWatcherMap=new Map,this.toDisposable.push(this.onDidChangeFileSystemProviderRegistrations(E=>{E.added&&E.scheme===_.Schemes.file&&this.doGetCurrentUserHome()}))}async initialize(){const E=await this.getProvider(_.Schemes.file);E.initialize&&await E.initialize(this.clientId,this.appConfig.recursiveWatcherBackend)}async doGetCurrentUserHome(){const f=(await this.getProvider(_.Schemes.file)).getCurrentUserHome();this.userHomeDeferred.resolve(f)}handlesScheme(E){return this.registry.providers.has(E)||this.fsProviders.has(E)}dispose(){return this._onImageFilesChanged.dispose(),this.toDisposable.dispose()}async resolveContent(E,f){const c=this.convertUri(E),b=await(await this.getProvider(c.scheme)).readFile(c.codeUri),A=b.data||b;return{content:l.BinaryBuffer.wrap(Uint8Array.from(A)).toString(f?.encoding)}}async readFile(E){const f=this.convertUri(E),y=await(await this.getProvider(f.scheme)).readFile(f.codeUri),b=y.data||y;return{content:l.BinaryBuffer.wrap(Uint8Array.from(b))}}async readFileStream(E){const f=this.convertUri(E);return await(await this.getProvider(f.scheme)).readFileStream(f.codeUri)}async getFileStat(E,f=!0){const c=this.convertUri(E),y=await this.getProvider(c.scheme);try{const b=await y.stat(c.codeUri);if(!b)throw s.FileSystemError.FileNotFound(c.codeUri.toString(),"File not found.");return this.filterStat(b,f)}catch(b){if(s.FileSystemError.FileNotFound.is(b))return}}async setContent(E,f,c){const y=this.convertUri(E.uri),b=await this.getProvider(y.scheme),A=await b.stat(y.codeUri);if(!A)throw s.FileSystemError.FileNotFound(E.uri,"File not found.");if(A.isDirectory)throw s.FileSystemError.FileIsADirectory(E.uri,"Cannot set the content.");if(!await this.isInSync(E,A))throw this.createOutOfSyncError(E);return await b.writeFile(y.codeUri,typeof f=="string"?l.BinaryBuffer.fromString(f).buffer:f,{create:!1,overwrite:!0,encoding:c?.encoding}),await b.stat(y.codeUri)}async updateContent(E,f,c){const y=this.convertUri(E.uri),b=await this.getProvider(y.scheme),A=await b.stat(y.codeUri);if(!A)throw s.FileSystemError.FileNotFound(E.uri,"File not found.");if(A.isDirectory)throw s.FileSystemError.FileIsADirectory(E.uri,"Cannot set the content.");if(!this.checkInSync(E,A))throw this.createOutOfSyncError(E);if(f.length===0)return A;const S=await b.readFile(y.codeUri),D=this.applyContentChanges(l.BinaryBuffer.wrap(S).toString(c?.encoding),f);await b.writeFile(y.codeUri,l.BinaryBuffer.fromString(D).buffer,{create:!1,overwrite:!0,encoding:c?.encoding});const I=await b.stat(y.codeUri);if(!I)throw s.FileSystemError.FileNotFound(y.codeUri.toString(),"File not found.");return I}async createFile(E,f){const c=this.convertUri(E),y=await this.getProvider(c.scheme),b=l.BinaryBuffer.fromString(f?.content||"").buffer;let A=await y.writeFile(c.codeUri,b,{create:!0,overwrite:f&&f.overwrite||!1,encoding:f?.encoding});return A=A||await y.stat(c.codeUri),A}async createFolder(E){const f=this.convertUri(E),c=await this.getProvider(f.scheme),y=await c.createDirectory(f.codeUri);return y||await c.stat(f.codeUri)}async move(E,f,c){const y=this.convertUri(E),b=this.convertUri(f),A=await this.getProvider(y.scheme),S=await A.rename(y.codeUri,b.codeUri,{overwrite:!!(c&&c.overwrite)});return S||await A.stat(b.codeUri)}async copy(E,f,c){const y=this.convertUri(E),b=this.convertUri(f),A=await this.getProvider(y.scheme),S=await this.doGetOverwrite(c);if(!(0,s.containsExtraFileMethod)(A,"copy"))throw this.getErrorProvideNotSupport(y.scheme,"copy");const D=await A.copy(y.codeUri,b.codeUri,{overwrite:!!S});return D||await A.stat(b.codeUri)}async getFsPath(E){if(E.startsWith("file:/"))return l.FileUri.fsPath(E)}fireFilesChange(E){const f=E.changes.map(y=>({uri:y.uri,type:y.type}));this._onFilesChanged.fire(f),this.eventBus.fire(new l.FilesChangeEvent(f));const c=f.filter(y=>{var b;const S=(b=new l.URI(y.uri).path.ext)===null||b===void 0?void 0:b.toLowerCase().replace(".","");return S&&g.EXT_LIST_IMAGE.has(S)});c.length>0&&this._onImageFilesChanged.fire(c)}fireWatcherOverflow(E){this._onWatcherOverflow.fire(E),this.eventBus.fire(new l.FileWatcherOverflowEvent(E))}fireWatcherFailed(E){this._onWatcherFailed.fire(E),this.eventBus.fire(new l.FileWatcherFailureEvent(E))}async watchFileChanges(E,f){const y=(this.appConfig.pollingWatcherDirectories||[]).some(R=>E.path.toString().startsWith(R)),b=this.convertUri(E.toString());let A=0;const S=await this.getProvider(b.scheme),D=this.watcherWithSchemaMap.get(b.scheme)||[];let I;if(this.uriWatcherMap.has(b.toString())){const R=this.uriWatcherMap.get(b.toString());I=R?.watcher,I&&await I.dispose()}I?A=I.watchId:A=this.watcherId++;const w=await S.watch(b.codeUri,{excludes:f,pollingWatch:y});this.watcherDisposerMap.set(A,{dispose:async()=>{const R=this.uriWatcherMap.get(b.toString()),M=R?.watcher;await Promise.all([S.unwatch&&S.unwatch(w),M&&M.dispose()]),this.uriWatcherMap.delete(b.toString())}}),D.push(A),this.watcherWithSchemaMap.set(b.scheme,D);const T=new a.FileSystemWatcher({fileServiceClient:this,watchId:A,uri:E});return this.uriWatcherMap.set(b.toString(),{watcher:T,excludes:f}),T}async setWatchFileExcludes(E){return await(await this.getProvider(_.Schemes.file)).setWatchFileExcludes(E)}async getWatchFileExcludes(){return await(await this.getProvider(_.Schemes.file)).getWatchFileExcludes()}async setFilesExcludes(E,f){this.filesExcludes=E,this.filesExcludesMatcherList=[],f&&this.setWorkspaceRoots(f),this.updateExcludeMatcher()}async setWorkspaceRoots(E){this.workspaceRoots=E,this.updateExcludeMatcher()}async unwatchFileChanges(E){const f=this.watcherDisposerMap.get(E);if(!(!f||!f.dispose))return this.watcherDisposerMap.delete(E),f.dispose()}async delete(E,f){if(this.appConfig.isElectronRenderer&&f?.moveToTrash!==!1){const b=new l.URI(E);if(b.scheme===_.Schemes.file)return this.injector.get(v.IElectronMainUIService).moveToTrash(b.codeUri.fsPath)}const c=this.convertUri(E),y=await this.getProvider(c.scheme);await y.stat(c.codeUri),await y.delete(c.codeUri,{recursive:!0,moveToTrash:await this.doGetMoveToTrash(f)})}async getEncoding(E){return"utf8"}listCapabilities(){return p.Iterable.map(this.fsProviders,([E,f])=>({scheme:E,capabilities:f.capabilities}))}registerProvider(E,f){if(this.fsProviders.has(E))throw new Error(`The file system provider for \`${E}\` already registered`);const c=[];this.fsProviders.set(E,f),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:E,provider:f}),c.push({dispose:()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:E,provider:f}),this.fsProviders.delete(E),this._providerChanged.add(E)}}),f.onDidChangeFile&&c.push(f.onDidChangeFile(b=>this.fireFilesChange({changes:b}))),f.onDidWatcherOverflow&&c.push(f.onDidWatcherOverflow(b=>this.fireWatcherOverflow(b))),f.onDidWatcherFailed&&c.push(f.onDidWatcherFailed(b=>this.fireWatcherFailed(b))),this.toDisposable.push(f.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:f,scheme:E}))),c.push({dispose:async()=>{const b=[];(this.watcherWithSchemaMap.get(E)||[]).forEach(A=>b.push(this.unwatchFileChanges(A))),await Promise.all(b)}}),this._providerChanged.add(E),this.onFileProviderChangedEmitter.fire(Array.from(this._providerChanged)),this.toDisposable.pushAll(c);const y=new l.DisposableCollection;return y.pushAll(c),this._onFileProviderChanged.fire(Array.from(this._providerChanged)),y}async access(E,f=s.FileAccess.Constants.F_OK){const c=this.convertUri(E),y=await this.getProvider(c.scheme);if(!(0,s.containsExtraFileMethod)(y,"access")){if(f===s.FileAccess.Constants.F_OK)try{return!!await y.stat(c.codeUri)}catch{return!1}throw this.getErrorProvideNotSupport(c.scheme,"access")}return await y.access(c.codeUri,f)}async getFileType(E){const f=this.convertUri(E),c=await this.getProvider(f.scheme);if(!(0,s.containsExtraFileMethod)(c,"getFileType"))throw this.getErrorProvideNotSupport(f.scheme,"getFileType");return await c.getFileType(E)}async getCurrentUserHome(){return this.userHomeDeferred.promise}getErrorProvideNotSupport(E,f){return`Scheme ${E} not support this function: ${f}.`}convertUri(E){const f=new l.URI(E);if(!f.scheme)throw new Error(`Unsupported convert Uri with non-scheme Uri: ${E}`);return f}updateExcludeMatcher(){this.filesExcludes.forEach(E=>{this.workspaceRoots.length>0?this.workspaceRoots.forEach(f=>{const y=new l.URI(f).resolve(E).path.toString();this.filesExcludesMatcherList.push((0,l.parseGlob)(y))}):this.filesExcludesMatcherList.push((0,l.parseGlob)(E))})}async shouldWaitProvider(E){const f=await this._onWillActivateFileSystemProvider.fireAndAwait({scheme:E}),{result:c}=f[0];if(c&&c.includes(E)){const y=await l.Event.toPromise(l.Event.filter(this.onFileProviderChanged,b=>b.includes(E)));if(!(0,_.isUndefined)(y))return!0}return!1}async getProvider(E){this._providerChanged.has(E)&&(await this.eventBus.fireAndAwait(new l.ExtensionActivateEvent({topic:"onFileSystem",data:E}),{timeout:3e3}),this._providerChanged.delete(E));const f=this.fsProviders.get(E);if(!f)throw new Error(`Not find ${E} provider.`);return f}async isReadonly(E){try{const f=new l.URI(E);return!!(await(await this.getProvider(f.scheme)).stat(this.convertUri(E).codeUri)).readonly}catch{return!1}}isExclude(E){const f=new l.URI(E);return this.filesExcludesMatcherList.some(c=>c(f.path.toString()))}filterStat(E,f=!0){if(E&&!this.isExclude(E.uri))return E.children&&f&&(E.children=this.filterStatChildren(E.children)),E}filterStatChildren(E){const f=[];return E.forEach(c=>{if(this.isExclude(c.uri))return!1;const y=this.filterStat(c);y&&f.push(y)}),f}applyContentChanges(E,f){let c=r.TextDocument.create("","",1,E);for(const y of f){let b=y.text;if(y.range){const A=c.offsetAt(y.range.start),S=c.offsetAt(y.range.end);b=c.getText().substr(0,A)+y.text+c.getText().substr(S)}c=r.TextDocument.create(c.uri,c.languageId,c.version,b)}return c.getText()}async isInSync(E,f){return!!this.checkInSync(E,f)}checkInSync(E,f){return f.lastModification===E.lastModification&&f.size===E.size}createOutOfSyncError(E){return s.FileSystemError.FileIsOutOfSync(E.uri)}async doGetEncoding(E){return E&&typeof E.encoding<"u"?E.encoding:this.options.encoding}async doGetOverwrite(E){return E&&typeof E.overwrite<"u"?E.overwrite:this.options.overwrite}async doGetRecursive(E){return E&&typeof E.recursive<"u"?E.recursive:this.options.recursive}async doGetMoveToTrash(E){return E&&typeof E.moveToTrash<"u"?E.moveToTrash:this.options.moveToTrash}async reconnect(){const E=await this.getProvider(_.Schemes.file);E.initialize&&await E.initialize(this.clientId,this.appConfig.recursiveWatcherBackend);const c=Array.from(this.uriWatcherMap.keys()).map(async y=>{var b;try{const A=new l.URI(y),S=this.uriWatcherMap.get(y);S?.watcher&&await this.watchFileChanges(A,S.excludes)}catch(A){(b=this.logger)===null||b===void 0||b.error("Error reconnecting watcher for:",y,A)}});await Promise.allSettled(c)}};t.FileServiceClient=d,n.__decorate([(0,o.Autowired)(s.IBrowserFileSystemRegistry),n.__metadata("design:type",h)],d.prototype,"registry",void 0),n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],d.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],d.prototype,"eventBus",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(m.IApplicationService),n.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),n.__decorate([(0,o.Autowired)(_.ILogger),n.__metadata("design:type",Object)],d.prototype,"logger",void 0),t.FileServiceClient=d=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],d)},69037:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(42933),_=e(2156);let v=class{constructor(){this._disposables=new o.DisposableStore,this._disposables.add(this.fileSystem.registerProvider(o.Schemes.file,this.diskFileServiceProvider))}async initialize(){const p=this.contributionProvider.getContributions();await Promise.all(p.map(async s=>{s.registerProvider&&await s.registerProvider(this.fileSystem)})),await Promise.all(p.map(async s=>{s.onFileServiceReady&&await s.onFileServiceReady()})),this.fileSystem.initialize&&await this.fileSystem.initialize()}onReconnect(){this.fileServiceClient.reconnect().catch(p=>this.logger.error("Failed to reconnect watchers:",p))}dispose(){this._disposables.dispose()}};t.FileServiceContribution=v,n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",_.FileServiceClient)],v.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(l.IDiskFileProvider),n.__metadata("design:type",Object)],v.prototype,"diskFileServiceProvider",void 0),n.__decorate([(0,r.Autowired)(o.FsProviderContribution),n.__metadata("design:type",Object)],v.prototype,"contributionProvider",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],v.prototype,"logger",void 0),t.FileServiceContribution=v=n.__decorate([(0,o.Domain)(o.ClientAppContribution),n.__metadata("design:paramtypes",[])],v)},60476:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiskFsProviderClient=t.CoreFileServiceProviderClient=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(42933);class _{constructor(){this.onDidChangeFileEmitter=new o.Emitter,this.onDidChangeFile=this.onDidChangeFileEmitter.event,this.watcherOverflowEmitter=new o.Emitter,this.onDidWatcherOverflow=this.watcherOverflowEmitter.event,this.watcherFailedEmitter=new o.Emitter,this.onDidWatcherFailed=this.watcherFailedEmitter.event}onWatcherOverflow(p){this.watcherOverflowEmitter.fire(p)}onWatcherFailed(p){this.watcherFailedEmitter.fire(p)}watch(p,s){return this.fileServiceProvider.watch(p,s)}unwatch(p){return this.fileServiceProvider.unwatch&&this.fileServiceProvider.unwatch(p)}async stat(p){return await this.fileServiceProvider.stat(p)}readDirectory(p){return this.fileServiceProvider.readDirectory(p)}createDirectory(p){return this.fileServiceProvider.createDirectory(p)}async readFile(p,s){return s&&(0,o.getDebugLogger)("fileService.fsProvider").warn("encoding option for fsProvider.readFile is deprecated"),await this.fileServiceProvider.readFile(p)}readFileStream(p){if(this.fileServiceProvider.readFileStream)return this.fileServiceProvider.readFileStream(p);throw new Error("readFileStream not supported")}writeFile(p,s,g){return this.fileServiceProvider.writeFile(p,Array.from(s),g)}delete(p,s){return this.fileServiceProvider.delete(p,s)}rename(p,s,g){return this.fileServiceProvider.rename(p,s,g)}}t.CoreFileServiceProviderClient=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0);let v=class extends _{constructor(){super(...arguments),this.onDidChangeCapabilities=o.Event.None}get capabilities(){return this._capabilities||(this._capabilities=12318,o.isLinux&&(this._capabilities|=1024)),this._capabilities}async initialize(p,s){var g,a;if(!((g=this.fileServiceProvider)===null||g===void 0)&&g.initialize)try{await((a=this.fileServiceProvider)===null||a===void 0?void 0:a.initialize(p,s))}catch(h){(0,o.getDebugLogger)("fileService.fsProvider").error("initialize error",h)}}setWatchFileExcludes(p){return this.fileServiceProvider.setWatchFileExcludes(p)}getWatchFileExcludes(){return this.fileServiceProvider.getWatchFileExcludes()}onDidFilesChanged(p){const s=p.changes.map(g=>({uri:g.uri,type:g.type}));this.onDidChangeFileEmitter.fire(s)}copy(p,s,g){return this.fileServiceProvider.copy(p,s,g)}access(p,s){return this.fileServiceProvider.access(p,s)}getCurrentUserHome(){return this.fileServiceProvider.getCurrentUserHome()}getFileType(p){return this.fileServiceProvider.getFileType(p)}};t.DiskFsProviderClient=v,n.__decorate([(0,r.Autowired)(l.DiskFileServicePath),n.__metadata("design:type",Object)],v.prototype,"fileServiceProvider",void 0),n.__decorate([(0,o.debounce)(100),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Array]),n.__metadata("design:returntype",void 0)],v.prototype,"setWatchFileExcludes",null),t.DiskFsProviderClient=v=n.__decorate([(0,r.Injectable)()],v)},96708:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileServiceClientModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(42933),_=e(70671),v=e(2156),m=e(69037),p=e(60476),s=e(23188);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IFileServiceClient,useClass:v.FileServiceClient},{token:l.IBrowserFileSystemRegistry,useClass:v.BrowserFileSystemRegistryImpl},{token:l.IDiskFileProvider,useClass:p.DiskFsProviderClient},{token:l.IShadowFileProvider,useClass:s.ShadowFileSystemProvider},m.FileServiceContribution],this.backServices=[{servicePath:l.DiskFileServicePath,clientToken:l.IDiskFileProvider,protocol:_.DiskFileServiceProtocol}]}};t.FileServiceClientModule=g,t.FileServiceClientModule=g=n.__decorate([(0,r.Injectable)()],g)},23188:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShadowFileSystemProvider=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class{constructor(){this.capabilities=2048,this.onDidChangeCapabilities=o.Event.None,this.readonly=!0,this.shadowFiles=new Map,this.fileChangeEmitter=new o.Emitter,this.onDidChangeFile=this.fileChangeEmitter.event}unwatch(v){throw new Error("Method not implemented.")}readFileStream(v){throw new Error("Method not implemented.")}watch(v,m){throw new Error("Method not implemented.")}stat(v){return Promise.resolve({uri:v.toString(),lastModification:0})}readDirectory(v){throw new Error("Method not implemented.")}createDirectory(v){throw new Error("Method not implemented.")}readFile(v){return this.shadowFiles.get(v.toString())||o.BinaryBuffer.fromString("no available").buffer}writeFile(v,m,p){this.shadowFiles.set(v.toString(),m)}delete(v,m){throw new Error("Method not implemented.")}rename(v,m,p){throw new Error("Method not implemented.")}copy(v,m,p){throw new Error("Method not implemented.")}exists(v){throw new Error("Method not implemented.")}access(v,m){throw new Error("Method not implemented.")}};t.ShadowFileSystemProvider=l,t.ShadowFileSystemProvider=l=n.__decorate([(0,r.Injectable)()],l)},81952:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemWatcher=void 0;const n=e(43718);function r(l,_){return l.filter(v=>!!v.uri.startsWith(_))}class o{constructor(_){this.toDispose=new n.DisposableCollection,this.changeEmitter=new n.Emitter,this.toDispose.push(this.changeEmitter),this.fileServiceClient=_.fileServiceClient,this.watchId=_.watchId,this.uri=_.uri,this.fileServiceClient.onFilesChanged(v=>{const m=r(v,this.uri.toString());m&&m.length>0&&this.changeEmitter.fire(m)})}get onFilesChanged(){return this.changeEmitter.event}dispose(){return Promise.all([this.toDispose.dispose(),this.fileServiceClient.unwatchFileChanges(this.watchId)])}isDisposed(){return this.toDispose.disposed}}t.FileSystemWatcher=o},91813:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EXT_LIST_TEXT=t.EXT_LIST_IMAGE=t.EXT_LIST_VIDEO=void 0,t.getFileTypeByExt=e,t.EXT_LIST_VIDEO=new Set(["mp4","webm","mkv","mov","mts","flv","avi","wmv"]),t.EXT_LIST_IMAGE=new Set(["png","gif","jpg","jpeg","svg","bmp","avif","cr2","cr3","dng","flif","heic","icns","jxl","jpm","jpx","nef","raf","rw2","tif","orf","webp","apng"]),t.EXT_LIST_TEXT=new Set(["xml"]);function e(n){let r="text";return n&&(t.EXT_LIST_IMAGE.has(n)?r="image":t.EXT_LIST_VIDEO.has(n)?r="video":t.EXT_LIST_TEXT.has(n)?r="text":r="binary"),r}},79929:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IBrowserFileSystemRegistry=t.IFileServiceClient=void 0;const n=e(43718);t.IFileServiceClient=n.IFileServiceClient,t.IBrowserFileSystemRegistry=Symbol("IBrowserFileSystemRegistry")},49818:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileSystemError=t.FileOperationError=t.FileSystemProviderError=t.FileSystemProviderErrorCode=t.FileAccess=t.IFileService=t.IShadowFileProvider=t.IDiskFileProvider=t.FileStat=t.FileType=void 0,t.createFileSystemProviderError=p,t.markAsFileSystemProviderError=s,t.containsExtraFileMethod=a,t.notEmpty=h,t.isErrnoException=d,t.handleError=u;const n=e(85608),r=e(43718);var o=e(31036);Object.defineProperty(t,"FileType",{enumerable:!0,get:function(){return o.FileType}}),Object.defineProperty(t,"FileStat",{enumerable:!0,get:function(){return o.FileStat}}),n.__exportStar(e(11854),t),t.IDiskFileProvider=Symbol("IDiskFileProvider"),t.IShadowFileProvider=Symbol("IShadowFileProvider"),t.IFileService=Symbol("IFileService");var l;(function(E){let f;(function(c){c.F_OK=0,c.R_OK=4,c.W_OK=2,c.X_OK=1})(f=E.Constants||(E.Constants={}))})(l||(t.FileAccess=l={}));var _;(function(E){E.FileExists="EntryExists",E.FileNotFound="EntryNotFound",E.FileNotADirectory="EntryNotADirectory",E.FileIsADirectory="EntryIsADirectory",E.FileIsOutOfSync="FileIsOutOfSync",E.FileExceedsMemoryLimit="EntryExceedsMemoryLimit",E.FileTooLarge="EntryTooLarge",E.FileWriteLocked="EntryWriteLocked",E.NoPermissions="NoPermissions",E.Unavailable="Unavailable",E.Unknown="Unknown"})(_||(t.FileSystemProviderErrorCode=_={}));class v extends Error{static declare(f,c){return Object.assign((...y)=>p(c(...y),f),{is:y=>{var b;return(b=y.stack)===null||b===void 0?void 0:b.startsWith(f)}})}constructor(f,c){super(f),this.code=c}is(f){return this.name===f.name}}t.FileSystemProviderError=v;class m extends Error{constructor(f,c,y){super(f),this.fileOperationResult=c,this.options=y}static isFileOperationError(f){return f instanceof Error&&!(0,r.isUndefinedOrNull)(f.fileOperationResult)}}t.FileOperationError=m;function p(E,f){const c=new v(E.toString(),f);return s(c,f),c}function s(E,f){return E.name=f?`${f} (FileSystemError)`:"FileSystemError",E}var g;(function(E){E.FileNotFound=v.declare(_.FileNotFound,(f,c)=>`${c?c+" ":""} '${f}' is not found.`),E.FileExists=v.declare(_.FileExists,(f,c)=>`${c?c+" ":""}'${f}' already exists.`),E.FileNotADirectory=v.declare(_.FileNotADirectory,(f,c)=>`${c?c+" ":""}'${f}' is not a directory.`),E.FileIsADirectory=v.declare(_.FileIsADirectory,(f,c)=>`${c?c+" ":""}'${f}' is a directory.`),E.FileIsOutOfSync=v.declare(_.FileIsOutOfSync,(f,c)=>`${c?c+" ":""}'${f}' is out of sync.`),E.FileExceedsMemoryLimit=v.declare(_.FileExceedsMemoryLimit,(f,c)=>`${c?c+" ":""}'${f}' is exceeds memory limit.`),E.FileTooLarge=v.declare(_.FileTooLarge,(f,c)=>`${c?c+" ":""}'${f}' is too large.`),E.FileWriteLocked=v.declare(_.FileWriteLocked,(f,c)=>`${c?c+" ":""}'${f}' is locked.`),E.FileIsNoPermissions=v.declare(_.NoPermissions,(f,c)=>`${c?c+" ":""}'${f}' is no permissions.`),E.Unavailable=v.declare(_.Unavailable,(f,c)=>`${c?c+" ":""}'${f}' is unavailable.`),E.Unknown=v.declare(_.Unknown,(f,c)=>`${c?c+" ":""}'${f}' is unkonw.`)})(g||(t.FileSystemError=g={}));function a(E,f){return(0,r.hasProperty)(E,f)&&(0,r.isFunction)(E[f])}function h(E){return E!==void 0}function d(E){return E.code!==void 0&&E.errno!==void 0}function u(E){var f,c,y,b,A;if(d(E))switch(E.code){case"EEXIST":throw g.FileExists(r.Uri.file((f=E.path)!==null&&f!==void 0?f:""));case"EPERM":case"EACCESS":throw g.FileIsNoPermissions(r.Uri.file((c=E.path)!==null&&c!==void 0?c:""));case"ENOENT":throw g.FileNotFound(r.Uri.file((y=E.path)!==null&&y!==void 0?y:""));case"ENOTDIR":throw g.FileNotADirectory(r.Uri.file((b=E.path)!==null&&b!==void 0?b:""));case"EISDIR":throw g.FileIsADirectory(r.Uri.file((A=E.path)!==null&&A!==void 0?A:""))}throw E}},42933:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(79929),t),n.__exportStar(e(49818),t),n.__exportStar(e(28217),t),n.__exportStar(e(91813),t),n.__exportStar(e(50295),t)},70671:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiskFileServiceProtocol=void 0;const n=e(26387),r=e(52890),o=e(50295);t.DiskFileServiceProtocol={name:o.DiskFileServicePath,methods:[{method:"readFile",request:[{name:"uri",type:r.UriComponentsProto}],response:{type:n.Type.binary()}}]}},50295:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileExtServicePath=t.FileWatcherServicePath=t.ShadowFileServicePath=t.DiskFileServicePath=t.FileServicePath=void 0,t.FileServicePath="FileService",t.DiskFileServicePath="DiskFileService",t.ShadowFileServicePath="ShadowFileService",t.FileWatcherServicePath="FileWatcherService",t.FileExtServicePath="FileExtServicePath"},28217:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WatcherProcessManagerProxy=t.WatcherServiceProxy=t.WATCHER_INIT_DATA_KEY=t.SUMI_WATCHER_PROCESS_SOCK_KEY=t.INsfw=void 0;const n=e(86058);var r;(function(o){let l;(function(_){_[_.CREATED=0]="CREATED",_[_.DELETED=1]="DELETED",_[_.MODIFIED=2]="MODIFIED",_[_.RENAMED=3]="RENAMED"})(l=o.actions||(o.actions={}))})(r||(t.INsfw=r={})),t.SUMI_WATCHER_PROCESS_SOCK_KEY="sumi-watcher-process-sock",t.WATCHER_INIT_DATA_KEY="sumi-watcher-init-data",t.WatcherServiceProxy=new n.ProxyIdentifier("WatcherHostServiceImpl"),t.WatcherProcessManagerProxy=new n.ProxyIdentifier("WatcherProcessManagerProxy")},14951:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(42933),t)},57942:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDialogModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(26542),m=e(6250),p=e(2812),s=r.__importDefault(e(89200)),g=e(9018);let a=n=class{static createContainer(d,u){return d.createChild([{token:m.IFileDialogTreeService,useValue:u},{token:m.IFileDialogModel,useClass:n}])}static createModel(d,u){return n.createContainer(d,u).get(m.IFileDialogModel)}constructor(){this.selectedDecoration=new l.Decoration(s.default.mod_selected),this.focusedDecoration=new l.Decoration(s.default.mod_focused),this.loadingDecoration=new l.Decoration(s.default.mod_loading),this.cutDecoration=new l.Decoration(s.default.mod_cut),this._selectedFiles=[],this.disposableCollection=new _.DisposableCollection,this.onDidFocusedFileChangeEmitter=new _.Emitter,this.onDidSelectedFileChangeEmitter=new _.Emitter,this.clearFileSelectedDecoration=()=>{this._selectedFiles.forEach(d=>{this.selectedDecoration.removeTarget(d)}),this._selectedFiles=[],this.onDidSelectedFileChangeEmitter.fire([])},this.activeFileDecoration=(d,u=!0)=>{d!==this.treeModel.root&&(this.preContextMenuFocusedFile&&(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile),this.preContextMenuFocusedFile=null),d&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(E=>{this.selectedDecoration.removeTarget(E)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedFile=d,this._selectedFiles=[d],this.onDidFocusedFileChangeEmitter.fire(d.uri),this.onDidSelectedFileChangeEmitter.fire([d.uri]),u&&this.treeModel.dispatchChange()))},this.selectFileDecoration=(d,u=!0)=>{d!==this.treeModel.root&&(this.preContextMenuFocusedFile&&(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile),this.preContextMenuFocusedFile=null),d&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(E=>{this.selectedDecoration.removeTarget(E)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(d),this._selectedFiles=[d],this.onDidSelectedFileChangeEmitter.fire([d.uri]),u&&this.treeModel.dispatchChange()))},this.activeFileFocusedDecoration=(d,u=!1)=>{d!==this.treeModel.root&&(this.focusedFile!==d&&(u?(this.preContextMenuFocusedFile?(this.focusedDecoration.removeTarget(this.preContextMenuFocusedFile),this.selectedDecoration.removeTarget(this.preContextMenuFocusedFile)):this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.preContextMenuFocusedFile=d):this.focusedFile&&(this.preContextMenuFocusedFile=null,this.focusedDecoration.removeTarget(this.focusedFile)),d&&(this.selectedDecoration.addTarget(d),this.focusedDecoration.addTarget(d),this._focusedFile=d,this._selectedFiles.push(d),this.onDidFocusedFileChangeEmitter.fire(d.uri),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(E=>E.uri)))),this.treeModel.dispatchChange())},this.activeFileSelectedDecoration=d=>{this._selectedFiles.indexOf(d)>-1||(this._selectedFiles.push(d),this.selectedDecoration.addTarget(d),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(u=>u.uri)),this.treeModel.dispatchChange())},this.activeFileDecorationByRange=(d,u)=>{for(this.clearFileSelectedDecoration(),this.preContextMenuFocusedFile=null;d<=u;d++){const E=this.treeModel.root.getTreeNodeAtIndex(d);E&&(this._selectedFiles.push(E),this.selectedDecoration.addTarget(E))}this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(E=>E.uri)),this.treeModel.dispatchChange()},this.enactiveFileDecoration=()=>{this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this.onDidFocusedFileChangeEmitter.fire(),this.treeModel.dispatchChange()),this._focusedFile=void 0},this.toggleDirectory=async d=>{d.expanded?this.fileTreeHandle.collapseNode(d):this.fileTreeHandle.expandNode(d)},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this.handleTreeFocus=()=>{},this.handleItemRangeClick=(d,u)=>{if(!this.focusedFile)this.handleItemClick(d,u);else if(this.focusedFile&&this.focusedFile!==d){const E=this.treeModel.root.getIndexAtTreeNode(d),f=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);f>E?this.activeFileDecorationByRange(E,f):f<E&&this.activeFileDecorationByRange(f,E)}},this.handleItemToggleClick=(d,u)=>{u!==l.TreeNodeType.CompositeTreeNode&&u!==l.TreeNodeType.TreeNode||(this.selectedFiles.indexOf(d)>-1?this.focusedFile===d?this.enactiveFileDecoration():this.activeFileFocusedDecoration(d):this.activeFileSelectedDecoration(d))},this.handleItemClick=(d,u)=>{this.clickTimes++,(u===l.TreeNodeType.CompositeTreeNode||u===l.TreeNodeType.TreeNode)&&this.activeFileDecoration(d),u===l.TreeNodeType.CompositeTreeNode&&this.corePreferences["workbench.list.openMode"]==="singleClick"&&this.toggleDirectory(d),this.clickTimer&&clearTimeout(this.clickTimer),this.clickTimer=setTimeout(()=>{this.clickTimes>1&&u!==l.TreeNodeType.TreeNode&&this.corePreferences["workbench.list.openMode"]==="doubleClick"&&this.toggleDirectory(d),this.clickTimes=0},200)},this.getDirectoryList=()=>this.fileTreeDialogService.getDirectoryList(),this._whenReady=this.initTreeModel()}get onDidFocusedFileChange(){return this.onDidFocusedFileChangeEmitter.event}get onDidSelectedFileChange(){return this.onDidSelectedFileChangeEmitter.event}get fileTreeHandle(){return this._fileTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get selectedFiles(){return this._selectedFiles}async initTreeModel(){const d=(await this.fileTreeDialogService.resolveChildren())[0];this._treeModel=this.injector.get(p.FileTreeModel,[d]),this.initDecorations(d),this.disposableCollection.push(this._decorations),this.disposableCollection.push(this.labelService.onDidChange(()=>{this.treeModel.dispatchChange()})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,u=>{this.loadingDecoration.addTarget(u)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,u=>{this.loadingDecoration.removeTarget(u)}))}async updateTreeModel(d){const u=await this.fileTreeDialogService.resolveRoot(d);if(u&&u.length>0){const E=u[0];this._treeModel=this.injector.get(p.FileTreeModel,[E]),this.clearFileSelectedDecoration(),this.initDecorations(E)}}initDecorations(d){this._decorations&&this._decorations.dispose(),this._decorations=new l.DecorationsManager(d),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.cutDecoration),this._decorations.addDecoration(this.loadingDecoration)}handleTreeHandler(d){this._fileTreeHandle=d}dispose(){this.disposableCollection.dispose()}};t.FileTreeDialogModel=a,a.FILE_TREE_SNAPSHOT_KEY="FILE_TREE_SNAPSHOT",a.DEFAULT_LOCATION_FLUSH_DELAY=500,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],a.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(m.IFileDialogTreeService),r.__metadata("design:type",g.FileTreeDialogService)],a.prototype,"fileTreeDialogService",void 0),r.__decorate([(0,o.Autowired)(v.LabelService),r.__metadata("design:type",v.LabelService)],a.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(_.CorePreferences),r.__metadata("design:type",Object)],a.prototype,"corePreferences",void 0),t.FileTreeDialogModel=a=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],a)},69748:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FILE_TREE_BADGE_LIMIT=t.FILE_TREE_NODE_HEIGHT=t.FileTreeDialogNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(69959),m=n.__importDefault(e(89200)),p=({item:s,onClick:g,itemType:a,labelService:h,leftPadding:d=8,onTwistierClick:u,decorations:E,defaultLeftPadding:f=8,template:c})=>{const y=a===l.TreeNodeType.RenamePrompt,b=a===l.TreeNodeType.NewPrompt,A=y||b,S=(0,_.useDesignStyles)(m.default.expansion_toggle,"expansion_toggle"),D=(0,_.useDesignStyles)(m.default.file_tree_node,"file_tree_node"),I=W=>{(a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode)&&g(W,s,a)},w=W=>{(a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode)&&(u?u(W,s,a):g(W,s,a))},T=a===l.TreeNodeType.CompositeTreeNode;let R;A?b?R=`${f+(s.parent.depth+1||0)*(d||0)}px`:R=`${f+(s.target.depth||0)*(d||0)}px`:R=T?`${f+(s.depth||0)*(d||0)}px`:`${f+(s.depth||0)*(d||0)+8}px`;const M={height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`,paddingLeft:R},O=(W,j)=>{if(E&&E?.classlist.indexOf(m.default.mod_loading)>-1)return o.default.createElement(l.Loading,null);if(A&&W instanceof l.PromptHandle){let Q=!1;if(y?Q=W.target.type===l.TreeNodeType.CompositeTreeNode:Q=W.type===l.TreeNodeType.CompositeTreeNode,Q)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,S,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:b||!(y&&W.target.type===l.TreeNodeType.CompositeTreeNode&&W.target.expanded)})})}else return o.default.createElement("div",{onClick:j,className:(0,r.default)(m.default.file_tree_node_segment,S,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:!W.expanded})})},x=W=>{let j,Q;A&&W instanceof l.PromptHandle?W instanceof l.RenamePromptHandle?(j=W.target.uri.resolve(W.$.value),Q=v.Directory.is(W.target)):(j=W.parent.uri.resolve(W.$.value),Q=W.type===l.TreeNodeType.CompositeTreeNode):(j=W.uri,Q=W.filestat.isDirectory);const $=h.getIcon(j,{isDirectory:Q});return o.default.createElement("div",{className:(0,r.default)(m.default.file_icon,$,{expanded:Q&&W.expanded}),style:{height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`}})},k=W=>c?o.default.createElement(c,null):A&&W instanceof l.PromptHandle?o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_inputbox)},o.default.createElement("div",{className:(0,r.default)("input-box",m.default.file_tree_node_prompt_box)},o.default.createElement(W.ProxiedInput,{wrapperStyle:{height:t.FILE_TREE_NODE_HEIGHT,padding:"0 5px"}}))):o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},W.name),F=()=>o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_tail)},L()),L=()=>null,N=W=>{if(T)return O(W,w);if(A)return O(W,()=>{})},U=()=>s.tooltip||s.name;return o.default.createElement("div",{key:s.id,onClick:I,title:U(),className:(0,r.default)(D,E?E.classlist:null),style:M,draggable:a===l.TreeNodeType.TreeNode||a===l.TreeNodeType.CompositeTreeNode},o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_content)},N(s),x(s),o.default.createElement("div",{className:A?m.default.file_tree_node_prompt_wrap:m.default.file_tree_node_overflow_wrap},k(s)),F()))};t.FileTreeDialogNode=p,t.FILE_TREE_NODE_HEIGHT=22,t.FILE_TREE_BADGE_LIMIT=99},68195:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileDialogContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3);let _=class{initScopedContext(m){this._contextKeyService=this.globalContextKeyService.createScoped(m),this.fileDialogViewVisibleContext=l.FileDialogViewVisibleContext.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.FileDialogContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextKeyService",void 0),t.FileDialogContextKey=_=n.__decorate([(0,r.Injectable)()],_)},9018:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDialogService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(26542),v=e(54414),m=e(14951),p=e(72665),s=e(51500),g=e(6250),a=e(57781),h=e(97738),d=e(68195);let u=class extends o.Tree{constructor(f){super(),this._whenReady=this.resolveWorkspaceRoot(f)}get whenReady(){return this._whenReady}async resolveWorkspaceRoot(f){if(f){const c=new l.URI(f).withScheme(l.Schemes.file),y=await this.fileTreeAPI.resolveFileStat(c);y&&(this.workspaceRoot=y)}}async resolveChildren(f){if(f){if(f.uri){const{children:c}=await this.fileTreeAPI.resolveChildren(this,f.uri.toString(),f);return c}}else{this.workspaceRoot||(this.workspaceRoot=(await this.workspaceService.roots)[0]);const{children:c}=await this.fileTreeAPI.resolveChildren(this,this.workspaceRoot);return this.root=c[0],c}return[]}async resolveRoot(f){let c;/^file:\/\//.test(f)&&(c=new l.URI(f)),c=l.URI.file(f);const y=await this.fileTreeAPI.resolveFileStat(c);if(y){const{children:b}=await this.fileTreeAPI.resolveChildren(this,y);return this.root=b[0],b}}getDirectoryList(){const f=[];if(!this.root)return f;let c=new l.URI(this.workspaceRoot.uri);if(c&&c.parent)for(;c.parent;){const y=c.codeUri.fsPath;if(f.indexOf(y)>=0)break;f.push(y),c=c.parent}else f.push(c.codeUri.fsPath.toString());return f}sortComparator(f,c){return f.constructor===c.constructor?f.name.startsWith(".")&&!c.name.startsWith(".")?1:!f.name.startsWith(".")&&c.name.startsWith(".")?-1:f.name.localeCompare(c.name,"kn",{numeric:!0}):f.type===o.TreeNodeType.CompositeTreeNode?-1:c.type===o.TreeNodeType.CompositeTreeNode?1:0}initContextKey(f){f&&this.fileDialogContextKey.initScopedContext(f)}get contextKey(){return this.fileDialogContextKey}async saveAs(f){const{oldFilePath:c,newFilePath:y}=f;if(!c||!y)throw new Error("oldFilePath and newFilePath are required");await this.createFile(f);try{const b=l.URI.file(f.newFilePath),A={preview:!1,focus:!0,replace:!0,forceClose:!0,disableNavigate:!1};await this.workbenchEditorService.open(b,A),await this.fileTreeModelService.clearFileSelectedDecoration();const S=this.fileTreeService.getNodeByPathOrUri(b);S&&await this.fileTreeModelService.activeFileDecoration(S)}catch(b){throw new Error(`Failed to open saveAs file: ${b.message}`)}}async createFile(f){try{const{oldFilePath:c,newFilePath:y}=f;if(!await this.fileServiceClient.getFileStat(c))throw new Error(`Source file not found: ${c}`);const{content:A}=await this.fileServiceClient.readFile(c);await this.fileServiceClient.createFile(y,{content:A.toString(),encoding:"utf8",overwrite:!0})}catch(c){throw new Error(`Failed to create file: ${c.message}`)}}renderCustomMsg(){return null}async getDefaultFilePath(f,c){return c}dispose(){super.dispose()}};t.FileTreeDialogService=u,n.__decorate([(0,r.Autowired)(g.IFileTreeAPI),n.__metadata("design:type",Object)],u.prototype,"fileTreeAPI",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],u.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.LabelService),n.__metadata("design:type",_.LabelService)],u.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(d.FileDialogContextKey),n.__metadata("design:type",d.FileDialogContextKey)],u.prototype,"fileDialogContextKey",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],u.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],u.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(p.IDialogService),n.__metadata("design:type",Object)],u.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(h.FileTreeModelService),n.__metadata("design:type",h.FileTreeModelService)],u.prototype,"fileTreeModelService",void 0),n.__decorate([(0,r.Autowired)(g.IFileTreeService),n.__metadata("design:type",a.FileTreeService)],u.prototype,"fileTreeService",void 0),t.FileTreeDialogService=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],u)},51888:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileDialog=t.FILE_TREE_DIALOG_HEIGHT=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(68974),v=e(72665),m=e(69748),p=n.__importDefault(e(13294));t.FILE_TREE_DIALOG_HEIGHT=22;const s=({options:g,model:a,isOpenDialog:h,fileService:d})=>{const u=(0,l.useInjectable)(v.IDialogService),E=(0,r.useRef)(null),[f,c]=(0,r.useState)(g.defaultFileName||""),[y,b]=(0,r.useState)(!1),[A,S]=(0,r.useState)(""),[D,I]=(0,r.useState)([]),w=(0,r.useRef)(g.defaultFileName||"");(0,r.useEffect)(()=>{var re;return a&&(b(!1),O(),(re=d.contextKey.fileDialogViewVisibleContext)===null||re===void 0||re.set(!0)),()=>{a.dispose()}},[a]),(0,r.useEffect)(()=>{g.defaultFileName&&(c(g.defaultFileName||""),w.current=g.defaultFileName||"")},[g]),(0,r.useEffect)(()=>{if(y){const re=a.getDirectoryList();I(re)}},[y]);const T=(0,r.useCallback)(()=>{const re=a.selectedFiles.map(oe=>oe.uri.path.toString());if(w.current&&g.showNameInput&&(re?.length===1||g.defaultUri)){const oe=re?.length===1?re[0]:g.defaultUri.path.toString();g?.saveAs&&d.saveAs({oldFilePath:l.path.join(oe,g?.defaultFileName||""),newFilePath:l.path.join(oe,w.current)}),u.hide([l.path.join(oe,w.current)])}else re.length>0?u.hide(re):A?u.hide([A]):g.defaultUri?u.hide([g.defaultUri.path.toString()]):a.treeModel&&a.treeModel.root?u.hide([a.treeModel.root.uri.path.toString()]):u.hide([]);b(!1),d.contextKey.fileDialogViewVisibleContext.set(!1)},[y,u,a,g,A]),R=async re=>{let oe=re.treeModel.root.uri.codeUri.fsPath;return d.getDefaultFilePath&&(oe=await d.getDefaultFilePath(re,oe)),oe},M=(0,r.useCallback)(()=>{b(!1),u.hide(),d.contextKey.fileDialogViewVisibleContext.set(!1)},[y,u]),O=(0,r.useCallback)(async()=>{await a.whenReady,await a.treeModel.ensureReady;const re=await R(a);S(re),b(!0)},[a,A,y]),x=!h,k=(0,r.useCallback)(re=>{a.handleTreeHandler({...re,getModel:()=>a.treeModel})},[a]),F=(0,r.useCallback)((re,oe)=>{re.stopPropagation();const{toggleDirectory:he}=a;he(oe)},[a]),L=(0,r.useCallback)(re=>N(re)?!1:re.shiftKey,[]),N=(0,r.useCallback)(re=>{const{metaKey:oe,ctrlKey:he}=re;return l.isMacintosh&&oe||he},[]),U=(0,r.useCallback)((re,oe,he)=>{var me;re.stopPropagation();const{handleItemClick:q,handleItemToggleClick:Ae,handleItemRangeClick:ge}=a;if(!oe)return;const te=L(event),fe=N(event);if(te&&!x&&g.canSelectMany)ge(oe,he);else if(fe&&!x&&g.canSelectMany)Ae(oe,he);else if(x)he===o.TreeNodeType.CompositeTreeNode&&q(oe,he);else if(g.canSelectFiles&&he===o.TreeNodeType.TreeNode){const Oe=new Set(Object.values((me=g.filters)!==null&&me!==void 0?me:{}).flat().map(Me=>`.${Me}`));if(Oe.size>0){const Me=l.URI.parse(oe.filestat.uri).path.ext;Oe.has(Me)&&q(oe,he)}else q(oe,he)}else g.canSelectFolders&&he===o.TreeNodeType.CompositeTreeNode&&q(oe,he)},[a,x,g]),W=(0,r.useCallback)(async re=>{b(!1),S(re),await a.updateTreeModel(re),b(!0)},[a,y,A]),j=(0,r.useCallback)(async re=>{b(!1),S(re),await a.updateTreeModel(re),b(!0)},[a,y,A,D]),Q=(0,r.useCallback)(()=>d.renderCustomMsg?d.renderCustomMsg():null,[d.renderCustomMsg]),$=(0,r.useCallback)(re=>r.default.createElement(m.FileTreeDialogNode,{item:re.item,itemType:re.itemType,labelService:a.labelService,decorations:a.decorations.getDecorations(re.item),onClick:U,onTwistierClick:F,defaultLeftPadding:8,leftPadding:8}),[a.treeModel]),Z=(0,r.useCallback)(()=>{if(y){if(a.treeModel)return r.default.createElement(o.RecycleTree,{height:300,itemHeight:t.FILE_TREE_DIALOG_HEIGHT,onReady:k,model:a.treeModel},$)}else return r.default.createElement(_.Progress,{loading:!0})},[y,a]),G=(0,r.useMemo)(()=>d.showFilePathSearch!==!1,[d.showFilePathSearch]),V=(0,r.useCallback)(()=>{if(D.length>0)return r.default.createElement(o.Select,{onChange:W,onSearchChange:j,className:p.default.select_control,size:"large",searchPlaceholder:A,value:A,showSearch:G},D.map((re,oe)=>r.default.createElement(o.Option,{value:re,key:`${oe} - ${re}`},re)))},[D,A]),H=(0,r.useCallback)(re=>{const{key:oe}=l.KeyCode.createKeyCode(re),he=re.shiftKey||re.metaKey||re.altKey||re.ctrlKey;oe&&l.Key.ENTER.keyCode===oe.keyCode&&!he&&T()},[T]);(0,r.useEffect)(()=>{var re;return E.current&&(d.initContextKey(E.current),d.contextKey.fileDialogViewVisibleContext.set(!0),(re=E.current)===null||re===void 0||re.addEventListener("keyup",H)),()=>{var oe;(oe=E.current)===null||oe===void 0||oe.removeEventListener("keyup",H)}},[]);const K=(0,r.useMemo)(()=>r.default.createElement(r.default.Fragment,null,Q(),r.default.createElement("div",{className:p.default.file_dialog_directory},V()),r.default.createElement("div",{className:p.default.file_dialog_content},Z())),[V,Z]),Y=(0,r.useMemo)(()=>r.default.createElement("div",{className:p.default.file_dialog_buttons},r.default.createElement(o.Button,{onClick:M,type:"ghost",className:p.default.button},(0,l.localize)("dialog.file.close")),r.default.createElement(o.Button,{onClick:T,type:"primary",className:p.default.button,disabled:x&&g.showNameInput&&f.length===0},h&&g.openLabel||(0,l.localize)("dialog.file.ok"))),[M,T,x,h,f,g]),X=(0,r.useCallback)(re=>{c(re.target.value),w.current=re.target.value},[f]);return r.default.createElement("div",{className:p.default.file_dialog_wrapper,ref:E},r.default.createElement("div",{className:p.default.file_dialog_directory_title},h?g.title||(0,l.localize)("dialog.file.openLabel"):g.saveLabel||(0,l.localize)("dialog.file.saveLabel")),K,!h&&g.showNameInput&&r.default.createElement("div",{className:p.default.file_dialog_file_container},r.default.createElement("span",{className:p.default.file_dialog_file_name},(0,l.localize)("dialog.file.name"),": "),r.default.createElement(o.Input,{size:"small",value:f,autoFocus:!0,selection:{start:0,end:f.indexOf(".")||f.length},onChange:X})),Y)};t.FileDialog=s},89508:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowDialogServiceImpl=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(37406),v=e(14951),m=e(72665),p=e(57942),s=n.__importDefault(e(13294)),g=e(9018),a=e(51888);let h=class{constructor(){this.idx=1,this._whenReady=this.init()}async init(){this.recentGlobalStorage=await this.storageProvider(l.STORAGE_NAMESPACE.GLOBAL_RECENT_DATA);const u=await this.recentGlobalStorage.get("RECENT_DIALOG_DEFAULT_URI");if(u)this._defaultUri=new l.URI(u);else{const E=await this.fileServiceClient.getCurrentUserHome();this._defaultUri=new l.URI(E.uri)}}get defaultUri(){return this._defaultUri}get whenReady(){return this._whenReady}async updateRecentDefaultUri(u){this.recentGlobalStorage.set("RECENT_DIALOG_DEFAULT_URI",u.toString()),this._defaultUri=u}async showOpenDialog(u={}){this.dialogService.reset(),await this.whenReady;const E={canSelectFiles:!0,canSelectFolders:!1,canSelectMany:!1};if(this.appConfig.isElectronRenderer&&!this.appConfig.isRemote){const f=this.injector.get(_.IElectronMainUIService),c=[];u.canSelectFiles&&c.push("openFile"),u.canSelectFolders&&c.push("openDirectory"),u.canSelectMany&&c.push("multiSelections"),l.isMacintosh&&c.push("treatPackageAsDirectory","createDirectory");const y=u.defaultUri||this.defaultUri,b=await f.showOpenDialog(l.electronEnv.currentWindowId,{defaultPath:y.codeUri.fsPath,title:u.title,buttonLabel:u.openLabel,properties:c});if(b&&b.length>0){const A=b.map(S=>l.URI.file(S));return this.updateRecentDefaultUri(A[0].parent),A}else return}else{u.defaultUri||(u.defaultUri=this.defaultUri);let f;u.defaultUri?f=this.injector.get(g.FileTreeDialogService,[u.defaultUri.toString()]):f=this.injector.get(g.FileTreeDialogService),await f.whenReady;const c=p.FileTreeDialogModel.createModel(this.injector,f),y=await this.dialogService.open({message:r.default.createElement(a.FileDialog,{key:this.idx++,fileService:f,model:c,options:{...E,...u},isOpenDialog:!0}),type:l.MessageType.Empty,buttons:[],closable:!0,props:{className:s.default.file_dialog_wrapper}});if(this.dialogService.reset(),y&&y.length>0){const b=y.map(A=>l.URI.file(A));return this.updateRecentDefaultUri(b[0].parent),b}else return}}async showSaveDialog(u={}){if(await this.whenReady,this.appConfig.isElectronRenderer&&!this.appConfig.isRemote){const E=u.defaultUri||this.defaultUri,c=await this.injector.get(_.IElectronMainUIService).showSaveDialog(l.electronEnv.currentWindowId,{defaultPath:E.resolve(u.defaultFileName||"").codeUri.fsPath,title:u.saveLabel,message:u.saveLabel});if(c){const y=l.URI.file(c);return this.updateRecentDefaultUri(y.parent),y}else return}else{u.defaultUri||(u.defaultUri=this.defaultUri);let E;u.defaultUri?E=this.injector.get(g.FileTreeDialogService,[u.defaultUri.toString()]):E=this.injector.get(g.FileTreeDialogService),await E.whenReady;const f=p.FileTreeDialogModel.createModel(this.injector,E),c=await this.dialogService.open({message:r.default.createElement(a.FileDialog,{key:this.idx++,fileService:E,model:f,options:u,isOpenDialog:!1}),type:l.MessageType.Empty,buttons:[],closable:!0,props:{className:s.default.file_dialog_wrapper}});if(this.dialogService.reset(),c&&c.length>0){const y=l.URI.file(c[0]);return this.updateRecentDefaultUri(y.parent),y}else return}}};t.WindowDialogServiceImpl=h,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],h.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(m.IDialogService),n.__metadata("design:type",Object)],h.prototype,"dialogService",void 0),n.__decorate([(0,o.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],h.prototype,"fileServiceClient",void 0),n.__decorate([(0,o.Autowired)(l.StorageProvider),n.__metadata("design:type",Function)],h.prototype,"storageProvider",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],h.prototype,"appConfig",void 0),t.WindowDialogServiceImpl=h=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],h)},88014:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(16413);let _=class{constructor(){this.explorerResourceIsFolder=l.ExplorerResourceIsFolderContext.bind(this.globalContextKeyService),this.explorerViewletVisibleContext=l.ExplorerViewletVisibleContext.bind(this.globalContextKeyService)}initScopedContext(m){this._contextKeyService=this.globalContextKeyService.createScoped(m),this.explorerFocused=l.ExplorerFocusedContext.bind(this._contextKeyService),this.explorerResourceCut=l.ExplorerResourceCut.bind(this._contextKeyService),this.filesExplorerFocused=l.FilesExplorerFocusedContext.bind(this._contextKeyService),this.filesExplorerInputFocused=l.FilesExplorerInputFocusedContext.bind(this._contextKeyService),this.filesExplorerFilteredContext=l.FilesExplorerFilteredContext.bind(this._contextKeyService),this.explorerCompressedFocusContext=l.ExplorerCompressedFocusContext.bind(this._contextKeyService),this.explorerCompressedFirstFocusContext=l.ExplorerCompressedFirstFocusContext.bind(this._contextKeyService),this.explorerCompressedLastFocusContext=l.ExplorerCompressedLastFocusContext.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.FileContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextKeyService",void 0),t.FileContextKey=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},40439:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(16413),_=e(93899),v=e(68969),m=e(98295),p=e(41893),s=e(54414),g=e(32595),a=e(63067),h=e(58296),d=e(72665),u=e(55121),E=e(51500),f=e(6250),c=e(69959),y=e(56384),b=e(57781),A=e(97738),S=e(4446);let D=class{constructor(){this._disposables=new o.DisposableStore,this.isRendered=!1,this.deleteThrottler=new o.Throttler,this.willDeleteUris=[]}initialize(){this.workspaceService.initFileServiceExclude().then(async()=>{await this.fileTreeService.init(),this.fileTreeModelService.initTreeModel()}),this.progressService.registerProgressIndicator(g.EXPLORER_CONTAINER_ID)}async onStart(){this.viewsRegistry.registerViewWelcomeContent(f.RESOURCE_VIEW_ID,{content:(0,o.formatLocalize)("welcome-view.noFolderHelp",o.FILE_COMMANDS.OPEN_FOLDER.id),group:h.ViewContentGroups.Open,order:1}),this.mainLayoutService.collectViewComponent({id:f.RESOURCE_VIEW_ID,name:this.getWorkspaceTitle(),weight:3,priority:9,collapsed:!1,component:y.FileTree},g.EXPLORER_CONTAINER_ID),this._disposables.add(this.workspaceService.onWorkspaceLocationChanged(()=>{const w=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);w&&w.updateViewTitle(f.RESOURCE_VIEW_ID,this.getWorkspaceTitle())}))}onDidStart(){const w=this.injector.get(S.SymlinkDecorationsProvider,[this.fileTreeService]);this.decorationService.registerDecorationsProvider(w)}onDidRender(){this.isRendered=!0;const w=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);w&&(this.fileTreeModelService.whenReady.then(()=>{this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(w.isActivated())}),w.onActivate(()=>{this.fileTreeModelService.performLocationOnHandleShow(),this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(!0)}),w.onInActivate(()=>{this.fileTreeModelService.handleTreeBlur(),this.fileTreeModelService.contextKey.explorerViewletVisibleContext.set(!1)}))}getWorkspaceTitle(){let w=(0,o.localize)("file.empty.defaultTitle");const T=this.workspaceService.workspace;return T&&(w=new o.URI(T.uri).displayName,!T.isDirectory&&w.endsWith(`.${this.workspaceService.workspaceSuffixName}`)&&(w=w.slice(0,w.lastIndexOf(".")),w===E.UNTITLED_WORKSPACE))?(0,o.localize)("file.workspace.defaultTip"):w}revealFile(w){if(w)if(this.isRendered){const T=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!T||!T.isVisible||T.isCollapsed(f.RESOURCE_VIEW_ID)?this.fileTreeModelService.locationOnShow(w):this.fileTreeModelService.location(w)}else this.fileTreeModelService.locationOnShow(w)}registerMenus(w){w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.NEW_FILE.id,label:(0,o.localize)("file.new")},order:1,group:"0_new"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.NEW_FOLDER.id,label:(0,o.localize)("file.folder.new")},order:2,group:"0_new"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.addFolderToWorkspace")},order:1,group:"0_workspace",when:"config.workspace.supportMultiRootWorkspace"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.WORKSPACE_COMMANDS.REMOVE_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.removeFolderFromWorkspace")},order:1,group:"0_workspace",when:"config.workspace.supportMultiRootWorkspace"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_RESOURCES.id,label:(0,o.localize)("file.open")},order:1,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TO_THE_SIDE.id,label:(0,o.localize)("file.open.side")},order:2,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TYPE_WITH.id,label:(0,o.localize)("file.open.type")},order:3,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.OPEN_TERMINAL_WITH_PATH.id,label:(0,o.localize)("file.filetree.openTerminalWithPath")},when:"workbench.panel.terminal",order:4,group:"1_open"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.SEARCH_ON_FOLDER.id,label:(0,o.localize)("file.search.folder")},order:1,group:"2_search"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.DELETE_FILE.id,label:(0,o.localize)("file.delete")},order:1,group:"7_modification"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.RENAME_FILE.id,label:(0,o.localize)("file.rename")},order:3,group:"7_modification"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COMPARE_SELECTED.id,label:(0,o.localize)("file.compare")},order:2,group:"3_compare"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_FILE.id,label:(0,o.localize)("file.copy.file")},order:1,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.CUT_FILE.id,label:(0,o.localize)("file.cut.file")},order:2,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.PASTE_FILE.id,label:(0,o.localize)("file.paste.file")},order:3,group:"5_cutcopypaste"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_PATH.id,label:(0,o.localize)("file.copy.path")},group:"6_copypath"}),w.registerMenuItem(_.MenuId.ExplorerContext,{command:{id:o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,label:(0,o.localize)("file.copy.relativepath")},group:"6_copypath"})}registerCommands(w){const T=()=>{this.fileTreeService.filterMode&&this.fileTreeService.toggleFilterMode()};w.registerCommand(o.FILE_COMMANDS.OPEN_TERMINAL_WITH_PATH,{execute:M=>{let O=M;if(!O)return;const x=this.fileTreeService.getNodeByPathOrUri(O);x&&!x.filestat.isDirectory&&(O=x.uri.parent),this.commandService.executeCommand(o.TERMINAL_COMMANDS.OPEN_WITH_PATH.id,O)}}),w.registerCommand(o.FILE_COMMANDS.SEARCH_ON_FOLDER,{execute:async M=>{var O;let x=M;if(x||(this.fileTreeModelService.focusedFile?x=this.fileTreeModelService.focusedFile.uri:this.fileTreeModelService.selectedFiles.length>0&&(x=(O=this.fileTreeModelService.selectedFiles[0])===null||O===void 0?void 0:O.uri)),!x)return;let k;if(this.fileTreeService.isMultipleWorkspace)for(const F of await this.workspaceService.roots){const L=new o.URI(F.uri);if(L.isEqualOrParent(x)){k=`./${L.relative(x).toString()}`;break}}else if(this.workspaceService.workspace){const F=new o.URI(this.workspaceService.workspace.uri);F.isEqualOrParent(x)&&(k=`./${F.relative(x).toString()}`)}this.commandService.executeCommand(o.SEARCH_COMMANDS.OPEN_SEARCH.id,{includeValue:k+"/"})},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.LOCATION,{execute:M=>{M?this.revealFile(M):this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0&&this.revealFile(this.fileTreeModelService.selectedFiles[0].uri)}}),w.registerCommand(o.FILE_COMMANDS.LOCATION_WITH_EDITOR,{execute:()=>{var M,O,x;((O=(M=this.workbenchEditorService.currentEditor)===null||M===void 0?void 0:M.currentUri)===null||O===void 0?void 0:O.scheme)===o.Schemes.file&&this.revealFile((x=this.workbenchEditorService.currentEditor)===null||x===void 0?void 0:x.currentUri)}}),w.registerCommand(o.FILE_COMMANDS.COLLAPSE_ALL,{execute:()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!M||!M.isVisible||this.fileTreeModelService.collapseAll()}}),w.registerCommand(o.FILE_COMMANDS.REFRESH_ALL,{execute:async()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);!M||!M.isVisible||await this.fileTreeService.refresh()}}),w.registerCommand(o.FILE_COMMANDS.DELETE_FILE,{execute:(M,O)=>{if(T(),O?this.willDeleteUris=this.willDeleteUris.concat(O):this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0?this.willDeleteUris=this.willDeleteUris.concat(this.fileTreeModelService.selectedFiles.map(x=>x.uri)):this.fileTreeModelService.focusedFile&&this.willDeleteUris.push(this.fileTreeModelService.focusedFile.uri),this.willDeleteUris.length!==0)return this.deleteThrottler.queue(this.doDelete.bind(this))},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.RENAME_FILE,{execute:M=>{if(T(),!M)if(this.fileTreeModelService.contextMenuFile)M=this.fileTreeModelService.contextMenuFile.uri;else if(this.fileTreeModelService.focusedFile)M=this.fileTreeModelService.focusedFile.uri;else return;this.fileTreeModelService.renamePrompt(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.NEW_FILE,{execute:async M=>{var O;if(T(),M)this.fileTreeModelService.newFilePrompt(M);else if(this.fileTreeService.isCompactMode&&this.fileTreeModelService.activeUri)this.fileTreeModelService.newFilePrompt(this.fileTreeModelService.activeUri);else if(this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0)this.fileTreeModelService.newFilePrompt(this.fileTreeModelService.selectedFiles[0].uri);else{let x;this.fileTreeService.isMultipleWorkspace?x=new o.URI((await this.workspaceService.roots)[0].uri):x=new o.URI((O=this.workspaceService.workspace)===null||O===void 0?void 0:O.uri),this.fileTreeModelService.newFilePrompt(x)}}}),w.registerCommand(o.FILE_COMMANDS.NEW_FOLDER,{execute:async M=>{var O;if(T(),M)this.fileTreeModelService.newDirectoryPrompt(M);else if(this.fileTreeService.isCompactMode&&this.fileTreeModelService.activeUri)this.fileTreeModelService.newDirectoryPrompt(this.fileTreeModelService.activeUri);else if(this.fileTreeModelService.selectedFiles&&this.fileTreeModelService.selectedFiles.length>0)this.fileTreeModelService.newDirectoryPrompt(this.fileTreeModelService.selectedFiles[0].uri);else{let x;this.fileTreeService.isMultipleWorkspace?x=new o.URI((await this.workspaceService.roots)[0].uri):x=new o.URI((O=this.workspaceService.workspace)===null||O===void 0?void 0:O.uri),this.fileTreeModelService.newDirectoryPrompt(x)}}}),w.registerCommand(o.FILE_COMMANDS.COMPARE_SELECTED,{execute:(M,O)=>{if(O&&O.length){const x=this.workbenchEditorService.currentEditor;x&&x.currentUri&&this.fileTreeService.compare(O[0],x.currentUri)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.OPEN_RESOURCES,{execute:M=>{this.fileTreeService.openAndFixedFile(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.OPEN_TO_THE_SIDE,{execute:M=>{this.fileTreeService.openToTheSide(M)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)});const R=(M,O)=>{const{availableOpenTypes:x,currentOpenType:k}=this.workbenchEditorService.currentEditorGroup;if(!(x&&M&&k))return{items:[],selectIndex:-1};const F=this.preferenceService.get("workbench.editorAssociations"),L=[],N=(Q,$)=>$.type===s.EditorOpenType.code?Q.type===s.EditorOpenType.code:$.type===s.EditorOpenType.component&&Q.type===s.EditorOpenType.component?Q.componentId===$.componentId:!1,U=(Q,$)=>(Q?Q+=(0,o.localize)("file.open.type.detail.and")+$:Q=$,Q);let W,j;if(F){const Q=Object.keys(F).find($=>(0,o.match)($,M.path.toString().toLowerCase())||(0,o.match)($,M.path.base.toLowerCase()));W=Q&&F[Q]}return x.forEach((Q,$)=>{var Z;const G={label:Q.title||Q.componentId||Q.type,detail:Q.title,run:V=>O(V,Q)};N(k,Q)&&(G.description=U(G.description,(0,o.localize)("file.open.type.detail.active")),j=$),W&&(!((Z=Q.componentId)===null||Z===void 0)&&Z.endsWith(W))&&(G.description=U(G.description,(0,o.localize)("file.open.type.detail.default"))),L.push(new o.QuickOpenItem(G))}),{items:L,selectIndex:j}};w.registerCommand(o.FILE_COMMANDS.OPEN_TYPE_WITH,{execute:M=>{const O=(L,N)=>{var U,W;return L===o.Mode.OPEN?((U=this.workbenchEditorService.currentEditorGroup)===null||U===void 0||U.changeOpenType((W=N.componentId)!==null&&W!==void 0?W:N.type),!0):!1},{items:x,selectIndex:k}=R(M,O);if(x.length===0||typeof k>"u")return;const F=L=>{this.quickOpenService.open({onType:(N,U)=>U(L)},{fuzzyMatchLabel:!0,ignoreFocusOut:!1,placeholder:(0,o.formatLocalize)("file.open.type.placeholder",M.path.base),selectIndex:()=>k})};x.push(new o.QuickOpenItem({label:(0,o.formatLocalize)("file.open.type.preference.default",`*${M.path.ext}`),showBorder:!0,run:L=>{if(L===o.Mode.OPEN){const N=(j,Q)=>{var $,Z,G;if(j===o.Mode.OPEN){const V="workbench.editorAssociations",H=this.preferenceService.resolve(V).scope,K=this.preferenceService.get(V);return this.preferenceService.set(V,{...K||{},[`*${M.path.ext}`]:($=Q.componentId)!==null&&$!==void 0?$:Q.type},H),(Z=this.workbenchEditorService.currentEditorGroup)===null||Z===void 0||Z.changeOpenType((G=Q.componentId)!==null&&G!==void 0?G:Q.type),!0}return!1},{items:U,selectIndex:W}=R(M,N);if(U.length===0||typeof W>"u")return!0;F(U)}return!1}})),F(x)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!c.Directory.is(this.fileTreeModelService.contextMenuFile)}),w.registerCommand(o.FILE_COMMANDS.COPY_PATH,{execute:async M=>{if(!M)return;let x=M.path.toString();if(M.scheme===s.DIFF_SCHEME){const F=M.getParsedQuery();x=new o.URI(F.modified).path.toString()}let k=decodeURIComponent(x);await this.appService.backendOS===o.OperatingSystem.Windows&&(k=k.slice(1)),await this.clipboardService.writeText(k)},isVisible:()=>!!this.fileTreeModelService.contextMenuFile}),w.registerCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH,{execute:async M=>{if(!M)return;if(M.scheme===s.DIFF_SCHEME){const k=M.getParsedQuery();M=new o.URI(k.modified).withScheme("file")}const O=this.fileTreeService.getNodeByPathOrUri(M);if(O&&O.filestat.isInSymbolicDirectory)return await this.clipboardService.writeText(O.path.split(u.Path.separator).slice(2).join(u.Path.separator));let x;if(this.fileTreeService.isMultipleWorkspace)for(const k of await this.workspaceService.roots){if(x=new o.URI(k.uri),x.isEqual(M))return await this.clipboardService.writeText("./");if(x.isEqualOrParent(M))return await this.clipboardService.writeText(decodeURIComponent(x.relative(M).toString()))}else if(this.workspaceService.workspace)return x=new o.URI(this.workspaceService.workspace.uri),x.isEqual(M)?await this.clipboardService.writeText("./"):await this.clipboardService.writeText(decodeURIComponent(x.relative(M).toString()))},isVisible:()=>!!this.fileTreeModelService.contextMenuFile}),w.registerCommand(o.FILE_COMMANDS.COPY_FILE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.copyFile(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.copyFile(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.SELECT_CURRENT_NODE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.selectChildNode(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.selectChildNode(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.CUT_FILE,{execute:(M,O)=>{if(O&&O.length)this.fileTreeModelService.cutFile(O);else{const x=this.fileTreeModelService.selectedFiles.map(k=>k.uri);x&&x.length&&this.fileTreeModelService.cutFile(x)}},isVisible:()=>!!this.fileTreeModelService.contextMenuFile&&!this.fileTreeModelService.contextMenuFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)||!!this.fileTreeModelService.focusedFile&&!this.fileTreeModelService.focusedFile.uri.isEqual(this.fileTreeModelService.treeModel.root.uri)}),w.registerCommand(o.FILE_COMMANDS.PASTE_FILE,{execute:M=>{if(T(),M)this.fileTreeModelService.pasteFile(M);else if(this.fileTreeModelService.focusedFile){let O;this.fileTreeModelService.activeUri?O=this.fileTreeModelService.activeUri:O=this.fileTreeModelService.focusedFile.uri,this.fileTreeModelService.pasteFile(O)}},isEnabled:()=>this.fileTreeModelService.pasteStore&&this.fileTreeModelService.pasteStore.type!==f.PasteTypes.NONE||this.appConfig.isElectronRenderer}),w.registerCommand(o.FILE_COMMANDS.VSCODE_OPEN_FOLDER,{execute:(M,O)=>{const x=this.injector.get(o.IWindowService),k={newWindow:!0};return typeof O=="boolean"?k.newWindow=O:k.newWindow=typeof O?.forceNewWindow=="boolean"?O.forceNewWindow:!0,M?x.openWorkspace(M,k):this.commandService.executeCommand(o.FILE_COMMANDS.OPEN_FOLDER.id,k)},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenFolder");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.OPEN_FOLDER,{execute:M=>{const O=this.injector.get(o.IWindowService);this.appConfig.isElectronRenderer?this.injector.get(o.IElectronNativeDialogService).showOpenDialog({title:(0,o.localize)("workspace.openDirectory"),properties:["openDirectory"]}).then(k=>{k&&k.length>0&&O.openWorkspace(o.URI.file(k[0]),M||{newWindow:!0})}):this.injector.get(d.IWindowDialogService).showOpenDialog({title:(0,o.localize)("workspace.openDirectory"),canSelectFiles:!1,canSelectFolders:!0}).then(k=>{var F;k&&k.length>0&&this.injector.get(E.IWorkspaceService).open(k[0],{preserveWindow:(F=M?.newWindow)!==null&&F!==void 0?F:!1})})},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenFolder");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.OPEN_WORKSPACE,{execute:M=>{if(!this.preferenceService.get("application.supportsOpenWorkspace"))return;const x=this.injector.get(o.IWindowService);this.appConfig.isElectronRenderer?this.injector.get(o.IElectronNativeDialogService).showOpenDialog({title:(0,o.localize)("workspace.openWorkspace"),properties:["openFile"],filters:[{name:(0,o.localize)("workspace.openWorkspaceTitle"),extensions:[this.workspaceService.workspaceSuffixName]}]}).then(F=>{F&&F.length>0&&x.openWorkspace(o.URI.file(F[0]),M||{newWindow:!0})}):this.injector.get(d.IWindowDialogService).showOpenDialog({title:(0,o.localize)("workspace.openWorkspace"),canSelectFiles:!0,canSelectFolders:!1,canSelectMany:!1,filters:{workspace:[this.workspaceService.workspaceSuffixName]}}).then(F=>{var L;F&&F.length>0&&this.injector.get(E.IWorkspaceService).open(F[0],{preserveWindow:(L=M?.newWindow)!==null&&L!==void 0?L:!1})})},isVisible:()=>{const M=this.preferenceService.get("application.supportsOpenWorkspace");return M??!1}}),w.registerCommand(o.FILE_COMMANDS.REVEAL_IN_EXPLORER,{execute:M=>{var O;let x=M instanceof o.URI?M:M?.uri;const k=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);k&&!k.isVisible&&(k.activate(),setTimeout(()=>{k.setCollapsed(f.RESOURCE_VIEW_ID,!1)},200)),!x&&(!((O=this.workbenchEditorService.currentEditor)===null||O===void 0)&&O.currentUri)&&(x=this.workbenchEditorService.currentEditor.currentUri),x&&this.revealFile(o.URI.parse(x.toString()))}}),w.registerCommand(o.FILE_COMMANDS.FOCUS_FILES,{execute:()=>{const M=this.mainLayoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID);M&&M.activate()}}),w.registerCommand(o.FILE_COMMANDS.OPEN_FILE,{execute:M=>this.windowDialogService.showOpenDialog(M)}),w.registerCommand(o.FILE_COMMANDS.SAVE_FILE,{execute:M=>this.windowDialogService.showSaveDialog(M)}),w.registerCommand(o.FILE_COMMANDS.FILTER_TOGGLE,{execute:()=>this.fileTreeService.toggleFilterMode()}),w.registerCommand(o.FILE_COMMANDS.FILTER_OPEN,{execute:()=>{if(!this.fileTreeService.filterMode)return this.fileTreeService.toggleFilterMode()}}),w.registerCommand(o.FILE_COMMANDS.FILTER_CLOSE,{execute:()=>{this.fileTreeService.filterMode&&this.fileTreeService.toggleFilterMode()}}),w.registerCommand(o.FILE_COMMANDS.NEXT,{execute:()=>{this.fileTreeModelService.moveToNext()}}),w.registerCommand(o.FILE_COMMANDS.PREV,{execute:()=>{this.fileTreeModelService.moveToPrev()}}),w.registerCommand(o.FILE_COMMANDS.COLLAPSE,{execute:()=>{this.fileTreeModelService.collapseCurrentFile()}}),w.registerCommand(o.FILE_COMMANDS.EXPAND,{execute:()=>{this.fileTreeModelService.expandCurrentFile()}}),w.registerCommand(o.FILE_COMMANDS.TOGGLE_OR_OPEN,{execute:()=>{this.fileTreeModelService.toggleOrOpenCurrentFile()}}),w.registerCommand(o.WORKSPACE_COMMANDS.REMOVE_WORKSPACE_FOLDER,{execute:async(M,O)=>{if(T(),!O.length||!this.workspaceService.isMultiRootWorkspaceOpened)return;const x=await this.workspaceService.roots,k=O.filter(F=>x.find(L=>L.uri===F.toString()));k.length>0&&await this.workspaceService.removeRoots(k)},isVisible:()=>this.workspaceService.isMultiRootWorkspaceOpened&&!!this.fileTreeModelService.contextMenuFile&&!!this.workspaceService.tryGetRoots().find(M=>{var O;return M.uri===((O=this.fileTreeModelService.contextMenuFile)===null||O===void 0?void 0:O.uri.toString())})})}registerKeybindings(w){w.registerKeybinding({command:o.FILE_COMMANDS.COPY_FILE.id,keybinding:"ctrlcmd+c",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.PASTE_FILE.id,keybinding:"ctrlcmd+v",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.CUT_FILE.id,keybinding:"ctrlcmd+x",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.SELECT_CURRENT_NODE.id,keybinding:"ctrlcmd+a",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.RENAME_FILE.id,keybinding:"enter",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.DELETE_FILE.id,keybinding:"ctrlcmd+backspace",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.FILTER_OPEN.id,keybinding:"ctrlcmd+f",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.FILTER_CLOSE.id,keybinding:"esc",when:`${l.FilesExplorerFocusedContext.raw} && ${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.NEXT.id,keybinding:"down",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.PREV.id,keybinding:"up",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.EXPAND.id,keybinding:"right",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.COLLAPSE.id,keybinding:"left",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`}),w.registerKeybinding({command:o.FILE_COMMANDS.TOGGLE_OR_OPEN.id,keybinding:"space",when:`${l.FilesExplorerFocusedContext.raw} && !${l.FilesExplorerInputFocusedContext.raw} && !${l.FilesExplorerFilteredContext.raw}`})}registerToolbarItems(w){w.registerItem({id:o.FILE_COMMANDS.LOCATION_WITH_EDITOR.id,command:o.FILE_COMMANDS.LOCATION_WITH_EDITOR.id,label:(0,o.localize)("file.location"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !config.explorer.autoReveal && !${l.FilesExplorerFilteredContext.raw}`,order:0}),w.registerItem({id:o.FILE_COMMANDS.NEW_FILE.id,command:o.FILE_COMMANDS.NEW_FILE.id,label:(0,o.localize)("file.new"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:1}),w.registerItem({id:o.FILE_COMMANDS.NEW_FOLDER.id,command:o.FILE_COMMANDS.NEW_FOLDER.id,label:(0,o.localize)("file.folder.new"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:2}),w.registerItem({id:o.FILE_COMMANDS.FILTER_TOGGLE.id,command:o.FILE_COMMANDS.FILTER_TOGGLE.id,label:(0,o.localize)("file.filetree.filter"),viewId:f.RESOURCE_VIEW_ID,toggledWhen:`${l.FilesExplorerFilteredContext.raw}`,order:3}),w.registerItem({id:o.FILE_COMMANDS.REFRESH_ALL.id,command:o.FILE_COMMANDS.REFRESH_ALL.id,label:(0,o.localize)("file.refresh"),viewId:f.RESOURCE_VIEW_ID,when:`view == '${f.RESOURCE_VIEW_ID}' && !${l.FilesExplorerFilteredContext.raw}`,order:4}),w.registerItem({id:o.FILE_COMMANDS.COLLAPSE_ALL.id,command:o.FILE_COMMANDS.COLLAPSE_ALL.id,label:(0,o.localize)("file.collapse"),viewId:f.RESOURCE_VIEW_ID,order:5}),w.registerItem({id:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,command:o.WORKSPACE_COMMANDS.ADD_WORKSPACE_FOLDER.id,label:(0,o.localize)("workspace.addFolderToWorkspace"),viewId:f.RESOURCE_VIEW_ID,order:0,group:"file_explore_workspace",when:"config.workspace.supportMultiRootWorkspace"})}doDelete(){const w=this.willDeleteUris.slice();return this.willDeleteUris=[],this.fileTreeModelService.deleteFileByUris(w)}dispose(){this._disposables.dispose()}};t.FileTreeContribution=D,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],D.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(f.IFileTreeService),n.__metadata("design:type",b.FileTreeService)],D.prototype,"fileTreeService",void 0),n.__decorate([(0,r.Autowired)(a.IMainLayoutService),n.__metadata("design:type",Object)],D.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(v.IProgressService),n.__metadata("design:type",Object)],D.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],D.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(A.FileTreeModelService),n.__metadata("design:type",A.FileTreeModelService)],D.prototype,"fileTreeModelService",void 0),n.__decorate([(0,r.Autowired)(p.IDecorationsService),n.__metadata("design:type",p.IDecorationsService)],D.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(s.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorService)],D.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],D.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(d.IWindowDialogService),n.__metadata("design:type",Object)],D.prototype,"windowDialogService",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],D.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],D.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],D.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(a.IViewsRegistry),n.__metadata("design:type",Object)],D.prototype,"viewsRegistry",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],D.prototype,"appService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],D.prototype,"appConfig",void 0),t.FileTreeContribution=D=n.__decorate([(0,m.Domain)(_.MenuContribution,o.CommandContribution,o.KeybindingContribution,o.TabBarToolbarContribution,o.ClientAppContribution,a.MainLayoutContribution)],D)},2812:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(69959),m=e(93239);let p=n=class extends l.TreeModel{constructor(g){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(g)}init(g){this.root=g,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,this.doDispatchChange.bind(this)),this.decorationService.onDidChange(this.doDispatchChange.bind(this))}doDispatchChange(){this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})}};t.FileTreeModel=p,p.DEFAULT_FLUSH_DELAY=100,r.__decorate([(0,o.Autowired)(m.FileTreeDecorationService),r.__metadata("design:type",m.FileTreeDecorationService)],p.prototype,"decorationService",void 0),t.FileTreeModel=p=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.Directory])],p)},46377:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FILE_TREE_BADGE_LIMIT=t.FILE_TREE_NODE_HEIGHT=t.FileTreeNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(69959),m=n.__importDefault(e(89200)),{Path:p}=_.path,s=({item:g,onClick:a,onDoubleClick:h,onContextMenu:d,dndService:u,itemType:E,decorationService:f,labelService:c,leftPadding:y=8,onTwistierClick:b,decorations:A,defaultLeftPadding:S=8,template:D,hasFolderIcons:I,hasFileIcons:w,hidesExplorerArrows:T,hasPrompt:R,iconService:M})=>{const[O,x]=o.default.useState(-1),k=E===l.TreeNodeType.RenamePrompt,F=E===l.TreeNodeType.NewPrompt,L=k||F,N=!L&&g.name.indexOf(p.separator)>=0,U=(0,_.useDesignStyles)(m.default.expansion_toggle,"expansion_toggle"),W=(0,_.useDesignStyles)(m.default.file_tree_node,"file_tree_node"),j=L?null:f.getDecoration(g.uri,v.Directory.is(g)),Q=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(N&&x(g.name.split(p.separator).length-1),a(Me,g,E))},$=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(N&&x(g.name.split(p.separator).length-1),h(Me,g,E))},Z=Me=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(b?b(Me,g,E):a(Me,g,E))},G=o.default.useCallback(Me=>{Me.nativeEvent.which!==0&&(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&d(Me,g,E)},[d,g]),V=o.default.useCallback(Me=>{const{handleDragStart:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),H=o.default.useCallback(Me=>{const{handleDragLeave:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),K=o.default.useCallback(Me=>{const{handleDragEnter:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),Y=o.default.useCallback(Me=>{const{handleDrop:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]),X=o.default.useCallback(Me=>{const{handleDragOver:Pe}=u;(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&Pe(Me,g)},[u,g]);let re=E===l.TreeNodeType.CompositeTreeNode,oe;L?F?(re=g.type===l.TreeNodeType.CompositeTreeNode,oe=`${S+(g.parent.depth+1||0)*(y||0)+(re?0:I?T?0:20:0)}px`):(re=g.target.type===l.TreeNodeType.CompositeTreeNode,oe=`${S+(g.target.depth||0)*(y||0)+(re?0:I?T?0:20:0)}px`):oe=`${S+(g.depth||0)*(y||0)+(re?0:I?T?0:20:0)}px`;const he={color:j?j.color:"",height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`,paddingLeft:oe,opacity:R&&!L?".6":"1"},me=(Me,Pe)=>{if(A&&A?.classlist.indexOf(m.default.mod_loading)>-1)return o.default.createElement(l.Loading,null);if(L&&Me instanceof l.PromptHandle){let Be=!1;if(k?Be=Me.target.type===l.TreeNodeType.CompositeTreeNode:Be=Me.type===l.TreeNodeType.CompositeTreeNode,Be)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,U,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:F||!(k&&Me.target.type===l.TreeNodeType.CompositeTreeNode&&Me.target.expanded)})})}else return o.default.createElement("div",{onClick:Pe,className:(0,r.default)(m.default.file_tree_node_segment,U,(0,_.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:!Me.expanded})})},q=Me=>{let Pe,Be;L&&Me instanceof l.PromptHandle?Me instanceof l.RenamePromptHandle?(Pe=Me.target.uri.resolve(Me.$.value),Be=v.Directory.is(Me.target)):(Pe=Me.parent.uri.resolve(Me.$.value),Be=Me.type===l.TreeNodeType.CompositeTreeNode):(Pe=Me.uri,Be=Me.filestat.isDirectory);const De=c.getIcon(Pe,{isDirectory:Be,isOpenedDirectory:Be&&Me.expanded});return Be&&!I||!Be&&!w?null:o.default.createElement("div",{className:(0,r.default)(m.default.file_icon,De,{expanded:Be&&Me.expanded}),style:{height:t.FILE_TREE_NODE_HEIGHT,lineHeight:`${t.FILE_TREE_NODE_HEIGHT}px`}})},Ae=Me=>{if(D)return o.default.createElement(D,null);if(L&&Me instanceof l.PromptHandle)return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_inputbox)},o.default.createElement("div",{className:(0,r.default)("input-box",m.default.file_tree_node_prompt_box)},o.default.createElement(Me.ProxiedInput,{wrapperStyle:{height:t.FILE_TREE_NODE_HEIGHT,padding:"0 5px"}})));if(N){const Pe=Me.displayName.split(p.separator),Be=Pe.map((De,_e)=>{const Ne=Pe.slice(0,_e+1).join(p.separator),Te=Ue=>{Ue.stopPropagation(),x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));a(Ue,g,E,Ye)},We=Ue=>{Ue.stopPropagation(),x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));d(Ue,g,E,Ye)},pe=Ue=>{Ue.stopPropagation(),Ue.preventDefault(),O!==_e&&(x(_e),u.handleDragOver(Ue,g))},ie=Ue=>{Ue.stopPropagation(),Ue.preventDefault(),x(-1)},le=Ue=>{Ue.stopPropagation(),O!==_e&&x(_e);const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));u.handleDragStart(Ue,g,Ye)},Se=Ue=>{const Ye=g.parent.uri.resolve(Pe.slice(0,_e+1).join(p.separator));u.handleDrop(Ue,g,Ye)},ye=(0,r.default)(O===_e&&m.default.active,m.default.compact_name);return o.default.createElement("span",{key:Ne},o.default.createElement("a",{className:ye,draggable:!0,onContextMenu:We,onDragStart:le,onDragOver:pe,onDragLeave:ie,onDrop:Se,onClick:Te},De),_e!==Pe.length-1?o.default.createElement("span",{className:m.default.compact_name_separator},p.separator):null)});return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},Be)}return o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_displayname)},c.getName(Me.uri)||Me.displayName)},ge=()=>o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_segment,m.default.file_tree_node_tail)},te()),te=()=>j?o.default.createElement("div",{className:m.default.file_tree_node_status},(0,_.transformLabelWithCodicon)(j.badge.slice(),{color:"inherit"},M.fromString.bind(M))):null,fe=Me=>{if(T)return null;if(re)return me(Me,Z);if(L)return me(Me,()=>{})},Oe=()=>{let Me=g.tooltip;return j&&j.badge&&(Me+=` \u2022 ${j.tooltip}`),Me};return o.default.createElement("div",{key:g.id,onClick:Q,onDoubleClick:$,onContextMenu:G,onDragStart:V,onDragOver:X,onDragEnter:K,onDragLeave:H,onDrop:Y,title:Oe(),className:(0,r.default)(W,A?A.classlist:null),style:he,draggable:E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode,"data-id":g.id},o.default.createElement("div",{className:(0,r.default)(m.default.file_tree_node_content)},fe(g),q(g),o.default.createElement("div",{className:L?m.default.file_tree_node_prompt_wrap:m.default.file_tree_node_overflow_wrap},Ae(g)),ge()))};t.FileTreeNode=s,t.FILE_TREE_NODE_HEIGHT=22,t.FILE_TREE_BADGE_LIMIT=99},56384:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTree=t.FILE_TREE_FILTER_DELAY=t.FILTER_AREA_HEIGHT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(68974),m=e(24429),p=e(87420),s=e(6250),g=e(46377),a=n.__importDefault(e(2613)),h=e(97738);t.FILTER_AREA_HEIGHT=30,t.FILE_TREE_FILTER_DELAY=500;const d=(0,l.RecycleTreeFilterDecorator)(l.RecycleTree),u=({viewState:f})=>{const[c,y]=(0,o.useState)(!1),[b,A]=(0,o.useState)(!0),[S,D]=(0,o.useState)(!1),[I,w]=(0,o.useState)(!1),[T,R]=(0,o.useState)(),M=(0,o.useRef)(null),O=(0,o.useRef)(new _.DisposableCollection),{height:x}=f,k=(0,_.useInjectable)(s.IFileTreeService),{iconService:F,locationToCurrentFile:L,filterMode:N,indent:U,baseIndent:W}=k,j=(0,_.useInjectable)(h.FileTreeModelService),[Q,$]=(0,o.useState)({indent:U,baseIndent:W}),[Z,G]=(0,o.useState)(N),[V,H]=(0,o.useState)(F.currentTheme||{hasFolderIcons:!0,hasFileIcons:!0,hidesExplorerArrows:!0}),K=(0,o.useCallback)(Ne=>Y(Ne)?!1:Ne.shiftKey,[]),Y=(0,o.useCallback)(Ne=>{const{metaKey:Te,ctrlKey:We}=Ne;return _.isOSX&&Te||We},[]),X=(0,o.useCallback)((Ne,Te,We,pe)=>{Ne.stopPropagation();const{handleItemClick:ie,handleItemToggleClick:le,handleItemRangeClick:Se}=j;if(!Te)return;const ye=K(Ne),Ue=Y(Ne);ye?Se(Te,We):Ue?le(Te,We):ie(Te,We,pe)},[]),re=(0,o.useCallback)((Ne,Te,We)=>{Ne.stopPropagation();const{handleItemDoubleClick:pe}=j;Te&&pe(Te,We)},[]),oe=(0,o.useCallback)((Ne,Te)=>{Ne.stopPropagation();const{toggleDirectory:We}=j;We(Te)},[]);(0,o.useEffect)(()=>{c&&j.onFileTreeModelChange(async Ne=>{A(!0),Ne&&(await Ne.ensureReady,M.current&&k.initContextKey(M.current)),R(Ne),A(!1)})},[c,M.current,k]),(0,o.useEffect)(()=>{var Ne,Te,We;const pe=new _.CancellationTokenSource;return q(pe.token),(Ne=O.current)===null||Ne===void 0||Ne.push(F.onThemeChange(ie=>{H(ie)})),(Te=O.current)===null||Te===void 0||Te.push(k.onTreeIndentChange(({indent:ie,baseIndent:le})=>{$({indent:ie,baseIndent:le})})),(We=O.current)===null||We===void 0||We.push(k.onFilterModeChange(ie=>{G(ie)})),()=>{var ie;pe.cancel(),(ie=O.current)===null||ie===void 0||ie.dispose()}},[]);const he=(0,o.useCallback)((Ne,Te)=>{let We;if(Ne&&Te)for(We=Ne.parentNode;We;){if(Te===We)return!0;We=We.parentNode}return!1},[]),me=(0,o.useCallback)(Ne=>{he(Ne.relatedTarget,M.current)||!Ne.relatedTarget||(D(!1),j.handleTreeBlur())},[M.current]);(0,o.useEffect)(()=>{Z||(j.fileTreeHandle&&j.fileTreeHandle.clearFilter(),j.selectedFiles.length===1&&j.location(j.selectedFiles[0].uri))},[Z]),(0,o.useEffect)(()=>{const Ne=new _.DisposableCollection;return T&&(Ne.push(j.onDidFocusedFileChange(Te=>{Te?Te.isEqual((T?.root).uri)?S||D(!S):S&&D(!S):Te||S&&D(!S)})),Ne.push(j.onDidContextMenuFileChange(Te=>{Te?Te.isEqual((T?.root).uri)?S||D(!S):S&&D(!S):Te||S&&D(!S)}))),()=>{Ne.dispose()}},[T,S]);const q=(0,o.useCallback)(async Ne=>{var Te;if(await j.whenReady,!Ne.isCancellationRequested){if(j.treeModel){if(await j.treeModel.ensureReady,R(j.treeModel),Ne.isCancellationRequested)return;M.current&&k.initContextKey(M.current)}A(!1),!((Te=O.current)===null||Te===void 0)&&Te.disposed||y(!0)}},[j,O.current]),Ae=(0,o.useCallback)(Ne=>{j.handleTreeHandler({...Ne,getModel:()=>j.treeModel,hasDirectFocus:()=>M.current===document.activeElement})},[M.current,T]),ge=(0,o.useCallback)(()=>{const{handleItemClick:Ne}=j;Ne()},[]),te=(0,o.useCallback)(()=>{j.handleDblClick()},[]),fe=(0,o.useCallback)(()=>{const{handleTreeFocus:Ne}=j;Ne()},[]),Oe=(0,o.useCallback)(Ne=>{const{handleContextMenu:Te}=j;Te(Ne)},[]),Me=(0,o.useCallback)(Ne=>{Ne.stopPropagation(),Ne.preventDefault()},[]),Pe=(0,o.useCallback)(Ne=>{Ne.preventDefault(),w(!0)},[]),Be=(0,o.useCallback)(()=>{w(!1)},[]),De=(0,o.useCallback)(Ne=>{const{handleDrop:Te}=j.dndService;w(!1),Te(Ne)},[]),_e=(0,o.useCallback)((Ne,Te,We,pe)=>{const{handleContextMenu:ie}=j;ie(Ne,Te,pe)},[]);return o.default.createElement("div",{className:(0,r.default)(a.default.file_tree,I&&a.default.outer_drag_over,S&&a.default.outer_active),tabIndex:-1,ref:M,onClick:ge,onDoubleClick:te,onFocus:fe,onBlur:me,onContextMenu:Oe,draggable:!0,onDragStart:Me,onDragLeave:Be,onDragOver:Pe,onDrop:De},o.default.createElement(E,{isLoading:b,isReady:c,height:x,model:T,iconTheme:V,treeIndent:Q,filterMode:Z,locationToCurrentFile:L,onTreeReady:Ae,onContextMenu:_e,onItemClick:X,onItemDoubleClick:re,onTwistierClick:oe}))};t.FileTree=u;const E=(0,o.memo)(({isReady:f,isLoading:c,height:y,model:b,filterMode:A,treeIndent:S,iconTheme:D,onTreeReady:I,onItemClick:w,onItemDoubleClick:T,onContextMenu:R,onTwistierClick:M})=>{const O=(0,_.useInjectable)(s.IFileTreeService),x=(0,_.useInjectable)(p.IIconService),{decorationService:k,labelService:F,locationToCurrentFile:L}=O,N=(0,_.useInjectable)(h.FileTreeModelService),U=(0,o.useCallback)(W=>o.default.createElement(g.FileTreeNode,{item:W.item,itemType:W.itemType,template:W.template,decorationService:k,labelService:F,iconService:x,dndService:N.dndService,decorations:N.decorations.getDecorations(W.item),onClick:w,onDoubleClick:T,onTwistierClick:M,onContextMenu:R,defaultLeftPadding:S.baseIndent,leftPadding:S.indent,hasPrompt:W.hasPrompt,hasFolderIcons:D.hasFolderIcons,hasFileIcons:D.hasFileIcons,hidesExplorerArrows:D.hidesExplorerArrows}),[b,S,D]);return f?c?o.default.createElement(v.Progress,{loading:!0}):b?o.default.createElement(d,{height:y,itemHeight:g.FILE_TREE_NODE_HEIGHT,onReady:I,model:b,filterEnabled:A,filterAfterClear:L,filterAutoFocus:!0,leaveBottomBlank:!0},U):o.default.createElement(m.WelcomeView,{viewId:s.FILE_EXPLORER_WELCOME_ID}):o.default.createElement(v.Progress,{loading:!0})});E.displayName="FileTreeView"},57781:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(18193),v=e(26542),m=e(42933),p=e(52416),s=e(51500),g=e(6250),a=e(69959),h=e(88014),d=e(93239),{Path:u}=l.path;let E=class extends o.Tree{constructor(){super(...arguments),this._fileServiceWatchers=new Map,this._symbolicFiles=new Map,this._changeEventDispatchQueue=new Set,this._readyToWatch=!1,this._watchRootsQueue=[],this.effectedNodes=[],this.onWorkspaceChangeEmitter=new l.Emitter,this.onTreeIndentChangeEmitter=new l.Emitter,this.onFilterModeChangeEmitter=new l.Emitter,this.onNodeRefreshedEmitter=new l.Emitter,this._filterMode=!1,this._refreshable=!0,this.refreshEffectNode=()=>{const c=this.effectedNodes.slice(0);if(this.effectedNodes=[],c.find(b=>a.Directory.isRoot(b)))this.refresh();else for(const b of c)this.refresh(b)},this.flushEventQueue=async()=>{if(!this._changeEventDispatchQueue||this._changeEventDispatchQueue.size===0)return;const c=Array.from(this._changeEventDispatchQueue),y=this.sortPaths(c);(!this.refreshCancelToken||this.refreshCancelToken.token.isCancellationRequested)&&(this.refreshCancelToken=new l.CancellationTokenSource);const b=(0,l.pSeries)(y.map(A=>async()=>{a.Directory.is(A.node)&&await A.node.refresh(this.refreshCancelToken)}));return this._changeEventDispatchQueue.clear(),await b},this.locationToCurrentFile=()=>{this.commandService.executeCommand(l.FILE_COMMANDS.LOCATION.id)}}get onNodeRefreshed(){return this.onNodeRefreshedEmitter.event}get refreshable(){return this._refreshable}get filterMode(){return this._filterMode}get baseIndent(){return this._baseIndent}get indent(){return this._indent}get onWorkspaceChange(){return this.onWorkspaceChangeEmitter.event}get onTreeIndentChange(){return this.onTreeIndentChangeEmitter.event}get onFilterModeChange(){return this.onFilterModeChangeEmitter.event}get isCompactMode(){return this._isCompactMode}get contextKey(){return this.fileContextKey}async init(){this._roots=await this.workspaceService.roots,await this.preferenceService.ready,this._baseIndent=this.preferenceService.getValid("explorer.fileTree.baseIndent",8),this._indent=this.preferenceService.getValid("explorer.fileTree.indent",8),this._isCompactMode=this.preferenceService.getValid("explorer.compactFolders",!0),this.toDispose.push(this.workspaceService.onWorkspaceChanged(c=>{this._roots=c;const y=new l.URI(c[0].uri),b=new a.Directory(this,void 0,y,y.displayName,c[0],this.fileTreeAPI.getReadableTooltip(y));this.root=b,this.onWorkspaceChangeEmitter.fire(b),this.refresh()})),this.toDispose.push(this.workspaceService.onWorkspaceFileExcludeChanged(()=>{this.refresh()})),this.toDispose.push(l.Disposable.create(()=>{var c;(c=this._root)===null||c===void 0||c.dispose(),this._roots=null})),this.toDispose.push(this.corePreferences.onPreferenceChanged(c=>{c.preferenceName==="explorer.fileTree.baseIndent"?(this._baseIndent=c.newValue||8,this.onTreeIndentChangeEmitter.fire({indent:this.indent,baseIndent:this.baseIndent})):c.preferenceName==="explorer.fileTree.indent"?(this._indent=c.newValue||8,this.onTreeIndentChangeEmitter.fire({indent:this.indent,baseIndent:this.baseIndent})):c.preferenceName==="explorer.compactFolders"&&(this._isCompactMode=c.newValue,this.refresh())}))}initContextKey(c){this.fileContextKey.initScopedContext(c)}startWatchFileEvent(){return this._readyToWatch=!0,Promise.all(this._watchRootsQueue.map(c=>this.watchFilesChange(c)))}async resolveChildren(c){var y,b,A,S;let D=[];if(c){if(a.Directory.isRoot(c)&&this.isMultipleWorkspace){const I=await this.workspaceService.roots;for(const w of I){const T=this.fileTreeAPI.toNode(this,w,c,this.workspaceService.getWorkspaceName(new l.URI(w.uri)));this.watchFilesChange(new l.URI(w.uri)),D=D.concat(T),(T.filestat.isSymbolicLink||T.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(T.filestat.uri,T)}return D}if(c.uri){const I=await this.fileTreeAPI.resolveChildren(this,c.uri.toString(),c,this.isCompactMode&&!a.Directory.isRoot(c));D=I.children,D.forEach(T=>{(T.filestat.isSymbolicLink||T.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(T.filestat.uri,T)});const w=I.filestat;if(w&&this.isCompactMode&&!a.Directory.isRoot(c)){const T=new l.URI(w.uri),R=c.parent;if(c&&R){let M=c.name;if(c.filestat.isSymbolicLink){const O=(b=new l.URI(c.filestat.realUri).relative(T))===null||b===void 0?void 0:b.toString();O&&(M=O,M=[c.uri.displayName].concat(M.split(u.separator)).join(u.separator))}else R.filestat.isSymbolicLink?M=(A=new l.URI(R.filestat.realUri).relative(T))===null||A===void 0?void 0:A.toString():M=(S=R.uri.relative(T))===null||S===void 0?void 0:S.toString();M&&M!==c.name&&c.updateMetaData({name:M,uri:T,tooltip:this.fileTreeAPI.getReadableTooltip(T),fileStat:w})}}return D}}else if(this._roots||(this._roots=await this.workspaceService.roots),this.isMultipleWorkspace){const I=new l.URI((y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri);let w=I.displayName;w=w.slice(0,w.lastIndexOf("."));const T={...this.workspaceService.workspace,isDirectory:!0},R=new a.Directory(this,void 0,I,w,T,this.fileTreeAPI.getReadableTooltip(I));return this.root=R,[R]}else if(this._roots.length>0)return D=await(await this.fileTreeAPI.resolveChildren(this,this._roots[0])).children,D.forEach(I=>{const w=this.workspaceService.getWorkspaceName(I.uri);w&&w!==I.name&&I.updateMetaData({name:w}),(I.filestat.isSymbolicLink||I.filestat.isInSymbolicDirectory)&&this._symbolicFiles.set(I.filestat.uri,I)}),this.watchFilesChange(new l.URI(this._roots[0].uri)),this.root=D[0],D;return[]}async watchFilesChange(c){if(!this._readyToWatch){this._watchRootsQueue.push(c);return}const y=await this.fileServiceClient.watchFileChanges(c);this.toDispose.push(y),this.toDispose.push(y.onFilesChanged(b=>{this.onFilesChanged(b)})),this._fileServiceWatchers.set(c.toString(),y)}updateRefreshable(c){var y;c!==this.refreshable&&(this._refreshable=c,this._refreshable?this.doHandleQueueChange():(y=this.refreshCancelToken)===null||y===void 0||y.cancel())}isContentFile(c){return!!c&&"filestat"in c&&!c.filestat.isDirectory}isFileContentChanged(c){return c.type===m.FileChangeType.UPDATED&&this.isContentFile(this.getNodeByPathOrUri(c.uri))}getAffectedChanges(c){const y=[];for(const b of c)this.isFileContentChanged(b)||y.push(b);return y}isRootAffected(c){return this._roots?c.some(y=>y.type>m.FileChangeType.UPDATED&&this._roots&&this._roots.find(b=>y.uri.indexOf(b.uri)>=0)):!1}async onFilesChanged(c){const y=await this.getAffectedNodes(this.getAffectedChanges(c));return y.length>0?this.effectedNodes=this.effectedNodes.concat(y):!(y.length>0)&&this.isRootAffected(c)&&this.effectedNodes.push(this.root),this.refreshEffectNode()}async getFileTreeNodePathByUri(c){var y,b,A,S,D,I;if(!c)return;let w;if(this.isMultipleWorkspace){if(this._roots||(this._roots=await this.workspaceService.roots),w=(S=this._roots.find(T=>new l.URI(T.uri).isEqualOrParent(c)))===null||S===void 0?void 0:S.uri,w){const T=new l.URI(w);if(T.isEqualOrParent(c))return new u(((D=this.root)===null||D===void 0?void 0:D.path)||"/").join(T.displayName).join(((I=T.relative(c))===null||I===void 0?void 0:I.toString())||"").toString()}}else if(w=(y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri,w){const T=new l.URI(w);if(T.isEqualOrParent(c))return new u(((b=this.root)===null||b===void 0?void 0:b.path)||"").join(((A=T.relative(c))===null||A===void 0?void 0:A.toString())||"").toString()}}async moveNodeByPath(c,y,b,A,S=o.TreeNodeType.TreeNode){const D=new u(c.path).join(b).toString(),I=new u(y.path).join(A).toString();if(D&&I&&I!==D){const w=c.moveNode(D,I);return w&&a.File.is(w)&&(w.updateMetaData({uri:y.uri.resolve(A),fileStat:{...y.filestat,uri:y.uri.resolve(A).toString(),isDirectory:S!==o.TreeNodeType.TreeNode},tooltip:this.fileTreeAPI.getReadableTooltip(y.uri.resolve(A))}),a.Directory.is(w)&&this.updateChildren(w)),w}}async updateChildren(c){const y=c.children;if(!(!y||y.length===0)){for(const b of y)if(a.File.is(b)){const A=c.uri.resolve(b.uri.displayName);b.updateMetaData({uri:A,fileStat:{...b.filestat,uri:A.toString(),isDirectory:!!a.Directory.is(b)},tooltip:this.fileTreeAPI.getReadableTooltip(A)}),a.Directory.is(b)&&this.updateChildren(b)}}}async addNode(c,y,b){let A,S;const D=u.splitPath(y);if(D.length>1){let w=c.uri;for(const T of D)w=w.resolve(T);!this.isCompactMode||a.Directory.isRoot(c)?S=D[0]:b===o.TreeNodeType.CompositeTreeNode?S=y:S=D.slice(0,D.length-1).join(u.separator)}else S=y;A={uri:c.uri.resolve(S).toString(),isDirectory:b===o.TreeNodeType.CompositeTreeNode||D.length>1,isSymbolicLink:!1,lastModification:new Date().getTime()};const I=await this.fileTreeAPI.toNode(this,A,c,S);return I&&c.addNode(I),I}async deleteAffectedNodeByPath(c,y){var b,A;const S=this.getNodeByPathOrUri(c);S&&S.parent&&(this.isCompactMode&&!y?((b=S.parent.children)===null||b===void 0?void 0:b.length)===2?this.refresh((A=S.parent)===null||A===void 0?void 0:A.parent):this.refresh(S.parent):S.parent.removeNode(S.path))}async deleteAffectedNodes(c,y=[]){const b=[];for(const A of c){const S=this.getNodeByPathOrUri(A);S&&a.File.is(S)&&b.push(S)}for(const A of b)!A?.parent||this._changeEventDispatchQueue.has(A?.parent.path)||await this.deleteAffectedNodeByPath(A.path);return y.filter(A=>A.type!==m.FileChangeType.DELETED)}async getAffectedNodes(c){const y=[];for(const b of c){const A=new l.URI(b.uri),S=this.getNodeByPathOrUri(A.parent);S&&y.push(S)}return y}isFileURI(c){return/^file:\/\//.test(c)}getNodeByPathOrUri(c){var y,b,A,S;let D,I;if(typeof c!="string"?(I=c,c=c.toString()):this.isFileURI(c)?I=new l.URI(c):!this.isFileURI(c)&&typeof c=="string"&&(D=c),this.isFileURI(c)&&I){if(this._symbolicFiles.has(I?.toString()))return this._symbolicFiles.get(I.toString());let w;if(this.isMultipleWorkspace?this._roots&&(w=(b=this._roots.find(T=>new l.URI(T.uri).isEqualOrParent(I)))===null||b===void 0?void 0:b.uri):w=(y=this.workspaceService.workspace)===null||y===void 0?void 0:y.uri,this.root&&w){const T=new l.URI(w);if(T.isEqualOrParent(I)){const R=T.relative(I);R&&(this.isMultipleWorkspace?D=new u(this.root.path).join(T.displayName).join(R.toString()).toString():D=new u(this.root.path).join(R.toString()).toString())}}}if(D){const w=(A=this.root)===null||A===void 0?void 0:A.getTreeNodeByPath(D);if(!w){let T;const R=D.split(u.separator);for(;R.length>=1;){R.pop();const M=R.join(u.separator);if(T=(S=this.root)===null||S===void 0?void 0:S.getTreeNodeByPath(M),T)break}if(T&&a.Directory.is(T)){for(const M of T.children||[])if(M.path.includes(D))return M}}return w}}sortComparator(c,y){return c.constructor===y.constructor?c.name.localeCompare(y.name,"en",{numeric:!0}):c.type===o.TreeNodeType.CompositeTreeNode?-1:y.type===o.TreeNodeType.CompositeTreeNode?1:0}get contextMenuContextKeyService(){return this.fileContextKey?this.fileContextKey.service:this.contextKeyService}get isMultipleWorkspace(){return!!this.workspaceService.workspace&&!this.workspaceService.workspace.isDirectory}getDisplayName(c){return this.workspaceService.getWorkspaceName(c)}async refresh(c=this.root){if(c)return a.Directory.is(c)||a.File.is(c)&&c.parent&&(c=c.parent),this._changeEventDispatchQueue.add(c.path),this.doHandleQueueChange()}async doHandleQueueChange(){if(this.refreshable)try{await this.flushEventQueue()}catch(c){this.logger.error("flush file change event queue error:",c)}finally{this.onNodeRefreshedEmitter.fire()}}sortPaths(c){const b=c.slice().map(S=>({node:this.getNodeByPathOrUri(S),path:S})).filter(S=>S&&!!S.node);c.length>1&&b.sort((S,D)=>{var I,w;const T=((I=S.node)===null||I===void 0?void 0:I.depth)||0,R=((w=D.node)===null||w===void 0?void 0:w.depth)||0;return T-R});const A=[];for(let S=b.length-1;S>=0;S--){const D=b[S];let I=!1;for(let w=0;w<S;w++){const T=b[w];a.Directory.is(T)&&D.node.path.startsWith(T.node.path)&&(I=!0)}I||A.push(D)}return A}openFile(c){const y=this.preferenceService.get("editor.previewMode");this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,preview:y})}openAndFixedFile(c){this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,preview:!1,focus:!0})}openToTheSide(c){this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,c,{disableNavigate:!0,split:4})}compare(c,y){this.commandService.executeCommand(l.EDITOR_COMMANDS.COMPARE.id,{original:c,modified:y})}toggleFilterMode(){var c;this._filterMode=!this.filterMode,this.onFilterModeChangeEmitter.fire(this.filterMode),(c=this.fileContextKey)===null||c===void 0||c.filesExplorerFilteredContext.set(this.filterMode),this.filterMode===!1&&this.commandService.executeCommand(l.FILE_COMMANDS.LOCATION.id)}};t.FileTreeService=E,n.__decorate([(0,r.Autowired)(g.IFileTreeAPI),n.__metadata("design:type",Object)],E.prototype,"fileTreeAPI",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.IContextKeyService),n.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],E.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(_.CorePreferences),n.__metadata("design:type",Object)],E.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(v.LabelService),n.__metadata("design:type",v.LabelService)],E.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(d.FileTreeDecorationService),n.__metadata("design:type",d.FileTreeDecorationService)],E.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],E.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(p.IIconService),n.__metadata("design:type",Object)],E.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(h.FileContextKey),n.__metadata("design:type",h.FileContextKey)],E.prototype,"fileContextKey",void 0),t.FileTreeService=E=n.__decorate([(0,r.Injectable)()],E)},83709:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeNextModule=void 0;const n=e(85608),r=e(41869),o=e(72665),l=e(41103),_=e(6250),v=e(89508),m=e(40439),p=e(57781),s=e(88808),g=e(93239),a=e(97738),h=e(24861);let d=class extends r.BrowserModule{constructor(){super(...arguments),this.providers=[{token:_.IFileTreeAPI,useClass:s.FileTreeAPI},{token:g.FileTreeDecorationService,useClass:g.FileTreeDecorationService},{token:_.IFileTreeService,useClass:p.FileTreeService},{token:a.FileTreeModelService,useClass:a.FileTreeModelService},{token:o.IWindowDialogService,useClass:v.WindowDialogServiceImpl},m.FileTreeContribution]}};t.FileTreeNextModule=d,t.FileTreeNextModule=d=n.__decorate([(0,r.Domain)(h.name),(0,r.ModuleDependencies)([l.WorkspaceModule])],d)},88808:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeAPI=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(42933),v=e(72665),m=e(26199),p=e(69959);let s=class{constructor(){this.onDidResolveChildrenEmitter=new l.Emitter,this.onDidResolveChildren=this.onDidResolveChildrenEmitter.event}async resolveChildren(a,h,d,u){var E;let f;if(!this.userhomePath){const c=await this.fileServiceClient.getCurrentUserHome();c&&(this.userhomePath=new l.URI(c.uri))}if(typeof h=="string"?f=await this.fileServiceClient.getFileStat(h):f=await this.fileServiceClient.getFileStat(h.uri),f){if(this.onDidResolveChildrenEmitter.fire(f.uri.toString()),((E=f.children)===null||E===void 0?void 0:E.length)===1&&f.children[0].isDirectory&&u)return await this.resolveChildren(a,f.children[0].uri,d,u);{const c={...f,isInSymbolicDirectory:d?.filestat.isSymbolicLink||d?.filestat.isInSymbolicDirectory};return{children:this.toNodes(a,c,d),filestat:c}}}else return{children:[],filestat:null}}async resolveNodeByPath(a,h,d){const u=await this.fileServiceClient.getFileStat(h);if(u)return this.toNode(a,u,d)}async resolveFileStat(a){return await this.fileServiceClient.getFileStat(a.toString())}toNodes(a,h,d){if(d){if(h.children)return h.children.map(u=>this.toNode(a,u,d))}else return[this.toNode(a,h,d)];return[]}toNode(a,h,d,u){var E;const f=new l.URI(h.uri),c=u||f.displayName;let y;return h.isInSymbolicDirectory=(E=d?.filestat.isSymbolicLink)!==null&&E!==void 0?E:d?.filestat.isInSymbolicDirectory,h.isDirectory?y=new p.Directory(a,d,f,c,h,this.getReadableTooltip(f)):y=new p.File(a,d,f,c,h,this.getReadableTooltip(f)),y}async mvFiles(a,h){const d=[];for(const f of a)if(f.url.isEqualOrParent(h))return;const u=a.sort((f,c)=>f.toString().length-c.toString().length),E=[];for(const f of u)E.length>0&&E.find(c=>c.url.isEqualOrParent(f.url))||E.push(f);if(this.corePreferences["explorer.confirmMove"]){const f=(0,l.localize)("file.confirm.move.ok"),c=(0,l.localize)("file.confirm.move.cancel");if(await this.dialogService.warning((0,l.formatLocalize)("file.confirm.move",`[ ${E.map(b=>b.url.displayName).join(",")} ]`,h.displayName),[c,f])!==f)return}for(const f of E){const c=await this.mv(f.url,h.resolve(f.url.displayName),f.isDirectory);c&&d.push(c)}return d}async mv(a,h,d=!1){try{await this.workspaceEditService.apply({edits:[{newResource:h,oldResource:a,options:{isDirectory:d,overwrite:!0}}]})}catch(u){return u.message}}async createFile(a,h){try{await this.workspaceEditService.apply({edits:[{newResource:a,options:{content:h}}]})}catch(d){return d.message}this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE.id,a,{disableNavigate:!0,focus:!0})}async createDirectory(a){try{await this.workspaceEditService.apply({edits:[{newResource:a,options:{isDirectory:!0}}]})}catch(h){return h.message}}async delete(a){try{await this.workspaceEditService.apply({edits:[{oldResource:a,options:{}}]});return}catch(h){return h.message}}async copyFile(a,h){let d=1,u;try{u=await this.fileServiceClient.access(h.toString())}catch(E){return E.message}for(;u;){const E=h.displayName.replace(/\Wcopy\W\d+/,""),f=l.path.extname(E),y=`${l.path.basename(E,f)} copy ${d}${f}`;h=h.parent.resolve(y),d++;try{u=await this.fileServiceClient.access(h.toString())}catch{return}}try{return await this.fileServiceClient.copy(a.toString(),h.toString())}catch(E){return E.message}}getReadableTooltip(a){const h=a.toString(),d=this.userhomePath&&this.userhomePath.toString();return this.userhomePath&&this.userhomePath.isEqualOrParent(a)?decodeURIComponent(h.replace(d,"~")):decodeURIComponent(a.withScheme("").toString())}};t.FileTreeAPI=s,n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(m.IWorkspaceEditService),n.__metadata("design:type",Object)],s.prototype,"workspaceEditService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.CorePreferences),n.__metadata("design:type",Object)],s.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(v.IDialogService),n.__metadata("design:type",Object)],s.prototype,"dialogService",void 0),t.FileTreeAPI=s=n.__decorate([(0,r.Injectable)()],s)},93239:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),_=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableCollection,this.onDidChangeEmitter=new o.Emitter,this.cacheDecorations=new Map,this.disposeCollection.pushAll([this.decorationsService.onDidChangeDecorations(p=>{var s,g,a;const h=(g=(s=p._data)===null||s===void 0?void 0:s._iter)===null||g===void 0?void 0:g._value;if(h){const d=new o.URI(h),u=this.getDecoration(d);this.cacheDecorations.has(h)?((a=this.cacheDecorations.get(h))===null||a===void 0?void 0:a.tooltip)!==u?.tooltip&&this.onDidChangeEmitter.fire():(this.cacheDecorations.set(h,u),this.onDidChangeEmitter.fire())}}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(p,s=!1){p instanceof o.URI&&(p=o.Uri.parse(p.toString()));const g=this.decorationsService.getDecoration(p,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.FileTreeDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.FileTreeDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},30577:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DragAndDropService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(53622),m=e(14951),p=e(72665),s=e(51500),g=e(6250),a=e(69959),h=r.__importDefault(e(89200)),d=r.__importDefault(e(2613)),u=e(57781),E=e(97738);let f=n=class extends _.WithEventBus{constructor(y){super(),this.model=y,this.toCancelNodeExpansion=new _.DisposableCollection,this.beingDraggedDec=new l.Decoration(h.default.mod_dragging),this.draggedOverDec=new l.Decoration(h.default.mod_dragover),this.beingDraggedNodes=[],this.dragOverTrigger=new _.ThrottledDelayer(n.MS_TILL_DRAGGED_OVER_EXPANDS),this.handleDragStart=(b,A,S)=>{b.stopPropagation();const D=R=>{this.handleDragEnd(R,A)};b.currentTarget.addEventListener("dragend",D,!1);let I=this.model.selectedFiles,w=!1;for(const R of I)R&&R.id===A.id&&(w=!0);w||(I=[A]),this.beingDraggedNodes=I,this.beingDraggedActiveUri=S;const T=I.find(R=>!a.Directory.is(R));if(T&&b.dataTransfer.setData("uri",T.uri.toString()),b.dataTransfer.setData("beingDraggedNodes",JSON.stringify(this.beingDraggedNodes.map(R=>R.uri.toString()))),T){const R=T;R.uri.scheme==="file"&&b.dataTransfer.setData("DownloadURL",`application/octet-stream:${R.displayName}:data:application/octet-stream;base64,${(0,_.encodeBase64)(_.BinaryBuffer.fromString(R.filestat.uri))}`)}if(I.forEach(R=>{this.beingDraggedDec.addTarget(R,l.TargetMatchMode.Self)}),b.dataTransfer){let R;I.length===1?R=S?S.displayName:typeof A.name=="string"?A.name:"":R=String(I.length);const M=document.createElement("div");M.className=d.default.file_tree_drag_image,M.textContent=R,document.body.appendChild(M),b.dataTransfer.setDragImage(M,-10,-10),setTimeout(()=>document.body.removeChild(M),0)}},this.handleDragEnter=(b,A)=>{b.stopPropagation(),b.preventDefault()},this.handleDragLeave=(b,A)=>{b.preventDefault(),b.stopPropagation(),this.toCancelNodeExpansion.dispose(),this.potentialParent&&(this.draggedOverDec.removeTarget(this.potentialParent),this.model.treeModel.dispatchChange())},this.handleDragOver=(b,A)=>{if(b.preventDefault(),b.stopPropagation(),!this.toCancelNodeExpansion.disposed||this.beingDraggedNodes.indexOf(A)>=0)return;this.draggedOverNode=A;const S=a.Directory.is(A)&&A.expanded?A:A.parent;(this.potentialParent!==S||!this.draggedOverDec.hasTarget(S))&&(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=S,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren),this.model.treeModel.dispatchChange()),this.potentialParent!==A&&a.Directory.is(A)&&(this.dragOverTrigger.trigger(async()=>{A.expanded?(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=A,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren)):(await A.setExpanded(!0),this.draggedOverNode===A&&(this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.potentialParent=A,this.draggedOverDec.addTarget(this.potentialParent,l.TargetMatchMode.SelfAndChildren))),this.model.treeModel.dispatchChange()}),this.toCancelNodeExpansion.push(_.Disposable.create(()=>{this.dragOverTrigger.isTriggered()||this.dragOverTrigger.cancel()})))},this.handleDrop=async(b,A,S)=>{var D,I;this.eventBus.fire(new v.FileTreeDropEvent({event:b.nativeEvent,targetDir:S?S.codeUri.path:A&&A instanceof a.File?(D=A.parent)===null||D===void 0?void 0:D.uri.codeUri.path:A?A.uri.codeUri.path:new _.URI((I=this.workspaceService.workspace)===null||I===void 0?void 0:I.uri).codeUri.path}));try{b.preventDefault(),b.stopPropagation(),b.dataTransfer.dropEffect="copy";let w;const T=!!this.beingDraggedActiveUri;this.fileTreeService.isCompactMode&&S&&!A?.uri.isEqual(S)?w=null:A?w=a.Directory.is(A)?A:A.parent:w=this.root;let R;if(this.beingDraggedActiveUri){const M=this.fileTreeService.getNodeByPathOrUri(this.beingDraggedActiveUri);R=[new a.Directory(this.fileTreeService,M?.parent,this.beingDraggedActiveUri,this.beingDraggedActiveUri.displayName,{uri:this.beingDraggedActiveUri.toString(),isDirectory:!0,lastModification:new Date().getTime()},this.beingDraggedActiveUri.displayName)]}else if(R=this.beingDraggedNodes,!R||R.length===0)try{const M=JSON.parse(b.dataTransfer.getData("beingDraggedNodes"));M&&M.length!==0&&(R=M.map(O=>this.fileTreeService.getNodeByPathOrUri(new _.URI(O))).filter(Boolean),R.length||(R=await Promise.all(M.map(async O=>{const x=new _.URI(O);let k;const F=await this.filesystem.getFileStat(x.toString());return F?.isDirectory?k=new a.Directory(this.fileTreeService,this.root,x,x.displayName,{uri:x.toString(),isDirectory:!0,lastModification:new Date().getTime()},x.displayName):k=new a.File(this.fileTreeService,this.root,x,x.displayName,{uri:x.toString(),isDirectory:!0,lastModification:new Date().getTime()},x.displayName),k}))))}catch{}if(R.length>0){const M=S||w&&w.uri,O=R.filter(x=>x&&x.parent&&(this.beingDraggedActiveUri?!x.parent.uri.isEqual(M):!0));if(O.length>0){const x=await this.fileTreeAPI.mvFiles(O.map(k=>({url:k.uri,isDirectory:k.filestat.isDirectory})),M);if(x&&x.length>0)x.forEach(k=>{this.messageService.error(k)});else if(x){if(w)if(this.fileTreeService.isCompactMode&&T){for(const k of O)this.fileTreeService.refresh(k.parent);this.fileTreeService.refresh(w)}else for(const k of O){const F=w.uri.resolve(k.name);this.fileTreeService.moveNodeByPath(k.parent,w,k.name,k.name,k.type),k.updateMetaData({name:F.displayName,fileStat:{...k.filestat,uri:F.toString()},uri:F,tooltip:this.fileTreeAPI.getReadableTooltip(F)}),a.Directory.is(k)&&this.fileTreeService.refresh(k)}else if(A){if(this.fileTreeService.isCompactMode&&T)for(const k of O)this.fileTreeService.refresh(k.parent);else for(const k of O)this.fileTreeService.deleteAffectedNodeByPath(k.path);this.fileTreeService.refresh(A.parent)}}else return}}A&&this.beingDraggedDec.removeTarget(A),this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(M=>{this.beingDraggedDec.removeTarget(M)}),this.beingDraggedNodes=[],this.beingDraggedActiveUri=void 0,this.potentialParent=null,this.model.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()}catch(w){this.logger.error(w)}},this.handleDragEnd=(b,A)=>{this.beingDraggedDec.removeTarget(A),this.potentialParent&&this.draggedOverDec.removeTarget(this.potentialParent),this.beingDraggedNodes.forEach(S=>{this.beingDraggedDec.removeTarget(S)}),this.beingDraggedNodes=[],this.beingDraggedActiveUri=void 0,this.potentialParent=null,this.model.treeModel.dispatchChange(),this.toCancelNodeExpansion.disposed||this.toCancelNodeExpansion.dispose()},this.model.decorations.addDecoration(this.beingDraggedDec),this.model.decorations.addDecoration(this.draggedOverDec)}get root(){return this.model.treeModel.root}};t.DragAndDropService=f,f.MS_TILL_DRAGGED_OVER_EXPANDS=500,r.__decorate([(0,o.Autowired)(g.IFileTreeAPI),r.__metadata("design:type",Object)],f.prototype,"fileTreeAPI",void 0),r.__decorate([(0,o.Autowired)(_.ILogger),r.__metadata("design:type",Object)],f.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],f.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(g.IFileTreeService),r.__metadata("design:type",u.FileTreeService)],f.prototype,"fileTreeService",void 0),r.__decorate([(0,o.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],f.prototype,"filesystem",void 0),r.__decorate([(0,o.Autowired)(s.IWorkspaceService),r.__metadata("design:type",Object)],f.prototype,"workspaceService",void 0),t.DragAndDropService=f=n=r.__decorate([(0,o.Injectable)(),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[E.FileTreeModelService])],f)},97738:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FileTreeModelService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(91830),m=e(93899),p=e(26542),s=e(54414),g=e(14951),a=e(63067),h=e(75053),d=e(72665),u=e(6250),E=e(69959),f=e(2812),c=e(46377),y=r.__importDefault(e(89200)),b=e(57781),A=e(30577),{Path:S,isValidBasename:D}=_.path,{coalesce:I}=_.arrays,{trim:w,rtrim:T}=_.strings;let R=n=class{constructor(){this._isDisposed=!1,this._whenReady=new _.Deferred,this.selectedDecoration=new l.Decoration(y.default.mod_selected),this.focusedDecoration=new l.Decoration(y.default.mod_focused),this.contextMenuDecoration=new l.Decoration(y.default.mod_actived),this.loadingDecoration=new l.Decoration(y.default.mod_loading),this.cutDecoration=new l.Decoration(y.default.mod_cut),this._selectedFiles=[],this.disposableCollection=new _.DisposableCollection,this._isMultiSelected=!1,this.refreshedActionDelayer=new _.ThrottledDelayer(n.DEFAULT_REFRESHED_ACTION_DELAY),this.labelChangedDelayer=new _.ThrottledDelayer(n.DEFAULT_LABEL_CHANGED_DELAY),this.locationThrottler=new _.Throttler,this.onDidFocusedFileChangeEmitter=new _.Emitter,this.onDidContextMenuFileChangeEmitter=new _.Emitter,this.onDidSelectedFileChangeEmitter=new _.Emitter,this.onFileTreeModelChangeEmitter=new _.Emitter,this._initTreeModelReady=!1,this.clearFileSelectedDecoration=()=>{this.selectedDecoration.clearAppliedTarget(),this._selectedFiles=[]},this.activeFileDecoration=(O,x=!0)=>{this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),O&&(this.selectedFiles.length>0&&this.selectedDecoration.clearAppliedTarget(),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.selectedDecoration.addTarget(O),this.focusedDecoration.addTarget(O),this.focusedFile=O,this.selectedFiles=[O],x&&this.treeModel.dispatchChange())},this.selectFileDecoration=(O,x=!0)=>{O!==this.treeModel.root&&(this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),O&&(this.selectedFiles.length>0&&this.selectedDecoration.clearAppliedTarget(),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.selectedDecoration.addTarget(O),this._selectedFiles=[O],x&&this.treeModel.dispatchChange()))},this.activateFileActivedDecoration=O=>{this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),this.focusedFile&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this.contextMenuDecoration.addTarget(O),this.contextMenuFile=O,this.treeModel.dispatchChange()},this.activateFileFocusedDecoration=O=>{this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.contextMenuFile&&(this.contextMenuDecoration.clearAppliedTarget(),this.contextMenuFile=void 0),this.focusedDecoration.addTarget(O),this.focusedFile=O,this.treeModel.dispatchChange()},this.activeFileFocusedDecoration=(O,x=!1)=>{O!==this.treeModel.root&&(this.focusedFile!==O&&(x?(this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.contextMenuFile=O):this.focusedFile&&(this.contextMenuFile=void 0,this.focusedDecoration.clearAppliedTarget()),O&&(this._selectedFiles.indexOf(O)<0&&(this.selectedDecoration.addTarget(O),this._selectedFiles.push(O),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri))),this.focusedDecoration.addTarget(O),this.focusedFile=O)),this.treeModel.dispatchChange())},this.toggleFileSelectedDecoration=O=>{const x=this._selectedFiles.indexOf(O);x>-1?(this.focusedFile===O&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this._selectedFiles.splice(x,1),this.selectedDecoration.clearAppliedTarget()):(this._selectedFiles.push(O),this.selectedDecoration.addTarget(O),this.focusedFile&&this.focusedDecoration.clearAppliedTarget(),this.focusedFile=O,this.focusedDecoration.addTarget(O)),this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri)),this.treeModel.dispatchChange()},this.activeFileDecorationByRange=(O,x)=>{for(this.clearFileSelectedDecoration(),this.contextMenuFile=void 0;O<=x;O++){const k=this.treeModel.root.getTreeNodeAtIndex(O);k&&(this._selectedFiles.push(k),this.selectedDecoration.addTarget(k))}this.onDidSelectedFileChangeEmitter.fire(this._selectedFiles.map(k=>k.uri)),this.treeModel.dispatchChange()},this.deactivateFileDecoration=()=>{var O;this.focusedFile&&(this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(O=this.treeModel)===null||O===void 0||O.dispatchChange()},this.toggleDirectory=async O=>{O.expanded?this.fileTreeHandle.collapseNode(O):this.fileTreeHandle.expandNode(O)},this.handleDblClick=()=>{this.commandService.executeCommand(_.FILE_COMMANDS.NEW_FILE.id)},this.handleContextMenu=(O,x,k)=>{var F;O.stopPropagation(),O.preventDefault();let L,N;x?(N=x,this._isMultiSelected?this.selectedFiles.indexOf(N)>=0?L=this.selectedFiles:L=[N]:L=[N]):(L=[this.treeModel.root],N=this.treeModel.root),this.activateFileActivedDecoration(N),this.setFileTreeContextKey(N),this.fileTreeService.isCompactMode&&k?(this._activeUri=k,(F=this.contextKey)===null||F===void 0||F.explorerResourceIsFolder.set(!0)):k||(this._activeUri=null);const U=this.contextMenuService.createMenu({id:m.MenuId.ExplorerContext,contextKeyService:this.fileTreeService.contextMenuContextKeyService}),W=U.getMergedMenuNodes();U.dispose(),this.updateExplorerCompressedContextKey(N,k);const{x:j,y:Q}=O.nativeEvent;this.ctxMenuRenderer.show({anchor:{x:j,y:Q},menuNodes:W,args:k?[k,[k]]:[N.uri,L.map($=>$.uri)]})},this.handleTreeBlur=()=>{var O,x,k;this._isDisposed||((x=(O=this.contextKey)===null||O===void 0?void 0:O.filesExplorerFocused)===null||x===void 0||x.set(!1),this.deactivateFileDecoration(),(k=this.contextKey)===null||k===void 0||k.explorerResourceIsFolder.set(!1))},this.handleTreeFocus=()=>{var O,x;(x=(O=this.contextKey)===null||O===void 0?void 0:O.filesExplorerFocused)===null||x===void 0||x.set(!0)},this.handleItemRangeClick=(O,x)=>{if(this.selectedFiles.length===1&&E.Directory.isRoot(this.selectedFiles[0])&&this.clearFileSelectedDecoration(),!this.focusedFile)this.handleItemClick(O,x);else if(this.focusedFile&&this.focusedFile!==O){this._isMultiSelected=!0;const k=this.treeModel.root.getIndexAtTreeNode(O),F=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);F>k?this.activeFileDecorationByRange(k,F):F<k&&this.activeFileDecorationByRange(F,k)}},this.handleItemToggleClick=(O,x)=>{this._isMultiSelected=!0,!(x!==l.TreeNodeType.CompositeTreeNode&&x!==l.TreeNodeType.TreeNode)&&(this.selectedFiles.length===1&&E.Directory.isRoot(this.selectedFiles[0])&&this.clearFileSelectedDecoration(),this.toggleFileSelectedDecoration(O))},this.handleItemClick=(O,x=this.fileTreeService.isMultipleWorkspace?l.TreeNodeType.TreeNode:l.TreeNodeType.CompositeTreeNode,k)=>{var F,L,N,U;if(this.treeModel&&(O||(O=this.treeModel.root),this.updateExplorerCompressedContextKey(O,k),this._isMultiSelected=!1,(x===l.TreeNodeType.CompositeTreeNode||x===l.TreeNodeType.TreeNode)&&this.activeFileDecoration(O),this.fileTreeService.isCompactMode&&k?(this._activeUri=k,(F=this.contextKey)===null||F===void 0||F.explorerResourceIsFolder.set(!0)):k||(this._activeUri=null,(L=this.contextKey)===null||L===void 0||L.explorerResourceIsFolder.set(x===l.TreeNodeType.CompositeTreeNode)),this.corePreferences["workbench.list.openMode"]==="singleClick")){if(x===l.TreeNodeType.CompositeTreeNode){if((N=this.contextKey)===null||N===void 0||N.explorerResourceIsFolder.set(!0),O===this.treeModel.root)return;this.toggleDirectory(O)}else if(x===l.TreeNodeType.TreeNode){if((U=this.contextKey)===null||U===void 0||U.explorerResourceIsFolder.set(!1),O===this.treeModel.root)return;this.fileTreeService.openFile(O.uri),this.mainlayoutService.bottomExpanded&&this.commandService.executeCommand(h.RETRACT_PANEL_COMMAND.id)}}},this.handleItemDoubleClick=(O,x)=>{x===l.TreeNodeType.TreeNode?this.fileTreeService.openAndFixedFile(O.uri):this.corePreferences["workbench.list.openMode"]==="doubleClick"&&this.toggleDirectory(O)},this.validateFileName=(O,x)=>{var k;if(x=this.getWellFormedFileName(x),!x||x.length===0||/^\s+$/.test(x))return{message:(0,_.localize)("validate.tree.emptyFileNameError"),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x};if(x[0]==="/"||x[0]==="\\")return{message:(0,_.localize)("validate.tree.fileNameStartsWithSlashError"),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x};if(x[0]===" "||x[x.length-1]===" ")return{message:(0,_.localize)("validate.tree.fileNameFollowOrStartWithSpaceWarning"),type:l.PROMPT_VALIDATE_TYPE.WARNING,value:x};let F;if(O.target){const N=O.target;if(x===N.name)return null;F=N.parent}else F=O.parent;return F&&!(O instanceof l.RenamePromptHandle&&O.target.displayName.indexOf(S.separator)>0)&&((k=F.children)===null||k===void 0?void 0:k.find(W=>W.name===x))?{message:(0,_.formatLocalize)("validate.tree.fileNameExistsError",x),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x}:I(x.split(/[\\/]/)).some(N=>!D(N))?{message:(0,_.formatLocalize)("validate.tree.invalidFileNameError",this.trimLongName(x)),type:l.PROMPT_VALIDATE_TYPE.ERROR,value:x}:null},this.proxyPrompt=O=>{let x=!1;const k=async $=>{const Z=await this.fileTreeService.getNodeByPathOrUri($);Z&&(E.Directory.is(Z)?this.selectFileDecoration(Z):this.location(Z.uri))},F=async $=>{var Z,G,V;if(this.validateMessage=void 0,O instanceof l.RenamePromptHandle){const H=O.target,K=O.target.displayName.split(S.separator),Y=H.name.indexOf(S.separator)>0;if(Y&&this.activeUri&&!O.target.uri.toString().includes(this.activeUri.toString()))return!1;const X=this.activeUri?K.length-O.target.uri.toString().replace(this.activeUri.toString(),"").split(S.separator).length:-1,re=X===-1?[]:K.slice(0,X).concat($);let oe=H.uri,he=H.parent.uri.resolve($);if(Y&&((Z=this.activeUri)===null||Z===void 0?void 0:Z.displayName)===$||!Y&&$===H.name)return!0;O.addAddonAfter("loading_indicator"),Y&&re.length>0&&E.Directory.is(H.parent)&&(oe=H.parent.uri.resolve(K.slice(0,X+1).join(S.separator)),he=H.parent.uri.resolve(re.concat().join(S.separator)));const me=await this.fileTreeAPI.mv(oe,he,H.type===l.TreeNodeType.CompositeTreeNode);if(me)return this.validateMessage={type:l.PROMPT_VALIDATE_TYPE.ERROR,message:me,value:$},this.fileTreeService.updateRefreshable(!0),O.addValidateMessage(this.validateMessage),!1;if(this.fileTreeService.updateRefreshable(!1),O.removeAddonAfter(),!Y&&H.parent){const q=await this.fileTreeService.moveNodeByPath(H.parent,H.parent,H.name,$,H.type);q&&this.selectFileDecoration(q,!1),this.fileTreeService.updateRefreshable(!0)}else if(E.Directory.is(H)&&!E.Directory.isRoot(H)){H.updateMetaData({name:re.concat(K.slice(X+1)).join(S.separator),uri:he,fileStat:{...H.filestat,uri:he.toString()},tooltip:this.fileTreeAPI.getReadableTooltip(he)}),this.treeModel.dispatchChange();let q;E.Directory.is(H.parent)&&(!((G=H.parent.children)===null||G===void 0)&&G.find(Ae=>H.path.indexOf(Ae.path)>=0))?q=this.fileTreeService.refresh(H.parent):q=this.fileTreeService.refresh(H),q.then(()=>{k(he)})}O.removeAddonAfter()}else if(O instanceof l.NewPromptHandle){const H=O.parent,K=H.uri.resolve($);let Y;if(O.addAddonAfter("loading_indicator"),this.fileTreeService.updateRefreshable(!0),O.type===l.TreeNodeType.CompositeTreeNode?Y=await this.fileTreeAPI.createDirectory(K):Y=await this.fileTreeAPI.createFile(K),O.removeAddonAfter(),Y)return this.validateMessage={type:l.PROMPT_VALIDATE_TYPE.ERROR,message:Y,value:$},this.fileTreeService.updateRefreshable(!1),O.addValidateMessage(this.validateMessage),!1;if($.includes(S.separator)&&this.fileTreeService.refresh(H).then(()=>{k(H.uri.resolve($))}),this.fileTreeService.isCompactMode)if(O.type===l.TreeNodeType.CompositeTreeNode)if((!H.children||H.children.length===0)&&!E.Directory.isRoot(H)){const re=H.uri.resolve($),oe=[H.name].concat($).join(S.separator);H.updateMetaData({name:oe,uri:re,fileStat:{...H.filestat,uri:re.toString()},tooltip:this.fileTreeAPI.getReadableTooltip(re)}),k(re)}else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($));else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($));else await this.fileTreeService.addNode(H,$,O.type),k(H.uri.resolve($))}return(V=this.contextKey)===null||V===void 0||V.filesExplorerInputFocused.set(!1),!0},L=async $=>{var Z,G,V,H;if(this.validateMessage&&this.validateMessage.type===l.PROMPT_VALIDATE_TYPE.ERROR)return this.validateMessage=void 0,!0;if(x)return!1;if(!$){(Z=this.contextKey)===null||Z===void 0||Z.explorerCompressedFocusContext.set(!1),(G=this.contextKey)===null||G===void 0||G.explorerCompressedFirstFocusContext.set(!1),(V=this.contextKey)===null||V===void 0||V.explorerCompressedLastFocusContext.set(!1),this.fileTreeService.isCompactMode&&O instanceof l.NewPromptHandle&&this.fileTreeService.refresh(O.parent);return}return(H=this.contextKey)===null||H===void 0||H.filesExplorerInputFocused.set(!1),await F($),!0},N=async $=>{if(x=!0,this.validateMessage&&this.validateMessage.type===l.PROMPT_VALIDATE_TYPE.ERROR)return!1;if($.trim()===""||this.validateMessage&&this.validateMessage.type!==l.PROMPT_VALIDATE_TYPE.ERROR)return this.validateMessage=void 0,!0;const Z=await F($);return x=!1,!!Z},U=async()=>{var $;($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!0)},W=()=>{var $;this.fileTreeService.updateRefreshable(!0),($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!1),this.contextMenuFile&&this.selectFileDecoration(this.contextMenuFile,!0)},j=()=>{var $;($=this.contextKey)===null||$===void 0||$.filesExplorerInputFocused.set(!1),this.fileTreeService.isCompactMode&&O instanceof l.NewPromptHandle&&this.fileTreeService.refresh(O.parent)},Q=$=>{const Z=this.validateFileName(O,$);Z?(this.validateMessage=Z,O.addValidateMessage(Z)):!Z&&this.validateMessage&&this.validateMessage.value!==$&&(this.validateMessage=void 0,O.removeValidateMessage())};O.destroyed||(this.fileTreeService.updateRefreshable(!1),O.onChange(Q),O.onCommit(N),O.onBlur(L),O.onFocus(U),O.onDestroy(W),O.onCancel(j))},this.copyFile=async O=>{var x;this.pasteStore&&this.pasteStore.type===u.PasteTypes.CUT&&(this._pasteStore.files.forEach(F=>{F&&this.cutDecoration.removeTarget(F)}),(x=this.contextKey)===null||x===void 0||x.explorerResourceCut.set(!1)),this.treeModel.dispatchChange();const k=[];for(const F of O){const L=this.fileTreeService.getNodeByPathOrUri(F);L&&k.push(L)}this._pasteStore={files:k,type:u.PasteTypes.COPY},this.clipboardService.writeResources(O)},this.pasteFile=async O=>{var x,k;let F=!1,L=this.fileTreeService.getNodeByPathOrUri(O.toString());if(!L)return;let N=this.pasteStore,U=!1;if(!N){const W=await this.clipboardService.readResources();if(!W||!W.length)return;N={files:[],type:u.PasteTypes.COPY,crossFiles:W},U=!0}if(N){if(E.Directory.is(L)||(F=!0,L=L.parent),U){const W=(0,_.localize)("file.confirm.paste.ok"),j=(0,_.localize)("file.confirm.paste.cancel");if(await this.dialogService.warning((0,_.formatLocalize)("file.confirm.paste",`[ ${(x=N.crossFiles)===null||x===void 0?void 0:x.map($=>$.displayName).join(",")} ]`,E.Directory.isRoot(L)?L.uri.displayName:L.displayName),[j,W])!==W)return}if(N.type===u.PasteTypes.CUT){for(const j of N.files)j&&this.cutDecoration.removeTarget(j),L.expanded||await L.setExpanded(!0);const W=await this.fileTreeAPI.mvFiles(N.crossFiles?N.crossFiles.map(j=>{var Q;return{url:j,isDirectory:((Q=this.fileTreeService.getNodeByPathOrUri(j))===null||Q===void 0?void 0:Q.filestat.isDirectory)||!1}}):N.files.map(j=>({url:j.uri,isDirectory:j.filestat.isDirectory})),L.uri);W&&W.length>0&&(W.forEach(j=>{this.messageService.error(j)}),this.fileTreeService.refresh()),(k=this.contextKey)===null||k===void 0||k.explorerResourceCut.set(!1),this.treeModel.dispatchChange(),this._pasteStore={files:[],type:u.PasteTypes.NONE,crossFiles:void 0}}else if(N.type===u.PasteTypes.COPY){const W=N.crossFiles?N.crossFiles:N.files.map(j=>j.uri);for(const j of W){L.uri.isEqual(j)&&!F&&(L=L.parent);const Q=L.uri.resolve(j.displayName);L.expanded||await L.setExpanded(!0);const $=await this.fileTreeAPI.copyFile(j,Q);if($)if($.uri){const Z=new _.URI($.uri),G=await this.filesystem.getFileStat(j.toString());this.fileTreeService.addNode(L,Z.displayName,G?.isDirectory?l.TreeNodeType.CompositeTreeNode:l.TreeNodeType.TreeNode)}else this.messageService.error(`Error when copy file: ${j.toString()}, ${$}`)}}}},this.cutFile=async O=>{var x;O.length>0&&((x=this.contextKey)===null||x===void 0||x.explorerResourceCut.set(!0)),this._pasteStore&&this._pasteStore.type===u.PasteTypes.CUT&&this._pasteStore.files.forEach(F=>{this.cutDecoration.removeTarget(F)});const k=[];for(const F of O){const L=this.fileTreeService.getNodeByPathOrUri(F);L&&k.push(L)}this._pasteStore={files:k,type:u.PasteTypes.CUT};for(const F of k)F&&this.cutDecoration.addTarget(F);this.treeModel.dispatchChange()},this.location=async O=>{if(await this.whenReady,!this.fileTreeService.filterMode)return this._fileToLocation=O,this.locationThrottler.queue(this.doLocation)},this.doLocation=async()=>{if(!this._fileToLocation)return;const O=this._fileToLocation;let x;if(typeof O=="string"?x=O:x=await this.fileTreeService.getFileTreeNodePathByUri(O),x){if(!this.fileTreeHandle)return;const k=await this.fileTreeHandle.ensureVisible(x,"center",!0);k&&this.selectFileDecoration(k)}this._fileToLocation=void 0},this.locationOnShow=O=>{this._nextLocationTarget=O},this.performLocationOnHandleShow=async()=>{this._nextLocationTarget&&(await this.location(this._nextLocationTarget),this._nextLocationTarget=void 0)}}get onDidFocusedFileChange(){return this.onDidFocusedFileChangeEmitter.event}get onDidContextMenuFileChange(){return this.onDidContextMenuFileChangeEmitter.event}get onDidSelectedFileChange(){return this.onDidSelectedFileChangeEmitter.event}get onFileTreeModelChange(){return this.onFileTreeModelChangeEmitter.event}get fileTreeHandle(){return this._fileTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get dndService(){return this._dndService}get whenReady(){return this._whenReady.promise}get focusedFile(){return this._focusedFile}set focusedFile(O){this.onDidFocusedFileChangeEmitter.fire(O?O.uri:void 0),this._focusedFile=O}get contextMenuFile(){return this._contextMenuFile}set contextMenuFile(O){this.onDidContextMenuFileChangeEmitter.fire(O?O.uri:void 0),this._contextMenuFile=O}get selectedFiles(){return this._selectedFiles}set selectedFiles(O){this.onDidSelectedFileChangeEmitter.fire(O?O.map(x=>x.uri):[]),this._selectedFiles=O}get activeUri(){return this._activeUri}get pasteStore(){return this._pasteStore}get explorerStorage(){return this._explorerStorage}get currentRelativeUriContextKey(){return this._currentRelativeUriContextKey||(this._currentRelativeUriContextKey=this.fileTreeService.contextMenuContextKeyService.createKey("filetreeContextRelativeUri","")),this._currentRelativeUriContextKey}get currentContextUriContextKey(){return this._currentContextUriContextKey||(this._currentContextUriContextKey=this.fileTreeService.contextMenuContextKeyService.createKey("filetreeContextUri","")),this._currentContextUriContextKey}get contextMenuResourceContext(){return this._contextMenuResourceContext||(this._contextMenuResourceContext=new v.ResourceContextKey(this.fileTreeService.contextMenuContextKeyService)),this._contextMenuResourceContext}get contextKey(){return this.fileTreeService.contextKey}get initTreeModelReady(){return this._initTreeModelReady}async initTreeModel(){this._initTreeModelReady=!1;const O=(await this.fileTreeService.resolveChildren())[0];if(!O){this._whenReady.resolve();return}this._treeModel=this.injector.get(f.FileTreeModel,[O]),this.initDecorations(O),this._dndService=this.injector.get(A.DragAndDropService,[this]),this.treeStateWatcher=this._treeModel.getTreeStateWatcher(!0),this.disposableCollection.push(this.fileTreeService.onNodeRefreshed(()=>{this.initTreeModelReady&&(this.refreshedActionDelayer.isTriggered()||this.refreshedActionDelayer.cancel(),this.refreshedActionDelayer.trigger(async()=>{if(this.selectedFiles.length===0){const k=this.editorService.currentEditor;k&&k.currentUri&&this.location(k.currentUri)}this.fileTreeService.isCompactMode||(this._activeUri=null)}))})),this.disposableCollection.push(this.fileTreeService.onWorkspaceChange(()=>{this.disposableCollection.dispose(),this.initTreeModel()})),this.disposableCollection.push(this.labelService.onDidChange(async()=>{this.initTreeModelReady&&(this.labelChangedDelayer.isTriggered()||this.labelChangedDelayer.cancel(),this.labelChangedDelayer.trigger(async()=>{this.fileTreeService.refresh()}))})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,k=>{this.loadingDecoration.addTarget(k),this.treeModel.dispatchChange()})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,k=>{this.loadingDecoration.clearAppliedTarget(),this.treeModel.dispatchChange()})),this._explorerStorage=await this.storageProvider(_.STORAGE_NAMESPACE.EXPLORER);const x=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY);x&&await this.loadFileTreeSnapshot(x),this.disposableCollection.push(this.treeStateWatcher.onDidChange(()=>{if(!this._initTreeModelReady)return;const k=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),F=this.treeStateWatcher.snapshot();this.explorerStorage.set(n.FILE_TREE_SNAPSHOT_KEY,{...k,...F})})),this.fileTreeService.startWatchFileEvent(),this.onFileTreeModelChangeEmitter.fire(this._treeModel),this._whenReady.resolve(),this._initTreeModelReady=!0}initDecorations(O){this._decorations=new l.DecorationsManager(O),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.cutDecoration),this._decorations.addDecoration(this.loadingDecoration)}setFileTreeContextKey(O){var x;this.currentContextUriContextKey.set(O.uri.toString()),this.currentRelativeUriContextKey.set((this.treeModel.root.uri.relative(O.uri)||"").toString()),this.contextMenuResourceContext.set(O.uri),(x=this.contextKey)===null||x===void 0||x.explorerResourceIsFolder.set(O&&O.type===l.TreeNodeType.CompositeTreeNode)}async loadFileTreeSnapshot(O){await this._treeModel.loadTreeState(O)}updateExplorerCompressedContextKey(O,x){var k,F,L,N,U,W,j,Q,$,Z,G,V,H,K,Y,X;if(O&&x){(k=this.contextKey)===null||k===void 0||k.explorerCompressedFocusContext.set(!0);const re=new S(O.name);re.name===x.displayName?((F=this.contextKey)===null||F===void 0||F.explorerCompressedLastFocusContext.set(!0),(L=this.contextKey)===null||L===void 0||L.explorerCompressedFirstFocusContext.set(!1)):re.root&&re.root.name===x.displayName?((N=this.contextKey)===null||N===void 0||N.explorerCompressedLastFocusContext.set(!1),(U=this.contextKey)===null||U===void 0||U.explorerCompressedFirstFocusContext.set(!0)):((W=this.contextKey)===null||W===void 0||W.explorerCompressedLastFocusContext.set(!1),(j=this.contextKey)===null||j===void 0||j.explorerCompressedFirstFocusContext.set(!1))}else O?O.name.indexOf(S.separator)>0?((Q=this.contextKey)===null||Q===void 0||Q.explorerCompressedFocusContext.set(!0),($=this.contextKey)===null||$===void 0||$.explorerCompressedFirstFocusContext.set(!1),(Z=this.contextKey)===null||Z===void 0||Z.explorerCompressedLastFocusContext.set(!0)):((G=this.contextKey)===null||G===void 0||G.explorerCompressedFocusContext.set(!1),(V=this.contextKey)===null||V===void 0||V.explorerCompressedFirstFocusContext.set(!1),(H=this.contextKey)===null||H===void 0||H.explorerCompressedLastFocusContext.set(!1)):((K=this.contextKey)===null||K===void 0||K.explorerCompressedFocusContext.set(!1),(Y=this.contextKey)===null||Y===void 0||Y.explorerCompressedFirstFocusContext.set(!1),(X=this.contextKey)===null||X===void 0||X.explorerCompressedLastFocusContext.set(!1))}handleTreeHandler(O){this._fileTreeHandle=O}toggleOrOpenCurrentFile(){let O;this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),O&&(this.activeFileDecoration(O),E.Directory.is(O)?this.toggleDirectory(O):this.fileTreeService.openFile(O.uri))}moveToNext(){let O;if(this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),!O)return;const k=this.treeModel.root.getIndexAtTreeNode(O)+1,F=this.treeModel.root.getTreeNodeAtIndex(k),L=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),N=(k+1)*c.FILE_TREE_NODE_HEIGHT-(L.scrollPosition||0),{height:U}=this.fileTreeHandle.getCurrentSize();F&&(this.activateFileFocusedDecoration(F),N>U&&this.fileTreeHandle.ensureVisible(F,"end"))}moveToPrev(){let O;if(this.focusedFile?O=this.focusedFile:this.contextMenuFile&&(O=this.contextMenuFile),!O)return;const x=this.treeModel.root.getIndexAtTreeNode(O);if(x===0)return;const k=x-1,F=this.treeModel.root.getTreeNodeAtIndex(k);if(!F)return;const L=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY),N=k*c.FILE_TREE_NODE_HEIGHT;this.activateFileFocusedDecoration(F),(L.scrollPosition||0)>N&&this.fileTreeHandle.ensureVisible(F,"start")}async collapseCurrentFile(){let O;this.focusedFile?(O=this.focusedFile,this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0):this.contextMenuFile&&(O=this.contextMenuFile,this.focusedDecoration.removeTarget(this.contextMenuFile),this.contextMenuFile=void 0);const x=this.selectedFiles.indexOf(O);x>=0&&(this.selectedFiles.splice(x,1),this.selectedDecoration.removeTarget(O));let k;if(E.Directory.is(O)&&O.expanded)k=O;else if(O)E.Directory.isRoot(O.parent)?k=O:k=O.parent;else return;this.focusedFile=k,k&&k.expanded&&(await this.fileTreeHandle.collapseNode(k),this.activeFileFocusedDecoration(k,!0))}async expandCurrentFile(){let O;this.focusedFile?(O=this.focusedFile,this.focusedDecoration.clearAppliedTarget(),this.focusedFile=void 0):this.contextMenuFile&&(O=this.contextMenuFile,this.focusedDecoration.removeTarget(this.contextMenuFile),this.contextMenuFile=void 0);const x=this.selectedFiles.indexOf(O);x>=0&&(this.selectedFiles.splice(x,1),this.selectedDecoration.removeTarget(O)),this.focusedFile=O,E.Directory.is(O)&&(O.expanded||await this.fileTreeHandle.expandNode(O))}async collapseAll(){await this.treeModel.root.collapsedAll();const O=this.explorerStorage.get(n.FILE_TREE_SNAPSHOT_KEY);O&&this.explorerStorage.set(n.FILE_TREE_SNAPSHOT_KEY,{...O,expandedDirectories:{atSurface:[],buried:[]}})}async deleteFileByUris(O){var x;if(O.length===0)return;if(this.corePreferences["explorer.confirmDelete"]){const N=this.applicationService.backendOS===_.OperatingSystem.Linux,U=N?(0,_.localize)("file.confirm.delete.ok"):(0,_.localize)("file.confirm.moveToTrash.ok"),W=(0,_.localize)("file.confirm.delete.cancel"),j=10;let Q=O.slice(0,j).map(Z=>Z.displayName).join(`
33402
33402
  `);if(O.length>j&&(Q+=`
33403
33403
  ...`),N||(Q+=`
33404
33404
 
@@ -33484,7 +33484,7 @@ inline \u6A21\u5F0F showTitle \u4F1A\u5931\u6548, \u53EA\u663E\u793A icon`,"sumi
33484
33484
  {1}`,"file.confirm.deleteTips":"You can restore files from the Trash","file.confirm.moveToTrash.ok":"Move to trash","file.confirm.delete.ok":"Delete","file.confirm.delete.cancel":"Cancel","file.confirm.move":"Are you sure you want to move file {0} to {1}?","file.confirm.move.ok":"Move","file.confirm.move.cancel":"Cancel","file.confirm.paste":"Are you sure you want to paste the file {0} to {1} ?","file.confirm.paste.ok":"Paste","file.confirm.paste.cancel":"Cancel","file.confirm.replace":"Are you sure you want to replace file {0}?","file.confirm.replace.ok":"Replace","file.confirm.replace.cancel":"Cancel","file.move.existMessage":"The file to be pasted is deleted or moved at the same time. Unable to move/copy. The file already exists at the target location.","file.empty.defaultTitle":"No Open Folder","file.empty.defaultMessage":"The folder has not been opened yet","file.workspace.defaultTip":"Untitled (WORKSPACE)","file.workspace.defaultWorkspaceTip":"{0} (WORKSPACE)","file.empty.openFolder":"Open Folder","file.collapse":"Collapse All","file.refresh":"Refresh","file.search.folder":"Search on this folder","file.focus.files":"Focus on Files Explorer","file.filetree.filter":"Filter on opened files","file.filetree.openTerminalWithPath":"Open In Integrated Terminal","file.tooltip.symbolicLink":"Symbolic Link","file.resource-deleted":"(Deleted)","file.revealInExplorer":"Reveal in File Tree","menu-bar.title.file":"File","menu-bar.title.edit":"Edit","menu-bar.title.selection":"Selection","menu-bar.title.view":"View","menu-bar.title.go":"Go","menu-bar.title.debug":"Debug","menu-bar.title.terminal":"Terminal","menu-bar.title.window":"Window","menu-bar.title.help":"Help","menu-bar.file.save-as":"Save As","menu-bar.file.save-all":"Save All","menu-bar.file.open":"Open File","menu-bar.view.quick.command":"Command Palette...","menu-bar.go.jumpToBracket":"Go to Bracket","menu-bar.go.nextProblemInFiles":"Next Problem","menu-bar.go.prevProblemInFiles":"Previous Problem","menu-bar.file.pref":"Preference","menu-bar.mode.compact":"Compact Mode",editor:"Editor","editor.undo":"Undo","editor.redo":"Redo","editor.saveAll":"Save All","editor.saveCurrent":"Save Current File","editor.saveCodeActions.getting":"Getting code actions from {0}.","editor.saveCodeActions.saving":'Saving "{0}"',"editor.title.context.close":"Close","editor.closeTab.title":"Close ({0})","editor.closeCurrent":"Close Current Editor","editor.openExternal":"Open Externally","editor.cannotOpenBinary":"The file is not displayed in the text editor because it is binary.","editor.splitToLeft":"Split To Left","editor.splitToRight":"Split To Right","editor.splitToTop":"Split To Top","editor.splitToBottom":"Split To Bottom","editor.closeAllInGroup":"Close All","editor.closeToRight":"Close To Right","editor.closeSaved":"Close Saved","editor.cannotSaveWithoutDirectory":"Cannot save file without directory","editor.action.accept":"Accept Changes (Use version on the right)","editor.action.revert":"Revert Changes (Use version on the left)","editor.format.chooseFormatter":"Choose the Formatter","editor.formatDocument.label.multiple":"Format Document With...","editor.formatSelection.label.multiple":"Format Selection With...","editor.chooseEncoding":"Reopen with encoding (Unsaved Changes will be lost)","editor.guessEncodingFromContent":"Guess from content","editor.changeEol":"Select End Of Line Sequence","editor.failToOpen":"Failed to open {0}. Error message: {1}","editor.changeLanguageId":"Select Language Mode","editor.lineHeight":"Line Height","editor.lineHeight.description":`Controls the line height.\r
33485
33485
  Use 0 to automatically compute the line height from the font size.\r
33486
33486
  Values between 0 and 8 will be used as a multiplier with the font size.\r
33487
- Values greater than or equal to 8 will be used as effective values.`,"status-bar.label.line":"Ln","status-bar.label.column":"Col","status-bar.label.selected":"Selected","status-bar.label.tabType.space":"Spaces","status-bar.label.tabType.tab":"Tab Size","status-bar.scm":"Source Control","status-bar.editor-selection":"Editor Selection","status-bar.editor-language":"Editor Language","status-bar.editor-encoding":"Editor Encoding","status-bar.editor-space":"Editor Space","status-bar.editor-eol":"Editor End Of Line","status-bar.editor-indentation":"Editor Indentation","status-bar.editor-langStatus":"Editor Language Status","editor.closeOtherEditors":"Close Others","status.editor.chooseLanguage":"Choose Language Mode","status.editor.goToLineCol":"Go to Line/Column","status.editor.chooseEncoding":"Choose Encoding","status.editor.changeEol":"Select End Of Line Sequence","edit.cut":"Cut","edit.copy":"Copy","edit.paste":"Paste","edit.selectAll":"Select All","editor.copyPath":"Copy Path","editor.copyRelativePath":"Copy Relative Path","editor.goBack":"Back","editor.goForward":"Forward","editor.quickOpen":"Go to File...","editor.editor.goToSymbol":"Go to Symbol...","editor.goToLine":"Go to Line...","editor.openType":"Open Type","editor.closeEditorsInOtherGroups":"Close Other Groups","editor.resetEditorGroups":"Reset Editor Group","editor.revert":"Revert Document","editor.tokenize.test":"Try Tokenize First Selection","quickopen.goToLine.defaultMessage":"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.","quickopen.goToLine.notValid":"Not A valid Editor","quickopen.goToLine.lineInfo":"Go To Line {0}","quickopen.goToLine.colInfo":" and Character {0}","quickopen.goToLine.desc":"Go to Line...","quickopen.command.placeholder":"Placeholder","quickopen.command.description":"Run IDE Command","quickopen.command.nohandler":"Cannot Find Anymore","quickopen.quickinput.prompt":"Press 'Enter' to confirm or 'Escape' to cancel","quickopen.tab.file":"File","quickopen.tab.class":"Class","quickopen.tab.symbol":"Symbol","quickopen.tab.command":"Command","quickopen.tab.goToLine":"Go To Line","quickopen.tab.tip.prefix":"Press","quickopen.tab.tip.suffix":"to switch","quickOpen.openOnTheRightSide":"Open on the side","explorer.title":"Explorer","explorer.electron.revealInFinder":"Reveal In Explorer","explorer.electron.openInSystemTerminal":"Open In Terminal","explorer.electron.openInSystemTerminal.error":"Open {0} In Terminal Fail: {1}","search.title":"Search","search.input.placeholder":"Enter search content","search.input.title":"Search","search.replace.title":"Replace","search.input.checkbox":"Display search rules","file-search.command.fileOpen.description":"Open File","file-search.command.fileOpen.placeholder":"Search File By Name(Append : To Go to Line or @ To Go to Symbol)","search.includes":"Files to include","search.includes.description":'Enter the file name or folder name, multiple separated by ","',"search.excludes":"Files to exclude","search.excludes.default.enable":"Enable default exclusions","search.replaceAll.label":"Replace All","search.replace.label":"Replace","search.files.result":"{0} results found in {1} files","search.CollapseDeepestExpandedLevelAction.label":"Collapse All","search.ExpandDeepestExpandedLevelAction.label":"Expand All","search.ClearSearchResultsAction.label":"Clear Search Results","search.RefreshAction.label":"Refresh","search.removeAll.occurrences.files.confirmation.message":"Are you sure to replace {0} of the {1} files","search.removeAll.occurrences.file.confirmation.message":"Are you sure to replace the {0} results in this file?","search.result.hide":"Hide","search.menu.copyAll":"Copy All","search.help.showIncludeRule":"View syntax rules","search.help.supportRule":"Support the following syntax rules:","search.help.excludeList":"Excluded items include:","search.help.concatRule":"Multiple conditional separation","search.help.matchOneOrMoreRule":"To match one or more characters in a path segment","search.help.matchOne":"To match on one character in a path segment","search.help.matchAny":"To match any number of path segments, including none","search.help.matchWithGroup":"To group conditions","search.help.matchRange":"To declare a range of characters to match","search.help.modify":"Modify","search.replace.buttonOK":"Replace","search.replace.buttonCancel":"Cancel","search.too.many.results":"Because your search terms are too loose, we only show some search results","search.fileReplaceChanges":"{0} \u2194 {1} (Replace Preview)","search.fileResults":"File results","search.fileResults.notfound":"No files matching","search.fileSymbolResults":"symbols ({0})","search.fileSymbolResults.notfound":"No symbols matching","search.historyMatches":"Recently Opened","search.replaceAll.occurrencesMessage":"Replaced {0} occurrences across {1} files with '{2}'.","search.replace.toggle.button.title":"Toggle Replace","search.caseDescription":"Match Case","search.wordsDescription":"Match Whole Word","search.regexDescription":"Use Regular Expression","search.includeIgnoredFiles":"Include Ignored Files","search.onlyOpenEditors":"Search only in Open Editors","search.noResultsFound":"No results found. Review your settings for configured exclusions and ignore files","quickopen.recent-commands":"recently used","quickopen.other-commands":"other commands","quickopen.commands.notfound":"No commands matchings",mSelection:"Selection","selection.all":"Select All","dialog.confirm":"confirm","dialog.file.name":"File Name","dialog.file.title":"Select Directory:","dialog.file.openLabel":"Open File:","dialog.file.saveLabel":"Save File:","dialog.file.close":"Close","dialog.file.ok":"OK","dialog.ensure":"OK","editorOpenType.code":"Code","editorOpenType.preview":"Preview","scm.title":"Source Control","scm.action.git.refresh":"Refresh","scm.action.git.commit":"Commit","scm.action.git.more":"More Actions","scm.statusbar.repo":"Repo","scm.provider.title":"Source Control Providers","scm.provider.empty":"No source control providers registered.","scm.provider.init":"Click to initialize a repository","scm.diff.change.next":"Next Change","scm.diff.change.previous":"Previous Change","scm.diff.toggle.renderSideBySide":"Toggle Inline View","scm.dirtyDiff.changes":"{0} of {1} changes","debug.action.add.smartAddConfiguration":"Smart Add Configuration","debug.action.add.configuration":"Add Configuration","debug.action.edit.configuration":"Edit Configuration","debug.action.open.launch.editor":"Open Launch Editor UI","debug.action.no.configuration":"No Configurations","debug.action.start":"Start Debugging","debug.action.open.configuration":"Open launch.json","debug.action.debug.console":"Debug Console","debug.action.step-into":"Step Into","debug.action.step-over":"Step Over","debug.action.step-out":"Step Out","debug.action.restart":"Restart","debug.action.pause":"Pause","debug.action.stop":"Stop","debug.action.disattach":"Disattach","debug.action.runToCursor":"Run to Cursor","debug.action.forceRunToCursor":"Force Run to Cursor","debug.breakpoint.toggle":"Enable/Disable Breakpoints","debug.breakpoint.removeAll":"Remove All Breakpoints","debug.breakpoint.uncaughtExceptions":"Uncaught Exceptions","debug.breakpoint.allExceptions":"All Exceptions","debug.watch.removeAll":"Remove All Expression","debug.watch.collapseAll":"Collapse All Expression","debug.watch.add":"Add Expression","debug.watch.notAvailable":"not available","debug.watch.edit":"Edit Expression","debug.watch.copyValue":"Copy Value","debug.watch.remove":"Remove Expression","debug.action.continue":"Continue","debug.console.panel.title":"Debug Console","debug.console.panel.default":"default","debug.console.filter.placeholder":"Filter (e.g. text, !exclude)","debug.console.clear":"Clear","debug.console.copy":"Copy","debug.console.copyAll":"Copy All","debug.console.collapseAll":"Collapse All","debug.console.followLink":"{0} + click to follow link","debug.console.input.placeholder":"Please start a debug session to evaluate expressions","debug.console.errorMessage":"Debug session initialization failed. See console for details.","debug.console.consoleCleared":"Console was cleared","debug.notSupported.type":'Debug type "{0}" is not supported, please check your launch config.',"debug.notSupported.any":"Debug is not supported, please check your launch config.","debug.stack.loadMore":"Load All Stack Frames","debug.stack.loading":"Loading...","debug.stack.showMoreAndOrigin":"Show {0} More: {1}","debug.breakpoint.deactive":"Deactivate Breakpoints","debug.breakpoint.active":"Activate Breakpoints","debug.threads.title":"THREADS","debug.watch.title":"WATCH","debug.callStack.title":"CALL STACK","debug.variables.title":"VARIABLES","debug.variables.view.memory":"View Binary Data","debug.variables.view.memory.prompt.hexEditor.notInstalled":"Inspecting binary data requires the Hex Editor extension.","debug.breakpoints.title":"BREAKPOINTS","debug.container.title":"Debug","debug.breakpoint.breakpointMessage":"Breakpoint","debug.breakpoint.logpointMessage":"Logpoint","debug.breakpoint.conditionalMessage":"Conditional Breakpoint","debug.breakpoint.unverified":"Unverified ","debug.breakpoint.disabled":"Disabled ","debug.breakpoint.blank":"Blank","debug.configuration.selectAutomaticDebugTypesHint":"Automatic Configuration","debug.configuration.selectAutomaticDebugTypes":"Select a Debug Type","debug.configuration.selectAutomaticDebugConfiguration":"Select a DebugConfiguration","debug.configuration.comment1":"Use IntelliSense to learn about possible attributes.","debug.configuration.comment2":"Hover to view descriptions of existing attributes.","debug.configuration.comment3":"For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387","debug.launch.existed":'Debug configuration "{0}" is already running',"debug.expression.log.placeholder":'Message to log when breakpoint is hit. Expressions within {} are interpolated. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.hit.placeholder":'Break when hit count condition is met. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.condition.placeholder":'Break when the expression evaluates to true. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.condition":"Expression","debug.expression.hitCondition":"Hit Count","debug.expression.logMessage":"Log Message","debug.menu.delete.breakpoint":"Delete Breakpoint","debug.menu.edit.breakpoint":"Edit Breakpoint","debug.menu.disable.breakpoint":"Disable Breakpoint","debug.menu.enable.breakpoint":"Enable Breakpoint","debug.menu.add.logpoint":"Add Log breakpoint","debug.menu.add.conditional":"Add Condition Breakpoint","debug.menu.add.breakpoint":"Add Breakpoint","debug.menu.disable.logpoint":"Disable Log Breakpoint","debug.menu.title.run":"Run or Debug...","debug.stack.frame.noSource":"Unknown","debug.stack.frame.because":"Because Of","debug.stack.frame.stopped":"Stopped","debug.stack.frame.running":"Running","debug.launch.configurations.debugType":"Type of configuration.","debug.launch.configurations.debugTypeNotRecognised":"The debug type is not recognized. Make sure that you have a corresponding debug extension installed and that it is enabled.","debug.launch.configurations.node2NotSupported":'"node2" is no longer supported, use "node" instead and set the "protocol" attribute to "inspector".',"debug.launch.configurations.debugName":"Name of configuration; appears in the launch configuration drop down menu.","debug.launch.configurations.debugRequest":'Request type of configuration. Can be "launch" or "attach".',"debug.launch.configurations.debugServer":"For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode","debug.launch.configurations.debugPrelaunchTask":"Task to run before debug session starts.","debug.launch.configurations.debugPostDebugTask":"Task to run after debug session ends.","debug.launch.configurations.debugWindowsConfiguration":"Windows specific launch configuration attributes.","debug.launch.configurations.debugOSXConfiguration":"OS X specific launch configuration attributes.","debug.launch.configurations.debugLinuxConfiguration":"Linux specific launch configuration attributes.","debug.launch.typeNotSupported":'The debug session type "{0}" is not supported.',"debug.launch.catchError":"There was an error starting the debug session, check the logs for more details.","debug.launch.view.template.button.addItem":"Add items","debug.launch.view.template.input.placeholder":"Please enter {0}","debug.launch.view.template.button.submit":"Add new configuration item","debug.launch.view.edit.inLaunchJson":"Edit in launch.json","debug.widget.exception.thrownWithId":"Exception has occurred: {0}","debug.widget.exception.thrown":"Exception has occurred.","output.tabbar.title":"Output","output.channel.none":"<no output yet>","output.configurationTitle":"Output settings","output.logWhenNoPanel":"Whether to output to the browser when no available panel","output.maxChannelLine":"Max channel message line length","output.maxChannelLineDesc":"Max channel message line length","output.enableLogHighlight":"Enable/disable Log Highlight","output.enableLogHighlightDesc":"Use Log language to tokenization log text, vscode-log extension is required","output.enableSmartScroll":"Enable/disable Smart scrolling","output.enableSmartScrollDesc":"Smart scrolling allows you to lock scrolling automatically when you click in the output view and unlocks when you click in the last line.","preference.menubar.mode.compact":"Controls whether the menu bar uses compact mode","preference.explorer.confirm.delete":"Controls whether the explorer should ask for confirmation when deleting a file via trash","preference.explorer.confirm.move":"Controls whether the explorer should ask for confirmation when moving a file","preference.files.watcherExclude":"Configure glob patterns of file paths to exclude from file watching. Patterns must match on absolute paths (i.e. prefix with ** or the full path to match properly). Changing this setting requires a restart. When you experience Code consuming lots of cpu time on startup, you can exclude large folders to reduce the initial load.","preference.files.exclude":"Configure glob patterns for excluding files and folders. For example, the files explorer decides which files and folders to show or hide based on this setting.","preference.search.exclude":"Configure glob patterns for excluding files and folders in searches. Inherits all glob patterns from the `#files.exclude#` setting.","preference.search.include":"Configure glob patterns for including files and folders in searches.","preference.files.watcherExclude.title":"Exclusion file watch `files.watcherExclude`","preference.search.exclude.title":"Search exclusion file `search.exclude`","preference.search.useReplacePreview":"Controls whether to open Replace Preview when selecting or replacing a match.","preference.search.searchOnType":"Controls whether to search as you type","preference.search.searchOnTypeDebouncePeriod":"Controls the debounce period of search as you type in milliseconds.","preference.files.exclude.title":"Exclude file display `files.exclude`","preference.array.additem":"Add","preference.files.associations.title":"File Association","preference.files.associations":'Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.',"preference.files.encoding.title":"File Encoding","preference.files.encoding":"The default character set encoding to use when reading and writing files.","preference.files.autoGuessEncoding":"When enabled, the editor will attempt to guess the character set encoding when opening files. This setting can also be configured per language.","preference.files.autoGuessEncoding.title":"Auto Guess Encoding","preference.explorer.fileTree.indent.title":"Explorer: FileTree Indent","preference.explorer.fileTree.baseIndent.title":"Explorer: FileTree BaseIndent","preference.explorer.compactFolders.title":"Explorer: Compact Mode","preference.explorer.compactFolders":"Controls whether the explorer should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element. Useful for Java package structures, for example.","preference.explorer.autoReveal":"Controls whether the explorer should automatically reveal and select files when opening them.","preference.editorTitle.openSource":"Open Setting (JSON)","preference.editorTitle.openUserSource":"Open User Setting (JSON)","preference.editorTitle.openWorkspaceSource":"Open Workspace Setting (JSON)","preference.editorTitle.openPreference":"Open Setting","preference.view.saveLayoutWithWorkspace.title":"Controls whether the layout should bind with workspace","preference.stringArray.operate.delete":"Delete","preference.stringArray.operate.edit":"Edit","preference.stringArray.operate.editTip":"Press \u21B2","preference.stringArray.none":"None","preference.enum.default":"Default","preference.terminal.type":"Default Shell Type","preference.terminal.typeDesc":"To change the default type of create a new terminal","preference.terminal.fontFamily":"Terminal > Font Family","preference.terminal.fontSize":"Terminal > Font Size","preference.terminal.fontWeight":"Terminal > Font Weight","preference.terminal.lineHeight":"Terminal > Line Height","preference.terminal.cursorBlink":"Terminal > Cursor Blink","preference.terminal.scrollback":"Terminal > Cursor Scrollback","preference.terminal.integrated.shellArgs.linux":"Terminal > Shell Args Linux","preference.terminal.integrated.shellArgs.linuxDesc":"The command line arguments to use when on the Linux terminal. ","preference.terminal.integrated.copyOnSelection":"Terminal > Copy On Selection","preference.terminal.integrated.copyOnSelectionDesc":"Controls whether text selected in the terminal will be copied to the clipboard.","preference.terminal.integrated.localEchoEnabled":"Terminal > Local Echo","preference.terminal.integrated.localEchoDesc":"When local echo should be enabled.","preference.terminal.integrated.localEchoLatencyThreshold":"Local Echo Latency Threshold","preference.terminal.integrated.localEchoLatencyThresholdDesc":"Length of network delay, in milliseconds, where local edits will be echoed on the terminal without waiting for server acknowledgement. If '0', local echo will always be on, and if '-1' it will be disabled.","preference.terminal.integrated.localEchoExcludePrograms":"Local Echo Exclude Programs","preference.terminal.integrated.localEchoExcludeProgramsDesc":"Local echo will be disabled when any of these program names are found in the terminal title.","preference.terminal.integrated.localEchoStyle":"Local Echo Style","preference.terminal.integrated.localEchoStyleDesc":"Terminal style of locally echoed text; either a font style or an RGB color.","preference.terminal.integrated.xtermRenderType":"Xterm Render Type","preference.terminal.integrated.xtermRenderTypeDesc":"Choose Xterm render type, Webgl for better performance, Canvas better compatibility","preference.terminal.integrated.enablePersistentSessionDesc":"Persist terminal sessions/history for the workspace across window reloads.","preference.terminal.integrated.cursorStyle":"Terminal > Cursor Style","preference.terminal.integrated.cursorStyleDesc":"Control the style of terminal cursor","common.preference.open":"Settings","common.keymaps.open":"Keyboard Shortcut","common.about":"About","common.find":"Find","common.replace":"Replace","common.remoteMode":"Remote Mode","component.message.origin":"Origin","component.modal.okText":"OK","component.modal.cancelText":"Cancel","component.modal.justOkText":"OK","preference.tab.user":"User","preference.tab.workspace":"Workspace","settings.group.general":"General","settings.group.shortcut":"Shortcut","settings.group.editor":"Editor","settings.group.extension":"Extensions","settings.group.feature":"Feature","settings.group.view":"View","settings.group.terminal":"Terminal","preference.general.theme":"Theme","preference.general.icon":"File Icon Theme","preference.general.productIconTheme":"Product Icon Theme","preference.workbench.colorCustomizations":"Overwrite colors of current color theme","preference.general.language":"Language","preference.general.language.change.refresh.info":"After changing the language, it should be restarted to take effect. Will it be refreshed immediately?","preference.general.language.change.refresh.now":"Refresh","preference.general.language.change.refresh.later":"Later","preference.debug.internalConsoleOptions":"Controls when the internal debug console should open.","preference.debug.openDebug":"Controls when the debug view should open.","preference.debug.debugViewLocation":"Controls the location of the debug view.","preference.debug.trace":"Enable/disable tracing communications with debug adapters.","preference.debug.allowBreakpointsEverywhere":"Allow setting breakpoints in any file.","preference.debug.toolbar.float.title":"Run And Debug: Float Mode","preference.debug.toolbar.float":"Float mode","preference.debug.console.filter.mode":"Debug console filter mode","preference.debug.console.filter.mode.filter":"filter","preference.debug.console.filter.mode.matcher":"matcher","preference.debug.console.wordWrap":"Controls if the lines should wrap in the debug console.","preference.debug.inline.values":"Show variable values inline in editor while debugging.","preference.debug.breakpoint.editorHint":"After enabling, there will be a background color blinking prompt when clicking on the breakpoint list to jump to the editor.","preference.debug.breakpoint.showBreakpointsInOverviewRuler":"Controls whether breakpoints should be shown in the overview ruler.","preference.workbench.refactoringChanges.showPreviewStrategy":"Show preview confirm when triggering some refactoring changes","preference.workbench.refactoringChanges.showPreviewStrategy.title":"Refactor Confirm","preference.tab.name":"Settings","preference.noResults":"No Setting Found Containing '{0}'","preference.empty":"Loading Settings...","preference.editSettingsJson":"Edit in settings.json","preference.overwritten":"(Overwritten by next scope)","preference.overwrittenInUser":"(Modified in User Settings)","preference.overwrittenInWorkspace":"(Modified in Workspace Settings)","preference.searchPlaceholder":"Search Settings...","preference.editor.formatOnSave":"Enable format on manual save.","preference.editor.formatOnSaveTimeout":"Timeout in milliseconds after which the formatting that is run on file save is cancelled.","preference.editor.formatOnSaveTimeoutError":"Aborted format on save after ${0}ms","preference.editor.maxTokenizationLineLength":"Max Tokenization Line Length","preference.editor.quickSuggestionsDelay":"Quick suggestions show delay (in ms) Defaults to 10 (ms)","preference.editor.largeFile":"Large File Size","preference.editor.streamLargeFile":"Use Stream For Large File","preference.editor.formatOnPaste":"Format On Paste","preference.files.eol":"EOL","preference.files.trimFinalNewlines":"Trim Final Newlines","preference.files.trimTrailingWhitespace":"Trim Trailing Whitespace","preference.files.insertFinalNewline":"Insert Final Newline","preference.editor.lineHeight":"Line Height","preference.editor.saveCodeActions":"Code Actions On Save","preference.editor.saveCodeActionsNotification":"Whether to notify when code operations run at save time","keymaps.tab.name":"Keyboard Shortcuts","preference.editor.wrapTab":"Wrap Editor Tabs","preference.editor.preferredFormatter":"Default Formatter","preference.editor.fontFamily":"Font Family","preference.editor.minimap":"minimap","preference.editor.forceReadOnly":"readOnly","preference.editor.renderLineHighlight":"Render Line Highlight","preference.editor.askIfDiff":"Error If File On Disk is newer","preference.editor.autoSave":"Editor Auto Save","preference.editor.autoSaveDelay":"Auto Save Delay","preference.editor.detectIndentation":"Auto Detect Indentation","preference.editor.bracketPairColorization.enabled":"Bracket Pair Colorization","preference.editor.fontWeight":"Font Weight","preference.editor.wordWrap":"Word Wrap","preference.editor.wordWrapColumn":"Word Wrap Length","preference.item.notValid":"{0} is not a valid option","editor.configuration.formatOnSaveTimeout":"Control the timeout time of formatting (ms). Effective Only when `#editor.formatOnSave#` enables.","editor.configuration.enablePreviewFromCodeNavigation":"Controls whether editors remain in preview when a code navigation is started from them. Preview editors do not keep open and are reused until explicitly set to be kept open (e.g. via double click or editing). This value is ignored when `#workbench.editor.enablePreview#` is disabled.","editor.configuration.wrapTab":"Controls whether to wrap editor tabs instead of scroll mode when tabs are beyond the visible area.","editor.configuration.askIfDiff":"When saving files, throw error if the file on disk has a newer version.","editor.configuration.autoSave":"Controls how dirty files are auto saved.","editor.configuration.autoSaveDelay":"Controls the delay in ms after which a dirty file is saved automatically. Only applies when `#editor.formatOnSave#` is set to 'Save After Delay'.","editor.configuration.forceReadOnly":"If Enable readOnly","editor.configuration.largeFileSize":"Custom size of the large file (B)","editor.configuration.streamLargeFile":"Read large files via stream when file size exceeds the configured threshold.","editor.configuration.fontFamily":"Controls the font family.","editor.configuration.fontWeight":'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.',"editor.configuration.lineDecorationsWidth":'The width reserved for line decorations (in px). Line decorations are placed between line numbers and the editor content. You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch. Defaults to 10.',"editor.configuration.lineNumbersMinChars":"Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits. Defaults to 5.","editor.configuration.wordWrapBreakBeforeCharacters":"Configure word wrapping characters. A break will be introduced before these characters. Defaults to '([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B'.","editor.configuration.wrappingStrategy":"Controls the algorithm that computes wrapping points.","editor.configuration.wordWrapBreakAfterCharacters":"Configure word wrapping characters. A break will be introduced after these characters. Defaults to ' })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63'.","editor.configuration.wordWrapMinified":"Force word wrapping when the text appears to be of a minified/generated file. Defaults to true.","editor.configuration.selectOnLineNumbers":"Should the corresponding line be selected when clicking on the line number? Defaults to true.","editor.configuration.revealHorizontalRightPadding":"When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle. This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport. Defaults to 30 (px).","editor.configuration.fixedOverflowWidgets":"Display overflow widgets as fixed.","editor.configuration.extraEditorClassName":"Class name to be added to the editor.","editor.configuration.ariaLabel":"The aria label for the editor's textarea (when it is focused).","editor.configuration.suggest.insertMode":"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.","editor.configuration.suggest.filterGraceful":"Controls whether filtering and sorting suggestions accounts for small typos.","editor.configuration.suggest.localityBonus":"Controls whether sorting favours words that appear close to the cursor.","editor.configuration.suggest.shareSuggestSelections":"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).","editor.configuration.suggest.snippetsPreventQuickSuggestions":"Controls whether an active snippet prevents quick suggestions.","editor.configuration.suggest.showIcons":"Controls whether to show or hide icons in suggestions.","editor.configuration.suggest.maxVisibleSuggestions":"Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).","editor.configuration.suggest.showMethods":"When enabled IntelliSense shows `method`-suggestions.","editor.configuration.suggest.showFunctions":"When enabled IntelliSense shows `function`-suggestions.","editor.configuration.suggest.showConstructors":"When enabled IntelliSense shows `constructor`-suggestions.","editor.configuration.suggest.showFields":"When enabled IntelliSense shows `field`-suggestions.","editor.configuration.suggest.showVariables":"When enabled IntelliSense shows `variable`-suggestions.","editor.configuration.suggest.showClasss":"When enabled IntelliSense shows `class`-suggestions.","editor.configuration.suggest.showStructs":"When enabled IntelliSense shows `struct`-suggestions.","editor.configuration.suggest.showInterfaces":"When enabled IntelliSense shows `interface`-suggestions.","editor.configuration.suggest.showModules":"When enabled IntelliSense shows `module`-suggestions.","editor.configuration.suggest.showPropertys":"When enabled IntelliSense shows `property`-suggestions.","editor.configuration.suggest.showEvents":"When enabled IntelliSense shows `event`-suggestions.","editor.configuration.suggest.showOperators":"When enabled IntelliSense shows `operator`-suggestions.","editor.configuration.suggest.showUnits":"When enabled IntelliSense shows `unit`-suggestions.","editor.configuration.suggest.showValues":"When enabled IntelliSense shows `value`-suggestions.","editor.configuration.suggest.showConstants":"When enabled IntelliSense shows `constant`-suggestions.","editor.configuration.suggest.showEnums":"When enabled IntelliSense shows `enum`-suggestions.","editor.configuration.suggest.showEnumMembers":"When enabled IntelliSense shows `enumMember`-suggestions.","editor.configuration.suggest.showKeywords":"When enabled IntelliSense shows `keyword`-suggestions.","editor.configuration.suggest.showTexts":"When enabled IntelliSense shows `text`-suggestions.","editor.configuration.suggest.showColors":"When enabled IntelliSense shows `color`-suggestions.","editor.configuration.suggest.showFiles":"When enabled IntelliSense shows `file`-suggestions.","editor.configuration.suggest.showReferences":"When enabled IntelliSense shows `reference`-suggestions.","editor.configuration.suggest.showCustomcolors":"When enabled IntelliSense shows `customcolor`-suggestions.","editor.configuration.suggest.showFolders":"When enabled IntelliSense shows `folder`-suggestions.","editor.configuration.suggest.showTypeParameters":"When enabled IntelliSense shows `typeParameter`-suggestions.","editor.configuration.suggest.showSnippets":"When enabled IntelliSense shows `snippet`-suggestions.","editor.configuration.suggest.showUsers":"When enabled IntelliSense shows `user`-suggestions.","editor.configuration.suggest.showIssues":"When enabled IntelliSense shows `issues`-suggestions.","editor.configuration.suggest.statusBar.visible":"Controls the visibility of the status bar at the bottom of the suggest widget.","editor.configuration.suggest.preview":"Enable or disable the rendering of the suggestion preview.","editor.configuration.suggest.details.visible":"Controls whether editor code completion expands details by default","editor.configuration.inlineSuggest.enabled":"Enable or disable the rendering of automatic inline completions.","editor.configuration.inlineSuggest.showToolbar":"Controls when to show the inline suggestion toolbar.","editor.configuration.inlineSuggest.showToolbar.always":"Show the inline suggestion toolbar whenever an inline suggestion is shown.","editor.configuration.inlineSuggest.showToolbar.onHover":"Show the inline suggestion toolbar when hovering over an inline suggestion.","editor.configuration.inlineSuggest.showToolbar.never":"Never show the inline suggestion toolbar.","editor.configuration.hover.enabled":"Controls whether the hover is shown.","editor.configuration.hover.delay":"Controls the delay in milliseconds after which the hover is shown.","editor.configuration.hover.sticky":"Controls whether the hover should remain visible when mouse is moved over it.","editor.configuration.hover.hidingDelay":"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be.","editor.configuration.hover.above":"Prefer showing hovers above the line, if there's space.","editor.configuration.experimental.stickyScroll":"Shows the nested current scopes during the scroll at the top of the editor.","editor.configuration.customCodeActionMenu.showHeaders":"Enabling this will show the code action menu with group headers, if the custom code action menu is enabled.","editor.configuration.useCustomCodeActionMenu":"Enabling this adjusts how the code action menu is rendered.","editor.configuration.letterSpacing":"Controls the letter spacing in pixels.","editor.configuration.lineNumbers":"Controls the display of line numbers.","editor.configuration.lineNumbers.off":"Line numbers are not rendered.","editor.configuration.lineNumbers.on":"Line numbers are rendered as absolute number.","editor.configuration.lineNumbers.relative":"Line numbers are rendered as distance in lines to cursor position.","editor.configuration.lineNumbers.interval":"Line numbers are rendered every 10 lines.","editor.configuration.renderFinalNewline":"Render last line number when the file ends with a newline.","editor.configuration.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.","editor.configuration.wordSeparators":"Characters that will be used as word separators when doing word related navigations or operations.","editor.configuration.tabSize":"The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","editor.configuration.insertSpaces":"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","editor.configuration.detectIndentation":"Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.","editor.configuration.roundedSelection":"Controls whether selections should have rounded corners.","editor.configuration.scrollBeyondLastLine":"Controls whether the editor will scroll beyond the last line.","editor.configuration.scrollBeyondLastColumn":"Controls the number of extra characters beyond which the editor will scroll horizontally.","editor.configuration.smoothScrolling":"Controls whether the editor will scroll using an animation.","editor.configuration.minimap.enabled":"Controls whether the minimap is shown.","editor.configuration.minimap.side":"Controls the side where to render the minimap.","editor.configuration.minimap.showSlider":"Controls whether the minimap slider is automatically hidden.","editor.configuration.minimap.renderCharacters":"Render the actual characters on a line as opposed to color blocks.","editor.configuration.minimap.maxColumn":"Limit the width of the minimap to render at most a certain number of columns.","editor.configuration.find.seedSearchStringFromSelection":"Controls whether the search string in the Find Widget is seeded from the editor selection.","editor.configuration.find.autoFindInSelection":"Controls whether the find operation is carried out on selected text or the entire file in the editor.","editor.configuration.find.globalFindClipboard":"Controls whether the Find Widget should read or modify the shared find clipboard on macOS.","editor.configuration.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.configuration.wordWrap.off":"Lines will never wrap.","editor.configuration.wordWrap.on":"Lines will wrap at the viewport width.","editor.configuration.wordWrap.wordWrapColumn":"Lines will wrap at `#editor.wordWrapColumn#`.","editor.configuration.wordWrap.bounded":"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.","editor.configuration.wordWrap":"Controls how lines should wrap.","editor.configuration.wordWrapColumn":"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.","editor.configuration.wrappingIndent.none":"No indentation. Wrapped lines begin at column 1.","editor.configuration.wrappingIndent.same":"Wrapped lines get the same indentation as the parent.","editor.configuration.wrappingIndent.indent":"Wrapped lines get +1 indentation toward the parent.","editor.configuration.wrappingIndent.deepIndent":"Wrapped lines get +2 indentation toward the parent.","editor.configuration.wrappingIndent":"Controls the indentation of wrapped lines.","editor.configuration.mouseWheelScrollSensitivity":"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","editor.configuration.fastScrollSensitivity":"Scrolling speed multiplier when pressing `Alt`.","editor.configuration.multiCursorModifier.ctrlCmd":"Maps to `Control` on Windows and Linux and to `Command` on macOS.","editor.configuration.multiCursorModifier.alt":"Maps to `Alt` on Windows and Linux and to `Option` on macOS.","editor.configuration.multiCursorMergeOverlapping":"Merge multiple cursors when they are overlapping.","editor.configuration.quickSuggestions.strings":"Enable quick suggestions inside strings.","editor.configuration.quickSuggestions.comments":"Enable quick suggestions inside comments.","editor.configuration.quickSuggestions.other":"Enable quick suggestions outside of strings and comments.","editor.configuration.quickSuggestions":"Controls whether suggestions should automatically show up while typing.","editor.configuration.quickSuggestionsDelay":"Controls the delay in milliseconds after which quick suggestions will show up.","editor.configuration.parameterHints.enabled":"Enables a pop-up that shows parameter documentation and type information as you type.","editor.configuration.parameterHints.cycle":"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","editor.configuration.autoClosingBrackets.languageDefined":"Use language configurations to determine when to autoclose brackets.","editor.configuration.autoClosingBrackets.beforeWhitespace":"Autoclose brackets only when the cursor is to the left of whitespace.","editor.configuration.autoClosingBrackets":"Controls whether the editor should automatically close brackets after the user adds an opening bracket.","editor.configuration.autoClosingQuotes.languageDefined":"Use language configurations to determine when to autoclose quotes.","editor.configuration.autoClosingQuotes.beforeWhitespace":"Autoclose quotes only when the cursor is to the left of whitespace.","editor.configuration.autoClosingQuotes":"Controls whether the editor should automatically close quotes after the user adds an opening quote.","editor.configuration.autoSurround.languageDefined":"Use language configurations to determine when to automatically surround selections.","editor.configuration.autoSurround.brackets":"Surround with brackets but not quotes.","editor.configuration.autoSurround.quotes":"Surround with quotes but not brackets.","editor.configuration.autoSurround":"Controls whether the editor should automatically surround selections.","editor.configuration.formatOnType":"Controls whether the editor should automatically format the line after typing.","editor.configuration.formatOnPaste":"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.","editor.configuration.autoIndent":"Controls whether the editor should automatically adjust the indentation when users type, paste or move lines. Extensions with indentation rules of the language must be available.","editor.configuration.suggestOnTriggerCharacters":"Controls whether suggestions should automatically show up when typing trigger characters.","editor.configuration.acceptSuggestionOnEnterSmart":"Only accept a suggestion with `Enter` when it makes a textual change.","editor.configuration.acceptSuggestionOnEnter":"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.","editor.configuration.acceptSuggestionOnCommitCharacter":"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.","editor.configuration.snippetSuggestions.top":"Show snippet suggestions on top of other suggestions.","editor.configuration.snippetSuggestions.bottom":"Show snippet suggestions below other suggestions.","editor.configuration.snippetSuggestions.inline":"Show snippets suggestions with other suggestions.","editor.configuration.snippetSuggestions.none":"Do not show snippet suggestions.","editor.configuration.snippetSuggestions":"Controls whether snippets are shown with other suggestions and how they are sorted.","editor.configuration.emptySelectionClipboard":"Controls whether copying without a selection copies the current line.","editor.configuration.copyWithSyntaxHighlighting":"Controls whether syntax highlighting should be copied into the clipboard.","editor.configuration.wordBasedSuggestions":"Controls whether completions should be computed based on words in the document.","editor.configuration.suggestSelection.first":"Always select the first suggestion.","editor.configuration.suggestSelection.recentlyUsed":"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.","editor.configuration.suggestSelection.recentlyUsedByPrefix":"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.","editor.configuration.suggestSelection":"Controls how suggestions are pre-selected when showing the suggest list.","editor.configuration.suggestFontSize":"Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.","editor.configuration.suggestLineHeight":"Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.","editor.configuration.tabCompletion.on":"Tab complete will insert the best matching suggestion when pressing tab.","editor.configuration.tabCompletion.off":"Disable tab completions.","editor.configuration.tabCompletion.onlySnippets":"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","editor.configuration.tabCompletion":"Enables tab completions.","editor.configuration.suggest.filtered":"Controls whether some suggestion types should be filtered from IntelliSense. A list of suggestion types can be found here: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions.","editor.configuration.suggest.filtered.method":"When set to `false` IntelliSense never shows `method` suggestions.","editor.configuration.suggest.filtered.function":"When set to `false` IntelliSense never shows `function` suggestions.","editor.configuration.suggest.filtered.constructor":"When set to `false` IntelliSense never shows `constructor` suggestions.","editor.configuration.suggest.filtered.field":"When set to `false` IntelliSense never shows `field` suggestions.","editor.configuration.suggest.filtered.variable":"When set to `false` IntelliSense never shows `variable` suggestions.","editor.configuration.suggest.filtered.class":"When set to `false` IntelliSense never shows `class` suggestions.","editor.configuration.suggest.filtered.struct":"When set to `false` IntelliSense never shows `struct` suggestions.","editor.configuration.suggest.filtered.interface":"When set to `false` IntelliSense never shows `interface` suggestions.","editor.configuration.suggest.filtered.module":"When set to `false` IntelliSense never shows `module` suggestions.","editor.configuration.suggest.filtered.property":"When set to `false` IntelliSense never shows `property` suggestions.","editor.configuration.suggest.filtered.event":"When set to `false` IntelliSense never shows `event` suggestions.","editor.configuration.suggest.filtered.operator":"When set to `false` IntelliSense never shows `operator` suggestions.","editor.configuration.suggest.filtered.unit":"When set to `false` IntelliSense never shows `unit` suggestions.","editor.configuration.suggest.filtered.value":"When set to `false` IntelliSense never shows `value` suggestions.","editor.configuration.suggest.filtered.constant":"When set to `false` IntelliSense never shows `constant` suggestions.","editor.configuration.suggest.filtered.enum":"When set to `false` IntelliSense never shows `enum` suggestions.","editor.configuration.suggest.filtered.enumMember":"When set to `false` IntelliSense never shows `enumMember` suggestions.","editor.configuration.suggest.filtered.keyword":"When set to `false` IntelliSense never shows `keyword` suggestions.","editor.configuration.suggest.filtered.text":"When set to `false` IntelliSense never shows `text` suggestions.","editor.configuration.suggest.filtered.color":"When set to `false` IntelliSense never shows `color` suggestions.","editor.configuration.suggest.filtered.file":"When set to `false` IntelliSense never shows `file` suggestions.","editor.configuration.suggest.filtered.reference":"When set to `false` IntelliSense never shows `reference` suggestions.","editor.configuration.suggest.filtered.customcolor":"When set to `false` IntelliSense never shows `customcolor` suggestions.","editor.configuration.suggest.filtered.folder":"When set to `false` IntelliSense never shows `folder` suggestions.","editor.configuration.suggest.filtered.typeParameter":"When set to `false` IntelliSense never shows `typeParameter` suggestions.","editor.configuration.suggest.filtered.snippet":"When set to `false` IntelliSense never shows `snippet` suggestions.","editor.configuration.editor.gotoLocation.multiple":"Controls the behavior of 'Go To' commands, like Go To Definition, when multiple target locations exist.","editor.configuration.gotoLocation.multiple.peek":"Show peek view of the results (default)","editor.configuration.gotoLocation.multiple.gotoAndPeek":"Go to the primary result and show a peek view","editor.configuration.gotoLocation.multiple.goto":"Go to the primary result and enable peek-less navigation to others","editor.configuration.selectionHighlight":"Controls whether the editor should highlight matches similar to the selection.","editor.configuration.occurrencesHighlight":"Controls whether the editor should highlight semantic symbol occurrences.","editor.configuration.overviewRulerLanes":"Controls the number of decorations that can show up at the same position in the overview ruler.","editor.configuration.overviewRulerBorder":"Controls whether a border should be drawn around the overview ruler.","editor.configuration.cursorBlinking":"Control the cursor animation style.","editor.configuration.mouseWheelZoom":"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.","editor.configuration.cursorSmoothCaretAnimation":"Controls whether the smooth caret animation should be enabled.","editor.configuration.cursorStyle":"Controls the cursor style.","editor.configuration.cursorWidth":"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.","editor.configuration.fontLigatures":"Enables/Disables font ligatures.","editor.configuration.hideCursorInOverviewRuler":"Controls whether the cursor should be hidden in the overview ruler.","editor.configuration.renderWhitespace.boundary":"Render whitespace characters except for single spaces between words.","editor.configuration.renderWhitespace.selection":"Render whitespace characters only on selected text.","editor.configuration.renderWhitespace":"Controls how the editor should render whitespace characters.","editor.configuration.rename.enablePreview":"Enable/disable the ability to preview changes before renaming","editor.configuration.renderControlCharacters":"Controls whether the editor should render control characters.","editor.configuration.guides.indentation":"Controls whether the editor should render indent guides.","editor.configuration.guides.highlightActiveIndentation":"Controls whether the editor should highlight the active indent guide.","editor.configuration.guides.bracketPairs":"Controls whether bracket pair guides are enabled or not.","editor.configuration.renderLineHighlight.all":"Highlights both the gutter and the current line.","editor.configuration.renderLineHighlight":"Controls how the editor should render the current line highlight.","editor.configuration.codeLens":"Controls whether the editor shows CodeLens.","editor.configuration.folding":"Controls whether the editor has code folding enabled.","editor.configuration.foldingStrategy":"Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.","editor.configuration.showFoldingControls":"Controls whether the fold controls on the gutter are automatically hidden.","editor.configuration.matchBrackets":"Highlight matching brackets when one of them is selected.","editor.configuration.glyphMargin":"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.","editor.configuration.useTabStops":"Inserting and deleting whitespace follows tab stops.","editor.configuration.trimAutoWhitespace":"Remove trailing auto inserted whitespace.","editor.configuration.stablePeek":"Keep peek editors open even when double clicking their content or when hitting `Escape`.","editor.configuration.dragAndDrop":"Controls whether the editor should allow moving selections via drag and drop.","editor.configuration.accessibilitySupport.auto":"The editor will use platform APIs to detect when a Screen Reader is attached.","editor.configuration.accessibilitySupport.on":"The editor will be permanently optimized for usage with a Screen Reader.","editor.configuration.accessibilitySupport.off":"The editor will never be optimized for usage with a Screen Reader.","editor.configuration.accessibilitySupport":"Controls whether the editor should run in a mode where it is optimized for screen readers.","editor.configuration.showUnused":"Controls fading out of unused code.","editor.configuration.comments.insertSpace":"Insert a space after the line comment token and inside the block comments tokens.","editor.configuration.comments.ignoreEmptyLines":"Ignore empty lines when inserting line comments.","editor.configuration.links":"Controls whether the editor should detect links and make them clickable.","editor.configuration.colorDecorators":"Controls whether the editor should render the inline color decorators and color picker.","editor.configuration.lightbulb.enabled":"Enables the code action lightbulb in the editor.","editor.configuration.lightbulb.enabled.off":"Disable the code action menu.","editor.configuration.lightbulb.enabled.onCode":"Show the code action menu when the cursor is on lines with code.","editor.configuration.lightbulb.enabled.on":"Show the code action menu when the cursor is on lines with code or on empty lines.","editor.configuration.maxTokenizationLineLength":"Lines above this length will not be tokenized for performance reasons","editor.configuration.codeActionsOnSave.organizeImports":"Controls whether organize imports action should be run on file save.","editor.configuration.codeActionsOnSave.fixAll":"Controls whether auto fix action should be run on file save.","editor.configuration.codeActionsOnSave":"Code action kinds to be run on save.","editor.configuration.codeActionsOnSaveTimeout":"Timeout in milliseconds after which the code actions that are run on save are cancelled.","editor.configuration.codeActionsOnSaveNotification":"Whether to notify when code operations run at save time.","editor.configuration.selectionClipboard":"Controls whether the Linux primary clipboard should be supported.","editor.configuration.largeFileOptimizations":"Special handling for large files to disable certain memory intensive features.","editor.configuration.renderIndicators":"Controls whether the diff editor shows +/- indicators for added/removed changes.","editor.configuration.defaultFormatter":"Default code formatter","editor.configuration.tokenColorCustomizations":"Overwrite token colors of current color theme","editor.configuration.semanticHighlighting.enabled":"Controls whether the semanticHighlighting is shown for the languages that support it.","editor.configuration.semanticHighlighting.true":"Semantic highlighting enabled for all color themes.","editor.configuration.semanticHighlighting.false":"Semantic highlighting disabled for all color themes.","editor.configuration.semanticHighlighting.configuredByTheme":"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.","editor.configuration.experimental.stickyScroll.enabled":"Shows the nested current scopes during the scroll at the top of the editor.","editor.configuration.previewMode":"Enable Preview Mode","editor.configuration.workbench.editorAssociations":'Configure glob patterns to editors (e.g. `"*.hex": "hexEditor.hexEdit"`). These have precedence over the default behavior.',"editor.configuration.preferredFormatter":"Preferred formatter for files","editor.configuration.bracketPairColorization.enabled":"Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.","editor.configuration.mouseBackForwardToNavigate":"Enables the use of mouse buttons four and five for commands 'Go Back' and 'Go Forward'.","editor.configuration.suggest.insertMode.insert":"Insert suggestion without overwriting text right of the cursor.","editor.configuration.suggest.insertMode.replace":"Insert suggestion and overwrite text right of the cursor.","editor.configuration.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.","diffEditor.configuration.renderSideBySide":"Controls whether the diff editor shows the diff side by side or inline.","diffEditor.configuration.ignoreTrimWhitespace":"Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.","diffEditor.action.toggleCollapseUnchangedRegions":"Toggle Collapse Unchanged Regions","multiDiffEditor.action.collapseFiles":"Collapse All Files","multiDiffEditor.action.expandFiles":"Expand All Files","editor.largeFile.prevent":"The file is too large, continuing to open it may cause lag or crash.","editor.autoSave.enum.off":"OFF","editor.autoSave.enum.editorFocusChange":"When editor focus changed","editor.autoSave.enum.afterDelay":"Save after delay","editor.autoSave.enum.windowLostFocus":"When window lost focus","editor.file.prevent.stillOpen":"Open Anyway","editor.workspaceSymbol.quickopen":"Search Workspace Symbol","editor.workspaceSymbolClass.quickopen":"Search Workspace Class Symbol","editor.workspaceSymbol.description":"Go to Symbol in Workspace","editor.workspaceSymbol.search":"Type to search for symbols","editor.workspaceSymbolClass.search":"Type to search for class symbols","editor.workspaceSymbol.notfound":"No symbols matching","editor.workspaceSymbolClass.notfound":"No class symbols matching","preference.diffEditor.renderSideBySide":"Render Side By Side","preference.diffEditor.ignoreTrimWhitespace":"Ignore Trim Whitespace","preference.mergeEditor.autoApplyNonConflictChanges":"Automatically apply non-conflicting changes","validate.tree.emptyFileNameError":"Please provide a file or folder name","validate.tree.fileNameStartsWithSlashError":"File or folder name cannot start with /","validate.tree.fileNameFollowOrStartWithSpaceWarning":"Leading or trailing spaces detected in file or folder name","validate.tree.fileNameExistsError":"File or folder **{0}** already exists. Please use a different name.","validate.tree.invalidFileNameError":"The name **{0}** is not available. Please use a different name.","editor.close.all":"Close All Editors","opened.editors.title":"OPENED EDITORS","opened.editors.save.all":"Save All","opened.editors.close.all":"Close All","opened.editors.close.byGroup":"Close files in the group","opened.editors.save.byGroup":"Save files in the group","opened.editors.empty":"No file is open in the editor","opened.editors.group.title":"GROUP {0}","opened.editors.open":"Open","opened.editors.openToTheSide":"Open To The Side","opened.editors.compare":"Compare With Current File","opened.editors.copyRelativePath":"Copy Relative Path","opened.editors.copyPath":"Copy Path","opened.editors.unsaved":"{0} unsaved","terminal.name":"Terminal","terminal.disconnected":"Terminal Already Disconnected","terminal.can.not.create":"Create Terminal Failed","terminal.can.not.reconnect":"Terminal Unavailable, Please","terminal.stop":"Stop The Terminal","terminal.try.reconnect":"Try To Reconnect The Terminal","terminal.try.recreate":"Try To Recreate The Terminal","terminal.new":"Create Terminal","terminal.new.type":"Create terminal by type","terminal.split":"Split Terminal","terminal.clear":"Remove All Terminals","terminal.clear.content":"Clear All Contents","terminal.independ":"Independent Terminal","terminal.maximum":"Maximum Terminal Panel","terminal.or":"Or","terminal.search":"Search","terminal.search.next":"Search Next","terminal.openWithPath":"Open In Integrated Terminal","terminal.remove":"Kill terminal","terminal.menu.search":"Search","terminal.menu.split":"Split","terminal.menu.rename":"Rename","terminal.menu.selectAll":"Select All","terminal.menu.copy":"Copy","terminal.menu.paste":"Paste","terminal.menu.clear":"Clear","terminal.menu.stop":"Stop","terminal.menu.stopGroup":"Stop Group","terminal.menu.clearGroups":"Clear All Terminals","terminal.menu.selectType":"Default Terminal Type","terminal.menu.moreSettings":"More Settings","terminal.menu.clearCurrentContent":"Clear","terminal.menu.selectCurrentContent":"Select All","terminal.menu.clearAllContents":"Clear All Terminals Content","terminal.menu.selectAllContent":"Select All Terminals Content","terminal.environment.changed":"Extensions have made changes to this terminal's environment","terminal.environment.changes":"Extensions want to make the following changes to the terminal's environment:","terminal.environment.removal":"Extensions want to remove these existing changes from the terminal's environment:","terminal.launchFail.cwdNotDirectory":'Starting directory (cwd) "{0}" is not a directory',"terminal.launchFail.cwdDoesNotExist":'Starting directory (cwd) "{0}" does not exist',"terminal.launchFail.executableIsNotFileOrSymlink":'Path to shell executable "{0}" is not a file or a symlink',"terminal.launchFail.executableDoesNotExist":'Path to shell executable "{0}" does not exist',"terminal.openFile":"Open file in editor","terminal.focusFolder":"Focus folder in explorer","terminal.openFolder":"Open folder in new window","terminal.relaunch":"Relaunch Terminal","terminal.toggleTerminal":"Toggle Terminal","terminal.killProcess":"Kill Process","terminal.process.unHealthy":"*This terminal session has been timed out and killed by the system. Please open a new terminal session to proceed with operations.","terminal.selectCWDForNewTerminal":"Select current working directory for new terminal","terminal.focusNext.inTerminalGroup":"Terminal: Focus Next Terminal in Terminal Group","terminal.focusPrevious.inTerminalGroup":"Terminal: Focus Previous Terminal in Terminal Group","terminal.ai.requesting":"AI Requesting...","terminal.ai.selectHint":"Use keyboard \u2191\u2193 to select a command, \u23CE to confirm command","terminal.ai.thinking":"AI Thinking...","terminal.ai.escClose":"Press ESC to close the dialog","terminal.ai.headerHint":"Use AI to get terminal input suggestions","terminal.ai.inputHint":"Eg. show current process pid","terminal.ai.inputSharpToGetHint":"Type # for AI Suggestions","terminal.ai.cannotGetTerminalConnection":"Cannot establish terminal connection, please provide feedback in the user group","view.command.show":"Show {0}","layout.tabbar.setting":"Open Preference Panel","debugger.menu.setValue":"Set Value","debugger.menu.setValue.param":"Please input the value of this variable","debugger.menu.copyValue":"Copy Value","debugger.menu.copyEvaluatePath":"Copy as Expression","debugger.menu.addToWatchExpressions":"Add to Watch","debugger.menu.restartFrame":"Restart Frame","debugger.menu.copyCallstack":"Copy Call Stack","theme.toggle":"Color Theme","theme.icon.toggle":"File Icon Theme","theme.productIcon.toggle":"Product Icon Theme","theme.base.vs":"Light Theme","theme.base.vs-dark":"Dark Theme","theme.base.hc":"High Contrast Themes","theme.current":"Current","theme.quickopen.plh":"Select Color Theme\uFF08Up/Down Keys to Preview\uFF09","theme.icon.quickopen.plh":"Select Icon Theme\uFF08Up/Down Keys to Preview\uFF09","theme.productIcon.quickopen.plh":"Select Product Icon Theme\uFF08Up/Down Keys to Preview\uFF09","preference.workbench.list.openMode":"Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable.","preference.workbench.list.openMode.title":"Tree/List open mode","keymaps.search.placeholder":"Type to search in keybindings","keymaps.search.keyboard.placeholder":"Type to search in keybindings","keymaps.header.command.title":"Command","keymaps.header.source.title":"Source","keymaps.header.keybinding.title":"Keybinding","keymaps.header.when.title":"When","keymaps.source.default":"DEFAULT","keymaps.source.user":"USER","keymaps.source.workspace":"WORKSPACE","keymaps.keybinding.full.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.partial.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.shadow.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.duplicate":"This shortcut is bound to the following {0} commands:","keymaps.keybinding.loading":"Setting keymaps ...","keymaps.keybinding.success":"Setting keymaps success","keymaps.keybinding.fail":"Setting keymaps fail","keymaps.keybinding.require":"keybinding value is required","keymaps.action.edit":"Edit","keymaps.action.add":"Add","keymaps.action.reset":"Reset","keymaps.action.clear":"Clear","keymaps.edit.placeholder":"Press Enter to save","keymaps.editorTitle.openSource":"Open Keymap ShortCut(JSON)","keymaps.editorTitle.openKeymap":"Open Keymap ShortCut","keymaps.commandId.title":"Command ID: {0}","keybinding.combination.tip":"({0}) was pressed, waiting for more keys","layout.tabbar.toggle":"Show/Hide Tab Panel","layout.tabbar.expand":"Maximize Tab Panel","layout.tabbar.retract":"Retract Tab Panel","layout.view.hide":"HIDE","layout.action.openView":"Open View ...","layout.openView.containerTitle":"SideBar / Panel","layout.openView.viewTitle":"{0} / View","marketplace.extension.update.now":"Update now","marketplace.extension.update.delay":"Update later","marketplace.extension.uninstall.failed":"Failed to uninstall","marketplace.extension.uninstall.failed.depended":'Cannot uninstall extension "{0}". Extension "{1}" depends on this.',"marketplace.extension.disabled.failed.depended":'Cannot disable extension "{0}". Extension "{1}" depends on this.',"marketplace.extension.reload.delay":"Restart later","marketplace.extension.reload.now":"Restart now","marketplace.extension.builtin":"Builtin","marketplace.extension.development":"Develop","marketplace.extension.enable":"Enable","marketplace.extension.disable":"Disable","marketplace.extension.enable.workspace":"Enable(workspace)","marketplace.extension.disable.workspace":"Disable(workspace)","marketplace.extension.enable.all":"Enable All Extensions","marketplace.extension.disable.all":"Disable All Extensions","marketplace.extension.install":"Install","marketplace.extension.container":"Extensions","marketplace.extension.empty.disabled":"No disabled extensions yet","marketplace.extension.notfound":"No Extension","marketplace.panel.hot":"Hot Extensions","marketplace.panel.search":"Search","marketplace.panel.enabled":"Enabled","marketplace.panel.disabled":"Disabled","marketplace.panel.tab.marketplace":"Marketplace","marketplace.panel.tab.placeholder.search":"Search from marketplace","marketplace.tab.installed":"Installed","marketplace.panel.tab.placeholder.installed":"Search from installed","marketplace.extension.findUpdate":"Find Extension {0} has new version {1}\uFF0CDo you want to update\uFF1F","marketplace.extension.updateAll":"Find multiple extensions that can be updated. Do you want to update all?","marketplace.extension.needreloadFromAll":"All extensions are updated and will take effect after reload window. Do you want to reload window now?","marketplace.extension.needreload":"Updating extension {0} is completed. Do you want to reload window now?","marketplace.extension.canupdate":"Can update","marketplace.extension.updating":"Updating","marketplace.extension.update":"Update","marketplace.extension.installing":"Installing","marketplace.extension.reloadrequire":"Require reload","marketplace.extension.uninstalling":"Uninstalling","marketplace.extension.uninstall":"Uninstall","marketplace.extension.uninstalled":"Uninstalled","marketplace.extension.readme":"Readme","marketplace.extension.changelog":"Changelog","marketplace.extension.dependencies":"Dependencies","marketplace.extension.otherVersion":"Install Other Version","marketplace.extension.currentVersion":"Current Version","marketplace.extension.installed":"Installed","marketplace.quickopen.install":"Install Extension","marketplace.quickopen.install.byReleaseId":"Install Extension (ReleaseId)","marketplace.quickopen.install.releaseId":"Extension ReleaseId","marketplace.quickopen.install.releaseId.required":"Extension Release ID is required","marketplace.quickopen.install.id":"Extension ID","marketplace.quickopen.install.id.required":"Extension ID is required","marketplace.quickopen.install.version.required":"Extension version is require","marketplace.quickopen.install.version.placeholder":"Extension version","marketplace.quickopen.install.error":"Install Extension has error",saveChangesMessage:"Do you want to save the changes you made to {0}?",saveNFilesChangesMessage:`Do you want to save these changes you made to {0} files?
33487
+ Values greater than or equal to 8 will be used as effective values.`,"status-bar.label.line":"Ln","status-bar.label.column":"Col","status-bar.label.selected":"Selected","status-bar.label.tabType.space":"Spaces","status-bar.label.tabType.tab":"Tab Size","status-bar.scm":"Source Control","status-bar.editor-selection":"Editor Selection","status-bar.editor-language":"Editor Language","status-bar.editor-encoding":"Editor Encoding","status-bar.editor-space":"Editor Space","status-bar.editor-eol":"Editor End Of Line","status-bar.editor-indentation":"Editor Indentation","status-bar.editor-langStatus":"Editor Language Status","editor.closeOtherEditors":"Close Others","status.editor.chooseLanguage":"Choose Language Mode","status.editor.goToLineCol":"Go to Line/Column","status.editor.chooseEncoding":"Choose Encoding","status.editor.changeEol":"Select End Of Line Sequence","edit.cut":"Cut","edit.copy":"Copy","edit.paste":"Paste","edit.selectAll":"Select All","editor.copyPath":"Copy Path","editor.copyRelativePath":"Copy Relative Path","editor.goBack":"Back","editor.goForward":"Forward","editor.quickOpen":"Go to File...","editor.editor.goToSymbol":"Go to Symbol...","editor.goToLine":"Go to Line...","editor.openType":"Open Type","editor.closeEditorsInOtherGroups":"Close Other Groups","editor.resetEditorGroups":"Reset Editor Group","editor.revert":"Revert Document","editor.tokenize.test":"Try Tokenize First Selection","quickopen.goToLine.defaultMessage":"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.","quickopen.goToLine.notValid":"Not A valid Editor","quickopen.goToLine.lineInfo":"Go To Line {0}","quickopen.goToLine.colInfo":" and Character {0}","quickopen.goToLine.desc":"Go to Line...","quickopen.command.placeholder":"Placeholder","quickopen.command.description":"Run IDE Command","quickopen.command.nohandler":"Cannot Find Anymore","quickopen.quickinput.prompt":"Press 'Enter' to confirm or 'Escape' to cancel","quickopen.tab.file":"File","quickopen.tab.class":"Class","quickopen.tab.symbol":"Symbol","quickopen.tab.command":"Command","quickopen.tab.goToLine":"Go To Line","quickopen.tab.tip.prefix":"Press","quickopen.tab.tip.suffix":"to switch","quickOpen.openOnTheRightSide":"Open on the side","explorer.title":"Explorer","explorer.electron.revealInFinder":"Reveal In Explorer","explorer.electron.openInSystemTerminal":"Open In Terminal","explorer.electron.openInSystemTerminal.error":"Open {0} In Terminal Fail: {1}","search.title":"Search","search.input.placeholder":"Enter search content","search.input.title":"Search","search.replace.title":"Replace","search.input.checkbox":"Display search rules","file-search.command.fileOpen.description":"Open File","file-search.command.fileOpen.placeholder":"Search File By Name(Append : To Go to Line or @ To Go to Symbol)","search.includes":"Files to include","search.includes.description":'Enter the file name or folder name, multiple separated by ","',"search.excludes":"Files to exclude","search.excludes.default.enable":"Enable default exclusions","search.replaceAll.label":"Replace All","search.replace.label":"Replace","search.files.result":"{0} results found in {1} files","search.CollapseDeepestExpandedLevelAction.label":"Collapse All","search.ExpandDeepestExpandedLevelAction.label":"Expand All","search.ClearSearchResultsAction.label":"Clear Search Results","search.RefreshAction.label":"Refresh","search.removeAll.occurrences.files.confirmation.message":"Are you sure to replace {0} of the {1} files","search.removeAll.occurrences.file.confirmation.message":"Are you sure to replace the {0} results in this file?","search.result.hide":"Hide","search.menu.copyAll":"Copy All","search.help.showIncludeRule":"View syntax rules","search.help.supportRule":"Support the following syntax rules:","search.help.excludeList":"Excluded items include:","search.help.concatRule":"Multiple conditional separation","search.help.matchOneOrMoreRule":"To match one or more characters in a path segment","search.help.matchOne":"To match on one character in a path segment","search.help.matchAny":"To match any number of path segments, including none","search.help.matchWithGroup":"To group conditions","search.help.matchRange":"To declare a range of characters to match","search.help.modify":"Modify","search.replace.buttonOK":"Replace","search.replace.buttonCancel":"Cancel","search.too.many.results":"Because your search terms are too loose, we only show some search results","search.fileReplaceChanges":"{0} \u2194 {1} (Replace Preview)","search.fileResults":"File results","search.fileResults.notfound":"No files matching","search.fileSymbolResults":"symbols ({0})","search.fileSymbolResults.notfound":"No symbols matching","search.historyMatches":"Recently Opened","search.replaceAll.occurrencesMessage":"Replaced {0} occurrences across {1} files with '{2}'.","search.replace.toggle.button.title":"Toggle Replace","search.caseDescription":"Match Case","search.wordsDescription":"Match Whole Word","search.regexDescription":"Use Regular Expression","search.includeIgnoredFiles":"Include Ignored Files","search.onlyOpenEditors":"Search only in Open Editors","search.noResultsFound":"No results found. Review your settings for configured exclusions and ignore files","quickopen.recent-commands":"recently used","quickopen.other-commands":"other commands","quickopen.commands.notfound":"No commands matchings",mSelection:"Selection","selection.all":"Select All","dialog.confirm":"confirm","dialog.file.name":"File Name","dialog.file.title":"Select Directory:","dialog.file.openLabel":"Open File:","dialog.file.saveLabel":"Save File:","dialog.file.close":"Close","dialog.file.ok":"OK","dialog.ensure":"OK","editorOpenType.code":"Code","editorOpenType.preview":"Preview","scm.title":"Source Control","scm.action.git.refresh":"Refresh","scm.action.git.commit":"Commit","scm.action.git.more":"More Actions","scm.statusbar.repo":"Repo","scm.provider.title":"Source Control Providers","scm.provider.empty":"No source control providers registered.","scm.provider.init":"Click to initialize a repository","scm.diff.change.next":"Next Change","scm.diff.change.previous":"Previous Change","scm.diff.toggle.renderSideBySide":"Toggle Inline View","scm.dirtyDiff.changes":"{0} of {1} changes","debug.action.add.smartAddConfiguration":"Smart Add Configuration","debug.action.add.configuration":"Add Configuration","debug.action.edit.configuration":"Edit Configuration","debug.action.open.launch.editor":"Open Launch Editor UI","debug.action.no.configuration":"No Configurations","debug.action.start":"Start Debugging","debug.action.open.configuration":"Open launch.json","debug.action.debug.console":"Debug Console","debug.action.step-into":"Step Into","debug.action.step-over":"Step Over","debug.action.step-out":"Step Out","debug.action.restart":"Restart","debug.action.pause":"Pause","debug.action.stop":"Stop","debug.action.disattach":"Disattach","debug.action.runToCursor":"Run to Cursor","debug.action.forceRunToCursor":"Force Run to Cursor","debug.breakpoint.toggle":"Enable/Disable Breakpoints","debug.breakpoint.removeAll":"Remove All Breakpoints","debug.breakpoint.uncaughtExceptions":"Uncaught Exceptions","debug.breakpoint.allExceptions":"All Exceptions","debug.watch.removeAll":"Remove All Expression","debug.watch.collapseAll":"Collapse All Expression","debug.watch.add":"Add Expression","debug.watch.notAvailable":"not available","debug.watch.edit":"Edit Expression","debug.watch.copyValue":"Copy Value","debug.watch.remove":"Remove Expression","debug.action.continue":"Continue","debug.console.panel.title":"Debug Console","debug.console.panel.default":"default","debug.console.filter.placeholder":"Filter (e.g. text, !exclude)","debug.console.clear":"Clear","debug.console.copy":"Copy","debug.console.copyAll":"Copy All","debug.console.collapseAll":"Collapse All","debug.console.followLink":"{0} + click to follow link","debug.console.input.placeholder":"Please start a debug session to evaluate expressions","debug.console.errorMessage":"Debug session initialization failed. See console for details.","debug.console.consoleCleared":"Console was cleared","debug.notSupported.type":'Debug type "{0}" is not supported, please check your launch config.',"debug.notSupported.any":"Debug is not supported, please check your launch config.","debug.stack.loadMore":"Load All Stack Frames","debug.stack.loading":"Loading...","debug.stack.showMoreAndOrigin":"Show {0} More: {1}","debug.breakpoint.deactive":"Deactivate Breakpoints","debug.breakpoint.active":"Activate Breakpoints","debug.threads.title":"THREADS","debug.watch.title":"WATCH","debug.callStack.title":"CALL STACK","debug.variables.title":"VARIABLES","debug.variables.view.memory":"View Binary Data","debug.variables.view.memory.prompt.hexEditor.notInstalled":"Inspecting binary data requires the Hex Editor extension.","debug.breakpoints.title":"BREAKPOINTS","debug.container.title":"Debug","debug.breakpoint.breakpointMessage":"Breakpoint","debug.breakpoint.logpointMessage":"Logpoint","debug.breakpoint.conditionalMessage":"Conditional Breakpoint","debug.breakpoint.unverified":"Unverified ","debug.breakpoint.disabled":"Disabled ","debug.breakpoint.blank":"Blank","debug.configuration.selectAutomaticDebugTypesHint":"Automatic Configuration","debug.configuration.selectAutomaticDebugTypes":"Select a Debug Type","debug.configuration.selectAutomaticDebugConfiguration":"Select a DebugConfiguration","debug.configuration.comment1":"Use IntelliSense to learn about possible attributes.","debug.configuration.comment2":"Hover to view descriptions of existing attributes.","debug.configuration.comment3":"For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387","debug.launch.existed":'Debug configuration "{0}" is already running',"debug.expression.log.placeholder":'Message to log when breakpoint is hit. Expressions within {} are interpolated. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.hit.placeholder":'Break when hit count condition is met. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.condition.placeholder":'Break when the expression evaluates to true. Press "Enter" to confirm and "Esc" to cancel.',"debug.expression.condition":"Expression","debug.expression.hitCondition":"Hit Count","debug.expression.logMessage":"Log Message","debug.menu.delete.breakpoint":"Delete Breakpoint","debug.menu.edit.breakpoint":"Edit Breakpoint","debug.menu.disable.breakpoint":"Disable Breakpoint","debug.menu.enable.breakpoint":"Enable Breakpoint","debug.menu.add.logpoint":"Add Log breakpoint","debug.menu.add.conditional":"Add Condition Breakpoint","debug.menu.add.breakpoint":"Add Breakpoint","debug.menu.disable.logpoint":"Disable Log Breakpoint","debug.menu.title.run":"Run or Debug...","debug.stack.frame.noSource":"Unknown","debug.stack.frame.because":"Because Of","debug.stack.frame.stopped":"Stopped","debug.stack.frame.running":"Running","debug.launch.configurations.debugType":"Type of configuration.","debug.launch.configurations.debugTypeNotRecognised":"The debug type is not recognized. Make sure that you have a corresponding debug extension installed and that it is enabled.","debug.launch.configurations.node2NotSupported":'"node2" is no longer supported, use "node" instead and set the "protocol" attribute to "inspector".',"debug.launch.configurations.debugName":"Name of configuration; appears in the launch configuration drop down menu.","debug.launch.configurations.debugRequest":'Request type of configuration. Can be "launch" or "attach".',"debug.launch.configurations.debugServer":"For debug extension development only: if a port is specified VS Code tries to connect to a debug adapter running in server mode","debug.launch.configurations.debugPrelaunchTask":"Task to run before debug session starts.","debug.launch.configurations.debugPostDebugTask":"Task to run after debug session ends.","debug.launch.configurations.debugWindowsConfiguration":"Windows specific launch configuration attributes.","debug.launch.configurations.debugOSXConfiguration":"OS X specific launch configuration attributes.","debug.launch.configurations.debugLinuxConfiguration":"Linux specific launch configuration attributes.","debug.launch.typeNotSupported":'The debug session type "{0}" is not supported.',"debug.launch.catchError":"There was an error starting the debug session, check the logs for more details.","debug.launch.view.template.button.addItem":"Add items","debug.launch.view.template.input.placeholder":"Please enter {0}","debug.launch.view.template.button.submit":"Add new configuration item","debug.launch.view.edit.inLaunchJson":"Edit in launch.json","debug.widget.exception.thrownWithId":"Exception has occurred: {0}","debug.widget.exception.thrown":"Exception has occurred.","output.tabbar.title":"Output","output.channel.none":"<no output yet>","output.configurationTitle":"Output settings","output.logWhenNoPanel":"Whether to output to the browser when no available panel","output.maxChannelLine":"Max channel message line length","output.maxChannelLineDesc":"Max channel message line length","output.enableLogHighlight":"Enable/disable Log Highlight","output.enableLogHighlightDesc":"Use Log language to tokenization log text, vscode-log extension is required","output.enableSmartScroll":"Enable/disable Smart scrolling","output.enableSmartScrollDesc":"Smart scrolling allows you to lock scrolling automatically when you click in the output view and unlocks when you click in the last line.","preference.menubar.mode.compact":"Controls whether the menu bar uses compact mode","preference.explorer.confirm.delete":"Controls whether the explorer should ask for confirmation when deleting a file via trash","preference.explorer.confirm.move":"Controls whether the explorer should ask for confirmation when moving a file","preference.files.watcherExclude":"Configure glob patterns of file paths to exclude from file watching. Patterns must match on absolute paths (i.e. prefix with ** or the full path to match properly). Changing this setting requires a restart. When you experience Code consuming lots of cpu time on startup, you can exclude large folders to reduce the initial load.","preference.files.exclude":"Configure glob patterns for excluding files and folders. For example, the files explorer decides which files and folders to show or hide based on this setting.","preference.search.exclude":"Configure glob patterns for excluding files and folders in searches. Inherits all glob patterns from the `#files.exclude#` setting.","preference.search.include":"Configure glob patterns for including files and folders in searches.","preference.files.watcherExclude.title":"Exclusion file watch `files.watcherExclude`","preference.search.exclude.title":"Search exclusion file `search.exclude`","preference.search.useReplacePreview":"Controls whether to open Replace Preview when selecting or replacing a match.","preference.search.searchOnType":"Controls whether to search as you type","preference.search.searchOnTypeDebouncePeriod":"Controls the debounce period of search as you type in milliseconds.","preference.files.exclude.title":"Exclude file display `files.exclude`","preference.array.additem":"Add","preference.files.associations.title":"File Association","preference.files.associations":'Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed.',"preference.files.encoding.title":"File Encoding","preference.files.encoding":"The default character set encoding to use when reading and writing files.","preference.files.autoGuessEncoding":"When enabled, the editor will attempt to guess the character set encoding when opening files. This setting can also be configured per language.","preference.files.autoGuessEncoding.title":"Auto Guess Encoding","preference.explorer.fileTree.indent.title":"Explorer: FileTree Indent","preference.explorer.fileTree.baseIndent.title":"Explorer: FileTree BaseIndent","preference.explorer.compactFolders.title":"Explorer: Compact Mode","preference.explorer.compactFolders":"Controls whether the explorer should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element. Useful for Java package structures, for example.","preference.explorer.autoReveal":"Controls whether the explorer should automatically reveal and select files when opening them.","preference.editorTitle.openSource":"Open Setting (JSON)","preference.editorTitle.openUserSource":"Open User Setting (JSON)","preference.editorTitle.openWorkspaceSource":"Open Workspace Setting (JSON)","preference.editorTitle.openPreference":"Open Setting","preference.view.saveLayoutWithWorkspace.title":"Controls whether the layout should bind with workspace","preference.stringArray.operate.delete":"Delete","preference.stringArray.operate.edit":"Edit","preference.stringArray.operate.editTip":"Press \u21B2","preference.stringArray.none":"None","preference.enum.default":"Default","preference.terminal.type":"Default Shell Type","preference.terminal.typeDesc":"To change the default type of create a new terminal","preference.terminal.fontFamily":"Terminal > Font Family","preference.terminal.fontSize":"Terminal > Font Size","preference.terminal.fontWeight":"Terminal > Font Weight","preference.terminal.lineHeight":"Terminal > Line Height","preference.terminal.cursorBlink":"Terminal > Cursor Blink","preference.terminal.scrollback":"Terminal > Cursor Scrollback","preference.terminal.integrated.shellArgs.linux":"Terminal > Shell Args Linux","preference.terminal.integrated.shellArgs.linuxDesc":"The command line arguments to use when on the Linux terminal. ","preference.terminal.integrated.copyOnSelection":"Terminal > Copy On Selection","preference.terminal.integrated.copyOnSelectionDesc":"Controls whether text selected in the terminal will be copied to the clipboard.","preference.terminal.integrated.localEchoEnabled":"Terminal > Local Echo","preference.terminal.integrated.localEchoDesc":"When local echo should be enabled.","preference.terminal.integrated.localEchoLatencyThreshold":"Local Echo Latency Threshold","preference.terminal.integrated.localEchoLatencyThresholdDesc":"Length of network delay, in milliseconds, where local edits will be echoed on the terminal without waiting for server acknowledgement. If '0', local echo will always be on, and if '-1' it will be disabled.","preference.terminal.integrated.localEchoExcludePrograms":"Local Echo Exclude Programs","preference.terminal.integrated.localEchoExcludeProgramsDesc":"Local echo will be disabled when any of these program names are found in the terminal title.","preference.terminal.integrated.localEchoStyle":"Local Echo Style","preference.terminal.integrated.localEchoStyleDesc":"Terminal style of locally echoed text; either a font style or an RGB color.","preference.terminal.integrated.xtermRenderType":"Xterm Render Type","preference.terminal.integrated.xtermRenderTypeDesc":"Choose Xterm render type, Webgl for better performance, Canvas better compatibility","preference.terminal.integrated.enablePersistentSessionDesc":"Persist terminal sessions/history for the workspace across window reloads.","preference.terminal.integrated.cursorStyle":"Terminal > Cursor Style","preference.terminal.integrated.cursorStyleDesc":"Control the style of terminal cursor","common.preference.open":"Settings","common.keymaps.open":"Keyboard Shortcut","common.about":"About","common.find":"Find","common.replace":"Replace","common.remoteMode":"Remote Mode","component.message.origin":"Origin","component.modal.okText":"OK","component.modal.cancelText":"Cancel","component.modal.justOkText":"OK","preference.tab.user":"User","preference.tab.workspace":"Workspace","settings.group.general":"General","settings.group.shortcut":"Shortcut","settings.group.editor":"Editor","settings.group.extension":"Extensions","settings.group.feature":"Feature","settings.group.view":"View","settings.group.terminal":"Terminal","preference.general.theme":"Theme","preference.general.icon":"File Icon Theme","preference.general.productIconTheme":"Product Icon Theme","preference.workbench.colorCustomizations":"Overwrite colors of current color theme","preference.general.language":"Language","preference.general.language.change.refresh.info":"After changing the language, it should be restarted to take effect. Will it be refreshed immediately?","preference.general.language.change.refresh.now":"Refresh","preference.general.language.change.refresh.later":"Later","preference.debug.internalConsoleOptions":"Controls when the internal debug console should open.","preference.debug.openDebug":"Controls when the debug view should open.","preference.debug.debugViewLocation":"Controls the location of the debug view.","preference.debug.trace":"Enable/disable tracing communications with debug adapters.","preference.debug.allowBreakpointsEverywhere":"Allow setting breakpoints in any file.","preference.debug.toolbar.float.title":"Run And Debug: Float Mode","preference.debug.toolbar.float":"Float mode","preference.debug.console.filter.mode":"Debug console filter mode","preference.debug.console.filter.mode.filter":"filter","preference.debug.console.filter.mode.matcher":"matcher","preference.debug.console.wordWrap":"Controls if the lines should wrap in the debug console.","preference.debug.inline.values":"Show variable values inline in editor while debugging.","preference.debug.breakpoint.editorHint":"After enabling, there will be a background color blinking prompt when clicking on the breakpoint list to jump to the editor.","preference.debug.breakpoint.showBreakpointsInOverviewRuler":"Controls whether breakpoints should be shown in the overview ruler.","preference.workbench.refactoringChanges.showPreviewStrategy":"Show preview confirm when triggering some refactoring changes","preference.workbench.refactoringChanges.showPreviewStrategy.title":"Refactor Confirm","preference.tab.name":"Settings","preference.noResults":"No Setting Found Containing '{0}'","preference.empty":"Loading Settings...","preference.editSettingsJson":"Edit in settings.json","preference.overwritten":"(Overwritten by next scope)","preference.overwrittenInUser":"(Modified in User Settings)","preference.overwrittenInWorkspace":"(Modified in Workspace Settings)","preference.searchPlaceholder":"Search Settings...","preference.editor.formatOnSave":"Enable format on manual save.","preference.editor.formatOnSaveTimeout":"Timeout in milliseconds after which the formatting that is run on file save is cancelled.","preference.editor.formatOnSaveTimeoutError":"Aborted format on save after ${0}ms","preference.editor.maxTokenizationLineLength":"Max Tokenization Line Length","preference.editor.quickSuggestionsDelay":"Quick suggestions show delay (in ms) Defaults to 10 (ms)","preference.editor.largeFile":"Large File Size","preference.editor.formatOnPaste":"Format On Paste","preference.files.eol":"EOL","preference.files.trimFinalNewlines":"Trim Final Newlines","preference.files.trimTrailingWhitespace":"Trim Trailing Whitespace","preference.files.insertFinalNewline":"Insert Final Newline","preference.editor.lineHeight":"Line Height","preference.editor.saveCodeActions":"Code Actions On Save","preference.editor.saveCodeActionsNotification":"Whether to notify when code operations run at save time","keymaps.tab.name":"Keyboard Shortcuts","preference.editor.wrapTab":"Wrap Editor Tabs","preference.editor.preferredFormatter":"Default Formatter","preference.editor.fontFamily":"Font Family","preference.editor.minimap":"minimap","preference.editor.forceReadOnly":"readOnly","preference.editor.renderLineHighlight":"Render Line Highlight","preference.editor.askIfDiff":"Error If File On Disk is newer","preference.editor.autoSave":"Editor Auto Save","preference.editor.autoSaveDelay":"Auto Save Delay","preference.editor.detectIndentation":"Auto Detect Indentation","preference.editor.bracketPairColorization.enabled":"Bracket Pair Colorization","preference.editor.fontWeight":"Font Weight","preference.editor.wordWrap":"Word Wrap","preference.editor.wordWrapColumn":"Word Wrap Length","preference.item.notValid":"{0} is not a valid option","editor.configuration.formatOnSaveTimeout":"Control the timeout time of formatting (ms). Effective Only when `#editor.formatOnSave#` enables.","editor.configuration.enablePreviewFromCodeNavigation":"Controls whether editors remain in preview when a code navigation is started from them. Preview editors do not keep open and are reused until explicitly set to be kept open (e.g. via double click or editing). This value is ignored when `#workbench.editor.enablePreview#` is disabled.","editor.configuration.wrapTab":"Controls whether to wrap editor tabs instead of scroll mode when tabs are beyond the visible area.","editor.configuration.askIfDiff":"When saving files, throw error if the file on disk has a newer version.","editor.configuration.autoSave":"Controls how dirty files are auto saved.","editor.configuration.autoSaveDelay":"Controls the delay in ms after which a dirty file is saved automatically. Only applies when `#editor.formatOnSave#` is set to 'Save After Delay'.","editor.configuration.forceReadOnly":"If Enable readOnly","editor.configuration.largeFileSize":"Custom size of the large file (B)","editor.configuration.fontFamily":"Controls the font family.","editor.configuration.fontWeight":'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.',"editor.configuration.lineDecorationsWidth":'The width reserved for line decorations (in px). Line decorations are placed between line numbers and the editor content. You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch. Defaults to 10.',"editor.configuration.lineNumbersMinChars":"Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits. Defaults to 5.","editor.configuration.wordWrapBreakBeforeCharacters":"Configure word wrapping characters. A break will be introduced before these characters. Defaults to '([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B'.","editor.configuration.wrappingStrategy":"Controls the algorithm that computes wrapping points.","editor.configuration.wordWrapBreakAfterCharacters":"Configure word wrapping characters. A break will be introduced after these characters. Defaults to ' })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63'.","editor.configuration.wordWrapMinified":"Force word wrapping when the text appears to be of a minified/generated file. Defaults to true.","editor.configuration.selectOnLineNumbers":"Should the corresponding line be selected when clicking on the line number? Defaults to true.","editor.configuration.revealHorizontalRightPadding":"When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle. This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport. Defaults to 30 (px).","editor.configuration.fixedOverflowWidgets":"Display overflow widgets as fixed.","editor.configuration.extraEditorClassName":"Class name to be added to the editor.","editor.configuration.ariaLabel":"The aria label for the editor's textarea (when it is focused).","editor.configuration.suggest.insertMode":"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.","editor.configuration.suggest.filterGraceful":"Controls whether filtering and sorting suggestions accounts for small typos.","editor.configuration.suggest.localityBonus":"Controls whether sorting favours words that appear close to the cursor.","editor.configuration.suggest.shareSuggestSelections":"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).","editor.configuration.suggest.snippetsPreventQuickSuggestions":"Controls whether an active snippet prevents quick suggestions.","editor.configuration.suggest.showIcons":"Controls whether to show or hide icons in suggestions.","editor.configuration.suggest.maxVisibleSuggestions":"Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).","editor.configuration.suggest.showMethods":"When enabled IntelliSense shows `method`-suggestions.","editor.configuration.suggest.showFunctions":"When enabled IntelliSense shows `function`-suggestions.","editor.configuration.suggest.showConstructors":"When enabled IntelliSense shows `constructor`-suggestions.","editor.configuration.suggest.showFields":"When enabled IntelliSense shows `field`-suggestions.","editor.configuration.suggest.showVariables":"When enabled IntelliSense shows `variable`-suggestions.","editor.configuration.suggest.showClasss":"When enabled IntelliSense shows `class`-suggestions.","editor.configuration.suggest.showStructs":"When enabled IntelliSense shows `struct`-suggestions.","editor.configuration.suggest.showInterfaces":"When enabled IntelliSense shows `interface`-suggestions.","editor.configuration.suggest.showModules":"When enabled IntelliSense shows `module`-suggestions.","editor.configuration.suggest.showPropertys":"When enabled IntelliSense shows `property`-suggestions.","editor.configuration.suggest.showEvents":"When enabled IntelliSense shows `event`-suggestions.","editor.configuration.suggest.showOperators":"When enabled IntelliSense shows `operator`-suggestions.","editor.configuration.suggest.showUnits":"When enabled IntelliSense shows `unit`-suggestions.","editor.configuration.suggest.showValues":"When enabled IntelliSense shows `value`-suggestions.","editor.configuration.suggest.showConstants":"When enabled IntelliSense shows `constant`-suggestions.","editor.configuration.suggest.showEnums":"When enabled IntelliSense shows `enum`-suggestions.","editor.configuration.suggest.showEnumMembers":"When enabled IntelliSense shows `enumMember`-suggestions.","editor.configuration.suggest.showKeywords":"When enabled IntelliSense shows `keyword`-suggestions.","editor.configuration.suggest.showTexts":"When enabled IntelliSense shows `text`-suggestions.","editor.configuration.suggest.showColors":"When enabled IntelliSense shows `color`-suggestions.","editor.configuration.suggest.showFiles":"When enabled IntelliSense shows `file`-suggestions.","editor.configuration.suggest.showReferences":"When enabled IntelliSense shows `reference`-suggestions.","editor.configuration.suggest.showCustomcolors":"When enabled IntelliSense shows `customcolor`-suggestions.","editor.configuration.suggest.showFolders":"When enabled IntelliSense shows `folder`-suggestions.","editor.configuration.suggest.showTypeParameters":"When enabled IntelliSense shows `typeParameter`-suggestions.","editor.configuration.suggest.showSnippets":"When enabled IntelliSense shows `snippet`-suggestions.","editor.configuration.suggest.showUsers":"When enabled IntelliSense shows `user`-suggestions.","editor.configuration.suggest.showIssues":"When enabled IntelliSense shows `issues`-suggestions.","editor.configuration.suggest.statusBar.visible":"Controls the visibility of the status bar at the bottom of the suggest widget.","editor.configuration.suggest.preview":"Enable or disable the rendering of the suggestion preview.","editor.configuration.suggest.details.visible":"Controls whether editor code completion expands details by default","editor.configuration.inlineSuggest.enabled":"Enable or disable the rendering of automatic inline completions.","editor.configuration.inlineSuggest.showToolbar":"Controls when to show the inline suggestion toolbar.","editor.configuration.inlineSuggest.showToolbar.always":"Show the inline suggestion toolbar whenever an inline suggestion is shown.","editor.configuration.inlineSuggest.showToolbar.onHover":"Show the inline suggestion toolbar when hovering over an inline suggestion.","editor.configuration.inlineSuggest.showToolbar.never":"Never show the inline suggestion toolbar.","editor.configuration.hover.enabled":"Controls whether the hover is shown.","editor.configuration.hover.delay":"Controls the delay in milliseconds after which the hover is shown.","editor.configuration.hover.sticky":"Controls whether the hover should remain visible when mouse is moved over it.","editor.configuration.hover.hidingDelay":"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be.","editor.configuration.hover.above":"Prefer showing hovers above the line, if there's space.","editor.configuration.experimental.stickyScroll":"Shows the nested current scopes during the scroll at the top of the editor.","editor.configuration.customCodeActionMenu.showHeaders":"Enabling this will show the code action menu with group headers, if the custom code action menu is enabled.","editor.configuration.useCustomCodeActionMenu":"Enabling this adjusts how the code action menu is rendered.","editor.configuration.letterSpacing":"Controls the letter spacing in pixels.","editor.configuration.lineNumbers":"Controls the display of line numbers.","editor.configuration.lineNumbers.off":"Line numbers are not rendered.","editor.configuration.lineNumbers.on":"Line numbers are rendered as absolute number.","editor.configuration.lineNumbers.relative":"Line numbers are rendered as distance in lines to cursor position.","editor.configuration.lineNumbers.interval":"Line numbers are rendered every 10 lines.","editor.configuration.renderFinalNewline":"Render last line number when the file ends with a newline.","editor.configuration.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.","editor.configuration.wordSeparators":"Characters that will be used as word separators when doing word related navigations or operations.","editor.configuration.tabSize":"The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","editor.configuration.insertSpaces":"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","editor.configuration.detectIndentation":"Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.","editor.configuration.roundedSelection":"Controls whether selections should have rounded corners.","editor.configuration.scrollBeyondLastLine":"Controls whether the editor will scroll beyond the last line.","editor.configuration.scrollBeyondLastColumn":"Controls the number of extra characters beyond which the editor will scroll horizontally.","editor.configuration.smoothScrolling":"Controls whether the editor will scroll using an animation.","editor.configuration.minimap.enabled":"Controls whether the minimap is shown.","editor.configuration.minimap.side":"Controls the side where to render the minimap.","editor.configuration.minimap.showSlider":"Controls whether the minimap slider is automatically hidden.","editor.configuration.minimap.renderCharacters":"Render the actual characters on a line as opposed to color blocks.","editor.configuration.minimap.maxColumn":"Limit the width of the minimap to render at most a certain number of columns.","editor.configuration.find.seedSearchStringFromSelection":"Controls whether the search string in the Find Widget is seeded from the editor selection.","editor.configuration.find.autoFindInSelection":"Controls whether the find operation is carried out on selected text or the entire file in the editor.","editor.configuration.find.globalFindClipboard":"Controls whether the Find Widget should read or modify the shared find clipboard on macOS.","editor.configuration.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.configuration.wordWrap.off":"Lines will never wrap.","editor.configuration.wordWrap.on":"Lines will wrap at the viewport width.","editor.configuration.wordWrap.wordWrapColumn":"Lines will wrap at `#editor.wordWrapColumn#`.","editor.configuration.wordWrap.bounded":"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.","editor.configuration.wordWrap":"Controls how lines should wrap.","editor.configuration.wordWrapColumn":"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.","editor.configuration.wrappingIndent.none":"No indentation. Wrapped lines begin at column 1.","editor.configuration.wrappingIndent.same":"Wrapped lines get the same indentation as the parent.","editor.configuration.wrappingIndent.indent":"Wrapped lines get +1 indentation toward the parent.","editor.configuration.wrappingIndent.deepIndent":"Wrapped lines get +2 indentation toward the parent.","editor.configuration.wrappingIndent":"Controls the indentation of wrapped lines.","editor.configuration.mouseWheelScrollSensitivity":"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","editor.configuration.fastScrollSensitivity":"Scrolling speed multiplier when pressing `Alt`.","editor.configuration.multiCursorModifier.ctrlCmd":"Maps to `Control` on Windows and Linux and to `Command` on macOS.","editor.configuration.multiCursorModifier.alt":"Maps to `Alt` on Windows and Linux and to `Option` on macOS.","editor.configuration.multiCursorMergeOverlapping":"Merge multiple cursors when they are overlapping.","editor.configuration.quickSuggestions.strings":"Enable quick suggestions inside strings.","editor.configuration.quickSuggestions.comments":"Enable quick suggestions inside comments.","editor.configuration.quickSuggestions.other":"Enable quick suggestions outside of strings and comments.","editor.configuration.quickSuggestions":"Controls whether suggestions should automatically show up while typing.","editor.configuration.quickSuggestionsDelay":"Controls the delay in milliseconds after which quick suggestions will show up.","editor.configuration.parameterHints.enabled":"Enables a pop-up that shows parameter documentation and type information as you type.","editor.configuration.parameterHints.cycle":"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","editor.configuration.autoClosingBrackets.languageDefined":"Use language configurations to determine when to autoclose brackets.","editor.configuration.autoClosingBrackets.beforeWhitespace":"Autoclose brackets only when the cursor is to the left of whitespace.","editor.configuration.autoClosingBrackets":"Controls whether the editor should automatically close brackets after the user adds an opening bracket.","editor.configuration.autoClosingQuotes.languageDefined":"Use language configurations to determine when to autoclose quotes.","editor.configuration.autoClosingQuotes.beforeWhitespace":"Autoclose quotes only when the cursor is to the left of whitespace.","editor.configuration.autoClosingQuotes":"Controls whether the editor should automatically close quotes after the user adds an opening quote.","editor.configuration.autoSurround.languageDefined":"Use language configurations to determine when to automatically surround selections.","editor.configuration.autoSurround.brackets":"Surround with brackets but not quotes.","editor.configuration.autoSurround.quotes":"Surround with quotes but not brackets.","editor.configuration.autoSurround":"Controls whether the editor should automatically surround selections.","editor.configuration.formatOnType":"Controls whether the editor should automatically format the line after typing.","editor.configuration.formatOnPaste":"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.","editor.configuration.autoIndent":"Controls whether the editor should automatically adjust the indentation when users type, paste or move lines. Extensions with indentation rules of the language must be available.","editor.configuration.suggestOnTriggerCharacters":"Controls whether suggestions should automatically show up when typing trigger characters.","editor.configuration.acceptSuggestionOnEnterSmart":"Only accept a suggestion with `Enter` when it makes a textual change.","editor.configuration.acceptSuggestionOnEnter":"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.","editor.configuration.acceptSuggestionOnCommitCharacter":"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.","editor.configuration.snippetSuggestions.top":"Show snippet suggestions on top of other suggestions.","editor.configuration.snippetSuggestions.bottom":"Show snippet suggestions below other suggestions.","editor.configuration.snippetSuggestions.inline":"Show snippets suggestions with other suggestions.","editor.configuration.snippetSuggestions.none":"Do not show snippet suggestions.","editor.configuration.snippetSuggestions":"Controls whether snippets are shown with other suggestions and how they are sorted.","editor.configuration.emptySelectionClipboard":"Controls whether copying without a selection copies the current line.","editor.configuration.copyWithSyntaxHighlighting":"Controls whether syntax highlighting should be copied into the clipboard.","editor.configuration.wordBasedSuggestions":"Controls whether completions should be computed based on words in the document.","editor.configuration.suggestSelection.first":"Always select the first suggestion.","editor.configuration.suggestSelection.recentlyUsed":"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.","editor.configuration.suggestSelection.recentlyUsedByPrefix":"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.","editor.configuration.suggestSelection":"Controls how suggestions are pre-selected when showing the suggest list.","editor.configuration.suggestFontSize":"Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.","editor.configuration.suggestLineHeight":"Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.","editor.configuration.tabCompletion.on":"Tab complete will insert the best matching suggestion when pressing tab.","editor.configuration.tabCompletion.off":"Disable tab completions.","editor.configuration.tabCompletion.onlySnippets":"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","editor.configuration.tabCompletion":"Enables tab completions.","editor.configuration.suggest.filtered":"Controls whether some suggestion types should be filtered from IntelliSense. A list of suggestion types can be found here: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions.","editor.configuration.suggest.filtered.method":"When set to `false` IntelliSense never shows `method` suggestions.","editor.configuration.suggest.filtered.function":"When set to `false` IntelliSense never shows `function` suggestions.","editor.configuration.suggest.filtered.constructor":"When set to `false` IntelliSense never shows `constructor` suggestions.","editor.configuration.suggest.filtered.field":"When set to `false` IntelliSense never shows `field` suggestions.","editor.configuration.suggest.filtered.variable":"When set to `false` IntelliSense never shows `variable` suggestions.","editor.configuration.suggest.filtered.class":"When set to `false` IntelliSense never shows `class` suggestions.","editor.configuration.suggest.filtered.struct":"When set to `false` IntelliSense never shows `struct` suggestions.","editor.configuration.suggest.filtered.interface":"When set to `false` IntelliSense never shows `interface` suggestions.","editor.configuration.suggest.filtered.module":"When set to `false` IntelliSense never shows `module` suggestions.","editor.configuration.suggest.filtered.property":"When set to `false` IntelliSense never shows `property` suggestions.","editor.configuration.suggest.filtered.event":"When set to `false` IntelliSense never shows `event` suggestions.","editor.configuration.suggest.filtered.operator":"When set to `false` IntelliSense never shows `operator` suggestions.","editor.configuration.suggest.filtered.unit":"When set to `false` IntelliSense never shows `unit` suggestions.","editor.configuration.suggest.filtered.value":"When set to `false` IntelliSense never shows `value` suggestions.","editor.configuration.suggest.filtered.constant":"When set to `false` IntelliSense never shows `constant` suggestions.","editor.configuration.suggest.filtered.enum":"When set to `false` IntelliSense never shows `enum` suggestions.","editor.configuration.suggest.filtered.enumMember":"When set to `false` IntelliSense never shows `enumMember` suggestions.","editor.configuration.suggest.filtered.keyword":"When set to `false` IntelliSense never shows `keyword` suggestions.","editor.configuration.suggest.filtered.text":"When set to `false` IntelliSense never shows `text` suggestions.","editor.configuration.suggest.filtered.color":"When set to `false` IntelliSense never shows `color` suggestions.","editor.configuration.suggest.filtered.file":"When set to `false` IntelliSense never shows `file` suggestions.","editor.configuration.suggest.filtered.reference":"When set to `false` IntelliSense never shows `reference` suggestions.","editor.configuration.suggest.filtered.customcolor":"When set to `false` IntelliSense never shows `customcolor` suggestions.","editor.configuration.suggest.filtered.folder":"When set to `false` IntelliSense never shows `folder` suggestions.","editor.configuration.suggest.filtered.typeParameter":"When set to `false` IntelliSense never shows `typeParameter` suggestions.","editor.configuration.suggest.filtered.snippet":"When set to `false` IntelliSense never shows `snippet` suggestions.","editor.configuration.editor.gotoLocation.multiple":"Controls the behavior of 'Go To' commands, like Go To Definition, when multiple target locations exist.","editor.configuration.gotoLocation.multiple.peek":"Show peek view of the results (default)","editor.configuration.gotoLocation.multiple.gotoAndPeek":"Go to the primary result and show a peek view","editor.configuration.gotoLocation.multiple.goto":"Go to the primary result and enable peek-less navigation to others","editor.configuration.selectionHighlight":"Controls whether the editor should highlight matches similar to the selection.","editor.configuration.occurrencesHighlight":"Controls whether the editor should highlight semantic symbol occurrences.","editor.configuration.overviewRulerLanes":"Controls the number of decorations that can show up at the same position in the overview ruler.","editor.configuration.overviewRulerBorder":"Controls whether a border should be drawn around the overview ruler.","editor.configuration.cursorBlinking":"Control the cursor animation style.","editor.configuration.mouseWheelZoom":"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.","editor.configuration.cursorSmoothCaretAnimation":"Controls whether the smooth caret animation should be enabled.","editor.configuration.cursorStyle":"Controls the cursor style.","editor.configuration.cursorWidth":"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.","editor.configuration.fontLigatures":"Enables/Disables font ligatures.","editor.configuration.hideCursorInOverviewRuler":"Controls whether the cursor should be hidden in the overview ruler.","editor.configuration.renderWhitespace.boundary":"Render whitespace characters except for single spaces between words.","editor.configuration.renderWhitespace.selection":"Render whitespace characters only on selected text.","editor.configuration.renderWhitespace":"Controls how the editor should render whitespace characters.","editor.configuration.rename.enablePreview":"Enable/disable the ability to preview changes before renaming","editor.configuration.renderControlCharacters":"Controls whether the editor should render control characters.","editor.configuration.guides.indentation":"Controls whether the editor should render indent guides.","editor.configuration.guides.highlightActiveIndentation":"Controls whether the editor should highlight the active indent guide.","editor.configuration.guides.bracketPairs":"Controls whether bracket pair guides are enabled or not.","editor.configuration.renderLineHighlight.all":"Highlights both the gutter and the current line.","editor.configuration.renderLineHighlight":"Controls how the editor should render the current line highlight.","editor.configuration.codeLens":"Controls whether the editor shows CodeLens.","editor.configuration.folding":"Controls whether the editor has code folding enabled.","editor.configuration.foldingStrategy":"Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.","editor.configuration.showFoldingControls":"Controls whether the fold controls on the gutter are automatically hidden.","editor.configuration.matchBrackets":"Highlight matching brackets when one of them is selected.","editor.configuration.glyphMargin":"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.","editor.configuration.useTabStops":"Inserting and deleting whitespace follows tab stops.","editor.configuration.trimAutoWhitespace":"Remove trailing auto inserted whitespace.","editor.configuration.stablePeek":"Keep peek editors open even when double clicking their content or when hitting `Escape`.","editor.configuration.dragAndDrop":"Controls whether the editor should allow moving selections via drag and drop.","editor.configuration.accessibilitySupport.auto":"The editor will use platform APIs to detect when a Screen Reader is attached.","editor.configuration.accessibilitySupport.on":"The editor will be permanently optimized for usage with a Screen Reader.","editor.configuration.accessibilitySupport.off":"The editor will never be optimized for usage with a Screen Reader.","editor.configuration.accessibilitySupport":"Controls whether the editor should run in a mode where it is optimized for screen readers.","editor.configuration.showUnused":"Controls fading out of unused code.","editor.configuration.comments.insertSpace":"Insert a space after the line comment token and inside the block comments tokens.","editor.configuration.comments.ignoreEmptyLines":"Ignore empty lines when inserting line comments.","editor.configuration.links":"Controls whether the editor should detect links and make them clickable.","editor.configuration.colorDecorators":"Controls whether the editor should render the inline color decorators and color picker.","editor.configuration.lightbulb.enabled":"Enables the code action lightbulb in the editor.","editor.configuration.lightbulb.enabled.off":"Disable the code action menu.","editor.configuration.lightbulb.enabled.onCode":"Show the code action menu when the cursor is on lines with code.","editor.configuration.lightbulb.enabled.on":"Show the code action menu when the cursor is on lines with code or on empty lines.","editor.configuration.maxTokenizationLineLength":"Lines above this length will not be tokenized for performance reasons","editor.configuration.codeActionsOnSave.organizeImports":"Controls whether organize imports action should be run on file save.","editor.configuration.codeActionsOnSave.fixAll":"Controls whether auto fix action should be run on file save.","editor.configuration.codeActionsOnSave":"Code action kinds to be run on save.","editor.configuration.codeActionsOnSaveTimeout":"Timeout in milliseconds after which the code actions that are run on save are cancelled.","editor.configuration.codeActionsOnSaveNotification":"Whether to notify when code operations run at save time.","editor.configuration.selectionClipboard":"Controls whether the Linux primary clipboard should be supported.","editor.configuration.largeFileOptimizations":"Special handling for large files to disable certain memory intensive features.","editor.configuration.renderIndicators":"Controls whether the diff editor shows +/- indicators for added/removed changes.","editor.configuration.defaultFormatter":"Default code formatter","editor.configuration.tokenColorCustomizations":"Overwrite token colors of current color theme","editor.configuration.semanticHighlighting.enabled":"Controls whether the semanticHighlighting is shown for the languages that support it.","editor.configuration.semanticHighlighting.true":"Semantic highlighting enabled for all color themes.","editor.configuration.semanticHighlighting.false":"Semantic highlighting disabled for all color themes.","editor.configuration.semanticHighlighting.configuredByTheme":"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.","editor.configuration.experimental.stickyScroll.enabled":"Shows the nested current scopes during the scroll at the top of the editor.","editor.configuration.previewMode":"Enable Preview Mode","editor.configuration.workbench.editorAssociations":'Configure glob patterns to editors (e.g. `"*.hex": "hexEditor.hexEdit"`). These have precedence over the default behavior.',"editor.configuration.preferredFormatter":"Preferred formatter for files","editor.configuration.bracketPairColorization.enabled":"Controls whether bracket pair colorization is enabled or not. Use 'workbench.colorCustomizations' to override the bracket highlight colors.","editor.configuration.mouseBackForwardToNavigate":"Enables the use of mouse buttons four and five for commands 'Go Back' and 'Go Forward'.","editor.configuration.suggest.insertMode.insert":"Insert suggestion without overwriting text right of the cursor.","editor.configuration.suggest.insertMode.replace":"Insert suggestion and overwrite text right of the cursor.","editor.configuration.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.","diffEditor.configuration.renderSideBySide":"Controls whether the diff editor shows the diff side by side or inline.","diffEditor.configuration.ignoreTrimWhitespace":"Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.","diffEditor.action.toggleCollapseUnchangedRegions":"Toggle Collapse Unchanged Regions","multiDiffEditor.action.collapseFiles":"Collapse All Files","multiDiffEditor.action.expandFiles":"Expand All Files","editor.largeFile.prevent":"The file is too large, continuing to open it may cause lag or crash.","editor.autoSave.enum.off":"OFF","editor.autoSave.enum.editorFocusChange":"When editor focus changed","editor.autoSave.enum.afterDelay":"Save after delay","editor.autoSave.enum.windowLostFocus":"When window lost focus","editor.file.prevent.stillOpen":"Open Anyway","editor.workspaceSymbol.quickopen":"Search Workspace Symbol","editor.workspaceSymbolClass.quickopen":"Search Workspace Class Symbol","editor.workspaceSymbol.description":"Go to Symbol in Workspace","editor.workspaceSymbol.search":"Type to search for symbols","editor.workspaceSymbolClass.search":"Type to search for class symbols","editor.workspaceSymbol.notfound":"No symbols matching","editor.workspaceSymbolClass.notfound":"No class symbols matching","preference.diffEditor.renderSideBySide":"Render Side By Side","preference.diffEditor.ignoreTrimWhitespace":"Ignore Trim Whitespace","preference.mergeEditor.autoApplyNonConflictChanges":"Automatically apply non-conflicting changes","validate.tree.emptyFileNameError":"Please provide a file or folder name","validate.tree.fileNameStartsWithSlashError":"File or folder name cannot start with /","validate.tree.fileNameFollowOrStartWithSpaceWarning":"Leading or trailing spaces detected in file or folder name","validate.tree.fileNameExistsError":"File or folder **{0}** already exists. Please use a different name.","validate.tree.invalidFileNameError":"The name **{0}** is not available. Please use a different name.","editor.close.all":"Close All Editors","opened.editors.title":"OPENED EDITORS","opened.editors.save.all":"Save All","opened.editors.close.all":"Close All","opened.editors.close.byGroup":"Close files in the group","opened.editors.save.byGroup":"Save files in the group","opened.editors.empty":"No file is open in the editor","opened.editors.group.title":"GROUP {0}","opened.editors.open":"Open","opened.editors.openToTheSide":"Open To The Side","opened.editors.compare":"Compare With Current File","opened.editors.copyRelativePath":"Copy Relative Path","opened.editors.copyPath":"Copy Path","opened.editors.unsaved":"{0} unsaved","terminal.name":"Terminal","terminal.disconnected":"Terminal Already Disconnected","terminal.can.not.create":"Create Terminal Failed","terminal.can.not.reconnect":"Terminal Unavailable, Please","terminal.stop":"Stop The Terminal","terminal.try.reconnect":"Try To Reconnect The Terminal","terminal.try.recreate":"Try To Recreate The Terminal","terminal.new":"Create Terminal","terminal.new.type":"Create terminal by type","terminal.split":"Split Terminal","terminal.clear":"Remove All Terminals","terminal.clear.content":"Clear All Contents","terminal.independ":"Independent Terminal","terminal.maximum":"Maximum Terminal Panel","terminal.or":"Or","terminal.search":"Search","terminal.search.next":"Search Next","terminal.openWithPath":"Open In Integrated Terminal","terminal.remove":"Kill terminal","terminal.menu.search":"Search","terminal.menu.split":"Split","terminal.menu.rename":"Rename","terminal.menu.selectAll":"Select All","terminal.menu.copy":"Copy","terminal.menu.paste":"Paste","terminal.menu.clear":"Clear","terminal.menu.stop":"Stop","terminal.menu.stopGroup":"Stop Group","terminal.menu.clearGroups":"Clear All Terminals","terminal.menu.selectType":"Default Terminal Type","terminal.menu.moreSettings":"More Settings","terminal.menu.clearCurrentContent":"Clear","terminal.menu.selectCurrentContent":"Select All","terminal.menu.clearAllContents":"Clear All Terminals Content","terminal.menu.selectAllContent":"Select All Terminals Content","terminal.environment.changed":"Extensions have made changes to this terminal's environment","terminal.environment.changes":"Extensions want to make the following changes to the terminal's environment:","terminal.environment.removal":"Extensions want to remove these existing changes from the terminal's environment:","terminal.launchFail.cwdNotDirectory":'Starting directory (cwd) "{0}" is not a directory',"terminal.launchFail.cwdDoesNotExist":'Starting directory (cwd) "{0}" does not exist',"terminal.launchFail.executableIsNotFileOrSymlink":'Path to shell executable "{0}" is not a file or a symlink',"terminal.launchFail.executableDoesNotExist":'Path to shell executable "{0}" does not exist',"terminal.openFile":"Open file in editor","terminal.focusFolder":"Focus folder in explorer","terminal.openFolder":"Open folder in new window","terminal.relaunch":"Relaunch Terminal","terminal.toggleTerminal":"Toggle Terminal","terminal.killProcess":"Kill Process","terminal.process.unHealthy":"*This terminal session has been timed out and killed by the system. Please open a new terminal session to proceed with operations.","terminal.selectCWDForNewTerminal":"Select current working directory for new terminal","terminal.focusNext.inTerminalGroup":"Terminal: Focus Next Terminal in Terminal Group","terminal.focusPrevious.inTerminalGroup":"Terminal: Focus Previous Terminal in Terminal Group","terminal.ai.requesting":"AI Requesting...","terminal.ai.selectHint":"Use keyboard \u2191\u2193 to select a command, \u23CE to confirm command","terminal.ai.thinking":"AI Thinking...","terminal.ai.escClose":"Press ESC to close the dialog","terminal.ai.headerHint":"Use AI to get terminal input suggestions","terminal.ai.inputHint":"Eg. show current process pid","terminal.ai.inputSharpToGetHint":"Type # for AI Suggestions","terminal.ai.cannotGetTerminalConnection":"Cannot establish terminal connection, please provide feedback in the user group","view.command.show":"Show {0}","layout.tabbar.setting":"Open Preference Panel","debugger.menu.setValue":"Set Value","debugger.menu.setValue.param":"Please input the value of this variable","debugger.menu.copyValue":"Copy Value","debugger.menu.copyEvaluatePath":"Copy as Expression","debugger.menu.addToWatchExpressions":"Add to Watch","debugger.menu.restartFrame":"Restart Frame","debugger.menu.copyCallstack":"Copy Call Stack","theme.toggle":"Color Theme","theme.icon.toggle":"File Icon Theme","theme.productIcon.toggle":"Product Icon Theme","theme.base.vs":"Light Theme","theme.base.vs-dark":"Dark Theme","theme.base.hc":"High Contrast Themes","theme.current":"Current","theme.quickopen.plh":"Select Color Theme\uFF08Up/Down Keys to Preview\uFF09","theme.icon.quickopen.plh":"Select Icon Theme\uFF08Up/Down Keys to Preview\uFF09","theme.productIcon.quickopen.plh":"Select Product Icon Theme\uFF08Up/Down Keys to Preview\uFF09","preference.workbench.list.openMode":"Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable.","preference.workbench.list.openMode.title":"Tree/List open mode","keymaps.search.placeholder":"Type to search in keybindings","keymaps.search.keyboard.placeholder":"Type to search in keybindings","keymaps.header.command.title":"Command","keymaps.header.source.title":"Source","keymaps.header.keybinding.title":"Keybinding","keymaps.header.when.title":"When","keymaps.source.default":"DEFAULT","keymaps.source.user":"USER","keymaps.source.workspace":"WORKSPACE","keymaps.keybinding.full.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.partial.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.shadow.collide":'Contains conflict between this shortcut and "{0}" command, please reset',"keymaps.keybinding.duplicate":"This shortcut is bound to the following {0} commands:","keymaps.keybinding.loading":"Setting keymaps ...","keymaps.keybinding.success":"Setting keymaps success","keymaps.keybinding.fail":"Setting keymaps fail","keymaps.keybinding.require":"keybinding value is required","keymaps.action.edit":"Edit","keymaps.action.add":"Add","keymaps.action.reset":"Reset","keymaps.action.clear":"Clear","keymaps.edit.placeholder":"Press Enter to save","keymaps.editorTitle.openSource":"Open Keymap ShortCut(JSON)","keymaps.editorTitle.openKeymap":"Open Keymap ShortCut","keymaps.commandId.title":"Command ID: {0}","keybinding.combination.tip":"({0}) was pressed, waiting for more keys","layout.tabbar.toggle":"Show/Hide Tab Panel","layout.tabbar.expand":"Maximize Tab Panel","layout.tabbar.retract":"Retract Tab Panel","layout.view.hide":"HIDE","layout.action.openView":"Open View ...","layout.openView.containerTitle":"SideBar / Panel","layout.openView.viewTitle":"{0} / View","marketplace.extension.update.now":"Update now","marketplace.extension.update.delay":"Update later","marketplace.extension.uninstall.failed":"Failed to uninstall","marketplace.extension.uninstall.failed.depended":'Cannot uninstall extension "{0}". Extension "{1}" depends on this.',"marketplace.extension.disabled.failed.depended":'Cannot disable extension "{0}". Extension "{1}" depends on this.',"marketplace.extension.reload.delay":"Restart later","marketplace.extension.reload.now":"Restart now","marketplace.extension.builtin":"Builtin","marketplace.extension.development":"Develop","marketplace.extension.enable":"Enable","marketplace.extension.disable":"Disable","marketplace.extension.enable.workspace":"Enable(workspace)","marketplace.extension.disable.workspace":"Disable(workspace)","marketplace.extension.enable.all":"Enable All Extensions","marketplace.extension.disable.all":"Disable All Extensions","marketplace.extension.install":"Install","marketplace.extension.container":"Extensions","marketplace.extension.empty.disabled":"No disabled extensions yet","marketplace.extension.notfound":"No Extension","marketplace.panel.hot":"Hot Extensions","marketplace.panel.search":"Search","marketplace.panel.enabled":"Enabled","marketplace.panel.disabled":"Disabled","marketplace.panel.tab.marketplace":"Marketplace","marketplace.panel.tab.placeholder.search":"Search from marketplace","marketplace.tab.installed":"Installed","marketplace.panel.tab.placeholder.installed":"Search from installed","marketplace.extension.findUpdate":"Find Extension {0} has new version {1}\uFF0CDo you want to update\uFF1F","marketplace.extension.updateAll":"Find multiple extensions that can be updated. Do you want to update all?","marketplace.extension.needreloadFromAll":"All extensions are updated and will take effect after reload window. Do you want to reload window now?","marketplace.extension.needreload":"Updating extension {0} is completed. Do you want to reload window now?","marketplace.extension.canupdate":"Can update","marketplace.extension.updating":"Updating","marketplace.extension.update":"Update","marketplace.extension.installing":"Installing","marketplace.extension.reloadrequire":"Require reload","marketplace.extension.uninstalling":"Uninstalling","marketplace.extension.uninstall":"Uninstall","marketplace.extension.uninstalled":"Uninstalled","marketplace.extension.readme":"Readme","marketplace.extension.changelog":"Changelog","marketplace.extension.dependencies":"Dependencies","marketplace.extension.otherVersion":"Install Other Version","marketplace.extension.currentVersion":"Current Version","marketplace.extension.installed":"Installed","marketplace.quickopen.install":"Install Extension","marketplace.quickopen.install.byReleaseId":"Install Extension (ReleaseId)","marketplace.quickopen.install.releaseId":"Extension ReleaseId","marketplace.quickopen.install.releaseId.required":"Extension Release ID is required","marketplace.quickopen.install.id":"Extension ID","marketplace.quickopen.install.id.required":"Extension ID is required","marketplace.quickopen.install.version.required":"Extension version is require","marketplace.quickopen.install.version.placeholder":"Extension version","marketplace.quickopen.install.error":"Install Extension has error",saveChangesMessage:"Do you want to save the changes you made to {0}?",saveNFilesChangesMessage:`Do you want to save these changes you made to {0} files?
33488
33488
  {1}
33489
33489
 
33490
33490
  Your changes will be lost if you don't save them.`,"file.prompt.dontSave":"Don't Save","file.prompt.save":"Save","file.prompt.cancel":"Cancel","file.prompt.more.one":" and 1 additional file.","file.prompt.more.number":" and {0} additional files.","doc.saveError.failed":"File Saving Failed. Reason: ","doc.saveError.diff":"{0} cannot be saved because it has been modified by other editors.","doc.saveError.diffAndSave":"Compare...","doc.saveError.overwrite":"Overwrite","editor.compareAndSave.title":"{0} (on Disk) <=> {1} (Editing) ","workspace.openDirectory":"Open Directory","workspace.addFolderToWorkspace":"Add Folder to Workspace ...","workspace.removeFolderFromWorkspace":"Remove Folder From Workspace","workspace.saveWorkspaceAsFile":"Save Workspace As ...","workspace.openWorkspace":"Open Workspace","workspace.openWorkspaceTitle":"Workspace","window.toggleDevTools":"Toggle Developer Tools","window.reload":"Reload Window","outline.title":"OutLine","outline.noinfo":"No symbols found in document","outline.nomodel":"There is no outline information","outline.collapse.all":"Collapse All","outline.sort.kind":"Sort By SymbolKind","outline.sort.name":"Sort By SymbolName","outline.sort.position":"Sort By Position","outline.follow.cursor":"Follow Cursor","welcome.title":"Welcome","welcome.quickStart":"Quick Start","welcome.recent.workspace":"Recent Workspaces","welcome.workspace.noExist":"Workspace path not exist","markers.title":"Problems","markers.panel.content.empty":"No problems have been detected in the workspace so far.","markers.panel.filter.errors":"errors","markers.panel.filter.warnings":"warnings","markers.panel.filter.infos":"infos","markers.filter.placeholder":"Filter. E.g.: text, **/*.ts, !**/node_modules/**","markers.filter.content.empty":"No results found with provided filter criteria.","markers.filter.reset":"Clear Filter.","markers.status.no.problems":"No Problems","app.quit":"Quit","view.zoomReset":"Zoom Reset","view.zoomIn":"Zoom In","view.zoomOut":"Zoom Out",tabCompletion:"Enables tab completions.","tabCompletion.off":"Disable tab completions.","tabCompletion.on":"Tab complete will insert the best matching suggestion when pressing tab.","tabCompletion.onlySnippets":"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","extension.invalidExthostReload.confirm.content":"Extension Host Process is invalid. Click to refresh to resume the process.","extension.invalidExthostReload.confirm.ok":"Refresh","extension.invalidExthostReload.confirm.cancel":"Ignore and continue to use","extension.crashedExthostReload.confirm":"Extension Host Process is crashed, do you want to restart the process?","extension.exthostRestarting.content":"Extension Host Process is restarting","extension.host.restart":"Restart Extension Host Process","extension.no.view.found":`The view component registered with the plugin {0} could not be found.
@@ -33505,7 +33505,7 @@ your modifications. Are you sure to regenerate?`,"aiNative.resolve.conflict.mess
33505
33505
 
33506
33506
  - \u4ECB\u4E8E 0 \u548C 8 \u4E4B\u95F4\u7684\u503C\u5C06\u7528\u4F5C\u5B57\u53F7\u7684\u4E58\u6570\u3002
33507
33507
 
33508
- - \u5927\u4E8E 8 \u7684\u503C\u5C06\u7528\u4F5C\u6709\u6548\u503C\u3002`,"editor.copyPath":"\u590D\u5236\u8DEF\u5F84","editor.copyRelativePath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","editor.workspaceSymbol.quickopen":"\u641C\u7D22\u5DE5\u4F5C\u533A\u7B26\u53F7","editor.workspaceSymbolClass.quickopen":"\u641C\u7D22\u5DE5\u4F5C\u533A\u7C7B","editor.workspaceSymbol.description":"\u8DF3\u8F6C\u5DE5\u4F5C\u533A\u7B26\u53F7","editor.workspaceSymbol.search":"\u8BF7\u8F93\u5165\u8981\u641C\u7D22\u7684\u7B26\u53F7","editor.workspaceSymbolClass.search":"\u8BF7\u8F93\u5165\u8981\u641C\u7D22\u7684\u7C7B","editor.workspaceSymbol.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7B26\u53F7","editor.workspaceSymbolClass.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7C7B","edit.cut":"\u526A\u5207","edit.copy":"\u590D\u5236","edit.paste":"\u7C98\u8D34","edit.selectAll":"\u5168\u9009","editor.goBack":"\u5411\u540E","editor.goForward":"\u524D\u8FDB","editor.quickOpen":"\u8F6C\u5230\u6587\u4EF6...","editor.editor.goToSymbol":"\u8F6C\u5230\u7B26\u53F7...","editor.goToLine":"\u8F6C\u5230\u884C...","editor.openType":"\u6253\u5F00\u65B9\u5F0F","quickopen.goToLine.defaultMessage":"\u5F53\u524D\u884C: {0}\uFF0C \u5217: {1}\u3002 \u8BF7\u8F93\u5165\u8981\u8F6C\u5230\u7684\u884C\u53F7\uFF1A 1 \u81F3 {2} \u4E4B\u95F4\u7684\u6570\u5B57\u3002","quickopen.goToLine.notValid":"\u8BF7\u6253\u5F00\u4E00\u4E2A\u6709\u6548\u7684\u7F16\u8F91\u5668\u3002","quickopen.goToLine.lineInfo":"\u8F6C\u5230\u884C: {0}","quickopen.goToLine.colInfo":"\uFF0C\u5217: {0}","quickopen.goToLine.desc":"\u8F6C\u5230\u884C...","quickopen.command.placeholder":"\u8BF7\u8F93\u5165\u4F60\u8981\u6267\u884C\u7684\u547D\u4EE4","quickopen.command.description":"\u6267\u884C IDE \u9884\u8BBE\u7684\u547D\u4EE4","quickopen.command.nohandler":"\u627E\u4E0D\u5230\u7ED3\u679C","quickopen.quickinput.prompt":"\u8BF7\u6309 'Enter' \u786E\u8BA4\u6216 'Esc' \u53D6\u6D88","quickopen.tab.file":"\u6587\u4EF6","quickopen.tab.class":"\u7C7B","quickopen.tab.symbol":"\u7B26\u53F7","quickopen.tab.command":"\u6307\u4EE4","quickopen.tab.goToLine":"\u8F6C\u5230\u884C","quickopen.tab.tip.prefix":"\u6309","quickopen.tab.tip.suffix":"\u5207\u6362\u641C\u7D22\u7C7B\u522B","quickOpen.openOnTheRightSide":"\u5728\u4FA7\u8FB9\u6253\u5F00","explorer.title":"\u8D44\u6E90\u7BA1\u7406\u5668","explorer.electron.revealInFinder":"\u5728\u6587\u4EF6\u7CFB\u7EDF\u4E2D\u6253\u5F00","explorer.electron.openInSystemTerminal":"\u5728\u7CFB\u7EDF\u7EC8\u7AEF\u4E2D\u6253\u5F00","explorer.electron.openInSystemTerminal.error":"\u5728\u7CFB\u7EDF\u7EC8\u7AEF\u4E2D\u6253\u5F00 {0} \u5931\u8D25: {1}","search.title":"\u8DE8\u6587\u4EF6\u641C\u7D22","search.input.placeholder":"\u8F93\u5165\u641C\u7D22\u5185\u5BB9","search.input.title":"\u641C\u7D22","search.replace.title":"\u66FF\u6362","search.input.checkbox":"\u663E\u793A\u641C\u7D22\u6761\u4EF6","file-search.command.fileOpen.description":"\u6253\u5F00\u6587\u4EF6","file-search.command.fileOpen.placeholder":"\u6309\u540D\u79F0\u641C\u7D22\u6587\u4EF6\uFF08\u8FFD\u52A0:\u8F6C\u5230\u884C\u6216\u8FFD\u52A0 @ \u8F6C\u5230\u7B26\u53F7\uFF09","search.includes":"\u8981\u5305\u542B\u7684\u6587\u4EF6","search.includes.description":'\u8F93\u5165\u6587\u4EF6\u540D\u6216\u6587\u4EF6\u5939\u540D\uFF0C\u591A\u4E2A\u7528 ", " \u5206\u9694',"search.excludes":"\u8981\u6392\u9664\u7684\u6587\u4EF6","search.excludes.default.enable":"\u542F\u7528\u9ED8\u8BA4\u6392\u9664\u9879","search.replaceAll.label":"\u66FF\u6362\u5168\u90E8","search.replace.label":"\u66FF\u6362\u4E3A","search.files.result":"\u627E\u5230 {1} \u4E2A\u6587\u4EF6\uFF0C\u5171 {0} \u4E2A\u7ED3\u679C","search.CollapseDeepestExpandedLevelAction.label":"\u5168\u90E8\u6298\u53E0","search.ExpandDeepestExpandedLevelAction.label":"\u5168\u90E8\u5C55\u5F00","search.ClearSearchResultsAction.label":"\u6E05\u7A7A\u641C\u7D22\u7ED3\u679C","search.RefreshAction.label":"\u5237\u65B0","search.removeAll.occurrences.files.confirmation.message":"\u786E\u5B9A\u66FF\u6362 {1} \u4E2A\u6587\u4EF6\u4E2D\u7684 {0} \u4E2A\u7ED3\u679C\u5417?","search.removeAll.occurrences.file.confirmation.message":"\u786E\u5B9A\u66FF\u6362\u8BE5\u6587\u4EF6\u4E2D\u7684 {0} \u4E2A\u7ED3\u679C\u5417?","search.result.hide":"\u9690\u85CF","search.menu.copyAll":"\u5168\u90E8\u590D\u5236","search.help.showIncludeRule":"\u67E5\u770B\u8BED\u6CD5\u89C4\u5219","search.help.supportRule":"\u652F\u6301\u4EE5\u4E0B\u8BED\u6CD5\u89C4\u5219\uFF1A","search.help.excludeList":"\u5DF2\u6392\u9664\u9879\u5305\u542B\uFF1A","search.help.concatRule":"\u591A\u4E2A\u6761\u4EF6\u5206\u9694","search.help.matchOneOrMoreRule":"\u5339\u914D\u8DEF\u5F84\u6BB5\u4E2D\u7684\u4E00\u4E2A\u6216\u591A\u4E2A\u5B57\u7B26","search.help.matchOne":"\u5339\u914D\u8DEF\u5F84\u6BB5\u4E2D\u7684\u4E00\u4E2A\u5B57\u7B26","search.help.matchAny":"\u5339\u914D\u4EFB\u610F\u6570\u91CF\u7684\u8DEF\u5F84\u6BB5\uFF0C\u5305\u62EC\u65E0","search.help.matchWithGroup":"\u7EC4\u5408\u6761\u4EF6","search.help.matchRange":"\u5339\u914D\u7684\u5B57\u7B26\u8303\u56F4","search.help.modify":"\u4FEE\u6539","search.replace.buttonOK":"\u66FF\u6362","search.replace.buttonCancel":"\u53D6\u6D88","search.too.many.results":"\u7531\u4E8E\u60A8\u7684\u641C\u7D22\u6761\u4EF6\u8FC7\u4E8E\u758F\u677E\uFF0C\u6211\u4EEC\u4EC5\u5C55\u793A\u4E86\u90E8\u5206\u641C\u7D22\u7ED3\u679C","search.fileReplaceChanges":"{0} \u2194 {1} (\u66FF\u6362\u9884\u89C8)","search.fileResults":"\u6587\u4EF6\u7ED3\u679C","search.fileResults.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6","search.fileSymbolResults":"\u7B26\u53F7 ({0})","search.fileSymbolResults.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7B26\u53F7","search.historyMatches":"\u6700\u8FD1\u6253\u5F00","search.replaceAll.occurrencesMessage":"\u5DF2\u5C06 {1} \u4E2A\u6587\u4EF6\u4E2D\u51FA\u73B0\u7684 {0} \u5904\u66FF\u6362\u4E3A \u201C{2}\u201D\u3002","search.replace.toggle.button.title":"\u5207\u6362\u66FF\u6362","search.caseDescription":"\u533A\u5206\u5927\u5C0F\u5199","search.wordsDescription":"\u5168\u5B57\u5339\u914D","search.regexDescription":"\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F","search.includeIgnoredFiles":"\u5305\u542B\u5FFD\u7565\u7684\u6587\u4EF6","search.onlyOpenEditors":"\u4EC5\u5728\u5DF2\u6253\u5F00\u7684\u7F16\u8F91\u5668\u5185\u641C\u7D22","search.noResultsFound":"\u672A\u627E\u5230\u7ED3\u679C\u3002\u67E5\u770B\u60A8\u7684\u8BBE\u7F6E\u914D\u7F6E\u6392\u9664, \u5E76\u68C0\u67E5\u60A8\u7684 gitignore \u6587\u4EF6","quickopen.recent-commands":"\u6700\u8FD1\u4F7F\u7528","quickopen.other-commands":"\u5176\u4ED6\u547D\u4EE4","quickopen.commands.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u6307\u4EE4",mSelection:"\u9009\u62E9","selection.all":"\u9009\u62E9\u5168\u90E8","dialog.confirm":"\u77E5\u9053\u4E86","dialog.file.name":"\u6587\u4EF6\u540D","dialog.file.title":"\u5B58\u50A8\u76EE\u5F55\uFF1A","dialog.file.openLabel":"\u6253\u5F00\u6587\u4EF6\uFF1A","dialog.file.saveLabel":"\u4FDD\u5B58\u6587\u4EF6\uFF1A","dialog.file.close":"\u5173\u95ED","dialog.file.ok":"\u786E\u5B9A","dialog.ensure":"\u786E\u5B9A","editorOpenType.code":"\u4EE3\u7801","editorOpenType.preview":"\u9884\u89C8","scm.title":"\u6E90\u4EE3\u7801\u7BA1\u7406","scm.action.git.refresh":"\u5237\u65B0","scm.action.git.commit":"\u63D0\u4EA4","scm.action.git.more":"\u66F4\u591A\u64CD\u4F5C...","scm.statusbar.repo":"\u5F53\u524D\u4ED3\u5E93","scm.provider.title":"\u4EE3\u7801\u4ED3\u5E93\u5217\u8868","scm.provider.empty":"\u6CA1\u6709\u53EF\u7528\u7684\u6E90\u4EE3\u7801\u4ED3\u5E93","scm.provider.init":"\u70B9\u51FB\u521D\u59CB\u5316\u4ED3\u5E93","scm.diff.change.next":"\u4E0B\u4E00\u4E2A\u53D8\u5316","scm.diff.change.previous":"\u4E0A\u4E00\u4E2A\u53D8\u5316","scm.diff.toggle.renderSideBySide":"\u5207\u6362\u5185\u8054\u89C6\u56FE","scm.dirtyDiff.changes":"\u7B2C {0} \u4E2A\u66F4\u6539 (\u5171 {1} \u4E2A)","debug.action.start":"\u542F\u52A8\u8C03\u8BD5","debug.action.no.configuration":"\u6682\u65E0\u914D\u7F6E","debug.action.add.smartAddConfiguration":"\u667A\u80FD\u6DFB\u52A0\u914D\u7F6E","debug.action.add.configuration":"\u6DFB\u52A0\u914D\u7F6E","debug.action.edit.configuration":"\u7F16\u8F91\u914D\u7F6E","debug.action.open.launch.editor":"\u4F7F\u7528 UI \u6A21\u5F0F\u7F16\u8F91","debug.action.open.configuration":"\u6253\u5F00 launch.json","debug.action.debug.console":"\u8C03\u8BD5\u63A7\u5236\u53F0","debug.action.step-into":"\u5355\u6B65\u8DF3\u5165","debug.action.step-over":"\u5355\u6B65\u8DF3\u8FC7","debug.action.step-out":"\u5355\u6B65\u8DF3\u51FA","debug.action.restart":"\u91CD\u542F","debug.action.pause":"\u6682\u505C","debug.action.stop":"\u7EC8\u6B62","debug.action.disattach":"\u65AD\u5F00","debug.action.continue":"\u4E0B\u4E00\u6B65","debug.action.runToCursor":"\u8FD0\u884C\u5230\u5149\u6807\u5904","debug.action.forceRunToCursor":"\u5F3A\u5236\u8FD0\u884C\u5230\u5149\u6807\u5904","debug.console.panel.title":"\u8C03\u8BD5\u63A7\u5236\u53F0","debug.console.panel.default":"\u9ED8\u8BA4","debug.console.filter.placeholder":"\u7B5B\u9009\u5668(\u4F8B\u5982 text\u3001!exclude)","debug.console.clear":"\u6E05\u7A7A\u65E5\u5FD7","debug.console.copy":"\u590D\u5236","debug.console.copyAll":"\u590D\u5236\u5168\u90E8","debug.console.collapseAll":"\u6298\u53E0\u5168\u90E8","debug.console.followLink":"\u6309\u4F4F {0} \u5E76\u5355\u51FB\u53EF\u8BBF\u95EE\u94FE\u63A5","debug.console.errorMessage":"\u8C03\u8BD5\u8FDB\u7A0B\u521D\u59CB\u5316\u5F02\u5E38\uFF0C\u8BF7\u6253\u5F00\u63A7\u5236\u9762\u677F\u67E5\u770B\u9519\u8BEF\u65E5\u5FD7","debug.console.input.placeholder":"\u8BF7\u53D1\u8D77\u8C03\u8BD5\u4F1A\u8BDD\u6765\u5BF9\u8868\u8FBE\u5F0F\u6C42\u503C","debug.console.consoleCleared":"\u8F93\u51FA\u5DF2\u6E05\u7406","debug.notSupported.type":'\u8C03\u8BD5\u7C7B\u578B "{0}" \u4E0D\u662F\u652F\u6301\u7684\u8C03\u8BD5\u7C7B\u578B\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u6216\u5B89\u88C5\u5BF9\u5E94\u8C03\u8BD5\u63D2\u4EF6',"debug.notSupported.any":"\u5F53\u524D\u8C03\u8BD5\u914D\u7F6E\u4E0D\u652F\u6301\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u6216\u5B89\u88C5\u5BF9\u5E94\u8C03\u8BD5\u63D2\u4EF6","output.tabbar.title":"\u8F93\u51FA","output.channel.none":"<\u8FD8\u6CA1\u6709\u4EFB\u4F55\u8F93\u51FA>","output.configurationTitle":"\u8F93\u51FA\u914D\u7F6E","output.logWhenNoPanel":"\u65E0\u9762\u677F\u65F6\u662F\u5426\u8F93\u51FA\u5230\u6D4F\u89C8\u5668 console","output.maxChannelLine":"\u9650\u5236\u8F93\u51FA\u6700\u5927\u884C\u6570","output.maxChannelLineDesc":"\u9650\u5236\u5355\u4E2A\u8F93\u51FA\u901A\u9053\u6700\u5927\u884C\u6570\uFF0C\u8D85\u51FA\u540E\u4F1A\u81EA\u52A8\u88C1\u526A","output.enableLogHighlight":"\u8F93\u51FA\u6587\u672C\u8BED\u6CD5\u9AD8\u4EAE","output.enableLogHighlightDesc":"\u5BF9\u8F93\u51FA\u6587\u672C\u4F7F\u7528 .log \u8BED\u6CD5\u9AD8\u4EAE\u89E3\u6790\u3002","output.enableSmartScroll":"\u8F93\u51FA\u89C6\u56FE\u667A\u80FD\u6EDA\u52A8","output.enableSmartScrollDesc":"\u5728\u70B9\u51FB\u8F93\u51FA\u89C6\u56FE\u65F6\u7981\u7528\u6EDA\u52A8\uFF0C\u70B9\u51FB\u6700\u540E\u4E00\u884C\u8F93\u51FA\u65F6\u542F\u7528\u6EDA\u52A8\u3002","debug.stack.loadMore":"\u52A0\u8F7D\u66F4\u591A\u5806\u6808","debug.stack.loading":"\u52A0\u8F7D\u4E2D...","debug.stack.showMoreAndOrigin":"\u5C55\u793A {0} \u9879: {1}","debug.breakpoint.deactive":"\u5173\u95ED\u6240\u6709\u65AD\u70B9","debug.breakpoint.active":"\u6FC0\u6D3B\u6240\u6709\u65AD\u70B9","debug.threads.title":"\u8FDB\u7A0B","debug.watch.title":"\u76D1\u89C6","debug.callStack.title":"\u5806\u6808","debug.variables.title":"\u53D8\u91CF","debug.variables.view.memory":"\u67E5\u770B\u4E8C\u8FDB\u5236\u89C6\u56FE","debug.variables.view.memory.prompt.hexEditor.notInstalled":"\u67E5\u770B\u4E8C\u8FDB\u5236\u89C6\u56FE\u9700\u8981\u5B89\u88C5 Hex Editor \u6269\u5C55","debug.breakpoints.title":"\u65AD\u70B9","debug.container.title":"\u8C03\u8BD5\u7BA1\u7406\u5668","debug.breakpoint.toggle":"\u542F\u7528/\u7981\u7528\u65AD\u70B9","debug.breakpoint.removeAll":"\u79FB\u9664\u6240\u6709\u65AD\u70B9","debug.breakpoint.uncaughtExceptions":"\u672A\u6355\u83B7\u7684\u5F02\u5E38","debug.breakpoint.allExceptions":"\u6240\u6709\u5F02\u5E38","debug.watch.removeAll":"\u79FB\u9664\u6240\u6709\u8868\u8FBE\u5F0F","debug.watch.collapseAll":"\u6298\u53E0\u6240\u6709\u8868\u8FBE\u5F0F","debug.watch.add":"\u6DFB\u52A0\u8868\u8FBE\u5F0F","debug.watch.edit":"\u7F16\u8F91\u8868\u8FBE\u5F0F","debug.watch.copyValue":"\u590D\u5236\u503C","debug.watch.remove":"\u5220\u9664\u8868\u8FBE\u5F0F","debug.watch.notAvailable":"\u4E0D\u53EF\u7528","debug.breakpoint.breakpointMessage":"\u65AD\u70B9","debug.breakpoint.logpointMessage":"\u65E5\u5FD7\u65AD\u70B9","debug.breakpoint.conditionalMessage":"\u6761\u4EF6\u65AD\u70B9","debug.breakpoint.unverified":"\u65E0\u6548\u7684","debug.breakpoint.disabled":"\u7981\u7528\u7684","debug.breakpoint.blank":"\u7A7A\u884C","debug.configuration.selectAutomaticDebugTypesHint":"\u81EA\u52A8\u751F\u6210\u7684\u8C03\u8BD5\u914D\u7F6E","debug.configuration.selectAutomaticDebugTypes":"\u9009\u62E9\u8C03\u8BD5\u7C7B\u578B","debug.configuration.selectAutomaticDebugConfiguration":"\u9009\u62E9\u8C03\u8BD5\u914D\u7F6E","debug.configuration.comment1":"\u4F7F\u7528 IntelliSense \u4E86\u89E3\u76F8\u5173\u5C5E\u6027\u3002 ","debug.configuration.comment2":"\u60AC\u505C\u4EE5\u67E5\u770B\u73B0\u6709\u5C5E\u6027\u7684\u63CF\u8FF0\u3002","debug.configuration.comment3":"\u6B32\u4E86\u89E3\u66F4\u591A\u4FE1\u606F\uFF0C\u8BF7\u8BBF\u95EE: https://go.microsoft.com/fwlink/?linkid=830387","debug.launch.existed":'\u8C03\u8BD5\u914D\u7F6E"{0}"\u5DF2\u5728\u8FD0\u884C',"debug.expression.log.placeholder":'\u9047\u5230\u65AD\u70B9\u65F6\u8981\u8BB0\u5F55\u7684\u6D88\u606F\u3002 {}\u4E2D\u7684\u8868\u8FBE\u5F0F\u662F\u63D2\u503C\u7684\u3002. \u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.hit.placeholder":'\u6EE1\u8DB3\u547D\u4E2D\u6B21\u6570\u6761\u4EF6\u65F6\u4E2D\u65AD\u3002 \u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.condition.placeholder":'\u5728\u8868\u8FBE\u5F0F\u7ED3\u679C\u4E3A\u771F\u65F6\u4E2D\u65AD\u3002\u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.condition":"\u8868\u8FBE\u5F0F","debug.expression.hitCondition":"\u547D\u4E2D\u6B21\u6570","debug.expression.logMessage":"\u65E5\u5FD7\u6D88\u606F","debug.menu.delete.breakpoint":"\u5220\u9664\u65AD\u70B9","debug.menu.edit.breakpoint":"\u7F16\u8F91\u65AD\u70B9","debug.menu.disable.breakpoint":"\u7981\u7528\u65AD\u70B9","debug.menu.enable.breakpoint":"\u542F\u7528\u65AD\u70B9","debug.menu.add.logpoint":"\u6DFB\u52A0\u8BB0\u5F55\u70B9","debug.menu.add.conditional":"\u6DFB\u52A0\u6761\u4EF6\u65AD\u70B9","debug.menu.add.breakpoint":"\u6DFB\u52A0\u65AD\u70B9","debug.menu.disable.logpoint":"\u7981\u7528\u8BB0\u5F55\u70B9","debug.menu.title.run":"\u8FD0\u884C\u6216\u8C03\u8BD5...","debug.stack.frame.noSource":"\u672A\u77E5\u6E90","debug.stack.frame.because":"\u56E0","debug.stack.frame.stopped":"\u5DF2\u6682\u505C","debug.stack.frame.running":"\u6B63\u5728\u8FD0\u884C","debug.launch.configurations.debugType":"\u914D\u7F6E\u7C7B\u578B\u3002","debug.launch.configurations.debugTypeNotRecognised":"\u65E0\u6CD5\u8BC6\u522B\u6B64\u8C03\u8BD5\u7C7B\u578B\u3002\u786E\u4FDD\u5DF2\u7ECF\u5B89\u88C5\u5E76\u542F\u7528\u76F8\u5E94\u7684\u8C03\u8BD5\u6269\u5C55\u3002","debug.launch.configurations.node2NotSupported":"\u4E0D\u518D\u652F\u6301 'node2'\uFF0C\u6539\u7528 'node'\uFF0C\u5E76\u5C06 'protocol' \u5C5E\u6027\u8BBE\u4E3A 'inspector'\u3002","debug.launch.configurations.debugName":"\u914D\u7F6E\u540D\u79F0\uFF1B\u5728\u542F\u52A8\u914D\u7F6E\u4E0B\u62C9\u83DC\u5355\u4E2D\u663E\u793A\u3002","debug.launch.configurations.debugRequest":'\u8BF7\u6C42\u914D\u7F6E\u7C7B\u578B\u3002\u53EF\u4EE5\u662F "\u542F\u52A8" \u6216 "\u9644\u52A0"\u3002',"debug.launch.configurations.debugServer":"\u4EC5\u7528\u4E8E\u8C03\u8BD5\u6269\u5C55\u5F00\u53D1: \u5982\u679C\u5DF2\u6307\u5B9A\u7AEF\u53E3\uFF0CVS \u4EE3\u7801\u4F1A\u5C1D\u8BD5\u8FDE\u63A5\u5230\u5728\u670D\u52A1\u5668\u6A21\u5F0F\u4E2D\u8FD0\u884C\u7684\u8C03\u8BD5\u9002\u914D\u5668","debug.launch.configurations.debugPrelaunchTask":"\u8C03\u8BD5\u4F1A\u8BDD\u5F00\u59CB\u524D\u8981\u8FD0\u884C\u7684\u4EFB\u52A1\u3002","debug.launch.configurations.debugPostDebugTask":"\u8C03\u8BD5\u4F1A\u8BDD\u7ED3\u675F\u540E\u8FD0\u884C\u7684\u4EFB\u52A1\u3002","debug.launch.configurations.debugWindowsConfiguration":"\u7279\u5B9A\u4E8E Windows \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.configurations.debugOSXConfiguration":"\u7279\u5B9A\u4E8E OS X \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.configurations.debugLinuxConfiguration":"\u7279\u5B9A\u4E8E Linux \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.typeNotSupported":'\u8C03\u8BD5\u7C7B\u578B "{0}" \u4E0D\u652F\u6301',"debug.launch.catchError":"\u542F\u52A8\u8C03\u8BD5\u8FDB\u7A0B\u65F6\u9047\u5230\u4E86\u9519\u8BEF, \u8BF7\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0","debug.launch.view.template.button.addItem":"\u6DFB\u52A0\u4E00\u9879","debug.launch.view.template.input.placeholder":"\u8BF7\u8F93\u5165 {0}","debug.launch.view.template.button.submit":"\u65B0\u589E\u914D\u7F6E\u9879","debug.launch.view.edit.inLaunchJson":"\u5728 launch.json \u4E2D\u7F16\u8F91","debug.widget.exception.thrownWithId":"\u53D1\u751F\u5F02\u5E38: {0}","debug.widget.exception.thrown":"\u51FA\u73B0\u5F02\u5E38\u3002","workspace.openDirectory":"\u6253\u5F00\u6587\u4EF6\u5939","workspace.addFolderToWorkspace":"\u5C06\u6587\u4EF6\u5939\u6DFB\u52A0\u5230\u5DE5\u4F5C\u533A...","workspace.removeFolderFromWorkspace":"\u4ECE\u5DE5\u4F5C\u533A\u79FB\u9664\u6587\u4EF6\u5939","workspace.saveWorkspaceAsFile":"\u5C06\u5DE5\u4F5C\u533A\u53E6\u5B58\u4E3A...","workspace.openWorkspaceTitle":"\u5DE5\u4F5C\u533A","workspace.openWorkspace":"\u6253\u5F00\u5DE5\u4F5C\u533A","window.toggleDevTools":"\u5207\u6362\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177","window.reload":"\u91CD\u8F7D\u7A97\u53E3","preference.menubar.mode.compact":"\u63A7\u5236\u83DC\u5355\u680F\u662F\u5426\u4F7F\u7528\u7D27\u51D1\u6A21\u5F0F","preference.explorer.confirm.delete":"\u63A7\u5236\u662F\u5426\u5728\u5220\u9664\u6587\u4EF6\u65F6\u5F39\u51FA\u786E\u8BA4\u6846","preference.explorer.confirm.move":"\u63A7\u5236\u662F\u5426\u5728\u79FB\u52A8\u6587\u4EF6\u65F6\u5F39\u51FA\u786E\u8BA4\u6846","preference.files.watcherExclude":"\u914D\u7F6E\u6392\u9664\u6587\u4EF6\u76D1\u542C\u7684\u6587\u4EF6\u8DEF\u5F84 glob \u6A21\u5F0F\uFF0C\u6A21\u5F0F\u5FC5\u987B\u5728\u7EDD\u5BF9\u8DEF\u5F84\u4E0A\u5339\u914D\uFF08\u5373\u524D\u7F00\u4E3A ** \u6216\u5B8C\u6574\u8DEF\u5F84\u624D\u80FD\u6B63\u786E\u5339\u914D\uFF09\u3002\u66F4\u6539\u6B64\u8BBE\u7F6E\u9700\u8981\u91CD\u65B0\u542F\u52A8\u3002\u82E5\u5728\u542F\u52A8\u65F6\u9047\u5230\u4EE3\u7801\u5360\u7528\u5927\u91CF CPU \u65F6\u95F4\uFF0C\u53EF\u4EE5\u6392\u9664\u5927\u6587\u4EF6\u5939\u4EE5\u51CF\u5C11\u521D\u59CB\u52A0\u8F7D\u3002","preference.files.exclude":"\u914D\u7F6E\u6392\u9664\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F\uFF0C\u8D44\u6E90\u7BA1\u7406\u5668\u5C06\u6839\u636E\u6B64\u8BBE\u7F6E\u51B3\u5B9A\u8981\u663E\u793A\u6216\u9690\u85CF\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u3002","preference.search.exclude":"\u914D\u7F6E\u5728\u641C\u7D22\u4E2D\u6392\u9664\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F\u3002\u5DF2\u7ECF\u7EE7\u627F `#files.exclude#` \u8BBE\u7F6E\u7684\u6240\u6709 glob \u6A21\u5F0F\u3002","preference.search.include":"\u914D\u7F6E\u5728\u641C\u7D22\u4E2D\u5305\u542B\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F","preference.files.watcherExclude.title":"\u6392\u9664\u6587\u4EF6\u76D1\u542C","preference.search.exclude.title":"\u641C\u7D22\u6392\u9664\u6587\u4EF6","preference.search.useReplacePreview":"\u63A7\u5236\u641C\u7D22\u66FF\u6362\u6253\u5F00\u7F16\u8F91\u5668\u65F6\uFF0C\u662F\u5426\u6253\u5F00\u201C\u66FF\u6362\u9884\u89C8\u201D\u3002","preference.search.searchOnType":"\u63A7\u5236\u662F\u5426\u5728\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u65F6\u81EA\u52A8\u641C\u7D22\u3002","preference.search.searchOnTypeDebouncePeriod":"\u63A7\u5236\u8F93\u5165\u65F6\u81EA\u52A8\u641C\u7D22\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002","preference.files.exclude.title":"\u6392\u9664\u6587\u4EF6\u663E\u793A","preference.debug.internalConsoleOptions":"\u63A7\u5236\u4F55\u65F6\u6253\u5F00\u5185\u90E8\u8C03\u8BD5\u63A7\u5236\u53F0\u3002","preference.debug.openDebug":"\u63A7\u5236\u4F55\u65F6\u6253\u5F00\u8C03\u8BD5\u89C6\u56FE\u3002","preference.debug.debugViewLocation":"\u63A7\u5236\u8C03\u8BD5\u89C6\u56FE\u7684\u4F4D\u7F6E\u3002","preference.debug.trace":"\u542F\u7528/\u7981\u7528\u4E0E\u8C03\u8BD5\u9002\u914D\u5668\u7684\u5806\u6808\u901A\u4FE1\u3002","preference.debug.allowBreakpointsEverywhere":"\u5141\u8BB8\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u8BBE\u7F6E\u65AD\u70B9\u3002","preference.debug.toolbar.float":"\u6D6E\u5C42\u6A21\u5F0F","preference.files.associations.title":"\u6587\u4EF6\u5173\u8054","preference.files.associations":'\u914D\u7F6E\u8BED\u8A00\u7684\u6587\u4EF6\u5173\u8054\uFF08\u5982 "*.extension": "html"\uFF09\u3002\u8FD9\u4E9B\u5173\u8054\u7684\u4F18\u5148\u7EA7\u9AD8\u4E8E\u5DF2\u5B89\u88C5\u8BED\u8A00\u7684\u9ED8\u8BA4\u5173\u8054\u3002',"preference.files.encoding.title":"\u6587\u4EF6\u7F16\u7801","preference.files.encoding":"\u8BFB\u5199\u6587\u4EF6\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u5B57\u7B26\u96C6\u7F16\u7801","preference.files.autoGuessEncoding":"\u542F\u7528\u540E\uFF0C\u7F16\u8F91\u5668\u5C06\u5728\u6253\u5F00\u6587\u4EF6\u65F6\u5C1D\u8BD5\u731C\u6D4B\u5B57\u7B26\u96C6\u7F16\u7801\u3002\u4E5F\u53EF\u4EE5\u6309\u8BED\u8A00\u914D\u7F6E\u6B64\u8BBE\u7F6E\u3002","preference.files.autoGuessEncoding.title":"\u81EA\u52A8\u731C\u6D4B\u7F16\u7801","preference.explorer.fileTree.indent.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u6811\u5B50\u8282\u70B9\u7F29\u8FDB","preference.explorer.fileTree.baseIndent.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u6811\u57FA\u7840\u7F29\u8FDB","preference.debug.toolbar.float.title":"\u8FD0\u884C\u4E0E\u8C03\u8BD5\uFF1A\u6D6E\u5C42\u6A21\u5F0F","preference.debug.breakpoint.editorHint.title":"\u63A7\u5236\u662F\u5426\u5F00\u542F\u7F16\u8F91\u5668\u65AD\u70B9\u95EA\u70C1\u63D0\u793A","preference.debug.breakpoint.editorHint":"\u542F\u7528\u540E\uFF0C\u70B9\u51FB\u65AD\u70B9\u5217\u8868\u8DF3\u8F6C\u5230\u7F16\u8F91\u5668\u65F6\uFF0C\u4F1A\u6709\u80CC\u666F\u8272\u95EA\u70C1\u63D0\u793A","preference.debug.breakpoint.showBreakpointsInOverviewRuler":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6982\u89C8\u6807\u5C3A\u4E2D\u663E\u793A\u65AD\u70B9","preference.debug.console.filter.mode":"\u8C03\u8BD5\u63A7\u5236\u53F0\u7B5B\u9009\u5668\u6A21\u5F0F","preference.debug.console.filter.mode.filter":"\u8FC7\u6EE4\u6A21\u5F0F","preference.debug.console.filter.mode.matcher":"\u5339\u914D\u6A21\u5F0F","preference.debug.console.wordWrap":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u8C03\u8BD5\u63A7\u5236\u53F0\u4E2D\u6362\u884C","preference.debug.inline.values":"\u5F53\u5904\u4E8E\u8C03\u8BD5\u8FC7\u7A0B\u4E2D\u65F6\uFF0C\u5728\u7F16\u8F91\u5668\u4E2D\u5185\u8054\u663E\u793A\u53D8\u91CF\u503C","preference.explorer.compactFolders":"\u6587\u4EF6\u5939\u7D27\u51D1\u6A21\u5F0F\u4E0B\uFF0C\u5355\u4E2A\u5B50\u6587\u4EF6\u5939\u5C06\u88AB\u538B\u7F29\u5728\u7EC4\u5408\u7684\u6811\u5143\u7D20\u4E2D\uFF0C\u5BF9 Java \u5305\u7ED3\u6784\u5F88\u6709\u7528\u3002","preference.explorer.compactFolders.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u5939\u7D27\u51D1\u6A21\u5F0F","preference.explorer.autoReveal":"\u6253\u5F00\u6587\u4EF6\u65F6\u81EA\u52A8\u663E\u793A\u5E76\u805A\u7126","preference.editorTitle.openSource":"\u6253\u5F00\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openUserSource":"\u6253\u5F00\u5168\u5C40\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openWorkspaceSource":"\u6253\u5F00\u5DE5\u4F5C\u533A\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openPreference":"\u6253\u5F00\u8BBE\u7F6E\uFF08\u53EF\u89C6\u5316\uFF09","preference.view.saveLayoutWithWorkspace.title":"\u63A7\u5236\u662F\u5426\u5C06\u5E03\u5C40\u4FE1\u606F\u4E0E\u5DE5\u4F5C\u533A\u7ED1\u5B9A","preference.stringArray.operate.delete":"\u5220\u9664","preference.stringArray.operate.edit":"\u4FEE\u6539","preference.stringArray.operate.editTip":"\u6309\u56DE\u8F66\u786E\u8BA4","preference.stringArray.none":"\u6682\u65E0\u53EF\u9009\u503C","preference.enum.default":"\u9ED8\u8BA4\u503C","preference.terminal.type":"\u9ED8\u8BA4\u7EC8\u7AEF\u7C7B\u578B","preference.terminal.typeDesc":"\u63A7\u5236\u6253\u5F00\u7EC8\u7AEF\u6240\u4F7F\u7528\u7684\u9ED8\u8BA4 Shell \u7C7B\u578B\u3002","preference.terminal.fontFamily":"\u7EC8\u7AEF\u5B57\u4F53","preference.terminal.fontSize":"\u7EC8\u7AEF\u5B57\u4F53\u5927\u5C0F","preference.terminal.fontWeight":"\u7EC8\u7AEF\u5B57\u4F53\u6743\u91CD","preference.terminal.lineHeight":"\u7EC8\u7AEF\u6587\u5B57\u884C\u9AD8","preference.terminal.cursorBlink":"\u7EC8\u7AEF\u5149\u6807\u662F\u5426\u95EA\u70C1","preference.terminal.scrollback":"\u7EC8\u7AEF\u53EF\u6EDA\u52A8\u5185\u5BB9\u884C\u6570","preference.terminal.integrated.shellArgs.linux":"Linux \u7EC8\u7AEF\u547D\u4EE4\u884C\u53C2\u6570","preference.terminal.integrated.shellArgs.linuxDesc":"\u914D\u7F6E\u5728 Linux \u7EC8\u7AEF\u4E0A\u65F6\u8981\u4F7F\u7528\u7684\u547D\u4EE4\u884C\u53C2\u6570\u3002","preference.terminal.integrated.copyOnSelection":"\u7EC8\u7AEF\u9009\u4E2D\u590D\u5236","preference.terminal.integrated.copyOnSelectionDesc":"\u5C06\u7EC8\u7AEF\u4E2D\u9009\u4E2D\u7684\u6587\u672C\u7ACB\u5373\u590D\u5236\u5230\u526A\u8D34\u677F\u3002","preference.terminal.integrated.localEchoEnabled":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E","preference.terminal.integrated.localEchoDesc":"\u4F55\u65F6\u5E94\u542F\u7528\u672C\u5730\u56DE\u663E","preference.terminal.integrated.localEchoLatencyThreshold":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E\u89E6\u53D1\u5EF6\u65F6","preference.terminal.integrated.localEchoLatencyThresholdDesc":"\u7F51\u7EDC\u5EF6\u8FDF\u7684\u957F\u5EA6(\u4EE5\u6BEB\u79D2\u4E3A\u5355\u4F4D)\uFF0C\u5176\u4E2D\u672C\u5730\u7F16\u8F91\u5C06\u5728\u7EC8\u7AEF\u4E0A\u56DE\u663E\uFF0C\u65E0\u9700\u7B49\u5F85\u670D\u52A1\u5668\u627F\u8BA4\u3002\u5982\u679C\u4E3A '0'\uFF0C\u5219\u672C\u5730\u56DE\u663E\u5C06\u59CB\u7EC8\u5F00\u542F\uFF0C\u5982\u679C\u4E3A '-1'\uFF0C\u5219\u5C06\u7981\u7528\u3002","preference.terminal.integrated.localEchoExcludePrograms":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E\u6392\u9664\u7684\u5E94\u7528\u7A0B\u5E8F","preference.terminal.integrated.localEchoExcludeProgramsDesc":"\u5F53\u5728\u7EC8\u7AEF\u6807\u9898\u4E2D\u627E\u5230\u5176\u4E2D\u4E00\u4E2A\u7A0B\u5E8F\u540D\u79F0\u65F6\uFF0C\u5C06\u7981\u7528\u672C\u5730\u56DE\u663E\u3002","preference.terminal.integrated.localEchoStyle":"\u672C\u5730\u56DE\u663E\u5B57\u4F53\u6837\u5F0F","preference.terminal.integrated.localEchoStyleDesc":"\u672C\u5730\u56DE\u663E\u6587\u672C\u7684\u7EC8\u7AEF\u6837\u5F0F\uFF1B\u5B57\u4F53\u6837\u5F0F\u6216 RGB \u989C\u8272\u3002","preference.terminal.integrated.xtermRenderType":"Xterm \u6E32\u67D3\u7C7B\u578B","preference.terminal.integrated.xtermRenderTypeDesc":"\u9009\u62E9 Xterm \u6E32\u67D3\u7C7B\u578B\uFF0CWebGL \u6027\u80FD\u66F4\u5F3A\uFF0CCanvas \u517C\u5BB9\u6027\u66F4\u4F73\u3002","preference.terminal.integrated.enablePersistentSessionDesc":"\u7A97\u53E3\u91CD\u8F7D\u65F6\u6301\u4E45\u5316\u7EC8\u7AEF\u4F1A\u8BDD","preference.terminal.integrated.cursorStyle":"\u7EC8\u7AEF\u8F93\u5165\u6307\u9488\u6837\u5F0F","preference.terminal.integrated.cursorStyleDesc":"\u4FEE\u6539\u7EC8\u7AEF\u8F93\u5165\u6307\u9488\u6837\u5F0F","settings.group.general":"\u5E38\u89C4","settings.group.shortcut":"\u5FEB\u6377\u952E","settings.group.editor":"\u7F16\u8F91\u5668","settings.group.extension":"\u6269\u5C55","settings.group.feature":"\u529F\u80FD","settings.group.terminal":"\u7EC8\u7AEF","settings.group.view":"\u89C6\u56FE","preference.general.theme":"\u4E3B\u9898","preference.general.icon":"\u6587\u4EF6\u56FE\u6807\u4E3B\u9898","preference.general.productIconTheme":"\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898","preference.workbench.colorCustomizations":"\u8986\u76D6\u5F53\u524D\u6240\u9009\u989C\u8272\u4E3B\u9898\u7684\u989C\u8272","preference.general.language":"\u8BED\u8A00","preference.general.language.change.refresh.info":"\u66F4\u6539\u8BED\u8A00\u540E\u9700\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u5237\u65B0?","preference.general.language.change.refresh.now":"\u7ACB\u5373\u5237\u65B0","preference.general.language.change.refresh.later":"\u7A0D\u540E\u81EA\u5DF1\u5237\u65B0","preference.workbench.refactoringChanges.showPreviewStrategy":"\u89E6\u53D1\u4E00\u4E9B\u91CD\u6784\u53D8\u66F4\u65F6\uFF0C\u662F\u5426\u9700\u8981\u5F39\u7A97\u786E\u8BA4","preference.workbench.refactoringChanges.showPreviewStrategy.title":"\u91CD\u6784\u786E\u8BA4\u65B9\u5F0F","preference.editor.wrapTab":"\u7F16\u8F91\u5668 Tab \u81EA\u52A8\u6362\u884C","preference.editor.fontFamily":"\u5B57\u4F53","preference.editor.minimap":"\u663E\u793A Minimap","preference.editor.forceReadOnly":"\u53EA\u8BFB\u6A21\u5F0F","preference.editor.renderLineHighlight":"\u5F53\u524D\u884C\u7A81\u51FA\u663E\u793A","preference.editor.fontWeight":"\u5B57\u4F53\u7C97\u7EC6","preference.editor.fontSize":"\u5B57\u4F53\u5927\u5C0F","preference.editor.tabSize":"Tab \u7F29\u8FDB\u5927\u5C0F","preference.editor.detectIndentation":"\u81EA\u52A8\u68C0\u6D4B\u7F29\u8FDB\u5927\u5C0F","preference.editor.renderWhitespace":"\u663E\u793A\u7A7A\u767D\u5B57\u7B26","preference.editor.cursorStyle":"\u5149\u6807\u6837\u5F0F","preference.editor.insertSpace":"\u4F7F\u7528\u7A7A\u683C\u4EE3\u66FF Tab","preference.editor.wordWrap":"\u81EA\u52A8\u6362\u884C","preference.editor.wordWrapColumn":"\u81EA\u52A8\u6362\u884C\u957F\u5EA6","preference.editor.askIfDiff":"\u4FDD\u5B58\u6587\u4EF6\u51B2\u7A81\u65F6\u63D0\u793A","preference.editor.readonlyFiles":"\u53EA\u8BFB\u6587\u4EF6\u5217\u8868","preference.editor.formatOnSaveTimeout":"\u683C\u5F0F\u5316\u8D85\u65F6\u65F6\u95F4","preference.editor.formatOnSaveTimeoutError":"\u683C\u5F0F\u5316\u65F6\u95F4\u8D85\u8FC7 {0} \u6BEB\u79D2\uFF0C\u7EC8\u6B62\u683C\u5F0F\u5316","preference.editor.autoSave":"\u81EA\u52A8\u4FDD\u5B58\u6587\u4EF6","preference.editor.autoSaveDelay":"\u81EA\u52A8\u4FDD\u5B58\u5EF6\u8FDF","preference.editor.maxTokenizationLineLength":"\u6700\u5927\u89E3\u6790\u6807\u8BC6\u957F\u5EA6","preference.editor.quickSuggestionsDelay":"\u667A\u80FD\u63D0\u793A\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09","preference.editor.largeFile":"\u8D85\u5927\u6587\u4EF6\u5C3A\u5BF8","preference.editor.streamLargeFile":"\u5927\u6587\u4EF6\u4F7F\u7528\u6D41\u5F0F\u8BFB\u53D6","preference.files.eol":"\u6587\u4EF6\u884C\u5C3E\u5B57\u7B26","preference.files.trimFinalNewlines":"\u79FB\u9664\u6700\u540E\u7684\u6362\u884C\u7B26","preference.files.trimTrailingWhitespace":"\u79FB\u9664\u7ED3\u5C3E\u7A7A\u683C","preference.files.insertFinalNewline":"\u7ED3\u5C3E\u5904\u63D2\u5165\u7A7A\u884C","preference.editor.formatOnPaste":"\u7C98\u8D34\u65F6\u81EA\u52A8\u683C\u5F0F\u5316","preference.editor.preferredFormatter":"\u9ED8\u8BA4\u683C\u5F0F\u5316\u5668","preference.editor.bracketPairColorization.enabled":"\u62EC\u53F7\u7740\u8272","preference.array.additem":"\u6DFB\u52A0","preference.editor.lineHeight":"\u884C\u9AD8","preference.editor.saveCodeActions":"\u4FDD\u5B58\u65F6\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7C7B\u578B","preference.editor.saveCodeActionsNotification":"\u4EE3\u7801\u64CD\u4F5C\u6267\u884C\u65F6\u662F\u5426\u5C55\u793A\u901A\u77E5\u4FE1\u606F","preference.item.notValid":"{0} \u4E0D\u662F\u6709\u6548\u9009\u9879","editor.saveAll":"\u4FDD\u5B58\u5168\u90E8","editor.saveCodeActions.getting":"\u4ECE {0} \u4E2D\u83B7\u53D6 CodeAction","editor.saveCodeActions.saving":'\u4FDD\u5B58 "{0}"',"editor.autoSave.enum.off":"\u4E0D\u542F\u7528","editor.files.eol":"\u6587\u4EF6\u884C\u5C3E\u5B57\u7B26","editor.files.eolDesc":"\u63A7\u5236\u6587\u4EF6\u9ED8\u8BA4\u884C\u5C3E\u5B57\u7B26\u3002","editor.autoSave.enum.editorFocusChange":"\u7F16\u8F91\u5668\u5931\u53BB\u7126\u70B9\u65F6\u81EA\u52A8\u4FDD\u5B58","editor.autoSave.enum.afterDelay":"\u7F16\u8F91\u540E\u81EA\u52A8\u4FDD\u5B58\uFF08\u5EF6\u8FDF\u4E00\u5B9A\u65F6\u95F4\uFF09","editor.autoSave.enum.windowLostFocus":"\u7A97\u53E3\u5931\u53BB\u7126\u70B9\u65F6\u81EA\u52A8\u4FDD\u5B58","editor.action.accept":"\u63A5\u53D7\u66F4\u6539\uFF08\u4F7F\u7528\u53F3\u8FB9)","editor.action.revert":"\u56DE\u9000\u66F4\u6539\uFF08\u4F7F\u7528\u5DE6\u8FB9)","editor.format.chooseFormatter":"\u9009\u62E9\u8981\u4F7F\u7528\u7684\u683C\u5F0F\u5316\u6269\u5C55\u3002","editor.formatDocument.label.multiple":"\u4F7F\u7528...\u683C\u5F0F\u5316\u6587\u6863","editor.formatSelection.label.multiple":"\u683C\u5F0F\u5316\u9009\u5B9A\u5185\u5BB9\u7684\u65B9\u5F0F...","editor.chooseEncoding":"\u7528\u7F16\u7801\u91CD\u65B0\u6253\u5F00(\u4F1A\u4E22\u5931\u672A\u4FDD\u5B58\u5185\u5BB9)","editor.guessEncodingFromContent":"\u901A\u8FC7\u5185\u5BB9\u731C\u6D4B","editor.changeEol":"\u9009\u62E9\u884C\u5C3E\u5E8F\u5217","editor.changeLanguageId":"\u9009\u62E9\u8BED\u8A00\u6A21\u5F0F","editor.tokenize.test":"\u83B7\u53D6\u9009\u4E2D\u5B57\u7B26\u4E32\u7684Tokenize\u7ED3\u679C(console)","editor.largeFile.prevent":"\u6587\u4EF6\u8FC7\u5927\uFF0C\u7EE7\u7EED\u6253\u5F00\u53EF\u80FD\u4F1A\u5BFC\u81F4\u5361\u987F\u6216\u8005\u5D29\u6E83\u3002","editor.file.prevent.stillOpen":"\u4ECD\u8981\u6253\u5F00","editor.closeEditorsInOtherGroups":"\u5173\u95ED\u5176\u4ED6\u7EC4\u4E2D\u7684\u7F16\u8F91\u5668","editor.resetEditorGroups":"\u91CD\u7F6E\u7F16\u8F91\u5668\u7EC4\u5927\u5C0F","editor.revert":"\u8FD8\u539F\u6587\u6863","preference.diffEditor.renderSideBySide":"\u663E\u793A\u5E76\u6392\u5DEE\u5F02\u7F16\u8F91\u5668","preference.diffEditor.ignoreTrimWhitespace":"\u5FFD\u7565\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u767D\u5B57\u7B26","preference.mergeEditor.autoApplyNonConflictChanges":"\u81EA\u52A8\u5408\u5E76\u975E\u51B2\u7A81\u53D8\u66F4","status.editor.chooseLanguage":"\u9009\u62E9\u8BED\u8A00\u6A21\u5F0F","status.editor.goToLineCol":"\u8F6C\u5230\u884C/\u5217","status.editor.chooseEncoding":"\u9009\u62E9\u7F16\u7801","status.editor.changeEol":"\u9009\u62E9\u884C\u5C3E\u5E8F\u5217","common.preference.open":"\u8BBE\u7F6E","common.keymaps.open":"\u5FEB\u6377\u952E","common.about":"\u5173\u4E8E","common.find":"\u67E5\u627E","common.replace":"\u66FF\u6362","common.remoteMode":"\u8FDC\u7A0B\u6A21\u5F0F","component.message.origin":"\u6765\u6E90","component.modal.okText":"\u786E\u5B9A","component.modal.cancelText":"\u53D6\u6D88","component.modal.justOkText":"\u77E5\u9053\u4E86","preference.tab.user":"\u5168\u5C40\u8BBE\u7F6E","preference.tab.workspace":"\u5DE5\u4F5C\u533A\u8BBE\u7F6E","preference.tab.name":"\u8BBE\u7F6E","preference.noResults":"\u672A\u627E\u5230\u5305\u542B '{0}' \u7684\u8BBE\u7F6E\u9879","preference.empty":"\u52A0\u8F7D\u8BBE\u7F6E\u9879...","preference.editSettingsJson":"\u5728 settings.json \u4E2D\u7F16\u8F91","preference.overwritten":"\uFF08\u5DF2\u88AB\u4E0B\u4E00\u7EA7\u8BBE\u7F6E\u8986\u76D6\uFF09","preference.overwrittenInUser":"\uFF08\u5DF2\u5728\u5168\u5C40\u8BBE\u7F6E\u4E2D\u8BBE\u7F6E\uFF09","preference.overwrittenInWorkspace":"\uFF08\u5DF2\u5728\u5DE5\u4F5C\u533A\u8BBE\u7F6E\u4E2D\u8BBE\u7F6E\uFF09","preference.searchPlaceholder":"\u641C\u7D22\u8BBE\u7F6E...","keymaps.tab.name":"\u5FEB\u6377\u952E\u8BBE\u7F6E","marketplace.extension.update.now":"\u662F\uFF0C\u73B0\u5728\u66F4\u65B0","marketplace.extension.update.delay":"\u7A0D\u540E\u6211\u81EA\u5DF1\u66F4\u65B0","marketplace.extension.uninstall.failed":"\u5378\u8F7D\u5931\u8D25","marketplace.extension.uninstall.failed.depended":'\u65E0\u6CD5\u5378\u8F7D\u6269\u5C55\u7A0B\u5E8F "{0}"\u3002 \u6269\u5C55\u7A0B\u5E8F "{1}" \u4F9D\u8D56\u4E8E\u6B64',"marketplace.extension.disabled.failed.depended":'\u65E0\u6CD5\u7981\u7528\u6269\u5C55 "{0}"\u3002\u6269\u5C55 "{1}" \u4F9D\u8D56\u4E8E\u6B64\u3002',"marketplace.extension.reload.delay":"\u7A0D\u540E\u6211\u81EA\u5DF1\u91CD\u542F","marketplace.extension.reload.now":"\u662F\uFF0C\u73B0\u5728\u91CD\u542F","marketplace.extension.enable":"\u542F\u7528","marketplace.extension.disable":"\u7981\u7528","marketplace.extension.enable.workspace":"\u542F\u7528(\u5DE5\u4F5C\u7A7A\u95F4)","marketplace.extension.disable.workspace":"\u7981\u7528(\u5DE5\u4F5C\u7A7A\u95F4)","marketplace.extension.enable.all":"\u542F\u7528\u6240\u6709\u63D2\u4EF6","marketplace.extension.disable.all":"\u7981\u7528\u6240\u6709\u63D2\u4EF6","marketplace.extension.builtin":"\u5185\u7F6E","marketplace.extension.development":"\u5F00\u53D1\u6A21\u5F0F","marketplace.extension.install":"\u5B89\u88C5","marketplace.extension.container":"\u6269\u5C55\u5E02\u573A","marketplace.extension.empty.disabled":"\u6682\u65E0\u5DF2\u7981\u7528\u7684\u6269\u5C55","marketplace.extension.notfound":"\u627E\u4E0D\u5230\u6269\u5C55","marketplace.panel.hot":"\u70ED\u95E8\u63D2\u4EF6","marketplace.panel.search":"\u641C\u7D22","marketplace.panel.enabled":"\u5DF2\u542F\u7528","marketplace.panel.disabled":"\u5DF2\u7981\u7528","marketplace.panel.tab.marketplace":"\u6269\u5C55\u5E02\u573A","marketplace.panel.tab.placeholder.search":"\u641C\u7D22\u5E02\u573A\u4E2D\u7684\u6269\u5C55","marketplace.panel.tab.placeholder.installed":"\u641C\u7D22\u5DF2\u5B89\u88C5\u7684\u6269\u5C55","marketplace.tab.installed":"\u5DF2\u5B89\u88C5\u7684\u6269\u5C55","marketplace.extension.findUpdate":"\u53D1\u73B0\u63D2\u4EF6 {0} \u6709\u6700\u65B0\u7248\u672C {1}\uFF0C\u662F\u5426\u8981\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\uFF1F","marketplace.extension.updateAll":"\u53D1\u73B0\u6709\u591A\u4E2A\u6269\u5C55\u53EF\u4EE5\u66F4\u65B0\uFF0C\u662F\u5426\u4E00\u952E\u5168\u90E8\u66F4\u65B0\uFF1F","marketplace.extension.needreloadFromAll":"\u6240\u6709\u6269\u5C55\u66F4\u65B0\u5B8C\u6BD5\uFF0C\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u542F\uFF1F","marketplace.extension.needreload":"\u63D2\u4EF6 {0} \u66F4\u65B0\u6210\u529F\uFF0C\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u542F\uFF1F","marketplace.extension.canupdate":"\u6709\u65B0\u7248\u672C","marketplace.extension.updating":"\u66F4\u65B0\u4E2D","marketplace.extension.update":"\u66F4\u65B0","marketplace.extension.installing":"\u5B89\u88C5\u4E2D","marketplace.extension.reloadrequire":"\u9700\u8981\u91CD\u542F","marketplace.extension.uninstalling":"\u5378\u8F7D\u4E2D","marketplace.extension.uninstall":"\u5378\u8F7D","marketplace.extension.uninstalled":"\u5DF2\u5378\u8F7D","marketplace.extension.readme":"\u7B80\u4ECB","marketplace.extension.changelog":"\u66F4\u6539\u65E5\u5FD7","marketplace.extension.dependencies":"\u4F9D\u8D56\u9879","marketplace.extension.installed":"\u5DF2\u5B89\u88C5","marketplace.extension.otherVersion":"\u5B89\u88C5\u5176\u4ED6\u7248\u672C","marketplace.extension.currentVersion":"\u5F53\u524D\u7248\u672C","marketplace.quickopen.install":"\u5B89\u88C5\u63D2\u4EF6","marketplace.quickopen.install.byReleaseId":"\u5B89\u88C5\u63D2\u4EF6 (ReleaseId)","marketplace.quickopen.install.releaseId":"\u6269\u5C55 ReleaseId","marketplace.quickopen.install.releaseId.required":"\u6269\u5C55 ReleaseId \u5FC5\u586B","marketplace.quickopen.install.id":"\u6269\u5C55 ID","marketplace.quickopen.install.id.required":"\u6269\u5C55 ID \u5FC5\u586B","marketplace.quickopen.install.version.required":"\u6269\u5C55\u7248\u672C\u5FC5\u586B","marketplace.quickopen.install.version.placeholder":"\u6269\u5C55\u7248\u672C","marketplace.quickopen.install.error":"\u5B89\u88C5\u63D2\u4EF6\u62A5\u9519","validate.tree.emptyFileNameError":"\u9700\u63D0\u4F9B\u53EF\u7528\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0","validate.tree.fileNameStartsWithSlashError":"\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0\u4E0D\u80FD\u4EE5/\u5F00\u5934","validate.tree.fileNameFollowOrStartWithSpaceWarning":"\u5728\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0\u4E2D\u68C0\u67E5\u5230\u524D\u5BFC\u6216\u5C3E\u968F\u7A7A\u683C","validate.tree.fileNameExistsError":"\u6587\u4EF6\u6216\u6587\u4EF6\u5939 **{0}** \u5DF2\u5B58\u5728. \u8BF7\u4F7F\u7528\u53E6\u5916\u7684\u540D\u79F0.","validate.tree.invalidFileNameError":"\u540D\u79F0 **{0}** \u4E0D\u53EF\u7528. \u8BF7\u4F7F\u7528\u53E6\u5916\u7684\u540D\u79F0.","editor.close.all":"\u5173\u95ED\u5168\u90E8\u7F16\u8F91\u5668","opened.editors.title":"\u6253\u5F00\u7684\u7F16\u8F91\u5668","opened.editors.save.all":"\u4FDD\u5B58\u5168\u90E8","opened.editors.close.all":"\u5173\u95ED\u5168\u90E8","opened.editors.close.byGroup":"\u5173\u95ED\u7EC4","opened.editors.save.byGroup":"\u4FDD\u5B58\u7EC4\u4E2D\u672A\u4FDD\u5B58\u6587\u4EF6","opened.editors.empty":"\u7F16\u8F91\u5668\u4E2D\u6682\u65E0\u6253\u5F00\u6587\u4EF6","opened.editors.group.title":"\u7B2C{0}\u7EC4","opened.editors.open":"\u6253\u5F00\u6587\u4EF6","opened.editors.openToTheSide":"\u4FA7\u8FB9\u680F\u6253\u5F00","opened.editors.compare":"\u4E0E\u5F53\u524D\u6587\u4EF6\u6BD4\u8F83","opened.editors.copyRelativePath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","opened.editors.copyPath":"\u590D\u5236\u8DEF\u5F84","opened.editors.unsaved":"{0} \u4E2A\u672A\u4FDD\u5B58","terminal.name":"\u7EC8\u7AEF","terminal.disconnected":"\u7EC8\u7AEF\u65AD\u5F00\u8FDE\u63A5","terminal.can.not.create":"\u521B\u5EFA\u7EC8\u7AEF\u5931\u8D25","terminal.can.not.reconnect":"\u7EC8\u7AEF\u4E0D\u53EF\u7528\uFF0C\u8BF7","terminal.stop":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.try.reconnect":"\u91CD\u65B0\u8FDE\u63A5\u7EC8\u7AEF","terminal.try.recreate":"\u91CD\u65B0\u542F\u52A8\u7EC8\u7AEF","terminal.new":"\u65B0\u5EFA\u7EC8\u7AEF","terminal.new.type":"\u6839\u636E\u7EC8\u7AEF\u7C7B\u578B\u65B0\u5EFA","terminal.split":"\u62C6\u5206\u7EC8\u7AEF","terminal.clear":"\u7EC8\u6B62\u6240\u6709\u7EC8\u7AEF","terminal.clear.content":"\u6E05\u7A7A\u5F53\u524D\u7EC8\u7AEF\u5185\u5BB9","terminal.independ":"\u72EC\u7ACB\u7EC8\u7AEF","terminal.maximum":"\u6700\u5927\u5316\u9762\u677F\u5927\u5C0F","terminal.or":"\u6216\u8005","terminal.search":"\u641C\u7D22","terminal.search.next":"\u641C\u7D22\u4E0B\u4E00\u4E2A\u5339\u914D\u9879","terminal.openWithPath":"\u5728\u7EC8\u7AEF\u4E2D\u6253\u5F00","terminal.remove":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.relaunch":"\u91CD\u542F\u7EC8\u7AEF","terminal.menu.clearGroups":"\u6E05\u9664\u6240\u6709\u7EC8\u7AEF","terminal.menu.search":"\u641C\u7D22","terminal.menu.split":"\u62C6\u5206\u7EC8\u7AEF","terminal.menu.rename":"\u91CD\u547D\u540D","terminal.menu.selectAll":"\u5168\u9009","terminal.menu.copy":"\u590D\u5236","terminal.menu.paste":"\u7C98\u8D34","terminal.menu.clear":"\u6E05\u7A7A","terminal.menu.stop":"\u7EC8\u6B62","terminal.menu.stopGroup":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.menu.clearCurrentContent":"\u6E05\u7A7A\u5F53\u524D\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectCurrentContent":"\u9009\u4E2D\u5F53\u524D\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.clearAllContents":"\u6E05\u7A7A\u6240\u6709\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectAllContent":"\u9009\u4E2D\u6240\u6709\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectType":"\u9ED8\u8BA4\u7EC8\u7AEF\u7C7B\u578B","terminal.menu.moreSettings":"\u66F4\u591A\u8BBE\u7F6E","terminal.environment.changed":"\u7EC8\u7AEF\u73AF\u5883\u53D8\u91CF\u5DF2\u7ECF\u88AB\u90E8\u5206\u63D2\u4EF6\u4FEE\u6539","terminal.environment.changes":"\u6269\u5C55\u671F\u671B\u5BF9\u7EC8\u7AEF\u7684\u73AF\u5883\u53D8\u91CF\u505A\u4EE5\u4E0B\u66F4\u6539\uFF1A","terminal.environment.removal":"\u6269\u5C55\u671F\u671B\u4ECE\u73B0\u6709\u7684\u7EC8\u7AEF\u73AF\u5883\u53D8\u91CF\u4E2D\u5220\u9664\u4EE5\u4E0B\u503C\uFF1A","terminal.launchFail.cwdNotDirectory":'\u7EC8\u7AEF\u542F\u52A8\u76EE\u5F55 (cwd) "{0}" \u4E0D\u662F\u4E00\u4E2A\u6587\u4EF6\u5939',"terminal.launchFail.cwdDoesNotExist":'\u7EC8\u7AEF\u542F\u52A8\u76EE\u5F55 (cwd) "{0}" \u4E0D\u5B58\u5728',"terminal.launchFail.executableIsNotFileOrSymlink":'\u7EC8\u7AEF\u542F\u52A8\u7684\u53EF\u6267\u884C\u6587\u4EF6 "{0}" \u7684\u8DEF\u5F84\u975E\u6587\u4EF6\u6216\u7B26\u53F7\u94FE\u63A5',"terminal.launchFail.executableDoesNotExist":'\u7EC8\u7AEF\u542F\u52A8\u7684\u53EF\u6267\u884C\u6587\u4EF6 "{0}" \u7684\u8DEF\u5F84\u4E0D\u5B58\u5728',"terminal.openFile":"\u6253\u5F00\u6587\u4EF6","terminal.focusFolder":"\u805A\u7126\u8D44\u6E90\u7BA1\u7406\u5668\u4E2D\u7684\u6587\u4EF6\u5939","terminal.openFolder":"\u5728\u65B0\u7A97\u53E3\u4E2D\u6253\u5F00\u6587\u4EF6\u5939","terminal.toggleTerminal":"\u5207\u6362\u7EC8\u7AEF\u9762\u677F","terminal.killProcess":"\u7ED3\u675F\u8FDB\u7A0B","terminal.process.unHealthy":"*\u6B64\u7EC8\u7AEF\u4F1A\u8BDD\u5DF2\u88AB\u7CFB\u7EDF\u8D85\u65F6\u56DE\u6536\uFF0C\u8BF7\u6253\u5F00\u65B0\u7684\u7EC8\u7AEF\u4F1A\u8BDD\u6765\u8FDB\u884C\u64CD\u4F5C","terminal.selectCWDForNewTerminal":"\u4E3A\u65B0 terminal \u9009\u62E9\u5F53\u524D\u5DE5\u4F5C\u8DEF\u5F84","view.command.show":"\u6253\u5F00 {0}","layout.tabbar.setting":"\u6253\u5F00\u504F\u597D\u8BBE\u7F6E","terminal.focusNext.inTerminalGroup":"\u805A\u7126\u5F53\u524D\u7EC8\u7AEF\u7EC4\u4E2D\u7684\u4E0B\u4E00\u4E2A\u7EC8\u7AEF","terminal.focusPrevious.inTerminalGroup":"\u805A\u7126\u5F53\u524D\u7EC8\u7AEF\u7EC4\u4E2D\u7684\u4E0A\u4E00\u4E2A\u7EC8\u7AEF","terminal.ai.requesting":"AI \u8BF7\u6C42\u4E2D...","terminal.ai.selectHint":"\u952E\u76D8 \u2191\u2193 \u952E\u9009\u62E9\u547D\u4EE4\uFF0C\u23CE \u786E\u8BA4\u547D\u4EE4","terminal.ai.thinking":"AI \u601D\u8003\u4E2D...","terminal.ai.escClose":"\u6309 ESC \u5173\u95ED\u5F39\u6846","terminal.ai.headerHint":"\u4F7F\u7528 AI \u83B7\u5F97\u7EC8\u7AEF\u8F93\u5165\u63D0\u793A","terminal.ai.inputHint":"\u8F93\u5165\u81EA\u7136\u8BED\u8A00\u751F\u6210\u547D\u4EE4\uFF0C\u793A\u4F8B\uFF1A\u5C55\u793A\u5F53\u524D\u8FDB\u7A0B pid","terminal.ai.inputSharpToGetHint":"\u8F93\u5165 # \u6765\u83B7\u53D6 AI \u5EFA\u8BAE\u547D\u4EE4","terminal.ai.cannotGetTerminalConnection":"\u65E0\u6CD5\u83B7\u53D6\u7EC8\u7AEF\u8FDE\u63A5\uFF0C\u8BF7\u5230\u7528\u6237\u7FA4\u53CD\u9988","debugger.menu.setValue":"\u8BBE\u7F6E\u53D8\u91CF","debugger.menu.setValue.param":"\u8BF7\u8F93\u5165\u4F60\u8981\u6539\u53D8\u53D8\u91CF\u7684\u503C","debugger.menu.copyValue":"\u590D\u5236\u503C","debugger.menu.copyEvaluatePath":"\u590D\u5236\u8868\u8FBE\u5F0F","debugger.menu.addToWatchExpressions":"\u6DFB\u52A0\u5230\u76D1\u89C6","debugger.menu.restartFrame":"\u91CD\u542F\u6808\u5E27","debugger.menu.copyCallstack":"\u590D\u5236\u5806\u6808","theme.toggle":"\u989C\u8272\u4E3B\u9898","theme.icon.toggle":"\u6587\u4EF6\u56FE\u6807\u4E3B\u9898","theme.productIcon.toggle":"\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898","theme.base.vs":"\u6D45\u8272\u4E3B\u9898","theme.base.vs-dark":"\u6DF1\u8272\u4E3B\u9898","theme.base.hc":"\u9AD8\u5BF9\u6BD4\u5EA6\u4E3B\u9898","theme.current":"\u5F53\u524D\u4E3B\u9898","theme.quickopen.plh":"\u9009\u62E9\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","theme.icon.quickopen.plh":"\u9009\u62E9\u56FE\u6807\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","theme.productIcon.quickopen.plh":"\u9009\u62E9\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","preference.workbench.list.openMode":"\u63A7\u5236\u5982\u4F55\u4F7F\u7528\u9F20\u6807\u5C55\u5F00\u6811\u548C\u6253\u5F00\u5217\u8868\u9879\uFF08\u82E5\u652F\u6301\uFF09\u3002\u5982\u679C\u6B64\u8BBE\u7F6E\u4E0D\u9002\u7528\uFF0C\u67D0\u4E9B\u6811\u548C\u5217\u8868\u53EF\u80FD\u4F1A\u9009\u62E9\u5FFD\u7565\u6B64\u8BBE\u7F6E\u3002","preference.workbench.list.openMode.title":"\u6811\u5C55\u5F00/\u5217\u8868\u9879\u6253\u5F00\u65B9\u5F0F","keymaps.search.placeholder":"\u8F93\u5165\u5173\u952E\u5B57\u67E5\u627E","keymaps.search.keyboard.placeholder":"\u8F93\u5165\u5FEB\u6377\u952E","keymaps.header.command.title":"\u547D\u4EE4","keymaps.header.source.title":"\u4F5C\u7528\u57DF","keymaps.header.keybinding.title":"\u5FEB\u6377\u952E","keymaps.header.when.title":"\u6761\u4EF6","keymaps.commandId.title":"\u547D\u4EE4 ID\uFF1A{0}","keymaps.source.default":"\u9ED8\u8BA4","keymaps.source.user":"\u7528\u6237","keymaps.source.workspace":"\u5DE5\u4F5C\u533A","keymaps.keybinding.full.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.partial.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u5B58\u5728\u5305\u542B\u5173\u7CFB\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.shadow.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u5B58\u5728\u5305\u542B\u5173\u7CFB\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.duplicate":"\u8BE5\u5FEB\u6377\u952E\u5DF2\u7ED1\u5B9A\u4EE5\u4E0B {0} \u6761\u547D\u4EE4\uFF1A","keymaps.keybinding.loading":"\u6B63\u5728\u4FEE\u6539\u5FEB\u6377\u952E ...","keymaps.keybinding.success":"\u4FEE\u6539\u5FEB\u6377\u952E\u6210\u529F","keymaps.keybinding.fail":"\u4FEE\u6539\u5FEB\u6377\u952E\u5931\u8D25","keymaps.keybinding.require":"\u8BF7\u8F93\u5165\u5FEB\u6377\u952E","keymaps.action.edit":"\u7F16\u8F91\u5FEB\u6377\u952E","keymaps.action.add":"\u6DFB\u52A0\u5FEB\u6377\u952E","keymaps.action.reset":"\u91CD\u7F6E\u5FEB\u6377\u952E","keymaps.action.clear":"\u6E05\u7A7A","keymaps.edit.placeholder":"\u8BF7\u6309 Enter \u952E\u4FDD\u5B58","keymaps.editorTitle.openSource":"\u6253\u5F00\u952E\u76D8\u5FEB\u6377\u65B9\u5F0F(JSON)","keymaps.editorTitle.openKeymap":"\u6253\u5F00\u952E\u76D8\u5FEB\u6377\u65B9\u5F0F(\u53EF\u89C6\u5316)","keybinding.combination.tip":"\u5DF2\u6309\u4E0B({0}), \u7B49\u5F85\u540C\u65F6\u6309\u4E0B\u7B2C\u4E8C\u4E2A\u952E","layout.tabbar.toggle":"\u5207\u6362\u9762\u677F\u663E\u793A/\u9690\u85CF","layout.tabbar.expand":"\u6700\u5927\u5316\u5E95\u90E8\u9762\u677F","layout.tabbar.retract":"\u7F29\u56DE\u5E95\u90E8\u9762\u677F","layout.view.hide":"\u9690\u85CF","layout.action.openView":"\u6253\u5F00\u89C6\u56FE ...","layout.openView.containerTitle":"\u4FA7\u8FB9\u680F / \u9762\u677F","layout.openView.viewTitle":"{0} / \u89C6\u56FE","status-bar.label.line":"\u884C","status-bar.label.column":"\u5217","status-bar.label.selected":"\u5DF2\u9009\u62E9","status-bar.label.tabType.space":"\u7A7A\u683C","status-bar.label.tabType.tab":"Tab \u5927\u5C0F","status-bar.scm":"\u6E90\u7801\u7BA1\u7406","status-bar.editor-selection":"\u5F53\u524D\u9009\u62E9","status-bar.editor-language":"\u9009\u62E9\u8BED\u8A00","status-bar.editor-encoding":"\u9009\u62E9\u7F16\u7801","status-bar.editor-space":"\u9009\u62E9\u7A7A\u683C\u7B26","status-bar.editor-eol":"\u9009\u62E9\u884C\u5C3E\u5B57\u7B26","status-bar.editor-indentation":"\u9009\u62E9\u7F29\u8FDB","status-bar.editor-langStatus":"\u8BED\u8A00\u670D\u52A1\u5668\u72B6\u6001",saveChangesMessage:"\u662F\u5426\u8981\u4FDD\u5B58\u5BF9 {0} \u7684\u66F4\u6539?",saveNFilesChangesMessage:`\u662F\u5426\u4FDD\u5B58\u5BF9\u4EE5\u4E0B {0} \u4E2A\u6587\u4EF6\u7684\u66F4\u6539?
33508
+ - \u5927\u4E8E 8 \u7684\u503C\u5C06\u7528\u4F5C\u6709\u6548\u503C\u3002`,"editor.copyPath":"\u590D\u5236\u8DEF\u5F84","editor.copyRelativePath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","editor.workspaceSymbol.quickopen":"\u641C\u7D22\u5DE5\u4F5C\u533A\u7B26\u53F7","editor.workspaceSymbolClass.quickopen":"\u641C\u7D22\u5DE5\u4F5C\u533A\u7C7B","editor.workspaceSymbol.description":"\u8DF3\u8F6C\u5DE5\u4F5C\u533A\u7B26\u53F7","editor.workspaceSymbol.search":"\u8BF7\u8F93\u5165\u8981\u641C\u7D22\u7684\u7B26\u53F7","editor.workspaceSymbolClass.search":"\u8BF7\u8F93\u5165\u8981\u641C\u7D22\u7684\u7C7B","editor.workspaceSymbol.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7B26\u53F7","editor.workspaceSymbolClass.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7C7B","edit.cut":"\u526A\u5207","edit.copy":"\u590D\u5236","edit.paste":"\u7C98\u8D34","edit.selectAll":"\u5168\u9009","editor.goBack":"\u5411\u540E","editor.goForward":"\u524D\u8FDB","editor.quickOpen":"\u8F6C\u5230\u6587\u4EF6...","editor.editor.goToSymbol":"\u8F6C\u5230\u7B26\u53F7...","editor.goToLine":"\u8F6C\u5230\u884C...","editor.openType":"\u6253\u5F00\u65B9\u5F0F","quickopen.goToLine.defaultMessage":"\u5F53\u524D\u884C: {0}\uFF0C \u5217: {1}\u3002 \u8BF7\u8F93\u5165\u8981\u8F6C\u5230\u7684\u884C\u53F7\uFF1A 1 \u81F3 {2} \u4E4B\u95F4\u7684\u6570\u5B57\u3002","quickopen.goToLine.notValid":"\u8BF7\u6253\u5F00\u4E00\u4E2A\u6709\u6548\u7684\u7F16\u8F91\u5668\u3002","quickopen.goToLine.lineInfo":"\u8F6C\u5230\u884C: {0}","quickopen.goToLine.colInfo":"\uFF0C\u5217: {0}","quickopen.goToLine.desc":"\u8F6C\u5230\u884C...","quickopen.command.placeholder":"\u8BF7\u8F93\u5165\u4F60\u8981\u6267\u884C\u7684\u547D\u4EE4","quickopen.command.description":"\u6267\u884C IDE \u9884\u8BBE\u7684\u547D\u4EE4","quickopen.command.nohandler":"\u627E\u4E0D\u5230\u7ED3\u679C","quickopen.quickinput.prompt":"\u8BF7\u6309 'Enter' \u786E\u8BA4\u6216 'Esc' \u53D6\u6D88","quickopen.tab.file":"\u6587\u4EF6","quickopen.tab.class":"\u7C7B","quickopen.tab.symbol":"\u7B26\u53F7","quickopen.tab.command":"\u6307\u4EE4","quickopen.tab.goToLine":"\u8F6C\u5230\u884C","quickopen.tab.tip.prefix":"\u6309","quickopen.tab.tip.suffix":"\u5207\u6362\u641C\u7D22\u7C7B\u522B","quickOpen.openOnTheRightSide":"\u5728\u4FA7\u8FB9\u6253\u5F00","explorer.title":"\u8D44\u6E90\u7BA1\u7406\u5668","explorer.electron.revealInFinder":"\u5728\u6587\u4EF6\u7CFB\u7EDF\u4E2D\u6253\u5F00","explorer.electron.openInSystemTerminal":"\u5728\u7CFB\u7EDF\u7EC8\u7AEF\u4E2D\u6253\u5F00","explorer.electron.openInSystemTerminal.error":"\u5728\u7CFB\u7EDF\u7EC8\u7AEF\u4E2D\u6253\u5F00 {0} \u5931\u8D25: {1}","search.title":"\u8DE8\u6587\u4EF6\u641C\u7D22","search.input.placeholder":"\u8F93\u5165\u641C\u7D22\u5185\u5BB9","search.input.title":"\u641C\u7D22","search.replace.title":"\u66FF\u6362","search.input.checkbox":"\u663E\u793A\u641C\u7D22\u6761\u4EF6","file-search.command.fileOpen.description":"\u6253\u5F00\u6587\u4EF6","file-search.command.fileOpen.placeholder":"\u6309\u540D\u79F0\u641C\u7D22\u6587\u4EF6\uFF08\u8FFD\u52A0:\u8F6C\u5230\u884C\u6216\u8FFD\u52A0 @ \u8F6C\u5230\u7B26\u53F7\uFF09","search.includes":"\u8981\u5305\u542B\u7684\u6587\u4EF6","search.includes.description":'\u8F93\u5165\u6587\u4EF6\u540D\u6216\u6587\u4EF6\u5939\u540D\uFF0C\u591A\u4E2A\u7528 ", " \u5206\u9694',"search.excludes":"\u8981\u6392\u9664\u7684\u6587\u4EF6","search.excludes.default.enable":"\u542F\u7528\u9ED8\u8BA4\u6392\u9664\u9879","search.replaceAll.label":"\u66FF\u6362\u5168\u90E8","search.replace.label":"\u66FF\u6362\u4E3A","search.files.result":"\u627E\u5230 {1} \u4E2A\u6587\u4EF6\uFF0C\u5171 {0} \u4E2A\u7ED3\u679C","search.CollapseDeepestExpandedLevelAction.label":"\u5168\u90E8\u6298\u53E0","search.ExpandDeepestExpandedLevelAction.label":"\u5168\u90E8\u5C55\u5F00","search.ClearSearchResultsAction.label":"\u6E05\u7A7A\u641C\u7D22\u7ED3\u679C","search.RefreshAction.label":"\u5237\u65B0","search.removeAll.occurrences.files.confirmation.message":"\u786E\u5B9A\u66FF\u6362 {1} \u4E2A\u6587\u4EF6\u4E2D\u7684 {0} \u4E2A\u7ED3\u679C\u5417?","search.removeAll.occurrences.file.confirmation.message":"\u786E\u5B9A\u66FF\u6362\u8BE5\u6587\u4EF6\u4E2D\u7684 {0} \u4E2A\u7ED3\u679C\u5417?","search.result.hide":"\u9690\u85CF","search.menu.copyAll":"\u5168\u90E8\u590D\u5236","search.help.showIncludeRule":"\u67E5\u770B\u8BED\u6CD5\u89C4\u5219","search.help.supportRule":"\u652F\u6301\u4EE5\u4E0B\u8BED\u6CD5\u89C4\u5219\uFF1A","search.help.excludeList":"\u5DF2\u6392\u9664\u9879\u5305\u542B\uFF1A","search.help.concatRule":"\u591A\u4E2A\u6761\u4EF6\u5206\u9694","search.help.matchOneOrMoreRule":"\u5339\u914D\u8DEF\u5F84\u6BB5\u4E2D\u7684\u4E00\u4E2A\u6216\u591A\u4E2A\u5B57\u7B26","search.help.matchOne":"\u5339\u914D\u8DEF\u5F84\u6BB5\u4E2D\u7684\u4E00\u4E2A\u5B57\u7B26","search.help.matchAny":"\u5339\u914D\u4EFB\u610F\u6570\u91CF\u7684\u8DEF\u5F84\u6BB5\uFF0C\u5305\u62EC\u65E0","search.help.matchWithGroup":"\u7EC4\u5408\u6761\u4EF6","search.help.matchRange":"\u5339\u914D\u7684\u5B57\u7B26\u8303\u56F4","search.help.modify":"\u4FEE\u6539","search.replace.buttonOK":"\u66FF\u6362","search.replace.buttonCancel":"\u53D6\u6D88","search.too.many.results":"\u7531\u4E8E\u60A8\u7684\u641C\u7D22\u6761\u4EF6\u8FC7\u4E8E\u758F\u677E\uFF0C\u6211\u4EEC\u4EC5\u5C55\u793A\u4E86\u90E8\u5206\u641C\u7D22\u7ED3\u679C","search.fileReplaceChanges":"{0} \u2194 {1} (\u66FF\u6362\u9884\u89C8)","search.fileResults":"\u6587\u4EF6\u7ED3\u679C","search.fileResults.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u6587\u4EF6","search.fileSymbolResults":"\u7B26\u53F7 ({0})","search.fileSymbolResults.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u7B26\u53F7","search.historyMatches":"\u6700\u8FD1\u6253\u5F00","search.replaceAll.occurrencesMessage":"\u5DF2\u5C06 {1} \u4E2A\u6587\u4EF6\u4E2D\u51FA\u73B0\u7684 {0} \u5904\u66FF\u6362\u4E3A \u201C{2}\u201D\u3002","search.replace.toggle.button.title":"\u5207\u6362\u66FF\u6362","search.caseDescription":"\u533A\u5206\u5927\u5C0F\u5199","search.wordsDescription":"\u5168\u5B57\u5339\u914D","search.regexDescription":"\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F","search.includeIgnoredFiles":"\u5305\u542B\u5FFD\u7565\u7684\u6587\u4EF6","search.onlyOpenEditors":"\u4EC5\u5728\u5DF2\u6253\u5F00\u7684\u7F16\u8F91\u5668\u5185\u641C\u7D22","search.noResultsFound":"\u672A\u627E\u5230\u7ED3\u679C\u3002\u67E5\u770B\u60A8\u7684\u8BBE\u7F6E\u914D\u7F6E\u6392\u9664, \u5E76\u68C0\u67E5\u60A8\u7684 gitignore \u6587\u4EF6","quickopen.recent-commands":"\u6700\u8FD1\u4F7F\u7528","quickopen.other-commands":"\u5176\u4ED6\u547D\u4EE4","quickopen.commands.notfound":"\u6CA1\u6709\u5339\u914D\u7684\u6307\u4EE4",mSelection:"\u9009\u62E9","selection.all":"\u9009\u62E9\u5168\u90E8","dialog.confirm":"\u77E5\u9053\u4E86","dialog.file.name":"\u6587\u4EF6\u540D","dialog.file.title":"\u5B58\u50A8\u76EE\u5F55\uFF1A","dialog.file.openLabel":"\u6253\u5F00\u6587\u4EF6\uFF1A","dialog.file.saveLabel":"\u4FDD\u5B58\u6587\u4EF6\uFF1A","dialog.file.close":"\u5173\u95ED","dialog.file.ok":"\u786E\u5B9A","dialog.ensure":"\u786E\u5B9A","editorOpenType.code":"\u4EE3\u7801","editorOpenType.preview":"\u9884\u89C8","scm.title":"\u6E90\u4EE3\u7801\u7BA1\u7406","scm.action.git.refresh":"\u5237\u65B0","scm.action.git.commit":"\u63D0\u4EA4","scm.action.git.more":"\u66F4\u591A\u64CD\u4F5C...","scm.statusbar.repo":"\u5F53\u524D\u4ED3\u5E93","scm.provider.title":"\u4EE3\u7801\u4ED3\u5E93\u5217\u8868","scm.provider.empty":"\u6CA1\u6709\u53EF\u7528\u7684\u6E90\u4EE3\u7801\u4ED3\u5E93","scm.provider.init":"\u70B9\u51FB\u521D\u59CB\u5316\u4ED3\u5E93","scm.diff.change.next":"\u4E0B\u4E00\u4E2A\u53D8\u5316","scm.diff.change.previous":"\u4E0A\u4E00\u4E2A\u53D8\u5316","scm.diff.toggle.renderSideBySide":"\u5207\u6362\u5185\u8054\u89C6\u56FE","scm.dirtyDiff.changes":"\u7B2C {0} \u4E2A\u66F4\u6539 (\u5171 {1} \u4E2A)","debug.action.start":"\u542F\u52A8\u8C03\u8BD5","debug.action.no.configuration":"\u6682\u65E0\u914D\u7F6E","debug.action.add.smartAddConfiguration":"\u667A\u80FD\u6DFB\u52A0\u914D\u7F6E","debug.action.add.configuration":"\u6DFB\u52A0\u914D\u7F6E","debug.action.edit.configuration":"\u7F16\u8F91\u914D\u7F6E","debug.action.open.launch.editor":"\u4F7F\u7528 UI \u6A21\u5F0F\u7F16\u8F91","debug.action.open.configuration":"\u6253\u5F00 launch.json","debug.action.debug.console":"\u8C03\u8BD5\u63A7\u5236\u53F0","debug.action.step-into":"\u5355\u6B65\u8DF3\u5165","debug.action.step-over":"\u5355\u6B65\u8DF3\u8FC7","debug.action.step-out":"\u5355\u6B65\u8DF3\u51FA","debug.action.restart":"\u91CD\u542F","debug.action.pause":"\u6682\u505C","debug.action.stop":"\u7EC8\u6B62","debug.action.disattach":"\u65AD\u5F00","debug.action.continue":"\u4E0B\u4E00\u6B65","debug.action.runToCursor":"\u8FD0\u884C\u5230\u5149\u6807\u5904","debug.action.forceRunToCursor":"\u5F3A\u5236\u8FD0\u884C\u5230\u5149\u6807\u5904","debug.console.panel.title":"\u8C03\u8BD5\u63A7\u5236\u53F0","debug.console.panel.default":"\u9ED8\u8BA4","debug.console.filter.placeholder":"\u7B5B\u9009\u5668(\u4F8B\u5982 text\u3001!exclude)","debug.console.clear":"\u6E05\u7A7A\u65E5\u5FD7","debug.console.copy":"\u590D\u5236","debug.console.copyAll":"\u590D\u5236\u5168\u90E8","debug.console.collapseAll":"\u6298\u53E0\u5168\u90E8","debug.console.followLink":"\u6309\u4F4F {0} \u5E76\u5355\u51FB\u53EF\u8BBF\u95EE\u94FE\u63A5","debug.console.errorMessage":"\u8C03\u8BD5\u8FDB\u7A0B\u521D\u59CB\u5316\u5F02\u5E38\uFF0C\u8BF7\u6253\u5F00\u63A7\u5236\u9762\u677F\u67E5\u770B\u9519\u8BEF\u65E5\u5FD7","debug.console.input.placeholder":"\u8BF7\u53D1\u8D77\u8C03\u8BD5\u4F1A\u8BDD\u6765\u5BF9\u8868\u8FBE\u5F0F\u6C42\u503C","debug.console.consoleCleared":"\u8F93\u51FA\u5DF2\u6E05\u7406","debug.notSupported.type":'\u8C03\u8BD5\u7C7B\u578B "{0}" \u4E0D\u662F\u652F\u6301\u7684\u8C03\u8BD5\u7C7B\u578B\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u6216\u5B89\u88C5\u5BF9\u5E94\u8C03\u8BD5\u63D2\u4EF6',"debug.notSupported.any":"\u5F53\u524D\u8C03\u8BD5\u914D\u7F6E\u4E0D\u652F\u6301\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u6216\u5B89\u88C5\u5BF9\u5E94\u8C03\u8BD5\u63D2\u4EF6","output.tabbar.title":"\u8F93\u51FA","output.channel.none":"<\u8FD8\u6CA1\u6709\u4EFB\u4F55\u8F93\u51FA>","output.configurationTitle":"\u8F93\u51FA\u914D\u7F6E","output.logWhenNoPanel":"\u65E0\u9762\u677F\u65F6\u662F\u5426\u8F93\u51FA\u5230\u6D4F\u89C8\u5668 console","output.maxChannelLine":"\u9650\u5236\u8F93\u51FA\u6700\u5927\u884C\u6570","output.maxChannelLineDesc":"\u9650\u5236\u5355\u4E2A\u8F93\u51FA\u901A\u9053\u6700\u5927\u884C\u6570\uFF0C\u8D85\u51FA\u540E\u4F1A\u81EA\u52A8\u88C1\u526A","output.enableLogHighlight":"\u8F93\u51FA\u6587\u672C\u8BED\u6CD5\u9AD8\u4EAE","output.enableLogHighlightDesc":"\u5BF9\u8F93\u51FA\u6587\u672C\u4F7F\u7528 .log \u8BED\u6CD5\u9AD8\u4EAE\u89E3\u6790\u3002","output.enableSmartScroll":"\u8F93\u51FA\u89C6\u56FE\u667A\u80FD\u6EDA\u52A8","output.enableSmartScrollDesc":"\u5728\u70B9\u51FB\u8F93\u51FA\u89C6\u56FE\u65F6\u7981\u7528\u6EDA\u52A8\uFF0C\u70B9\u51FB\u6700\u540E\u4E00\u884C\u8F93\u51FA\u65F6\u542F\u7528\u6EDA\u52A8\u3002","debug.stack.loadMore":"\u52A0\u8F7D\u66F4\u591A\u5806\u6808","debug.stack.loading":"\u52A0\u8F7D\u4E2D...","debug.stack.showMoreAndOrigin":"\u5C55\u793A {0} \u9879: {1}","debug.breakpoint.deactive":"\u5173\u95ED\u6240\u6709\u65AD\u70B9","debug.breakpoint.active":"\u6FC0\u6D3B\u6240\u6709\u65AD\u70B9","debug.threads.title":"\u8FDB\u7A0B","debug.watch.title":"\u76D1\u89C6","debug.callStack.title":"\u5806\u6808","debug.variables.title":"\u53D8\u91CF","debug.variables.view.memory":"\u67E5\u770B\u4E8C\u8FDB\u5236\u89C6\u56FE","debug.variables.view.memory.prompt.hexEditor.notInstalled":"\u67E5\u770B\u4E8C\u8FDB\u5236\u89C6\u56FE\u9700\u8981\u5B89\u88C5 Hex Editor \u6269\u5C55","debug.breakpoints.title":"\u65AD\u70B9","debug.container.title":"\u8C03\u8BD5\u7BA1\u7406\u5668","debug.breakpoint.toggle":"\u542F\u7528/\u7981\u7528\u65AD\u70B9","debug.breakpoint.removeAll":"\u79FB\u9664\u6240\u6709\u65AD\u70B9","debug.breakpoint.uncaughtExceptions":"\u672A\u6355\u83B7\u7684\u5F02\u5E38","debug.breakpoint.allExceptions":"\u6240\u6709\u5F02\u5E38","debug.watch.removeAll":"\u79FB\u9664\u6240\u6709\u8868\u8FBE\u5F0F","debug.watch.collapseAll":"\u6298\u53E0\u6240\u6709\u8868\u8FBE\u5F0F","debug.watch.add":"\u6DFB\u52A0\u8868\u8FBE\u5F0F","debug.watch.edit":"\u7F16\u8F91\u8868\u8FBE\u5F0F","debug.watch.copyValue":"\u590D\u5236\u503C","debug.watch.remove":"\u5220\u9664\u8868\u8FBE\u5F0F","debug.watch.notAvailable":"\u4E0D\u53EF\u7528","debug.breakpoint.breakpointMessage":"\u65AD\u70B9","debug.breakpoint.logpointMessage":"\u65E5\u5FD7\u65AD\u70B9","debug.breakpoint.conditionalMessage":"\u6761\u4EF6\u65AD\u70B9","debug.breakpoint.unverified":"\u65E0\u6548\u7684","debug.breakpoint.disabled":"\u7981\u7528\u7684","debug.breakpoint.blank":"\u7A7A\u884C","debug.configuration.selectAutomaticDebugTypesHint":"\u81EA\u52A8\u751F\u6210\u7684\u8C03\u8BD5\u914D\u7F6E","debug.configuration.selectAutomaticDebugTypes":"\u9009\u62E9\u8C03\u8BD5\u7C7B\u578B","debug.configuration.selectAutomaticDebugConfiguration":"\u9009\u62E9\u8C03\u8BD5\u914D\u7F6E","debug.configuration.comment1":"\u4F7F\u7528 IntelliSense \u4E86\u89E3\u76F8\u5173\u5C5E\u6027\u3002 ","debug.configuration.comment2":"\u60AC\u505C\u4EE5\u67E5\u770B\u73B0\u6709\u5C5E\u6027\u7684\u63CF\u8FF0\u3002","debug.configuration.comment3":"\u6B32\u4E86\u89E3\u66F4\u591A\u4FE1\u606F\uFF0C\u8BF7\u8BBF\u95EE: https://go.microsoft.com/fwlink/?linkid=830387","debug.launch.existed":'\u8C03\u8BD5\u914D\u7F6E"{0}"\u5DF2\u5728\u8FD0\u884C',"debug.expression.log.placeholder":'\u9047\u5230\u65AD\u70B9\u65F6\u8981\u8BB0\u5F55\u7684\u6D88\u606F\u3002 {}\u4E2D\u7684\u8868\u8FBE\u5F0F\u662F\u63D2\u503C\u7684\u3002. \u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.hit.placeholder":'\u6EE1\u8DB3\u547D\u4E2D\u6B21\u6570\u6761\u4EF6\u65F6\u4E2D\u65AD\u3002 \u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.condition.placeholder":'\u5728\u8868\u8FBE\u5F0F\u7ED3\u679C\u4E3A\u771F\u65F6\u4E2D\u65AD\u3002\u6309 "Enter" \u952E\u786E\u8BA4\uFF0C"Esc" \u952E\u53D6\u6D88\u3002',"debug.expression.condition":"\u8868\u8FBE\u5F0F","debug.expression.hitCondition":"\u547D\u4E2D\u6B21\u6570","debug.expression.logMessage":"\u65E5\u5FD7\u6D88\u606F","debug.menu.delete.breakpoint":"\u5220\u9664\u65AD\u70B9","debug.menu.edit.breakpoint":"\u7F16\u8F91\u65AD\u70B9","debug.menu.disable.breakpoint":"\u7981\u7528\u65AD\u70B9","debug.menu.enable.breakpoint":"\u542F\u7528\u65AD\u70B9","debug.menu.add.logpoint":"\u6DFB\u52A0\u8BB0\u5F55\u70B9","debug.menu.add.conditional":"\u6DFB\u52A0\u6761\u4EF6\u65AD\u70B9","debug.menu.add.breakpoint":"\u6DFB\u52A0\u65AD\u70B9","debug.menu.disable.logpoint":"\u7981\u7528\u8BB0\u5F55\u70B9","debug.menu.title.run":"\u8FD0\u884C\u6216\u8C03\u8BD5...","debug.stack.frame.noSource":"\u672A\u77E5\u6E90","debug.stack.frame.because":"\u56E0","debug.stack.frame.stopped":"\u5DF2\u6682\u505C","debug.stack.frame.running":"\u6B63\u5728\u8FD0\u884C","debug.launch.configurations.debugType":"\u914D\u7F6E\u7C7B\u578B\u3002","debug.launch.configurations.debugTypeNotRecognised":"\u65E0\u6CD5\u8BC6\u522B\u6B64\u8C03\u8BD5\u7C7B\u578B\u3002\u786E\u4FDD\u5DF2\u7ECF\u5B89\u88C5\u5E76\u542F\u7528\u76F8\u5E94\u7684\u8C03\u8BD5\u6269\u5C55\u3002","debug.launch.configurations.node2NotSupported":"\u4E0D\u518D\u652F\u6301 'node2'\uFF0C\u6539\u7528 'node'\uFF0C\u5E76\u5C06 'protocol' \u5C5E\u6027\u8BBE\u4E3A 'inspector'\u3002","debug.launch.configurations.debugName":"\u914D\u7F6E\u540D\u79F0\uFF1B\u5728\u542F\u52A8\u914D\u7F6E\u4E0B\u62C9\u83DC\u5355\u4E2D\u663E\u793A\u3002","debug.launch.configurations.debugRequest":'\u8BF7\u6C42\u914D\u7F6E\u7C7B\u578B\u3002\u53EF\u4EE5\u662F "\u542F\u52A8" \u6216 "\u9644\u52A0"\u3002',"debug.launch.configurations.debugServer":"\u4EC5\u7528\u4E8E\u8C03\u8BD5\u6269\u5C55\u5F00\u53D1: \u5982\u679C\u5DF2\u6307\u5B9A\u7AEF\u53E3\uFF0CVS \u4EE3\u7801\u4F1A\u5C1D\u8BD5\u8FDE\u63A5\u5230\u5728\u670D\u52A1\u5668\u6A21\u5F0F\u4E2D\u8FD0\u884C\u7684\u8C03\u8BD5\u9002\u914D\u5668","debug.launch.configurations.debugPrelaunchTask":"\u8C03\u8BD5\u4F1A\u8BDD\u5F00\u59CB\u524D\u8981\u8FD0\u884C\u7684\u4EFB\u52A1\u3002","debug.launch.configurations.debugPostDebugTask":"\u8C03\u8BD5\u4F1A\u8BDD\u7ED3\u675F\u540E\u8FD0\u884C\u7684\u4EFB\u52A1\u3002","debug.launch.configurations.debugWindowsConfiguration":"\u7279\u5B9A\u4E8E Windows \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.configurations.debugOSXConfiguration":"\u7279\u5B9A\u4E8E OS X \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.configurations.debugLinuxConfiguration":"\u7279\u5B9A\u4E8E Linux \u7684\u542F\u52A8\u914D\u7F6E\u5C5E\u6027\u3002","debug.launch.typeNotSupported":'\u8C03\u8BD5\u7C7B\u578B "{0}" \u4E0D\u652F\u6301',"debug.launch.catchError":"\u542F\u52A8\u8C03\u8BD5\u8FDB\u7A0B\u65F6\u9047\u5230\u4E86\u9519\u8BEF, \u8BF7\u68C0\u67E5\u8C03\u8BD5\u63A7\u5236\u53F0","debug.launch.view.template.button.addItem":"\u6DFB\u52A0\u4E00\u9879","debug.launch.view.template.input.placeholder":"\u8BF7\u8F93\u5165 {0}","debug.launch.view.template.button.submit":"\u65B0\u589E\u914D\u7F6E\u9879","debug.launch.view.edit.inLaunchJson":"\u5728 launch.json \u4E2D\u7F16\u8F91","debug.widget.exception.thrownWithId":"\u53D1\u751F\u5F02\u5E38: {0}","debug.widget.exception.thrown":"\u51FA\u73B0\u5F02\u5E38\u3002","workspace.openDirectory":"\u6253\u5F00\u6587\u4EF6\u5939","workspace.addFolderToWorkspace":"\u5C06\u6587\u4EF6\u5939\u6DFB\u52A0\u5230\u5DE5\u4F5C\u533A...","workspace.removeFolderFromWorkspace":"\u4ECE\u5DE5\u4F5C\u533A\u79FB\u9664\u6587\u4EF6\u5939","workspace.saveWorkspaceAsFile":"\u5C06\u5DE5\u4F5C\u533A\u53E6\u5B58\u4E3A...","workspace.openWorkspaceTitle":"\u5DE5\u4F5C\u533A","workspace.openWorkspace":"\u6253\u5F00\u5DE5\u4F5C\u533A","window.toggleDevTools":"\u5207\u6362\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177","window.reload":"\u91CD\u8F7D\u7A97\u53E3","preference.menubar.mode.compact":"\u63A7\u5236\u83DC\u5355\u680F\u662F\u5426\u4F7F\u7528\u7D27\u51D1\u6A21\u5F0F","preference.explorer.confirm.delete":"\u63A7\u5236\u662F\u5426\u5728\u5220\u9664\u6587\u4EF6\u65F6\u5F39\u51FA\u786E\u8BA4\u6846","preference.explorer.confirm.move":"\u63A7\u5236\u662F\u5426\u5728\u79FB\u52A8\u6587\u4EF6\u65F6\u5F39\u51FA\u786E\u8BA4\u6846","preference.files.watcherExclude":"\u914D\u7F6E\u6392\u9664\u6587\u4EF6\u76D1\u542C\u7684\u6587\u4EF6\u8DEF\u5F84 glob \u6A21\u5F0F\uFF0C\u6A21\u5F0F\u5FC5\u987B\u5728\u7EDD\u5BF9\u8DEF\u5F84\u4E0A\u5339\u914D\uFF08\u5373\u524D\u7F00\u4E3A ** \u6216\u5B8C\u6574\u8DEF\u5F84\u624D\u80FD\u6B63\u786E\u5339\u914D\uFF09\u3002\u66F4\u6539\u6B64\u8BBE\u7F6E\u9700\u8981\u91CD\u65B0\u542F\u52A8\u3002\u82E5\u5728\u542F\u52A8\u65F6\u9047\u5230\u4EE3\u7801\u5360\u7528\u5927\u91CF CPU \u65F6\u95F4\uFF0C\u53EF\u4EE5\u6392\u9664\u5927\u6587\u4EF6\u5939\u4EE5\u51CF\u5C11\u521D\u59CB\u52A0\u8F7D\u3002","preference.files.exclude":"\u914D\u7F6E\u6392\u9664\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F\uFF0C\u8D44\u6E90\u7BA1\u7406\u5668\u5C06\u6839\u636E\u6B64\u8BBE\u7F6E\u51B3\u5B9A\u8981\u663E\u793A\u6216\u9690\u85CF\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u3002","preference.search.exclude":"\u914D\u7F6E\u5728\u641C\u7D22\u4E2D\u6392\u9664\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F\u3002\u5DF2\u7ECF\u7EE7\u627F `#files.exclude#` \u8BBE\u7F6E\u7684\u6240\u6709 glob \u6A21\u5F0F\u3002","preference.search.include":"\u914D\u7F6E\u5728\u641C\u7D22\u4E2D\u5305\u542B\u7684\u6587\u4EF6\u548C\u6587\u4EF6\u5939\u7684 glob \u6A21\u5F0F","preference.files.watcherExclude.title":"\u6392\u9664\u6587\u4EF6\u76D1\u542C","preference.search.exclude.title":"\u641C\u7D22\u6392\u9664\u6587\u4EF6","preference.search.useReplacePreview":"\u63A7\u5236\u641C\u7D22\u66FF\u6362\u6253\u5F00\u7F16\u8F91\u5668\u65F6\uFF0C\u662F\u5426\u6253\u5F00\u201C\u66FF\u6362\u9884\u89C8\u201D\u3002","preference.search.searchOnType":"\u63A7\u5236\u662F\u5426\u5728\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u65F6\u81EA\u52A8\u641C\u7D22\u3002","preference.search.searchOnTypeDebouncePeriod":"\u63A7\u5236\u8F93\u5165\u65F6\u81EA\u52A8\u641C\u7D22\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002","preference.files.exclude.title":"\u6392\u9664\u6587\u4EF6\u663E\u793A","preference.debug.internalConsoleOptions":"\u63A7\u5236\u4F55\u65F6\u6253\u5F00\u5185\u90E8\u8C03\u8BD5\u63A7\u5236\u53F0\u3002","preference.debug.openDebug":"\u63A7\u5236\u4F55\u65F6\u6253\u5F00\u8C03\u8BD5\u89C6\u56FE\u3002","preference.debug.debugViewLocation":"\u63A7\u5236\u8C03\u8BD5\u89C6\u56FE\u7684\u4F4D\u7F6E\u3002","preference.debug.trace":"\u542F\u7528/\u7981\u7528\u4E0E\u8C03\u8BD5\u9002\u914D\u5668\u7684\u5806\u6808\u901A\u4FE1\u3002","preference.debug.allowBreakpointsEverywhere":"\u5141\u8BB8\u5728\u6240\u6709\u6587\u4EF6\u4E2D\u8BBE\u7F6E\u65AD\u70B9\u3002","preference.debug.toolbar.float":"\u6D6E\u5C42\u6A21\u5F0F","preference.files.associations.title":"\u6587\u4EF6\u5173\u8054","preference.files.associations":'\u914D\u7F6E\u8BED\u8A00\u7684\u6587\u4EF6\u5173\u8054\uFF08\u5982 "*.extension": "html"\uFF09\u3002\u8FD9\u4E9B\u5173\u8054\u7684\u4F18\u5148\u7EA7\u9AD8\u4E8E\u5DF2\u5B89\u88C5\u8BED\u8A00\u7684\u9ED8\u8BA4\u5173\u8054\u3002',"preference.files.encoding.title":"\u6587\u4EF6\u7F16\u7801","preference.files.encoding":"\u8BFB\u5199\u6587\u4EF6\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u5B57\u7B26\u96C6\u7F16\u7801","preference.files.autoGuessEncoding":"\u542F\u7528\u540E\uFF0C\u7F16\u8F91\u5668\u5C06\u5728\u6253\u5F00\u6587\u4EF6\u65F6\u5C1D\u8BD5\u731C\u6D4B\u5B57\u7B26\u96C6\u7F16\u7801\u3002\u4E5F\u53EF\u4EE5\u6309\u8BED\u8A00\u914D\u7F6E\u6B64\u8BBE\u7F6E\u3002","preference.files.autoGuessEncoding.title":"\u81EA\u52A8\u731C\u6D4B\u7F16\u7801","preference.explorer.fileTree.indent.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u6811\u5B50\u8282\u70B9\u7F29\u8FDB","preference.explorer.fileTree.baseIndent.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u6811\u57FA\u7840\u7F29\u8FDB","preference.debug.toolbar.float.title":"\u8FD0\u884C\u4E0E\u8C03\u8BD5\uFF1A\u6D6E\u5C42\u6A21\u5F0F","preference.debug.breakpoint.editorHint.title":"\u63A7\u5236\u662F\u5426\u5F00\u542F\u7F16\u8F91\u5668\u65AD\u70B9\u95EA\u70C1\u63D0\u793A","preference.debug.breakpoint.editorHint":"\u542F\u7528\u540E\uFF0C\u70B9\u51FB\u65AD\u70B9\u5217\u8868\u8DF3\u8F6C\u5230\u7F16\u8F91\u5668\u65F6\uFF0C\u4F1A\u6709\u80CC\u666F\u8272\u95EA\u70C1\u63D0\u793A","preference.debug.breakpoint.showBreakpointsInOverviewRuler":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6982\u89C8\u6807\u5C3A\u4E2D\u663E\u793A\u65AD\u70B9","preference.debug.console.filter.mode":"\u8C03\u8BD5\u63A7\u5236\u53F0\u7B5B\u9009\u5668\u6A21\u5F0F","preference.debug.console.filter.mode.filter":"\u8FC7\u6EE4\u6A21\u5F0F","preference.debug.console.filter.mode.matcher":"\u5339\u914D\u6A21\u5F0F","preference.debug.console.wordWrap":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u8C03\u8BD5\u63A7\u5236\u53F0\u4E2D\u6362\u884C","preference.debug.inline.values":"\u5F53\u5904\u4E8E\u8C03\u8BD5\u8FC7\u7A0B\u4E2D\u65F6\uFF0C\u5728\u7F16\u8F91\u5668\u4E2D\u5185\u8054\u663E\u793A\u53D8\u91CF\u503C","preference.explorer.compactFolders":"\u6587\u4EF6\u5939\u7D27\u51D1\u6A21\u5F0F\u4E0B\uFF0C\u5355\u4E2A\u5B50\u6587\u4EF6\u5939\u5C06\u88AB\u538B\u7F29\u5728\u7EC4\u5408\u7684\u6811\u5143\u7D20\u4E2D\uFF0C\u5BF9 Java \u5305\u7ED3\u6784\u5F88\u6709\u7528\u3002","preference.explorer.compactFolders.title":"\u8D44\u6E90\u7BA1\u7406\u5668\uFF1A\u6587\u4EF6\u5939\u7D27\u51D1\u6A21\u5F0F","preference.explorer.autoReveal":"\u6253\u5F00\u6587\u4EF6\u65F6\u81EA\u52A8\u663E\u793A\u5E76\u805A\u7126","preference.editorTitle.openSource":"\u6253\u5F00\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openUserSource":"\u6253\u5F00\u5168\u5C40\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openWorkspaceSource":"\u6253\u5F00\u5DE5\u4F5C\u533A\u8BBE\u7F6E\uFF08JSON\uFF09","preference.editorTitle.openPreference":"\u6253\u5F00\u8BBE\u7F6E\uFF08\u53EF\u89C6\u5316\uFF09","preference.view.saveLayoutWithWorkspace.title":"\u63A7\u5236\u662F\u5426\u5C06\u5E03\u5C40\u4FE1\u606F\u4E0E\u5DE5\u4F5C\u533A\u7ED1\u5B9A","preference.stringArray.operate.delete":"\u5220\u9664","preference.stringArray.operate.edit":"\u4FEE\u6539","preference.stringArray.operate.editTip":"\u6309\u56DE\u8F66\u786E\u8BA4","preference.stringArray.none":"\u6682\u65E0\u53EF\u9009\u503C","preference.enum.default":"\u9ED8\u8BA4\u503C","preference.terminal.type":"\u9ED8\u8BA4\u7EC8\u7AEF\u7C7B\u578B","preference.terminal.typeDesc":"\u63A7\u5236\u6253\u5F00\u7EC8\u7AEF\u6240\u4F7F\u7528\u7684\u9ED8\u8BA4 Shell \u7C7B\u578B\u3002","preference.terminal.fontFamily":"\u7EC8\u7AEF\u5B57\u4F53","preference.terminal.fontSize":"\u7EC8\u7AEF\u5B57\u4F53\u5927\u5C0F","preference.terminal.fontWeight":"\u7EC8\u7AEF\u5B57\u4F53\u6743\u91CD","preference.terminal.lineHeight":"\u7EC8\u7AEF\u6587\u5B57\u884C\u9AD8","preference.terminal.cursorBlink":"\u7EC8\u7AEF\u5149\u6807\u662F\u5426\u95EA\u70C1","preference.terminal.scrollback":"\u7EC8\u7AEF\u53EF\u6EDA\u52A8\u5185\u5BB9\u884C\u6570","preference.terminal.integrated.shellArgs.linux":"Linux \u7EC8\u7AEF\u547D\u4EE4\u884C\u53C2\u6570","preference.terminal.integrated.shellArgs.linuxDesc":"\u914D\u7F6E\u5728 Linux \u7EC8\u7AEF\u4E0A\u65F6\u8981\u4F7F\u7528\u7684\u547D\u4EE4\u884C\u53C2\u6570\u3002","preference.terminal.integrated.copyOnSelection":"\u7EC8\u7AEF\u9009\u4E2D\u590D\u5236","preference.terminal.integrated.copyOnSelectionDesc":"\u5C06\u7EC8\u7AEF\u4E2D\u9009\u4E2D\u7684\u6587\u672C\u7ACB\u5373\u590D\u5236\u5230\u526A\u8D34\u677F\u3002","preference.terminal.integrated.localEchoEnabled":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E","preference.terminal.integrated.localEchoDesc":"\u4F55\u65F6\u5E94\u542F\u7528\u672C\u5730\u56DE\u663E","preference.terminal.integrated.localEchoLatencyThreshold":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E\u89E6\u53D1\u5EF6\u65F6","preference.terminal.integrated.localEchoLatencyThresholdDesc":"\u7F51\u7EDC\u5EF6\u8FDF\u7684\u957F\u5EA6(\u4EE5\u6BEB\u79D2\u4E3A\u5355\u4F4D)\uFF0C\u5176\u4E2D\u672C\u5730\u7F16\u8F91\u5C06\u5728\u7EC8\u7AEF\u4E0A\u56DE\u663E\uFF0C\u65E0\u9700\u7B49\u5F85\u670D\u52A1\u5668\u627F\u8BA4\u3002\u5982\u679C\u4E3A '0'\uFF0C\u5219\u672C\u5730\u56DE\u663E\u5C06\u59CB\u7EC8\u5F00\u542F\uFF0C\u5982\u679C\u4E3A '-1'\uFF0C\u5219\u5C06\u7981\u7528\u3002","preference.terminal.integrated.localEchoExcludePrograms":"\u7EC8\u7AEF\u672C\u5730\u56DE\u663E\u6392\u9664\u7684\u5E94\u7528\u7A0B\u5E8F","preference.terminal.integrated.localEchoExcludeProgramsDesc":"\u5F53\u5728\u7EC8\u7AEF\u6807\u9898\u4E2D\u627E\u5230\u5176\u4E2D\u4E00\u4E2A\u7A0B\u5E8F\u540D\u79F0\u65F6\uFF0C\u5C06\u7981\u7528\u672C\u5730\u56DE\u663E\u3002","preference.terminal.integrated.localEchoStyle":"\u672C\u5730\u56DE\u663E\u5B57\u4F53\u6837\u5F0F","preference.terminal.integrated.localEchoStyleDesc":"\u672C\u5730\u56DE\u663E\u6587\u672C\u7684\u7EC8\u7AEF\u6837\u5F0F\uFF1B\u5B57\u4F53\u6837\u5F0F\u6216 RGB \u989C\u8272\u3002","preference.terminal.integrated.xtermRenderType":"Xterm \u6E32\u67D3\u7C7B\u578B","preference.terminal.integrated.xtermRenderTypeDesc":"\u9009\u62E9 Xterm \u6E32\u67D3\u7C7B\u578B\uFF0CWebGL \u6027\u80FD\u66F4\u5F3A\uFF0CCanvas \u517C\u5BB9\u6027\u66F4\u4F73\u3002","preference.terminal.integrated.enablePersistentSessionDesc":"\u7A97\u53E3\u91CD\u8F7D\u65F6\u6301\u4E45\u5316\u7EC8\u7AEF\u4F1A\u8BDD","preference.terminal.integrated.cursorStyle":"\u7EC8\u7AEF\u8F93\u5165\u6307\u9488\u6837\u5F0F","preference.terminal.integrated.cursorStyleDesc":"\u4FEE\u6539\u7EC8\u7AEF\u8F93\u5165\u6307\u9488\u6837\u5F0F","settings.group.general":"\u5E38\u89C4","settings.group.shortcut":"\u5FEB\u6377\u952E","settings.group.editor":"\u7F16\u8F91\u5668","settings.group.extension":"\u6269\u5C55","settings.group.feature":"\u529F\u80FD","settings.group.terminal":"\u7EC8\u7AEF","settings.group.view":"\u89C6\u56FE","preference.general.theme":"\u4E3B\u9898","preference.general.icon":"\u6587\u4EF6\u56FE\u6807\u4E3B\u9898","preference.general.productIconTheme":"\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898","preference.workbench.colorCustomizations":"\u8986\u76D6\u5F53\u524D\u6240\u9009\u989C\u8272\u4E3B\u9898\u7684\u989C\u8272","preference.general.language":"\u8BED\u8A00","preference.general.language.change.refresh.info":"\u66F4\u6539\u8BED\u8A00\u540E\u9700\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u5237\u65B0?","preference.general.language.change.refresh.now":"\u7ACB\u5373\u5237\u65B0","preference.general.language.change.refresh.later":"\u7A0D\u540E\u81EA\u5DF1\u5237\u65B0","preference.workbench.refactoringChanges.showPreviewStrategy":"\u89E6\u53D1\u4E00\u4E9B\u91CD\u6784\u53D8\u66F4\u65F6\uFF0C\u662F\u5426\u9700\u8981\u5F39\u7A97\u786E\u8BA4","preference.workbench.refactoringChanges.showPreviewStrategy.title":"\u91CD\u6784\u786E\u8BA4\u65B9\u5F0F","preference.editor.wrapTab":"\u7F16\u8F91\u5668 Tab \u81EA\u52A8\u6362\u884C","preference.editor.fontFamily":"\u5B57\u4F53","preference.editor.minimap":"\u663E\u793A Minimap","preference.editor.forceReadOnly":"\u53EA\u8BFB\u6A21\u5F0F","preference.editor.renderLineHighlight":"\u5F53\u524D\u884C\u7A81\u51FA\u663E\u793A","preference.editor.fontWeight":"\u5B57\u4F53\u7C97\u7EC6","preference.editor.fontSize":"\u5B57\u4F53\u5927\u5C0F","preference.editor.tabSize":"Tab \u7F29\u8FDB\u5927\u5C0F","preference.editor.detectIndentation":"\u81EA\u52A8\u68C0\u6D4B\u7F29\u8FDB\u5927\u5C0F","preference.editor.renderWhitespace":"\u663E\u793A\u7A7A\u767D\u5B57\u7B26","preference.editor.cursorStyle":"\u5149\u6807\u6837\u5F0F","preference.editor.insertSpace":"\u4F7F\u7528\u7A7A\u683C\u4EE3\u66FF Tab","preference.editor.wordWrap":"\u81EA\u52A8\u6362\u884C","preference.editor.wordWrapColumn":"\u81EA\u52A8\u6362\u884C\u957F\u5EA6","preference.editor.askIfDiff":"\u4FDD\u5B58\u6587\u4EF6\u51B2\u7A81\u65F6\u63D0\u793A","preference.editor.readonlyFiles":"\u53EA\u8BFB\u6587\u4EF6\u5217\u8868","preference.editor.formatOnSaveTimeout":"\u683C\u5F0F\u5316\u8D85\u65F6\u65F6\u95F4","preference.editor.formatOnSaveTimeoutError":"\u683C\u5F0F\u5316\u65F6\u95F4\u8D85\u8FC7 {0} \u6BEB\u79D2\uFF0C\u7EC8\u6B62\u683C\u5F0F\u5316","preference.editor.autoSave":"\u81EA\u52A8\u4FDD\u5B58\u6587\u4EF6","preference.editor.autoSaveDelay":"\u81EA\u52A8\u4FDD\u5B58\u5EF6\u8FDF","preference.editor.maxTokenizationLineLength":"\u6700\u5927\u89E3\u6790\u6807\u8BC6\u957F\u5EA6","preference.editor.quickSuggestionsDelay":"\u667A\u80FD\u63D0\u793A\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09","preference.editor.largeFile":"\u8D85\u5927\u6587\u4EF6\u5C3A\u5BF8","preference.files.eol":"\u6587\u4EF6\u884C\u5C3E\u5B57\u7B26","preference.files.trimFinalNewlines":"\u79FB\u9664\u6700\u540E\u7684\u6362\u884C\u7B26","preference.files.trimTrailingWhitespace":"\u79FB\u9664\u7ED3\u5C3E\u7A7A\u683C","preference.files.insertFinalNewline":"\u7ED3\u5C3E\u5904\u63D2\u5165\u7A7A\u884C","preference.editor.formatOnPaste":"\u7C98\u8D34\u65F6\u81EA\u52A8\u683C\u5F0F\u5316","preference.editor.preferredFormatter":"\u9ED8\u8BA4\u683C\u5F0F\u5316\u5668","preference.editor.bracketPairColorization.enabled":"\u62EC\u53F7\u7740\u8272","preference.array.additem":"\u6DFB\u52A0","preference.editor.lineHeight":"\u884C\u9AD8","preference.editor.saveCodeActions":"\u4FDD\u5B58\u65F6\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7C7B\u578B","preference.editor.saveCodeActionsNotification":"\u4EE3\u7801\u64CD\u4F5C\u6267\u884C\u65F6\u662F\u5426\u5C55\u793A\u901A\u77E5\u4FE1\u606F","preference.item.notValid":"{0} \u4E0D\u662F\u6709\u6548\u9009\u9879","editor.saveAll":"\u4FDD\u5B58\u5168\u90E8","editor.saveCodeActions.getting":"\u4ECE {0} \u4E2D\u83B7\u53D6 CodeAction","editor.saveCodeActions.saving":'\u4FDD\u5B58 "{0}"',"editor.autoSave.enum.off":"\u4E0D\u542F\u7528","editor.files.eol":"\u6587\u4EF6\u884C\u5C3E\u5B57\u7B26","editor.files.eolDesc":"\u63A7\u5236\u6587\u4EF6\u9ED8\u8BA4\u884C\u5C3E\u5B57\u7B26\u3002","editor.autoSave.enum.editorFocusChange":"\u7F16\u8F91\u5668\u5931\u53BB\u7126\u70B9\u65F6\u81EA\u52A8\u4FDD\u5B58","editor.autoSave.enum.afterDelay":"\u7F16\u8F91\u540E\u81EA\u52A8\u4FDD\u5B58\uFF08\u5EF6\u8FDF\u4E00\u5B9A\u65F6\u95F4\uFF09","editor.autoSave.enum.windowLostFocus":"\u7A97\u53E3\u5931\u53BB\u7126\u70B9\u65F6\u81EA\u52A8\u4FDD\u5B58","editor.action.accept":"\u63A5\u53D7\u66F4\u6539\uFF08\u4F7F\u7528\u53F3\u8FB9)","editor.action.revert":"\u56DE\u9000\u66F4\u6539\uFF08\u4F7F\u7528\u5DE6\u8FB9)","editor.format.chooseFormatter":"\u9009\u62E9\u8981\u4F7F\u7528\u7684\u683C\u5F0F\u5316\u6269\u5C55\u3002","editor.formatDocument.label.multiple":"\u4F7F\u7528...\u683C\u5F0F\u5316\u6587\u6863","editor.formatSelection.label.multiple":"\u683C\u5F0F\u5316\u9009\u5B9A\u5185\u5BB9\u7684\u65B9\u5F0F...","editor.chooseEncoding":"\u7528\u7F16\u7801\u91CD\u65B0\u6253\u5F00(\u4F1A\u4E22\u5931\u672A\u4FDD\u5B58\u5185\u5BB9)","editor.guessEncodingFromContent":"\u901A\u8FC7\u5185\u5BB9\u731C\u6D4B","editor.changeEol":"\u9009\u62E9\u884C\u5C3E\u5E8F\u5217","editor.changeLanguageId":"\u9009\u62E9\u8BED\u8A00\u6A21\u5F0F","editor.tokenize.test":"\u83B7\u53D6\u9009\u4E2D\u5B57\u7B26\u4E32\u7684Tokenize\u7ED3\u679C(console)","editor.largeFile.prevent":"\u6587\u4EF6\u8FC7\u5927\uFF0C\u7EE7\u7EED\u6253\u5F00\u53EF\u80FD\u4F1A\u5BFC\u81F4\u5361\u987F\u6216\u8005\u5D29\u6E83\u3002","editor.file.prevent.stillOpen":"\u4ECD\u8981\u6253\u5F00","editor.closeEditorsInOtherGroups":"\u5173\u95ED\u5176\u4ED6\u7EC4\u4E2D\u7684\u7F16\u8F91\u5668","editor.resetEditorGroups":"\u91CD\u7F6E\u7F16\u8F91\u5668\u7EC4\u5927\u5C0F","editor.revert":"\u8FD8\u539F\u6587\u6863","preference.diffEditor.renderSideBySide":"\u663E\u793A\u5E76\u6392\u5DEE\u5F02\u7F16\u8F91\u5668","preference.diffEditor.ignoreTrimWhitespace":"\u5FFD\u7565\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u767D\u5B57\u7B26","preference.mergeEditor.autoApplyNonConflictChanges":"\u81EA\u52A8\u5408\u5E76\u975E\u51B2\u7A81\u53D8\u66F4","status.editor.chooseLanguage":"\u9009\u62E9\u8BED\u8A00\u6A21\u5F0F","status.editor.goToLineCol":"\u8F6C\u5230\u884C/\u5217","status.editor.chooseEncoding":"\u9009\u62E9\u7F16\u7801","status.editor.changeEol":"\u9009\u62E9\u884C\u5C3E\u5E8F\u5217","common.preference.open":"\u8BBE\u7F6E","common.keymaps.open":"\u5FEB\u6377\u952E","common.about":"\u5173\u4E8E","common.find":"\u67E5\u627E","common.replace":"\u66FF\u6362","common.remoteMode":"\u8FDC\u7A0B\u6A21\u5F0F","component.message.origin":"\u6765\u6E90","component.modal.okText":"\u786E\u5B9A","component.modal.cancelText":"\u53D6\u6D88","component.modal.justOkText":"\u77E5\u9053\u4E86","preference.tab.user":"\u5168\u5C40\u8BBE\u7F6E","preference.tab.workspace":"\u5DE5\u4F5C\u533A\u8BBE\u7F6E","preference.tab.name":"\u8BBE\u7F6E","preference.noResults":"\u672A\u627E\u5230\u5305\u542B '{0}' \u7684\u8BBE\u7F6E\u9879","preference.empty":"\u52A0\u8F7D\u8BBE\u7F6E\u9879...","preference.editSettingsJson":"\u5728 settings.json \u4E2D\u7F16\u8F91","preference.overwritten":"\uFF08\u5DF2\u88AB\u4E0B\u4E00\u7EA7\u8BBE\u7F6E\u8986\u76D6\uFF09","preference.overwrittenInUser":"\uFF08\u5DF2\u5728\u5168\u5C40\u8BBE\u7F6E\u4E2D\u8BBE\u7F6E\uFF09","preference.overwrittenInWorkspace":"\uFF08\u5DF2\u5728\u5DE5\u4F5C\u533A\u8BBE\u7F6E\u4E2D\u8BBE\u7F6E\uFF09","preference.searchPlaceholder":"\u641C\u7D22\u8BBE\u7F6E...","keymaps.tab.name":"\u5FEB\u6377\u952E\u8BBE\u7F6E","marketplace.extension.update.now":"\u662F\uFF0C\u73B0\u5728\u66F4\u65B0","marketplace.extension.update.delay":"\u7A0D\u540E\u6211\u81EA\u5DF1\u66F4\u65B0","marketplace.extension.uninstall.failed":"\u5378\u8F7D\u5931\u8D25","marketplace.extension.uninstall.failed.depended":'\u65E0\u6CD5\u5378\u8F7D\u6269\u5C55\u7A0B\u5E8F "{0}"\u3002 \u6269\u5C55\u7A0B\u5E8F "{1}" \u4F9D\u8D56\u4E8E\u6B64',"marketplace.extension.disabled.failed.depended":'\u65E0\u6CD5\u7981\u7528\u6269\u5C55 "{0}"\u3002\u6269\u5C55 "{1}" \u4F9D\u8D56\u4E8E\u6B64\u3002',"marketplace.extension.reload.delay":"\u7A0D\u540E\u6211\u81EA\u5DF1\u91CD\u542F","marketplace.extension.reload.now":"\u662F\uFF0C\u73B0\u5728\u91CD\u542F","marketplace.extension.enable":"\u542F\u7528","marketplace.extension.disable":"\u7981\u7528","marketplace.extension.enable.workspace":"\u542F\u7528(\u5DE5\u4F5C\u7A7A\u95F4)","marketplace.extension.disable.workspace":"\u7981\u7528(\u5DE5\u4F5C\u7A7A\u95F4)","marketplace.extension.enable.all":"\u542F\u7528\u6240\u6709\u63D2\u4EF6","marketplace.extension.disable.all":"\u7981\u7528\u6240\u6709\u63D2\u4EF6","marketplace.extension.builtin":"\u5185\u7F6E","marketplace.extension.development":"\u5F00\u53D1\u6A21\u5F0F","marketplace.extension.install":"\u5B89\u88C5","marketplace.extension.container":"\u6269\u5C55\u5E02\u573A","marketplace.extension.empty.disabled":"\u6682\u65E0\u5DF2\u7981\u7528\u7684\u6269\u5C55","marketplace.extension.notfound":"\u627E\u4E0D\u5230\u6269\u5C55","marketplace.panel.hot":"\u70ED\u95E8\u63D2\u4EF6","marketplace.panel.search":"\u641C\u7D22","marketplace.panel.enabled":"\u5DF2\u542F\u7528","marketplace.panel.disabled":"\u5DF2\u7981\u7528","marketplace.panel.tab.marketplace":"\u6269\u5C55\u5E02\u573A","marketplace.panel.tab.placeholder.search":"\u641C\u7D22\u5E02\u573A\u4E2D\u7684\u6269\u5C55","marketplace.panel.tab.placeholder.installed":"\u641C\u7D22\u5DF2\u5B89\u88C5\u7684\u6269\u5C55","marketplace.tab.installed":"\u5DF2\u5B89\u88C5\u7684\u6269\u5C55","marketplace.extension.findUpdate":"\u53D1\u73B0\u63D2\u4EF6 {0} \u6709\u6700\u65B0\u7248\u672C {1}\uFF0C\u662F\u5426\u8981\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\uFF1F","marketplace.extension.updateAll":"\u53D1\u73B0\u6709\u591A\u4E2A\u6269\u5C55\u53EF\u4EE5\u66F4\u65B0\uFF0C\u662F\u5426\u4E00\u952E\u5168\u90E8\u66F4\u65B0\uFF1F","marketplace.extension.needreloadFromAll":"\u6240\u6709\u6269\u5C55\u66F4\u65B0\u5B8C\u6BD5\uFF0C\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u542F\uFF1F","marketplace.extension.needreload":"\u63D2\u4EF6 {0} \u66F4\u65B0\u6210\u529F\uFF0C\u91CD\u542F\u540E\u751F\u6548\uFF0C\u662F\u5426\u7ACB\u5373\u91CD\u542F\uFF1F","marketplace.extension.canupdate":"\u6709\u65B0\u7248\u672C","marketplace.extension.updating":"\u66F4\u65B0\u4E2D","marketplace.extension.update":"\u66F4\u65B0","marketplace.extension.installing":"\u5B89\u88C5\u4E2D","marketplace.extension.reloadrequire":"\u9700\u8981\u91CD\u542F","marketplace.extension.uninstalling":"\u5378\u8F7D\u4E2D","marketplace.extension.uninstall":"\u5378\u8F7D","marketplace.extension.uninstalled":"\u5DF2\u5378\u8F7D","marketplace.extension.readme":"\u7B80\u4ECB","marketplace.extension.changelog":"\u66F4\u6539\u65E5\u5FD7","marketplace.extension.dependencies":"\u4F9D\u8D56\u9879","marketplace.extension.installed":"\u5DF2\u5B89\u88C5","marketplace.extension.otherVersion":"\u5B89\u88C5\u5176\u4ED6\u7248\u672C","marketplace.extension.currentVersion":"\u5F53\u524D\u7248\u672C","marketplace.quickopen.install":"\u5B89\u88C5\u63D2\u4EF6","marketplace.quickopen.install.byReleaseId":"\u5B89\u88C5\u63D2\u4EF6 (ReleaseId)","marketplace.quickopen.install.releaseId":"\u6269\u5C55 ReleaseId","marketplace.quickopen.install.releaseId.required":"\u6269\u5C55 ReleaseId \u5FC5\u586B","marketplace.quickopen.install.id":"\u6269\u5C55 ID","marketplace.quickopen.install.id.required":"\u6269\u5C55 ID \u5FC5\u586B","marketplace.quickopen.install.version.required":"\u6269\u5C55\u7248\u672C\u5FC5\u586B","marketplace.quickopen.install.version.placeholder":"\u6269\u5C55\u7248\u672C","marketplace.quickopen.install.error":"\u5B89\u88C5\u63D2\u4EF6\u62A5\u9519","validate.tree.emptyFileNameError":"\u9700\u63D0\u4F9B\u53EF\u7528\u7684\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0","validate.tree.fileNameStartsWithSlashError":"\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0\u4E0D\u80FD\u4EE5/\u5F00\u5934","validate.tree.fileNameFollowOrStartWithSpaceWarning":"\u5728\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u540D\u79F0\u4E2D\u68C0\u67E5\u5230\u524D\u5BFC\u6216\u5C3E\u968F\u7A7A\u683C","validate.tree.fileNameExistsError":"\u6587\u4EF6\u6216\u6587\u4EF6\u5939 **{0}** \u5DF2\u5B58\u5728. \u8BF7\u4F7F\u7528\u53E6\u5916\u7684\u540D\u79F0.","validate.tree.invalidFileNameError":"\u540D\u79F0 **{0}** \u4E0D\u53EF\u7528. \u8BF7\u4F7F\u7528\u53E6\u5916\u7684\u540D\u79F0.","editor.close.all":"\u5173\u95ED\u5168\u90E8\u7F16\u8F91\u5668","opened.editors.title":"\u6253\u5F00\u7684\u7F16\u8F91\u5668","opened.editors.save.all":"\u4FDD\u5B58\u5168\u90E8","opened.editors.close.all":"\u5173\u95ED\u5168\u90E8","opened.editors.close.byGroup":"\u5173\u95ED\u7EC4","opened.editors.save.byGroup":"\u4FDD\u5B58\u7EC4\u4E2D\u672A\u4FDD\u5B58\u6587\u4EF6","opened.editors.empty":"\u7F16\u8F91\u5668\u4E2D\u6682\u65E0\u6253\u5F00\u6587\u4EF6","opened.editors.group.title":"\u7B2C{0}\u7EC4","opened.editors.open":"\u6253\u5F00\u6587\u4EF6","opened.editors.openToTheSide":"\u4FA7\u8FB9\u680F\u6253\u5F00","opened.editors.compare":"\u4E0E\u5F53\u524D\u6587\u4EF6\u6BD4\u8F83","opened.editors.copyRelativePath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","opened.editors.copyPath":"\u590D\u5236\u8DEF\u5F84","opened.editors.unsaved":"{0} \u4E2A\u672A\u4FDD\u5B58","terminal.name":"\u7EC8\u7AEF","terminal.disconnected":"\u7EC8\u7AEF\u65AD\u5F00\u8FDE\u63A5","terminal.can.not.create":"\u521B\u5EFA\u7EC8\u7AEF\u5931\u8D25","terminal.can.not.reconnect":"\u7EC8\u7AEF\u4E0D\u53EF\u7528\uFF0C\u8BF7","terminal.stop":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.try.reconnect":"\u91CD\u65B0\u8FDE\u63A5\u7EC8\u7AEF","terminal.try.recreate":"\u91CD\u65B0\u542F\u52A8\u7EC8\u7AEF","terminal.new":"\u65B0\u5EFA\u7EC8\u7AEF","terminal.new.type":"\u6839\u636E\u7EC8\u7AEF\u7C7B\u578B\u65B0\u5EFA","terminal.split":"\u62C6\u5206\u7EC8\u7AEF","terminal.clear":"\u7EC8\u6B62\u6240\u6709\u7EC8\u7AEF","terminal.clear.content":"\u6E05\u7A7A\u5F53\u524D\u7EC8\u7AEF\u5185\u5BB9","terminal.independ":"\u72EC\u7ACB\u7EC8\u7AEF","terminal.maximum":"\u6700\u5927\u5316\u9762\u677F\u5927\u5C0F","terminal.or":"\u6216\u8005","terminal.search":"\u641C\u7D22","terminal.search.next":"\u641C\u7D22\u4E0B\u4E00\u4E2A\u5339\u914D\u9879","terminal.openWithPath":"\u5728\u7EC8\u7AEF\u4E2D\u6253\u5F00","terminal.remove":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.relaunch":"\u91CD\u542F\u7EC8\u7AEF","terminal.menu.clearGroups":"\u6E05\u9664\u6240\u6709\u7EC8\u7AEF","terminal.menu.search":"\u641C\u7D22","terminal.menu.split":"\u62C6\u5206\u7EC8\u7AEF","terminal.menu.rename":"\u91CD\u547D\u540D","terminal.menu.selectAll":"\u5168\u9009","terminal.menu.copy":"\u590D\u5236","terminal.menu.paste":"\u7C98\u8D34","terminal.menu.clear":"\u6E05\u7A7A","terminal.menu.stop":"\u7EC8\u6B62","terminal.menu.stopGroup":"\u7EC8\u6B62\u7EC8\u7AEF","terminal.menu.clearCurrentContent":"\u6E05\u7A7A\u5F53\u524D\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectCurrentContent":"\u9009\u4E2D\u5F53\u524D\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.clearAllContents":"\u6E05\u7A7A\u6240\u6709\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectAllContent":"\u9009\u4E2D\u6240\u6709\u7EC8\u7AEF\u65E5\u5FD7","terminal.menu.selectType":"\u9ED8\u8BA4\u7EC8\u7AEF\u7C7B\u578B","terminal.menu.moreSettings":"\u66F4\u591A\u8BBE\u7F6E","terminal.environment.changed":"\u7EC8\u7AEF\u73AF\u5883\u53D8\u91CF\u5DF2\u7ECF\u88AB\u90E8\u5206\u63D2\u4EF6\u4FEE\u6539","terminal.environment.changes":"\u6269\u5C55\u671F\u671B\u5BF9\u7EC8\u7AEF\u7684\u73AF\u5883\u53D8\u91CF\u505A\u4EE5\u4E0B\u66F4\u6539\uFF1A","terminal.environment.removal":"\u6269\u5C55\u671F\u671B\u4ECE\u73B0\u6709\u7684\u7EC8\u7AEF\u73AF\u5883\u53D8\u91CF\u4E2D\u5220\u9664\u4EE5\u4E0B\u503C\uFF1A","terminal.launchFail.cwdNotDirectory":'\u7EC8\u7AEF\u542F\u52A8\u76EE\u5F55 (cwd) "{0}" \u4E0D\u662F\u4E00\u4E2A\u6587\u4EF6\u5939',"terminal.launchFail.cwdDoesNotExist":'\u7EC8\u7AEF\u542F\u52A8\u76EE\u5F55 (cwd) "{0}" \u4E0D\u5B58\u5728',"terminal.launchFail.executableIsNotFileOrSymlink":'\u7EC8\u7AEF\u542F\u52A8\u7684\u53EF\u6267\u884C\u6587\u4EF6 "{0}" \u7684\u8DEF\u5F84\u975E\u6587\u4EF6\u6216\u7B26\u53F7\u94FE\u63A5',"terminal.launchFail.executableDoesNotExist":'\u7EC8\u7AEF\u542F\u52A8\u7684\u53EF\u6267\u884C\u6587\u4EF6 "{0}" \u7684\u8DEF\u5F84\u4E0D\u5B58\u5728',"terminal.openFile":"\u6253\u5F00\u6587\u4EF6","terminal.focusFolder":"\u805A\u7126\u8D44\u6E90\u7BA1\u7406\u5668\u4E2D\u7684\u6587\u4EF6\u5939","terminal.openFolder":"\u5728\u65B0\u7A97\u53E3\u4E2D\u6253\u5F00\u6587\u4EF6\u5939","terminal.toggleTerminal":"\u5207\u6362\u7EC8\u7AEF\u9762\u677F","terminal.killProcess":"\u7ED3\u675F\u8FDB\u7A0B","terminal.process.unHealthy":"*\u6B64\u7EC8\u7AEF\u4F1A\u8BDD\u5DF2\u88AB\u7CFB\u7EDF\u8D85\u65F6\u56DE\u6536\uFF0C\u8BF7\u6253\u5F00\u65B0\u7684\u7EC8\u7AEF\u4F1A\u8BDD\u6765\u8FDB\u884C\u64CD\u4F5C","terminal.selectCWDForNewTerminal":"\u4E3A\u65B0 terminal \u9009\u62E9\u5F53\u524D\u5DE5\u4F5C\u8DEF\u5F84","view.command.show":"\u6253\u5F00 {0}","layout.tabbar.setting":"\u6253\u5F00\u504F\u597D\u8BBE\u7F6E","terminal.focusNext.inTerminalGroup":"\u805A\u7126\u5F53\u524D\u7EC8\u7AEF\u7EC4\u4E2D\u7684\u4E0B\u4E00\u4E2A\u7EC8\u7AEF","terminal.focusPrevious.inTerminalGroup":"\u805A\u7126\u5F53\u524D\u7EC8\u7AEF\u7EC4\u4E2D\u7684\u4E0A\u4E00\u4E2A\u7EC8\u7AEF","terminal.ai.requesting":"AI \u8BF7\u6C42\u4E2D...","terminal.ai.selectHint":"\u952E\u76D8 \u2191\u2193 \u952E\u9009\u62E9\u547D\u4EE4\uFF0C\u23CE \u786E\u8BA4\u547D\u4EE4","terminal.ai.thinking":"AI \u601D\u8003\u4E2D...","terminal.ai.escClose":"\u6309 ESC \u5173\u95ED\u5F39\u6846","terminal.ai.headerHint":"\u4F7F\u7528 AI \u83B7\u5F97\u7EC8\u7AEF\u8F93\u5165\u63D0\u793A","terminal.ai.inputHint":"\u8F93\u5165\u81EA\u7136\u8BED\u8A00\u751F\u6210\u547D\u4EE4\uFF0C\u793A\u4F8B\uFF1A\u5C55\u793A\u5F53\u524D\u8FDB\u7A0B pid","terminal.ai.inputSharpToGetHint":"\u8F93\u5165 # \u6765\u83B7\u53D6 AI \u5EFA\u8BAE\u547D\u4EE4","terminal.ai.cannotGetTerminalConnection":"\u65E0\u6CD5\u83B7\u53D6\u7EC8\u7AEF\u8FDE\u63A5\uFF0C\u8BF7\u5230\u7528\u6237\u7FA4\u53CD\u9988","debugger.menu.setValue":"\u8BBE\u7F6E\u53D8\u91CF","debugger.menu.setValue.param":"\u8BF7\u8F93\u5165\u4F60\u8981\u6539\u53D8\u53D8\u91CF\u7684\u503C","debugger.menu.copyValue":"\u590D\u5236\u503C","debugger.menu.copyEvaluatePath":"\u590D\u5236\u8868\u8FBE\u5F0F","debugger.menu.addToWatchExpressions":"\u6DFB\u52A0\u5230\u76D1\u89C6","debugger.menu.restartFrame":"\u91CD\u542F\u6808\u5E27","debugger.menu.copyCallstack":"\u590D\u5236\u5806\u6808","theme.toggle":"\u989C\u8272\u4E3B\u9898","theme.icon.toggle":"\u6587\u4EF6\u56FE\u6807\u4E3B\u9898","theme.productIcon.toggle":"\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898","theme.base.vs":"\u6D45\u8272\u4E3B\u9898","theme.base.vs-dark":"\u6DF1\u8272\u4E3B\u9898","theme.base.hc":"\u9AD8\u5BF9\u6BD4\u5EA6\u4E3B\u9898","theme.current":"\u5F53\u524D\u4E3B\u9898","theme.quickopen.plh":"\u9009\u62E9\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","theme.icon.quickopen.plh":"\u9009\u62E9\u56FE\u6807\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","theme.productIcon.quickopen.plh":"\u9009\u62E9\u4EA7\u54C1\u56FE\u6807\u4E3B\u9898\uFF08\u4E0A\u4E0B\u79FB\u52A8\u5149\u6807\u9884\u89C8\uFF09","preference.workbench.list.openMode":"\u63A7\u5236\u5982\u4F55\u4F7F\u7528\u9F20\u6807\u5C55\u5F00\u6811\u548C\u6253\u5F00\u5217\u8868\u9879\uFF08\u82E5\u652F\u6301\uFF09\u3002\u5982\u679C\u6B64\u8BBE\u7F6E\u4E0D\u9002\u7528\uFF0C\u67D0\u4E9B\u6811\u548C\u5217\u8868\u53EF\u80FD\u4F1A\u9009\u62E9\u5FFD\u7565\u6B64\u8BBE\u7F6E\u3002","preference.workbench.list.openMode.title":"\u6811\u5C55\u5F00/\u5217\u8868\u9879\u6253\u5F00\u65B9\u5F0F","keymaps.search.placeholder":"\u8F93\u5165\u5173\u952E\u5B57\u67E5\u627E","keymaps.search.keyboard.placeholder":"\u8F93\u5165\u5FEB\u6377\u952E","keymaps.header.command.title":"\u547D\u4EE4","keymaps.header.source.title":"\u4F5C\u7528\u57DF","keymaps.header.keybinding.title":"\u5FEB\u6377\u952E","keymaps.header.when.title":"\u6761\u4EF6","keymaps.commandId.title":"\u547D\u4EE4 ID\uFF1A{0}","keymaps.source.default":"\u9ED8\u8BA4","keymaps.source.user":"\u7528\u6237","keymaps.source.workspace":"\u5DE5\u4F5C\u533A","keymaps.keybinding.full.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.partial.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u5B58\u5728\u5305\u542B\u5173\u7CFB\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.shadow.collide":'\u8BE5\u5FEB\u6377\u952E\u4E0E"{0}"\u547D\u4EE4\u5B58\u5728\u5305\u542B\u5173\u7CFB\u51B2\u7A81\uFF0C\u8BF7\u91CD\u65B0\u8BBE\u7F6E',"keymaps.keybinding.duplicate":"\u8BE5\u5FEB\u6377\u952E\u5DF2\u7ED1\u5B9A\u4EE5\u4E0B {0} \u6761\u547D\u4EE4\uFF1A","keymaps.keybinding.loading":"\u6B63\u5728\u4FEE\u6539\u5FEB\u6377\u952E ...","keymaps.keybinding.success":"\u4FEE\u6539\u5FEB\u6377\u952E\u6210\u529F","keymaps.keybinding.fail":"\u4FEE\u6539\u5FEB\u6377\u952E\u5931\u8D25","keymaps.keybinding.require":"\u8BF7\u8F93\u5165\u5FEB\u6377\u952E","keymaps.action.edit":"\u7F16\u8F91\u5FEB\u6377\u952E","keymaps.action.add":"\u6DFB\u52A0\u5FEB\u6377\u952E","keymaps.action.reset":"\u91CD\u7F6E\u5FEB\u6377\u952E","keymaps.action.clear":"\u6E05\u7A7A","keymaps.edit.placeholder":"\u8BF7\u6309 Enter \u952E\u4FDD\u5B58","keymaps.editorTitle.openSource":"\u6253\u5F00\u952E\u76D8\u5FEB\u6377\u65B9\u5F0F(JSON)","keymaps.editorTitle.openKeymap":"\u6253\u5F00\u952E\u76D8\u5FEB\u6377\u65B9\u5F0F(\u53EF\u89C6\u5316)","keybinding.combination.tip":"\u5DF2\u6309\u4E0B({0}), \u7B49\u5F85\u540C\u65F6\u6309\u4E0B\u7B2C\u4E8C\u4E2A\u952E","layout.tabbar.toggle":"\u5207\u6362\u9762\u677F\u663E\u793A/\u9690\u85CF","layout.tabbar.expand":"\u6700\u5927\u5316\u5E95\u90E8\u9762\u677F","layout.tabbar.retract":"\u7F29\u56DE\u5E95\u90E8\u9762\u677F","layout.view.hide":"\u9690\u85CF","layout.action.openView":"\u6253\u5F00\u89C6\u56FE ...","layout.openView.containerTitle":"\u4FA7\u8FB9\u680F / \u9762\u677F","layout.openView.viewTitle":"{0} / \u89C6\u56FE","status-bar.label.line":"\u884C","status-bar.label.column":"\u5217","status-bar.label.selected":"\u5DF2\u9009\u62E9","status-bar.label.tabType.space":"\u7A7A\u683C","status-bar.label.tabType.tab":"Tab \u5927\u5C0F","status-bar.scm":"\u6E90\u7801\u7BA1\u7406","status-bar.editor-selection":"\u5F53\u524D\u9009\u62E9","status-bar.editor-language":"\u9009\u62E9\u8BED\u8A00","status-bar.editor-encoding":"\u9009\u62E9\u7F16\u7801","status-bar.editor-space":"\u9009\u62E9\u7A7A\u683C\u7B26","status-bar.editor-eol":"\u9009\u62E9\u884C\u5C3E\u5B57\u7B26","status-bar.editor-indentation":"\u9009\u62E9\u7F29\u8FDB","status-bar.editor-langStatus":"\u8BED\u8A00\u670D\u52A1\u5668\u72B6\u6001",saveChangesMessage:"\u662F\u5426\u8981\u4FDD\u5B58\u5BF9 {0} \u7684\u66F4\u6539?",saveNFilesChangesMessage:`\u662F\u5426\u4FDD\u5B58\u5BF9\u4EE5\u4E0B {0} \u4E2A\u6587\u4EF6\u7684\u66F4\u6539?
33509
33509
  {1}
33510
33510
 
33511
33511
  \u5982\u679C\u4E0D\u4FDD\u5B58\uFF0C\u60A8\u5C06\u4F1A\u4E22\u5931\u8FD9\u4E9B\u6587\u4EF6\u7684\u6240\u6709\u66F4\u6539\u3002`,"file.prompt.more.one":" \u548C\u5176\u4ED6 1 \u4E2A\u6587\u4EF6","file.prompt.more.number":" \u548C\u5176\u4ED6 {0} \u4E2A\u6587\u4EF6","file.prompt.dontSave":"\u4E0D\u4FDD\u5B58","file.prompt.save":"\u4FDD\u5B58","file.prompt.cancel":"\u53D6\u6D88","doc.saveError.failed":"\u6587\u4EF6\u4FDD\u5B58\u5931\u8D25\uFF0C \u539F\u56E0:","doc.saveError.diff":"{0} \u5DF2\u7ECF\u5728\u78C1\u76D8\u4E0A\u88AB\u4FEE\u6539\uFF0C\u4E0D\u80FD\u4FDD\u5B58","doc.saveError.diffAndSave":"\u8FDB\u884C\u6BD4\u8F83","doc.saveError.overwrite":"\u8986\u76D6","editor.compareAndSave.title":"{0} (\u5728\u78C1\u76D8\u4E0A) <=> {1} (\u7F16\u8F91\u4E2D) ","outline.title":"\u5927\u7EB2","outline.noinfo":"\u5728\u6587\u6863\u4E2D\u6CA1\u6709\u627E\u5230\u7B26\u53F7","outline.nomodel":"\u6D3B\u52A8\u7684\u7F16\u8F91\u5668\u65E0\u6CD5\u63D0\u4F9B\u5927\u7EB2","outline.collapse.all":"\u6298\u53E0\u5168\u90E8","outline.sort.kind":"\u6392\u5E8F\u4F9D\u636E\uFF1A\u7C7B\u522B","outline.sort.name":"\u6392\u5E8F\u4F9D\u636E\uFF1A\u540D\u79F0","outline.sort.position":"\u6392\u5E8F\u4F9D\u636E\uFF1A\u4F4D\u7F6E","outline.follow.cursor":"\u8DDF\u968F\u5149\u6807","welcome.title":"\u5F00\u59CB\u4F7F\u7528","welcome.quickStart":"\u5F00\u59CB\u4F7F\u7528","welcome.recent.workspace":"\u6700\u8FD1\u6253\u5F00\u7684\u5DE5\u4F5C\u533A","welcome.workspace.noExist":"\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u5B58\u5728","markers.title":"\u95EE\u9898","markers.panel.content.empty":"\u76EE\u524D\u5C1A\u672A\u5728\u5DE5\u4F5C\u533A\u68C0\u6D4B\u5230\u95EE\u9898\u3002","markers.panel.filter.errors":"\u9519\u8BEF","markers.panel.filter.warnings":"\u8B66\u544A","markers.panel.filter.infos":"\u4FE1\u606F","markers.filter.placeholder":"\u7B5B\u9009\u5668\uFF0C\u4F8B\u5982\uFF1Atext\u3001**/*.ts\u3001!**/node_modules/**","markers.filter.content.empty":"\u5728\u7ED9\u5B9A\u7684\u7B5B\u9009\u6761\u4EF6\u4E0B\uFF0C\u6CA1\u6709\u627E\u5230\u7ED3\u679C\u3002","markers.filter.reset":"\u6E05\u9664\u7B5B\u9009\u5668","markers.status.no.problems":"\u6CA1\u6709\u95EE\u9898","output.channel.clear":"\u6E05\u9664\u8F93\u51FA\u9762\u677F\u7684\u5185\u5BB9","app.quit":"\u9000\u51FA","view.zoomReset":"\u91CD\u7F6E\u7A97\u53E3\u7F29\u653E","view.zoomIn":"\u7A97\u53E3\u7F29\u653E\u653E\u5927","view.zoomOut":"\u7A97\u53E3\u7F29\u653E\u7F29\u5C0F","extension.invalidExthostReload.confirm.content":"\u63D2\u4EF6\u8FDB\u7A0B\u5DF2\u5931\u6548\uFF0C\u70B9\u51FB\u5237\u65B0\u540E\u53EF\u6062\u590D\u63D2\u4EF6\u4F7F\u7528","extension.invalidExthostReload.confirm.ok":"\u5237\u65B0","extension.invalidExthostReload.confirm.cancel":"\u7EE7\u7EED\u4F7F\u7528\u5176\u4ED6\u529F\u80FD","extension.crashedExthostReload.confirm":"\u63D2\u4EF6\u8FDB\u7A0B\u5F02\u5E38\u9000\u51FA\uFF0C\u662F\u5426\u91CD\u542F\u63D2\u4EF6\u8FDB\u7A0B","extension.exthostRestarting.content":"\u63D2\u4EF6\u8FDB\u7A0B\u91CD\u542F\u4E2D...","extension.host.restart":"\u91CD\u542F\u63D2\u4EF6\u4E3B\u8FDB\u7A0B","extension.no.view.found":`\u627E\u4E0D\u5230\u63D2\u4EF6 {0} \u6CE8\u518C\u7684\u89C6\u56FE\u7EC4\u4EF6\u3002
@@ -33518,7 +33518,7 @@ your modifications. Are you sure to regenerate?`,"aiNative.resolve.conflict.mess
33518
33518
 
33519
33519
  {1}
33520
33520
 
33521
- \u662F\u5426\u8981\u9000\u51FA?`,"authentication.signOutMessageSimple":"\u662F\u5426\u8981\u9000\u51FA {0}?","authentication.useOtherAccount":"\u4F7F\u7528\u5176\u4ED6\u8D26\u6237\u767B\u5F55","authentication.selectAccount":"\u6269\u5C55 '{0}' \u5C06\u8981\u8BBF\u95EE {1} \u8D26\u6237","authentication.getSessionPlaceholder":"\u9009\u62E9\u4E00\u4E2A\u8D26\u6237\u7ED9 '{0}' \u4F7F\u7528","authentication.confirmAuthenticationAccess":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 '{2}' \u8BBF\u95EE {1}","authentication.confirmLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u767B\u5F55","authentication.confirmReLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u518D\u6B21\u767B\u5F55","authentication.signInRequests":"\u767B\u5F55 {0}","authentication.signOut":"\u9000\u51FA {0}","authentication.noAccounts":"\u76EE\u524D\u6CA1\u6709\u767B\u5F55\u4EFB\u4F55\u8D26\u6237","authentication.signedOut":"\u6210\u529F\u9000\u51FA","refactoring-changes.ask.1.create":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.copy":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.move":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.delete":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.create":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.copy":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.move":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.delete":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.msg.showPreview":"\u663E\u793A\u9884\u89C8","refactoring-changes.msg.skipChanges":"\u8DF3\u8FC7\u66F4\u6539","keyboard.chooseKeyboardLayout":"\u9009\u62E9\u5E03\u5C40\u6587\u4EF6\u914D\u7F6E","keyboard.autoDetect.label":"\u81EA\u52A8\u68C0\u6D4B","keyboard.autoDetect.description":"\uFF08\u5F53\u524D\uFF1A'{0} '\uFF09","keyboard.autoDetect.detail":"\u5C1D\u8BD5\u901A\u8FC7\u6D4F\u89C8\u5668\u53CA\u6309\u952E\u4FE1\u606F\u8FDB\u884C\u5E03\u5C40\u81EA\u52A8\u68C0\u6D4B","editor.configuration.suggest.filterGraceful":"\u63A7\u5236\u5BF9\u5EFA\u8BAE\u7684\u7B5B\u9009\u548C\u6392\u5E8F\u662F\u5426\u8003\u8651\u5C0F\u7684\u62FC\u5199\u9519\u8BEF\u3002","editor.configuration.suggest.insertMode":"\u63A7\u5236\u63A5\u53D7\u8865\u5168\u65F6\u662F\u5426\u8986\u76D6\u5355\u8BCD\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53D6\u51B3\u4E8E\u6269\u5C55\u9009\u62E9\u4F7F\u7528\u6B64\u529F\u80FD\u3002","editor.configuration.suggest.insertMode.insert":"\u63D2\u5165\u5EFA\u8BAE\u800C\u4E0D\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.insertMode.replace":"\u63D2\u5165\u5EFA\u8BAE\u5E76\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.localityBonus":"\u63A7\u5236\u6392\u5E8F\u65F6\u662F\u5426\u9996\u9009\u5149\u6807\u9644\u8FD1\u7684\u5B57\u8BCD\u3002","editor.configuration.suggest.maxVisibleSuggestions.dep":"\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\u3002\u73B0\u5728\u53EF\u4EE5\u8C03\u6574\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u5927\u5C0F\u3002","editor.configuration.suggest.preview":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u9884\u89C8\u5EFA\u8BAE\u7ED3\u679C\u3002","editor.configuration.suggest.shareSuggestSelections":"\u63A7\u5236\u662F\u5426\u5728\u591A\u4E2A\u5DE5\u4F5C\u533A\u548C\u7A97\u53E3\u95F4\u5171\u4EAB\u8BB0\u5FC6\u7684\u5EFA\u8BAE\u9009\u9879(\u9700\u8981 `#editor.suggestSelection#`)\u3002","editor.configuration.suggest.showIcons":"\u63A7\u5236\u662F\u5426\u5728\u5EFA\u8BAE\u4E2D\u663E\u793A\u6216\u9690\u85CF\u56FE\u6807\u3002","editor.configuration.suggest.showInlineDetails":"\u63A7\u5236\u5EFA\u8BAE\u8BE6\u7EC6\u4FE1\u606F\u662F\u968F\u6807\u7B7E\u4E00\u8D77\u663E\u793A\u8FD8\u662F\u4EC5\u663E\u793A\u5728\u8BE6\u7EC6\u4FE1\u606F\u5C0F\u7EC4\u4EF6\u4E2D","editor.configuration.suggest.showStatusBar":"\u63A7\u5236\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u5E95\u90E8\u7684\u72B6\u6001\u680F\u7684\u53EF\u89C1\u6027\u3002","editor.configuration.suggest.snippetsPreventQuickSuggestions":"\u63A7\u5236\u6D3B\u52A8\u4EE3\u7801\u6BB5\u662F\u5426\u963B\u6B62\u5FEB\u901F\u5EFA\u8BAE\u3002","editor.configuration.suggestFontSize":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u5B57\u53F7\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.fontSize#` \u7684\u503C\u3002","editor.configuration.suggestLineHeight":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u884C\u9AD8\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.lineHeight#` \u7684\u503C\u3002\u6700\u5C0F\u503C\u4E3A 8\u3002","editor.configuration.suggestOnTriggerCharacters":"\u63A7\u5236\u5728\u952E\u5165\u89E6\u53D1\u5B57\u7B26\u540E\u662F\u5426\u81EA\u52A8\u663E\u793A\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnterSmart":"\u4EC5\u5728\u5EFA\u8BAE\u505A\u51FA\u6587\u672C\u66F4\u6539\u65F6\uFF0C\u624D\u4F7F\u7528 `Enter` \u63A5\u53D7\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnter":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728 `Tab` \u952E\u4E4B\u5916\uFF0C\u8FD8\u4F7F\u7528 `Enter` \u952E\u6765\u63A5\u53D7\u5EFA\u8BAE\u3002\u8FD9\u6709\u52A9\u4E8E\u907F\u514D\u5728\u63D2\u5165\u65B0\u884C\u6216\u63A5\u53D7\u5EFA\u8BAE\u4E4B\u95F4\u7684\u6B67\u4E49\u3002","editor.configuration.acceptSuggestionOnCommitCharacter":"\u63A7\u5236\u662F\u5426\u5728\u4F7F\u7528\u63D0\u4EA4\u5B57\u7B26\u65F6\u63A5\u53D7\u5EFA\u8BAE\u3002\u4F8B\u5982\uFF0C\u5728 JavaScript \u4E2D\uFF0C\u5206\u53F7 (`;`) \u662F\u4E00\u4E2A\u63D0\u4EA4\u5B57\u7B26\uFF0C\u53EF\u4EE5\u63A5\u53D7\u4E00\u4E2A\u5EFA\u8BAE\u5E76\u952E\u5165\u8BE5\u5B57\u7B26\u3002","editor.configuration.snippetSuggestions.top":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u9876\u90E8\u3002","editor.configuration.snippetSuggestions.bottom":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u5E95\u90E8\u3002","editor.configuration.snippetSuggestions.inline":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u6DF7\u5408\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u4E2D\u95F4\u3002","editor.configuration.snippetSuggestions.none":"\u4E0D\u5C55\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","editor.configuration.snippetSuggestions":"\u63A7\u5236\u4EE3\u7801\u7247\u6BB5\u662F\u5426\u4E0E\u5176\u4ED6\u5EFA\u8BAE\u4E00\u540C\u663E\u793A\u4EE5\u53CA\u5B83\u4EEC\u7684\u6392\u5E8F\u65B9\u5F0F\u3002","editor.configuration.wordBasedSuggestions":"\u63A7\u5236\u662F\u5426\u6839\u636E\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u8BA1\u7B97\u81EA\u52A8\u8865\u5168\u5217\u8868\u3002","editor.configuration.suggestSelection":"\u63A7\u5236\u5728\u5EFA\u8BAE\u5217\u8868\u4E2D\u5982\u4F55\u9884\u5148\u9009\u62E9\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.first":"\u59CB\u7EC8\u9009\u62E9\u7B2C\u4E00\u4E2A\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.recentlyUsed":"\u9009\u62E9\u6700\u8FD1\u7684\u5EFA\u8BAE\uFF0C\u9664\u975E\u8FDB\u4E00\u6B65\u952E\u5165\u9009\u62E9\u5176\u4ED6\u9879\u3002\u4F8B\u5982 `console. -> console.log`\uFF0C\u56E0\u4E3A\u6700\u8FD1\u8865\u5168\u8FC7 `log`\u3002","editor.configuration.suggestSelection.recentlyUsedByPrefix":"\u6839\u636E\u4E4B\u524D\u8865\u5168\u8FC7\u7684\u5EFA\u8BAE\u7684\u524D\u7F00\u6765\u8FDB\u884C\u9009\u62E9\u3002\u4F8B\u5982\uFF0C`co -> console`\u3001`con -> const`\u3002","editor.configuration.tabCompletion":"\u542F\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.off":"\u7981\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.on":"\u5728\u6309\u4E0B Tab \u952E\u65F6\u8FDB\u884C Tab \u8865\u5168\uFF0C\u5C06\u63D2\u5165\u6700\u4F73\u5339\u914D\u5EFA\u8BAE\u3002","editor.configuration.tabCompletion.onlySnippets":'\u5728\u524D\u7F00\u5339\u914D\u65F6\u8FDB\u884C Tab \u8865\u5168\u3002\u5728 "quickSuggestions" \u672A\u542F\u7528\u65F6\u4F53\u9A8C\u6700\u597D\u3002',"editor.configuration.editor.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.editor.guides.bracketPairsHorizontal":"\u63A7\u5236\u662F\u5426\u542F\u7528\u6C34\u5E73\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.renderLineHighlight":"\u63A7\u5236\u7F16\u8F91\u5668\u7684\u5F53\u524D\u884C\u8FDB\u884C\u9AD8\u4EAE\u663E\u793A\u7684\u65B9\u5F0F\u3002","editor.configuration.renderLineHighlight.all":"\u540C\u65F6\u7A81\u51FA\u663E\u793A\u5BFC\u822A\u7EBF\u548C\u5F53\u524D\u884C\u3002","editor.configuration.renderLineHighlightOnlyWhenFocus":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u4EC5\u5728\u7126\u70B9\u5728\u7F16\u8F91\u5668\u65F6\u7A81\u51FA\u663E\u793A\u5F53\u524D\u884C\u3002","editor.configuration.codeLens":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A CodeLens\u3002","editor.configuration.suggest.showClasss":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7C7B\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showColors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstants":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5E38\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstructors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6784\u9020\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showCustomcolors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u81EA\u5B9A\u4E49\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showDeprecated":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5DF2\u542F\u7528\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEnumMembers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "enumMember" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showEnums":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u679A\u4E3E\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEvents":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u4E8B\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFields":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5B57\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFiles":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFolders":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u5939\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFunctions":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showInterfaces":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u63A5\u53E3\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showIssues":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u95EE\u9898"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showKeywords":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5173\u952E\u5B57\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showMethods":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u65B9\u6CD5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showModules":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6A21\u5757\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showOperators":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u64CD\u4F5C\u7B26\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showPropertys":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5C5E\u6027\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showReferences":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53C2\u8003\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showSnippets":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7247\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showStructs":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7ED3\u6784\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTexts":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u672C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTypeParameters":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "typeParameter" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showUnits":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5355\u4F4D\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showUsers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u7528\u6237"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showValues":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u503C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showVariables":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53D8\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.maxVisibleSuggestions":"\u63A7\u5236 IntelliSense \u5728\u663E\u793A\u6EDA\u52A8\u6761\u4E4B\u524D\u5C06\u663E\u793A\u7684\u5EFA\u8BAE\u6570\u91CF\uFF08\u6700\u591A 15 \u4E2A\uFF09\u3002","editor.configuration.suggest.details.visible":"\u63A7\u5236\u7F16\u8F91\u5668\u4EE3\u7801\u8865\u5168\u662F\u5426\u9ED8\u8BA4\u5C55\u5F00\u8BE6\u60C5\u4FE1\u606F","editor.configuration.suggest.filtered":"\u63A7\u5236\u662F\u5426\u5E94\u4ECE IntelliSense \u4E2D\u8FC7\u6EE4\u6389\u67D0\u4E9B\u5EFA\u8BAE\u7C7B\u578B\u3002\u53EF\u4EE5\u5728\u6B64\u5904\u627E\u5230\u4E00\u4EFD\u5EFA\u8BAE\u7C7B\u578B\u5217\u8868: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions.","editor.configuration.suggest.filtered.method":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `method` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.function":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `function` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constructor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constructor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.field":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `field` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.variable":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `variable` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.class":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `class` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.struct":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `struct` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.interface":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `interface` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.module":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `module` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.property":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `property` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.event":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `event` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.operator":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `operator` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.unit":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `unit` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.value":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `value` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constant":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constant` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enum":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enum` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enumMember":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enumMember` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.keyword":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `keyword` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.text":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `text` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.color":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `color` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.file":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `file` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.reference":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `reference` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.customcolor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `customcolor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.folder":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `folder` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.typeParameter":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `typeParameter` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.snippet":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `snippet` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.editor.gotoLocation.multiple":'\u63A7\u5236 "\u8F6C\u5230" \u547D\u4EE4\uFF08\u4F8B\u5982\u8F6C\u5230\u5B9A\u4E49\uFF09\u5728\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6\u7684\u884C\u4E3A\u3002',"editor.configuration.gotoLocation.multiple.peek":"\u5728\u901F\u89C8\u89C6\u56FE(Peek View)\u4E2D\u663E\u793A\u7ED3\u679C\u3002(\u9ED8\u8BA4)","editor.configuration.gotoLocation.multiple.gotoAndPeek":"\u8F6C\u5230\u4E3B\u7ED3\u679C\u5E76\u663E\u793A\u901F\u89C8\u89C6\u56FE(Peek View)\u3002","editor.configuration.gotoLocation.multiple.goto":"\u8F6C\u5230\u4E3B\u7ED3\u679C\uFF0C\u5E76\u5BF9\u5176\u4ED6\u7ED3\u679C\u542F\u7528\u65E0\u901F\u89C8\u5BFC\u822A","editor.configuration.experimental.stickyScroll.enabled":"\u5728\u7F16\u8F91\u5668\u9876\u90E8\u7684\u6EDA\u52A8\u8FC7\u7A0B\u4E2D\u663E\u793A\u5D4C\u5957\u7684\u5F53\u524D\u4F5C\u7528\u57DF\u3002","editor.configuration.maxTokenizationLineLength":"\u7531\u4E8E\u6027\u80FD\u539F\u56E0\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u957F\u5EA6\u7684\u884C\u5C06\u4E0D\u4F1A\u88AB\u6807\u8BC6\u3002","editor.configuration.codeActionsOnSave.organizeImports":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u6574\u7406\u5BFC\u5165\uFF08Import\uFF09\u8BED\u53E5\u3002","editor.configuration.codeActionsOnSave.fixAll":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u8FD0\u884C\u81EA\u52A8\u4FEE\u590D\u64CD\u4F5C\u3002","editor.configuration.codeActionsOnSave":"\u5728\u4FDD\u5B58\u65F6\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7C7B\u578B","editor.configuration.codeActionsOnSaveTimeout":"\u5728\u6B64\u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)\u4E4B\u540E\u4EE3\u7801\u64CD\u4F5C\u5C06\u88AB\u53D6\u6D88\u3002","editor.configuration.codeActionsOnSaveNotification":"\u4EE3\u7801\u64CD\u4F5C\u6267\u884C\u65F6\u662F\u5426\u5C55\u793A\u901A\u77E5\u4FE1\u606F","editor.configuration.quickSuggestionsDelay":"\u63A7\u5236\u663E\u793A\u667A\u80FD\u63D0\u793A\u7684\u5EF6\u8FDF\u65F6\u957F (\u6BEB\u79D2)\u3002","editor.configuration.tabSize":"\u63A7\u5236 Tab \u7F29\u8FDB\u7B49\u4E8E\u7684\u7A7A\u683C\u6570\u3002\u82E5\u542F\u7528 `#editor.detectIndentation#`\uFF0C\u8BE5\u8BBE\u7F6E\u53EF\u80FD\u4F1A\u88AB\u8986\u76D6","editor.configuration.fontWeight":'\u63A7\u5236\u5B57\u4F53\u7C97\u7EC6\uFF0C\u63A5\u6536 "normal" \u548C "bold" \u5173\u952E\u8BCD\u6216\u8005 1 \u5230 1000 \u6570\u503C\u3002',"editor.configuration.largeFileSize":"\u63A7\u5236\u8D85\u5927\u6587\u4EF6\u7684\u81EA\u5B9A\u4E49\u4F53\u79EF\u3002(\u5355\u4F4D\uFF1AB)","editor.configuration.streamLargeFile":"\u5F53\u6587\u4EF6\u8D85\u8FC7\u9608\u503C\u65F6\uFF0C\u4F7F\u7528\u6D41\u5F0F\u8BFB\u53D6\u4EE5\u964D\u4F4E\u4E00\u6B21\u6027\u5185\u5B58\u5360\u7528\u3002","editor.configuration.preferredFormatter":"\u914D\u7F6E\u4F18\u5148\u4F7F\u7528\u7684\u683C\u5F0F\u5316\u5668\u3002","editor.configuration.wrapTab":"\u63A7\u5236\u5F53\u7F16\u8F91\u5668 Tab \u8D85\u8FC7\u53EF\u7528\u7A7A\u95F4\u65F6\uFF0C\u662F\u5426\u4F7F\u7528\u6362\u884C\u6765\u4EE3\u66FF\u6EDA\u52A8\u6A21\u5F0F\u3002","editor.configuration.enablePreviewFromCodeNavigation":"\u63A7\u5236\u5F53\u4EE3\u7801\u5BFC\u822A\u4ECE\u5176\u51FA\u53D1\u65F6\uFF0C\u7F16\u8F91\u5668\u662F\u5426\u4ECD\u5904\u4E8E\u9884\u89C8\u6A21\u5F0F\u3002","editor.configuration.formatOnSaveTimeout":"\u63A7\u5236\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.formatOnSave#` \u542F\u7528\u65F6\u751F\u6548\u3002","editor.configuration.inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","editor.configuration.inlineSuggest.showToolbar":"\u63A7\u5236\u4F55\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.always":"\u6BCF\u5F53\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u65F6\uFF0C\u5C31\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.onHover":"\u5C06\u9F20\u6807\u60AC\u505C\u5728\u5185\u8054\u5EFA\u8BAE\u4E0A\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.never":"\u6C38\u4E0D\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.hover.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u63D0\u793A\u3002","editor.configuration.hover.delay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u663E\u793A\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002","editor.configuration.hover.sticky":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u662F\u5426\u5728\u9F20\u6807\u60AC\u505C\u65F6\u4FDD\u6301\u53EF\u89C1\u3002","editor.configuration.hover.hidingDelay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u9690\u85CF\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u9700\u8981 `editor.hover.sticky` \u8BBE\u7F6E\u4E3A true \u65F6\u751F\u6548\u3002","editor.configuration.hover.above":"\u4F18\u5148\u663E\u793A\u4EE3\u7801\u63D0\u793A\u5728\u884C\u4E0A\u65B9\uFF0C\u5982\u679C\u884C\u6709\u7A7A\u95F4\u3002","editor.configuration.autoSave":"\u63A7\u5236\u5982\u4F55\u81EA\u52A8\u4FDD\u5B58\u6587\u4EF6\u3002","editor.configuration.formatOnSave":"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u6587\u4EF6","editor.configuration.formatOnType":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5728\u952E\u5165\u540E\u81EA\u52A8\u683C\u5F0F\u5316\u8BE5\u884C\u3002","editor.configuration.formatOnPaste":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u81EA\u52A8\u683C\u5F0F\u5316\u7C98\u8D34\u7684\u5185\u5BB9\u3002\u9700\u8981\u5F53\u524D\u6587\u4EF6\u6709\u4E00\u4E2A\u683C\u5F0F\u5316\u5DE5\u5177\u5E76\u4E14\u8BE5\u683C\u5F0F\u5316\u683C\u5C40\u5FC5\u987B\u80FD\u591F\u5728\u6587\u6863\u4E2D\u683C\u5F0F\u5316\u4E00\u4E2A\u8303\u56F4\u3002","editor.configuration.autoIndent":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728\u7528\u6237\u952E\u5165\u3001\u7C98\u8D34\u6216\u79FB\u52A8\u884C\u65F6\u81EA\u52A8\u8C03\u6574\u7F29\u8FDB\u3002\u5FC5\u987B\u63D0\u4F9B\u5E26\u6709\u8BE5\u8BED\u8A00\u7F29\u8FDB\u89C4\u5219\u7684\u6269\u5C55\u3002","editor.configuration.autoSaveDelay":"\u63A7\u5236\u81EA\u52A8\u4FDD\u5B58\u7684\u5EF6\u8FDF\u65F6\u957F\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.autoSave#` \u8BBE\u7F6E\u4E3A\u201C\u7F16\u8F91\u540E\u81EA\u52A8\u4FDD\u5B58\u201D\u65F6\u751F\u6548\u3002","editor.configuration.askIfDiff":"\u4FDD\u5B58\u6587\u4EF6\u65F6\u5982\u679C\u78C1\u76D8\u4E0A\u7684\u6587\u4EF6\u8F83\u65B0\uFF0C\u8FDB\u884C\u63D0\u793A\u624B\u52A8\u89E3\u51B3\u4FDD\u5B58\u51B2\u7A81\u3002","editor.configuration.forceReadOnly":"\u662F\u5426\u542F\u7528 \u53EA\u8BFB\u6A21\u5F0F","editor.configuration.bracketPairColorization.enabled":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u7740\u8272\u3002\u4F7F\u7528 \u201Cworkbench.colorCustomizations\u201D \u66FF\u4EE3\u62EC\u53F7\u7A81\u51FA\u663E\u793A\u989C\u8272\u3002","editor.configuration.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.mouseBackForwardToNavigate":"\u5141\u8BB8\u4F7F\u7528\u9F20\u6807\u6309\u94AE 4 \u548C 5 \u6765\u6267\u884C\u547D\u4EE4\u201CGo Back\u201D\u548C\u201CGo Forward\u201D\u3002","editor.configuration.previewMode":"\u4F7F\u7528\u9884\u89C8\u6A21\u5F0F\u6253\u5F00","editor.configuration.tokenColorCustomizations":"\u8986\u76D6\u5F53\u524D\u6240\u9009\u989C\u8272\u4E3B\u9898\u4E2D\u7684\u7F16\u8F91\u5668\u989C\u8272\u548C\u5B57\u4F53\u6837\u5F0F","editor.configuration.workbench.editorAssociations":'\u5C06 glob \u6A21\u5F0F\u914D\u7F6E\u5230\u7F16\u8F91\u5668(\u4F8B\u5982 `"*\u5341\u516D\u8FDB\u5236": "hexEditor.hexEdit"`)\u3002\u8FD9\u4E9B\u4F18\u5148\u987A\u5E8F\u9AD8\u4E8E\u9ED8\u8BA4\u884C\u4E3A\u3002',"editor.configuration.guides.indentation":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.guides.highlightActiveIndentation":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u7F16\u8F91\u5668\u4E2D\u6D3B\u52A8\u7684\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.trimAutoWhitespace":"\u5220\u9664\u81EA\u52A8\u63D2\u5165\u7684\u5C3E\u968F\u7A7A\u767D\u7B26\u53F7\u3002","editor.configuration.unicodeHighlight.ambiguousCharacters":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u53EF\u80FD\u4E0E\u57FA\u672C ASCII \u5B57\u7B26\u6DF7\u6DC6\u7684\u5B57\u7B26\uFF0C\u4F46\u5F53\u524D\u7528\u6237\u533A\u57DF\u8BBE\u7F6E\u4E2D\u5E38\u89C1\u7684\u5B57\u7B26\u9664\u5916\u3002","editor.configuration.lightbulb.enabled":"\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.off":"\u7981\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.onCode":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.on":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u6216\u5728\u7A7A\u7684\u884C\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","diffEditor.configuration.renderSideBySide":"\u63A7\u5236\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u663E\u793A\u65B9\u5F0F\u3002","diffEditor.configuration.ignoreTrimWhitespace":"\u542F\u7528\u540E\uFF0C\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u767D\u5B57\u7B26\u5C06\u4F1A\u5FFD\u7565","diffEditor.action.toggleCollapseUnchangedRegions":"\u6298\u53E0\u672A\u66F4\u6539\u7684\u4EE3\u7801\u533A\u57DF","multiDiffEditor.action.collapseFiles":"\u6298\u53E0\u6240\u6709\u6587\u4EF6","multiDiffEditor.action.expandFiles":"\u5C55\u5F00\u6240\u6709\u6587\u4EF6","inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","view.component.renderedError":"\u89C6\u56FE\u7EC4\u4EF6\u6E32\u67D3\u5F02\u5E38","view.component.tryAgain":"\u91CD\u65B0\u52A0\u8F7D","test.title":"\u6D4B\u8BD5\u7BA1\u7406\u5668","test.result.runFinished":"\u6D4B\u8BD5\u8FD0\u884C\u5B8C\u6210\u4E8E {0}","test.task.unnamed":"\u672A\u547D\u540D\u4EFB\u52A1","test.results":"\u6D4B\u8BD5\u7ED3\u679C","menu.missing.command":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4\u4E0D\u5B58\u5728\uFF1A{1}","menu.missing.altCommand":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4(altCommand)\u4E0D\u5B58\u5728\uFF1A{1}","menu.dupe.command":"\u83DC\u5355{0} command({1}) \u548C alt({2}) \u6CE8\u518C\u91CD\u590D","command.category.developerTools":"\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177","connection.start.rtt":"\u67E5\u770B\u901A\u4FE1\u5EF6\u8FDF","connection.stop.rtt":"\u5173\u95ED\u901A\u4FE1\u5EF6\u8FDF\u68C0\u67E5","debug.terminal.label":"\u521B\u5EFA Javascript Debug Terminal","debug.terminal.title":"\u8C03\u8BD5\u8FDB\u7A0B","workbench.action.tasks.runTask":"\u8FD0\u884C\u4EFB\u52A1","workbench.action.tasks.reRunTask":"\u6267\u884C\u4E0A\u6B21\u8FD0\u884C\u7684\u4EFB\u52A1","workbench.action.tasks.restartTask":"\u91CD\u65B0\u5F00\u59CB\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1","workbench.action.tasks.terminate":"\u7EC8\u6B62\u4EFB\u52A1","workbench.action.tasks.showTasks":"\u5C55\u793A\u4EFB\u52A1","workbench.action.tasks.showLog":"\u5C55\u793A\u4EFB\u52A1\u65E5\u5FD7","task.contribute":"\u8D21\u732E","task.cannotFindTask":"\u672A\u627E\u5230 {0} \u7684\u4EFB\u52A1\uFF0C\u6309\u56DE\u8F66\u952E\u8FD4\u56DE","comment.reply.count":"{0} \u4E2A\u8BC4\u8BBA","comment.reply.lastReply":"\u6700\u540E\u7531 {0} \u8BC4\u8BBA","walkthroughs.welcome":"\u6B22\u8FCE\u4F7F\u7528","walkthroughs.get.started":"\u6253\u5F00 `\u5165\u95E8` \u6F14\u793A","mergeEditor.reset":"\u91CD\u7F6E","mergeEditor.workbench.tab.name":"\u6B63\u5728\u5408\u5E76: {0}","mergeEditor.conflict.action.apply.confirm.title":"\u5F53\u524D\u6587\u4EF6\u8FD8\u6709\u672A\u5904\u7406\u7684\u51B2\u7A81\u6216\u53D8\u66F4\uFF0C\u662F\u5426\u5E94\u7528\u5E76\u4FDD\u5B58\u66F4\u6539\uFF1F","mergeEditor.conflict.action.apply.confirm.continue":"\u7EE7\u7EED\u5408\u5E76","mergeEditor.conflict.action.apply.confirm.complete":"\u786E\u8BA4\u4FDD\u5B58\u5E76\u66F4\u6539","mergeEditor.action.button.apply":"\u5E94\u7528\u66F4\u6539","mergeEditor.action.button.apply-and-stash":"\u5E94\u7528\u5E76\u6682\u5B58","mergeEditor.action.button.accept.left":"\u63A5\u53D7\u5DE6\u8FB9","mergeEditor.action.button.accept.right":"\u63A5\u53D7\u53F3\u8FB9","mergeEditor.open.3way":"3-way \u7F16\u8F91\u5668","mergeEditor.conflict.prev":"\u4E0A\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.next":"\u4E0B\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.ai.resolve.all":"AI \u89E3\u51B3","mergeEditor.conflict.ai.resolve.all.stop":"\u5168\u90E8\u505C\u6B62","mergeEditor.open.tradition":"\u6587\u672C\u7F16\u8F91\u5668","workbench.quickOpen.preserveInput":"\u662F\u5426\u5728 QuickOpen \u7684\u8F93\u5165\u6846\uFF08\u5305\u62EC\u547D\u4EE4\u9762\u677F\uFF09\u4E2D\u4FDD\u7559\u4E0A\u6B21\u8F93\u5165\u7684\u5185\u5BB9","aiNative.chat.ai.assistant.name":"AI \u7814\u53D1\u52A9\u624B","aiNative.chat.input.placeholder.default":"\u53EF\u4EE5\u95EE\u6211\u4EFB\u4F55\u95EE\u9898\uFF0C\u8F93\u5165 @ \u53EF\u5F15\u7528\u5185\u5BB9","aiNative.chat.stop.immediately":"\u6211\u5148\u4E0D\u60F3\u4E86\uFF0C\u6709\u9700\u8981\u53EF\u4EE5\u968F\u65F6\u95EE\u6211","aiNative.chat.error.response":"\u5F53\u524D\u4E0E\u6211\u4E92\u52A8\u7684\u4EBA\u592A\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF0C\u611F\u8C22\u60A8\u7684\u7406\u89E3\u4E0E\u652F\u6301","aiNative.chat.code.insert":"\u63D2\u5165\u4EE3\u7801","aiNative.chat.code.copy":"\u590D\u5236\u4EE3\u7801","aiNative.chat.code.copy.success":"\u590D\u5236\u6210\u529F","aiNative.chat.expand.unfullscreen":"\u6536\u8D77","aiNative.chat.expand.fullescreen":"\u5C55\u5F00\u5168\u5C4F","aiNative.chat.enter.send":"Enter \u53D1\u9001","aiNative.chat.defaultContextFile":"\u5F53\u524D\u6587\u4EF6","aiNative.chat.defaultContextFolder":"\u5F53\u524D\u6587\u4EF6\u5939","aiNative.chat.thinking":"\u6DF1\u5EA6\u601D\u8003","aiNative.chat.imageUpload":"\u4E0A\u4F20\u56FE\u7247","aiNative.chat.clearContext":"\u6E05\u7A7A\u4E0A\u4E0B\u6587","aiNative.chat.context.description":"\u5171 {0} \u4E2A\u5F15\u7528","aiNative.chat.context.clear":"\u70B9\u51FB\u6E05\u7A7A\u5F15\u7528","aiNative.chat.context.title":"\u4E0A\u4E0B\u6587","aiNative.chat.context.title.empty":"\u6682\u65E0\u4E0A\u4E0B\u6587","aiNative.chat.modelSelector.disableTip":"\u5982\u9700\u5207\u6362\u6A21\u578B\uFF0C\u8BF7\u65B0\u5EFA\u6216\u6E05\u7A7A\u4F1A\u8BDD","aiNative.inline.chat.operate.chat.title":"Chat({0})","aiNative.inline.chat.operate.check.title":"\u91C7\u7EB3","aiNative.inline.chat.operate.thumbsup.title":"\u8D5E","aiNative.inline.chat.operate.thumbsdown.title":"\u8E29","aiNative.inline.chat.operate.loading.cancel":"\u6309 ESC \u53D6\u6D88","aiNative.inline.chat.input.placeholder.default":"\u8BF7\u8F93\u5165\u4F60\u7684\u610F\u56FE...(\u2191\u2193 \u5207\u6362\u5386\u53F2)","aiNative.inline.chat.generating.canceled":"Inline Chat \u5DF2\u505C\u6B62\u751F\u6210","aiNative.inline.hint.widget.placeholder":"\u6309 {0} \u5524\u8D77 Inline Chat","aiNative.inline.problem.fix.title":"AI \u4FEE\u590D","aiNative.inline.diff.accept":"\u91C7\u7EB3","aiNative.inline.diff.reject":"\u62D2\u7EDD","aiNative.chat.view-changes":"\u67E5\u770B\u6539\u52A8","aiNative.resolve.conflict.dialog.afresh":"\u4F60\u786E\u5B9A\u8981\u91CD\u65B0\u751F\u6210\u5417\uFF1F","aiNative.resolve.conflict.dialog.detection":`\u68C0\u6D4B\u5230\u60A8\u5DF2\u505A\u4E86\u4FEE\u6539\uFF0C\u91CD\u65B0\u751F\u6210\u4F1A\u8986\u76D6\u6389
33521
+ \u662F\u5426\u8981\u9000\u51FA?`,"authentication.signOutMessageSimple":"\u662F\u5426\u8981\u9000\u51FA {0}?","authentication.useOtherAccount":"\u4F7F\u7528\u5176\u4ED6\u8D26\u6237\u767B\u5F55","authentication.selectAccount":"\u6269\u5C55 '{0}' \u5C06\u8981\u8BBF\u95EE {1} \u8D26\u6237","authentication.getSessionPlaceholder":"\u9009\u62E9\u4E00\u4E2A\u8D26\u6237\u7ED9 '{0}' \u4F7F\u7528","authentication.confirmAuthenticationAccess":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 '{2}' \u8BBF\u95EE {1}","authentication.confirmLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u767B\u5F55","authentication.confirmReLogin":"\u6269\u5C55 '{0}' \u5C06\u8981\u4F7F\u7528 {1} \u518D\u6B21\u767B\u5F55","authentication.signInRequests":"\u767B\u5F55 {0}","authentication.signOut":"\u9000\u51FA {0}","authentication.noAccounts":"\u76EE\u524D\u6CA1\u6709\u767B\u5F55\u4EFB\u4F55\u8D26\u6237","authentication.signedOut":"\u6210\u529F\u9000\u51FA","refactoring-changes.ask.1.create":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.copy":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.move":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.1.delete":"\u6269\u5C55 '{0} ' \u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.create":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u65B0\u5EFA\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.copy":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u590D\u5236\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.move":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u79FB\u52A8\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.ask.N.delete":"{0} \u4E2A\u63D2\u4EF6\u5E0C\u671B\u901A\u8FC7\u5220\u9664\u6B64\u6587\u4EF6\u6765\u8FDB\u884C\u91CD\u6784\u66F4\u6539","refactoring-changes.msg.showPreview":"\u663E\u793A\u9884\u89C8","refactoring-changes.msg.skipChanges":"\u8DF3\u8FC7\u66F4\u6539","keyboard.chooseKeyboardLayout":"\u9009\u62E9\u5E03\u5C40\u6587\u4EF6\u914D\u7F6E","keyboard.autoDetect.label":"\u81EA\u52A8\u68C0\u6D4B","keyboard.autoDetect.description":"\uFF08\u5F53\u524D\uFF1A'{0} '\uFF09","keyboard.autoDetect.detail":"\u5C1D\u8BD5\u901A\u8FC7\u6D4F\u89C8\u5668\u53CA\u6309\u952E\u4FE1\u606F\u8FDB\u884C\u5E03\u5C40\u81EA\u52A8\u68C0\u6D4B","editor.configuration.suggest.filterGraceful":"\u63A7\u5236\u5BF9\u5EFA\u8BAE\u7684\u7B5B\u9009\u548C\u6392\u5E8F\u662F\u5426\u8003\u8651\u5C0F\u7684\u62FC\u5199\u9519\u8BEF\u3002","editor.configuration.suggest.insertMode":"\u63A7\u5236\u63A5\u53D7\u8865\u5168\u65F6\u662F\u5426\u8986\u76D6\u5355\u8BCD\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u53D6\u51B3\u4E8E\u6269\u5C55\u9009\u62E9\u4F7F\u7528\u6B64\u529F\u80FD\u3002","editor.configuration.suggest.insertMode.insert":"\u63D2\u5165\u5EFA\u8BAE\u800C\u4E0D\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.insertMode.replace":"\u63D2\u5165\u5EFA\u8BAE\u5E76\u8986\u76D6\u5149\u6807\u53F3\u4FA7\u7684\u6587\u672C\u3002","editor.configuration.suggest.localityBonus":"\u63A7\u5236\u6392\u5E8F\u65F6\u662F\u5426\u9996\u9009\u5149\u6807\u9644\u8FD1\u7684\u5B57\u8BCD\u3002","editor.configuration.suggest.maxVisibleSuggestions.dep":"\u6B64\u8BBE\u7F6E\u5DF2\u5F03\u7528\u3002\u73B0\u5728\u53EF\u4EE5\u8C03\u6574\u5EFA\u8BAE\u5C0F\u7EC4\u4EF6\u7684\u5927\u5C0F\u3002","editor.configuration.suggest.preview":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u9884\u89C8\u5EFA\u8BAE\u7ED3\u679C\u3002","editor.configuration.suggest.shareSuggestSelections":"\u63A7\u5236\u662F\u5426\u5728\u591A\u4E2A\u5DE5\u4F5C\u533A\u548C\u7A97\u53E3\u95F4\u5171\u4EAB\u8BB0\u5FC6\u7684\u5EFA\u8BAE\u9009\u9879(\u9700\u8981 `#editor.suggestSelection#`)\u3002","editor.configuration.suggest.showIcons":"\u63A7\u5236\u662F\u5426\u5728\u5EFA\u8BAE\u4E2D\u663E\u793A\u6216\u9690\u85CF\u56FE\u6807\u3002","editor.configuration.suggest.showInlineDetails":"\u63A7\u5236\u5EFA\u8BAE\u8BE6\u7EC6\u4FE1\u606F\u662F\u968F\u6807\u7B7E\u4E00\u8D77\u663E\u793A\u8FD8\u662F\u4EC5\u663E\u793A\u5728\u8BE6\u7EC6\u4FE1\u606F\u5C0F\u7EC4\u4EF6\u4E2D","editor.configuration.suggest.showStatusBar":"\u63A7\u5236\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u5E95\u90E8\u7684\u72B6\u6001\u680F\u7684\u53EF\u89C1\u6027\u3002","editor.configuration.suggest.snippetsPreventQuickSuggestions":"\u63A7\u5236\u6D3B\u52A8\u4EE3\u7801\u6BB5\u662F\u5426\u963B\u6B62\u5FEB\u901F\u5EFA\u8BAE\u3002","editor.configuration.suggestFontSize":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u5B57\u53F7\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.fontSize#` \u7684\u503C\u3002","editor.configuration.suggestLineHeight":"\u5EFA\u8BAE\u5C0F\u90E8\u4EF6\u7684\u884C\u9AD8\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A `0`\uFF0C\u5219\u4F7F\u7528 `#editor.lineHeight#` \u7684\u503C\u3002\u6700\u5C0F\u503C\u4E3A 8\u3002","editor.configuration.suggestOnTriggerCharacters":"\u63A7\u5236\u5728\u952E\u5165\u89E6\u53D1\u5B57\u7B26\u540E\u662F\u5426\u81EA\u52A8\u663E\u793A\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnterSmart":"\u4EC5\u5728\u5EFA\u8BAE\u505A\u51FA\u6587\u672C\u66F4\u6539\u65F6\uFF0C\u624D\u4F7F\u7528 `Enter` \u63A5\u53D7\u5EFA\u8BAE\u3002","editor.configuration.acceptSuggestionOnEnter":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728 `Tab` \u952E\u4E4B\u5916\uFF0C\u8FD8\u4F7F\u7528 `Enter` \u952E\u6765\u63A5\u53D7\u5EFA\u8BAE\u3002\u8FD9\u6709\u52A9\u4E8E\u907F\u514D\u5728\u63D2\u5165\u65B0\u884C\u6216\u63A5\u53D7\u5EFA\u8BAE\u4E4B\u95F4\u7684\u6B67\u4E49\u3002","editor.configuration.acceptSuggestionOnCommitCharacter":"\u63A7\u5236\u662F\u5426\u5728\u4F7F\u7528\u63D0\u4EA4\u5B57\u7B26\u65F6\u63A5\u53D7\u5EFA\u8BAE\u3002\u4F8B\u5982\uFF0C\u5728 JavaScript \u4E2D\uFF0C\u5206\u53F7 (`;`) \u662F\u4E00\u4E2A\u63D0\u4EA4\u5B57\u7B26\uFF0C\u53EF\u4EE5\u63A5\u53D7\u4E00\u4E2A\u5EFA\u8BAE\u5E76\u952E\u5165\u8BE5\u5B57\u7B26\u3002","editor.configuration.snippetSuggestions.top":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u9876\u90E8\u3002","editor.configuration.snippetSuggestions.bottom":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u653E\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u5E95\u90E8\u3002","editor.configuration.snippetSuggestions.inline":"\u5C06\u4EE3\u7801\u7247\u6BB5\u7684\u5EFA\u8BAE\u6DF7\u5408\u5728\u5176\u4ED6\u5EFA\u8BAE\u7684\u4E2D\u95F4\u3002","editor.configuration.snippetSuggestions.none":"\u4E0D\u5C55\u793A\u4EE3\u7801\u7247\u6BB5\u5EFA\u8BAE\u3002","editor.configuration.snippetSuggestions":"\u63A7\u5236\u4EE3\u7801\u7247\u6BB5\u662F\u5426\u4E0E\u5176\u4ED6\u5EFA\u8BAE\u4E00\u540C\u663E\u793A\u4EE5\u53CA\u5B83\u4EEC\u7684\u6392\u5E8F\u65B9\u5F0F\u3002","editor.configuration.wordBasedSuggestions":"\u63A7\u5236\u662F\u5426\u6839\u636E\u6587\u6863\u4E2D\u7684\u5B57\u8BCD\u8BA1\u7B97\u81EA\u52A8\u8865\u5168\u5217\u8868\u3002","editor.configuration.suggestSelection":"\u63A7\u5236\u5728\u5EFA\u8BAE\u5217\u8868\u4E2D\u5982\u4F55\u9884\u5148\u9009\u62E9\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.first":"\u59CB\u7EC8\u9009\u62E9\u7B2C\u4E00\u4E2A\u5EFA\u8BAE\u3002","editor.configuration.suggestSelection.recentlyUsed":"\u9009\u62E9\u6700\u8FD1\u7684\u5EFA\u8BAE\uFF0C\u9664\u975E\u8FDB\u4E00\u6B65\u952E\u5165\u9009\u62E9\u5176\u4ED6\u9879\u3002\u4F8B\u5982 `console. -> console.log`\uFF0C\u56E0\u4E3A\u6700\u8FD1\u8865\u5168\u8FC7 `log`\u3002","editor.configuration.suggestSelection.recentlyUsedByPrefix":"\u6839\u636E\u4E4B\u524D\u8865\u5168\u8FC7\u7684\u5EFA\u8BAE\u7684\u524D\u7F00\u6765\u8FDB\u884C\u9009\u62E9\u3002\u4F8B\u5982\uFF0C`co -> console`\u3001`con -> const`\u3002","editor.configuration.tabCompletion":"\u542F\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.off":"\u7981\u7528 Tab \u8865\u5168\u3002","editor.configuration.tabCompletion.on":"\u5728\u6309\u4E0B Tab \u952E\u65F6\u8FDB\u884C Tab \u8865\u5168\uFF0C\u5C06\u63D2\u5165\u6700\u4F73\u5339\u914D\u5EFA\u8BAE\u3002","editor.configuration.tabCompletion.onlySnippets":'\u5728\u524D\u7F00\u5339\u914D\u65F6\u8FDB\u884C Tab \u8865\u5168\u3002\u5728 "quickSuggestions" \u672A\u542F\u7528\u65F6\u4F53\u9A8C\u6700\u597D\u3002',"editor.configuration.editor.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.editor.guides.bracketPairsHorizontal":"\u63A7\u5236\u662F\u5426\u542F\u7528\u6C34\u5E73\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.renderLineHighlight":"\u63A7\u5236\u7F16\u8F91\u5668\u7684\u5F53\u524D\u884C\u8FDB\u884C\u9AD8\u4EAE\u663E\u793A\u7684\u65B9\u5F0F\u3002","editor.configuration.renderLineHighlight.all":"\u540C\u65F6\u7A81\u51FA\u663E\u793A\u5BFC\u822A\u7EBF\u548C\u5F53\u524D\u884C\u3002","editor.configuration.renderLineHighlightOnlyWhenFocus":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u4EC5\u5728\u7126\u70B9\u5728\u7F16\u8F91\u5668\u65F6\u7A81\u51FA\u663E\u793A\u5F53\u524D\u884C\u3002","editor.configuration.codeLens":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u663E\u793A CodeLens\u3002","editor.configuration.suggest.showClasss":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7C7B\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showColors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstants":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5E38\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showConstructors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6784\u9020\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showCustomcolors":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u81EA\u5B9A\u4E49\u989C\u8272\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showDeprecated":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5DF2\u542F\u7528\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEnumMembers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "enumMember" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showEnums":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u679A\u4E3E\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showEvents":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u4E8B\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFields":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5B57\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFiles":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFolders":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u4EF6\u5939\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showFunctions":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u51FD\u6570\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showInterfaces":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u63A5\u53E3\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showIssues":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u95EE\u9898"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showKeywords":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5173\u952E\u5B57\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showMethods":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u65B9\u6CD5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showModules":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6A21\u5757\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showOperators":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u64CD\u4F5C\u7B26\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showPropertys":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5C5E\u6027\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showReferences":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53C2\u8003\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showSnippets":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7247\u6BB5\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showStructs":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u7ED3\u6784\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTexts":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u6587\u672C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showTypeParameters":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A "typeParameter" \u5EFA\u8BAE\u3002',"editor.configuration.suggest.showUnits":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u5355\u4F4D\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showUsers":'\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A"\u7528\u6237"\u5EFA\u8BAE\u3002',"editor.configuration.suggest.showValues":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u503C\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.showVariables":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u663E\u793A\u201C\u53D8\u91CF\u201D\u5EFA\u8BAE\u3002","editor.configuration.suggest.maxVisibleSuggestions":"\u63A7\u5236 IntelliSense \u5728\u663E\u793A\u6EDA\u52A8\u6761\u4E4B\u524D\u5C06\u663E\u793A\u7684\u5EFA\u8BAE\u6570\u91CF\uFF08\u6700\u591A 15 \u4E2A\uFF09\u3002","editor.configuration.suggest.details.visible":"\u63A7\u5236\u7F16\u8F91\u5668\u4EE3\u7801\u8865\u5168\u662F\u5426\u9ED8\u8BA4\u5C55\u5F00\u8BE6\u60C5\u4FE1\u606F","editor.configuration.suggest.filtered":"\u63A7\u5236\u662F\u5426\u5E94\u4ECE IntelliSense \u4E2D\u8FC7\u6EE4\u6389\u67D0\u4E9B\u5EFA\u8BAE\u7C7B\u578B\u3002\u53EF\u4EE5\u5728\u6B64\u5904\u627E\u5230\u4E00\u4EFD\u5EFA\u8BAE\u7C7B\u578B\u5217\u8868: https://code.visualstudio.com/docs/editor/intellisense#_types-of-completions.","editor.configuration.suggest.filtered.method":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `method` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.function":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `function` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constructor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constructor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.field":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `field` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.variable":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `variable` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.class":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `class` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.struct":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `struct` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.interface":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `interface` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.module":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `module` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.property":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `property` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.event":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `event` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.operator":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `operator` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.unit":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `unit` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.value":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `value` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.constant":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `constant` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enum":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enum` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.enumMember":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `enumMember` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.keyword":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `keyword` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.text":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `text` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.color":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `color` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.file":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `file` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.reference":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `reference` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.customcolor":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `customcolor` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.folder":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `folder` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.typeParameter":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `typeParameter` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.suggest.filtered.snippet":"\u542F\u7528\u540E\uFF0CIntelliSense \u5C06\u4F1A\u5C55\u793A `snippet` \u7C7B\u578B\u7684\u5EFA\u8BAE\u3002","editor.configuration.editor.gotoLocation.multiple":'\u63A7\u5236 "\u8F6C\u5230" \u547D\u4EE4\uFF08\u4F8B\u5982\u8F6C\u5230\u5B9A\u4E49\uFF09\u5728\u5B58\u5728\u591A\u4E2A\u76EE\u6807\u4F4D\u7F6E\u65F6\u7684\u884C\u4E3A\u3002',"editor.configuration.gotoLocation.multiple.peek":"\u5728\u901F\u89C8\u89C6\u56FE(Peek View)\u4E2D\u663E\u793A\u7ED3\u679C\u3002(\u9ED8\u8BA4)","editor.configuration.gotoLocation.multiple.gotoAndPeek":"\u8F6C\u5230\u4E3B\u7ED3\u679C\u5E76\u663E\u793A\u901F\u89C8\u89C6\u56FE(Peek View)\u3002","editor.configuration.gotoLocation.multiple.goto":"\u8F6C\u5230\u4E3B\u7ED3\u679C\uFF0C\u5E76\u5BF9\u5176\u4ED6\u7ED3\u679C\u542F\u7528\u65E0\u901F\u89C8\u5BFC\u822A","editor.configuration.experimental.stickyScroll.enabled":"\u5728\u7F16\u8F91\u5668\u9876\u90E8\u7684\u6EDA\u52A8\u8FC7\u7A0B\u4E2D\u663E\u793A\u5D4C\u5957\u7684\u5F53\u524D\u4F5C\u7528\u57DF\u3002","editor.configuration.maxTokenizationLineLength":"\u7531\u4E8E\u6027\u80FD\u539F\u56E0\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u957F\u5EA6\u7684\u884C\u5C06\u4E0D\u4F1A\u88AB\u6807\u8BC6\u3002","editor.configuration.codeActionsOnSave.organizeImports":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u6574\u7406\u5BFC\u5165\uFF08Import\uFF09\u8BED\u53E5\u3002","editor.configuration.codeActionsOnSave.fixAll":"\u63A7\u5236\u662F\u5426\u5E94\u5728\u6587\u4EF6\u4FDD\u5B58\u65F6\u8FD0\u884C\u81EA\u52A8\u4FEE\u590D\u64CD\u4F5C\u3002","editor.configuration.codeActionsOnSave":"\u5728\u4FDD\u5B58\u65F6\u8FD0\u884C\u7684\u4EE3\u7801\u64CD\u4F5C\u7C7B\u578B","editor.configuration.codeActionsOnSaveTimeout":"\u5728\u6B64\u8D85\u65F6\u65F6\u95F4(\u6BEB\u79D2)\u4E4B\u540E\u4EE3\u7801\u64CD\u4F5C\u5C06\u88AB\u53D6\u6D88\u3002","editor.configuration.codeActionsOnSaveNotification":"\u4EE3\u7801\u64CD\u4F5C\u6267\u884C\u65F6\u662F\u5426\u5C55\u793A\u901A\u77E5\u4FE1\u606F","editor.configuration.quickSuggestionsDelay":"\u63A7\u5236\u663E\u793A\u667A\u80FD\u63D0\u793A\u7684\u5EF6\u8FDF\u65F6\u957F (\u6BEB\u79D2)\u3002","editor.configuration.tabSize":"\u63A7\u5236 Tab \u7F29\u8FDB\u7B49\u4E8E\u7684\u7A7A\u683C\u6570\u3002\u82E5\u542F\u7528 `#editor.detectIndentation#`\uFF0C\u8BE5\u8BBE\u7F6E\u53EF\u80FD\u4F1A\u88AB\u8986\u76D6","editor.configuration.fontWeight":'\u63A7\u5236\u5B57\u4F53\u7C97\u7EC6\uFF0C\u63A5\u6536 "normal" \u548C "bold" \u5173\u952E\u8BCD\u6216\u8005 1 \u5230 1000 \u6570\u503C\u3002',"editor.configuration.largeFileSize":"\u63A7\u5236\u8D85\u5927\u6587\u4EF6\u7684\u81EA\u5B9A\u4E49\u4F53\u79EF\u3002(\u5355\u4F4D\uFF1AB)","editor.configuration.preferredFormatter":"\u914D\u7F6E\u4F18\u5148\u4F7F\u7528\u7684\u683C\u5F0F\u5316\u5668\u3002","editor.configuration.wrapTab":"\u63A7\u5236\u5F53\u7F16\u8F91\u5668 Tab \u8D85\u8FC7\u53EF\u7528\u7A7A\u95F4\u65F6\uFF0C\u662F\u5426\u4F7F\u7528\u6362\u884C\u6765\u4EE3\u66FF\u6EDA\u52A8\u6A21\u5F0F\u3002","editor.configuration.enablePreviewFromCodeNavigation":"\u63A7\u5236\u5F53\u4EE3\u7801\u5BFC\u822A\u4ECE\u5176\u51FA\u53D1\u65F6\uFF0C\u7F16\u8F91\u5668\u662F\u5426\u4ECD\u5904\u4E8E\u9884\u89C8\u6A21\u5F0F\u3002","editor.configuration.formatOnSaveTimeout":"\u63A7\u5236\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.formatOnSave#` \u542F\u7528\u65F6\u751F\u6548\u3002","editor.configuration.inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","editor.configuration.inlineSuggest.showToolbar":"\u63A7\u5236\u4F55\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.always":"\u6BCF\u5F53\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u65F6\uFF0C\u5C31\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.onHover":"\u5C06\u9F20\u6807\u60AC\u505C\u5728\u5185\u8054\u5EFA\u8BAE\u4E0A\u65F6\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.inlineSuggest.showToolbar.never":"\u6C38\u4E0D\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u5DE5\u5177\u680F\u3002","editor.configuration.hover.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u63D0\u793A\u3002","editor.configuration.hover.delay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u663E\u793A\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002","editor.configuration.hover.sticky":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u662F\u5426\u5728\u9F20\u6807\u60AC\u505C\u65F6\u4FDD\u6301\u53EF\u89C1\u3002","editor.configuration.hover.hidingDelay":"\u63A7\u5236\u4EE3\u7801\u63D0\u793A\u9690\u85CF\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002\u9700\u8981 `editor.hover.sticky` \u8BBE\u7F6E\u4E3A true \u65F6\u751F\u6548\u3002","editor.configuration.hover.above":"\u4F18\u5148\u663E\u793A\u4EE3\u7801\u63D0\u793A\u5728\u884C\u4E0A\u65B9\uFF0C\u5982\u679C\u884C\u6709\u7A7A\u95F4\u3002","editor.configuration.autoSave":"\u63A7\u5236\u5982\u4F55\u81EA\u52A8\u4FDD\u5B58\u6587\u4EF6\u3002","editor.configuration.formatOnSave":"\u5728\u4FDD\u5B58\u65F6\u683C\u5F0F\u5316\u6587\u4EF6","editor.configuration.formatOnType":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5728\u952E\u5165\u540E\u81EA\u52A8\u683C\u5F0F\u5316\u8BE5\u884C\u3002","editor.configuration.formatOnPaste":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u81EA\u52A8\u683C\u5F0F\u5316\u7C98\u8D34\u7684\u5185\u5BB9\u3002\u9700\u8981\u5F53\u524D\u6587\u4EF6\u6709\u4E00\u4E2A\u683C\u5F0F\u5316\u5DE5\u5177\u5E76\u4E14\u8BE5\u683C\u5F0F\u5316\u683C\u5C40\u5FC5\u987B\u80FD\u591F\u5728\u6587\u6863\u4E2D\u683C\u5F0F\u5316\u4E00\u4E2A\u8303\u56F4\u3002","editor.configuration.autoIndent":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u5E94\u8BE5\u5728\u7528\u6237\u952E\u5165\u3001\u7C98\u8D34\u6216\u79FB\u52A8\u884C\u65F6\u81EA\u52A8\u8C03\u6574\u7F29\u8FDB\u3002\u5FC5\u987B\u63D0\u4F9B\u5E26\u6709\u8BE5\u8BED\u8A00\u7F29\u8FDB\u89C4\u5219\u7684\u6269\u5C55\u3002","editor.configuration.autoSaveDelay":"\u63A7\u5236\u81EA\u52A8\u4FDD\u5B58\u7684\u5EF6\u8FDF\u65F6\u957F\uFF08\u6BEB\u79D2\uFF09\u3002\u4EC5\u5F53 `#editor.autoSave#` \u8BBE\u7F6E\u4E3A\u201C\u7F16\u8F91\u540E\u81EA\u52A8\u4FDD\u5B58\u201D\u65F6\u751F\u6548\u3002","editor.configuration.askIfDiff":"\u4FDD\u5B58\u6587\u4EF6\u65F6\u5982\u679C\u78C1\u76D8\u4E0A\u7684\u6587\u4EF6\u8F83\u65B0\uFF0C\u8FDB\u884C\u63D0\u793A\u624B\u52A8\u89E3\u51B3\u4FDD\u5B58\u51B2\u7A81\u3002","editor.configuration.forceReadOnly":"\u662F\u5426\u542F\u7528 \u53EA\u8BFB\u6A21\u5F0F","editor.configuration.bracketPairColorization.enabled":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u7740\u8272\u3002\u4F7F\u7528 \u201Cworkbench.colorCustomizations\u201D \u66FF\u4EE3\u62EC\u53F7\u7A81\u51FA\u663E\u793A\u989C\u8272\u3002","editor.configuration.guides.bracketPairs":"\u63A7\u5236\u662F\u5426\u542F\u7528\u62EC\u53F7\u5BF9\u6307\u5357\u3002","editor.configuration.mouseBackForwardToNavigate":"\u5141\u8BB8\u4F7F\u7528\u9F20\u6807\u6309\u94AE 4 \u548C 5 \u6765\u6267\u884C\u547D\u4EE4\u201CGo Back\u201D\u548C\u201CGo Forward\u201D\u3002","editor.configuration.previewMode":"\u4F7F\u7528\u9884\u89C8\u6A21\u5F0F\u6253\u5F00","editor.configuration.tokenColorCustomizations":"\u8986\u76D6\u5F53\u524D\u6240\u9009\u989C\u8272\u4E3B\u9898\u4E2D\u7684\u7F16\u8F91\u5668\u989C\u8272\u548C\u5B57\u4F53\u6837\u5F0F","editor.configuration.workbench.editorAssociations":'\u5C06 glob \u6A21\u5F0F\u914D\u7F6E\u5230\u7F16\u8F91\u5668(\u4F8B\u5982 `"*\u5341\u516D\u8FDB\u5236": "hexEditor.hexEdit"`)\u3002\u8FD9\u4E9B\u4F18\u5148\u987A\u5E8F\u9AD8\u4E8E\u9ED8\u8BA4\u884C\u4E3A\u3002',"editor.configuration.guides.indentation":"\u63A7\u5236\u7F16\u8F91\u5668\u662F\u5426\u663E\u793A\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.guides.highlightActiveIndentation":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u7F16\u8F91\u5668\u4E2D\u6D3B\u52A8\u7684\u7F29\u8FDB\u53C2\u8003\u7EBF\u3002","editor.configuration.trimAutoWhitespace":"\u5220\u9664\u81EA\u52A8\u63D2\u5165\u7684\u5C3E\u968F\u7A7A\u767D\u7B26\u53F7\u3002","editor.configuration.unicodeHighlight.ambiguousCharacters":"\u63A7\u5236\u662F\u5426\u7A81\u51FA\u663E\u793A\u53EF\u80FD\u4E0E\u57FA\u672C ASCII \u5B57\u7B26\u6DF7\u6DC6\u7684\u5B57\u7B26\uFF0C\u4F46\u5F53\u524D\u7528\u6237\u533A\u57DF\u8BBE\u7F6E\u4E2D\u5E38\u89C1\u7684\u5B57\u7B26\u9664\u5916\u3002","editor.configuration.lightbulb.enabled":"\u5728\u7F16\u8F91\u5668\u4E2D\u542F\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.off":"\u7981\u7528\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.onCode":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","editor.configuration.lightbulb.enabled.on":"\u5F53\u5149\u6807\u4E0E\u4EE3\u7801\u4E00\u8D77\u6392\u5217\u6216\u5728\u7A7A\u7684\u884C\u65F6\uFF0C\u663E\u793A\u4EE3\u7801\u64CD\u4F5C\u83DC\u5355\u3002","diffEditor.configuration.renderSideBySide":"\u63A7\u5236\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u663E\u793A\u65B9\u5F0F\u3002","diffEditor.configuration.ignoreTrimWhitespace":"\u542F\u7528\u540E\uFF0C\u5DEE\u5F02\u7F16\u8F91\u5668\u7684\u524D\u5BFC\u548C\u5C3E\u968F\u7A7A\u767D\u5B57\u7B26\u5C06\u4F1A\u5FFD\u7565","diffEditor.action.toggleCollapseUnchangedRegions":"\u6298\u53E0\u672A\u66F4\u6539\u7684\u4EE3\u7801\u533A\u57DF","multiDiffEditor.action.collapseFiles":"\u6298\u53E0\u6240\u6709\u6587\u4EF6","multiDiffEditor.action.expandFiles":"\u5C55\u5F00\u6240\u6709\u6587\u4EF6","inlineSuggest.enabled":"\u63A7\u5236\u662F\u5426\u5728\u7F16\u8F91\u5668\u4E2D\u81EA\u52A8\u663E\u793A\u5185\u8054\u5EFA\u8BAE\u3002","view.component.renderedError":"\u89C6\u56FE\u7EC4\u4EF6\u6E32\u67D3\u5F02\u5E38","view.component.tryAgain":"\u91CD\u65B0\u52A0\u8F7D","test.title":"\u6D4B\u8BD5\u7BA1\u7406\u5668","test.result.runFinished":"\u6D4B\u8BD5\u8FD0\u884C\u5B8C\u6210\u4E8E {0}","test.task.unnamed":"\u672A\u547D\u540D\u4EFB\u52A1","test.results":"\u6D4B\u8BD5\u7ED3\u679C","menu.missing.command":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4\u4E0D\u5B58\u5728\uFF1A{1}","menu.missing.altCommand":"\u83DC\u5355{0} \u8981\u6267\u884C\u7684\u547D\u4EE4(altCommand)\u4E0D\u5B58\u5728\uFF1A{1}","menu.dupe.command":"\u83DC\u5355{0} command({1}) \u548C alt({2}) \u6CE8\u518C\u91CD\u590D","command.category.developerTools":"\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177","connection.start.rtt":"\u67E5\u770B\u901A\u4FE1\u5EF6\u8FDF","connection.stop.rtt":"\u5173\u95ED\u901A\u4FE1\u5EF6\u8FDF\u68C0\u67E5","debug.terminal.label":"\u521B\u5EFA Javascript Debug Terminal","debug.terminal.title":"\u8C03\u8BD5\u8FDB\u7A0B","workbench.action.tasks.runTask":"\u8FD0\u884C\u4EFB\u52A1","workbench.action.tasks.reRunTask":"\u6267\u884C\u4E0A\u6B21\u8FD0\u884C\u7684\u4EFB\u52A1","workbench.action.tasks.restartTask":"\u91CD\u65B0\u5F00\u59CB\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1","workbench.action.tasks.terminate":"\u7EC8\u6B62\u4EFB\u52A1","workbench.action.tasks.showTasks":"\u5C55\u793A\u4EFB\u52A1","workbench.action.tasks.showLog":"\u5C55\u793A\u4EFB\u52A1\u65E5\u5FD7","task.contribute":"\u8D21\u732E","task.cannotFindTask":"\u672A\u627E\u5230 {0} \u7684\u4EFB\u52A1\uFF0C\u6309\u56DE\u8F66\u952E\u8FD4\u56DE","comment.reply.count":"{0} \u4E2A\u8BC4\u8BBA","comment.reply.lastReply":"\u6700\u540E\u7531 {0} \u8BC4\u8BBA","walkthroughs.welcome":"\u6B22\u8FCE\u4F7F\u7528","walkthroughs.get.started":"\u6253\u5F00 `\u5165\u95E8` \u6F14\u793A","mergeEditor.reset":"\u91CD\u7F6E","mergeEditor.workbench.tab.name":"\u6B63\u5728\u5408\u5E76: {0}","mergeEditor.conflict.action.apply.confirm.title":"\u5F53\u524D\u6587\u4EF6\u8FD8\u6709\u672A\u5904\u7406\u7684\u51B2\u7A81\u6216\u53D8\u66F4\uFF0C\u662F\u5426\u5E94\u7528\u5E76\u4FDD\u5B58\u66F4\u6539\uFF1F","mergeEditor.conflict.action.apply.confirm.continue":"\u7EE7\u7EED\u5408\u5E76","mergeEditor.conflict.action.apply.confirm.complete":"\u786E\u8BA4\u4FDD\u5B58\u5E76\u66F4\u6539","mergeEditor.action.button.apply":"\u5E94\u7528\u66F4\u6539","mergeEditor.action.button.apply-and-stash":"\u5E94\u7528\u5E76\u6682\u5B58","mergeEditor.action.button.accept.left":"\u63A5\u53D7\u5DE6\u8FB9","mergeEditor.action.button.accept.right":"\u63A5\u53D7\u53F3\u8FB9","mergeEditor.open.3way":"3-way \u7F16\u8F91\u5668","mergeEditor.conflict.prev":"\u4E0A\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.next":"\u4E0B\u4E00\u5904\u51B2\u7A81","mergeEditor.conflict.ai.resolve.all":"AI \u89E3\u51B3","mergeEditor.conflict.ai.resolve.all.stop":"\u5168\u90E8\u505C\u6B62","mergeEditor.open.tradition":"\u6587\u672C\u7F16\u8F91\u5668","workbench.quickOpen.preserveInput":"\u662F\u5426\u5728 QuickOpen \u7684\u8F93\u5165\u6846\uFF08\u5305\u62EC\u547D\u4EE4\u9762\u677F\uFF09\u4E2D\u4FDD\u7559\u4E0A\u6B21\u8F93\u5165\u7684\u5185\u5BB9","aiNative.chat.ai.assistant.name":"AI \u7814\u53D1\u52A9\u624B","aiNative.chat.input.placeholder.default":"\u53EF\u4EE5\u95EE\u6211\u4EFB\u4F55\u95EE\u9898\uFF0C\u8F93\u5165 @ \u53EF\u5F15\u7528\u5185\u5BB9","aiNative.chat.stop.immediately":"\u6211\u5148\u4E0D\u60F3\u4E86\uFF0C\u6709\u9700\u8981\u53EF\u4EE5\u968F\u65F6\u95EE\u6211","aiNative.chat.error.response":"\u5F53\u524D\u4E0E\u6211\u4E92\u52A8\u7684\u4EBA\u592A\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\uFF0C\u611F\u8C22\u60A8\u7684\u7406\u89E3\u4E0E\u652F\u6301","aiNative.chat.code.insert":"\u63D2\u5165\u4EE3\u7801","aiNative.chat.code.copy":"\u590D\u5236\u4EE3\u7801","aiNative.chat.code.copy.success":"\u590D\u5236\u6210\u529F","aiNative.chat.expand.unfullscreen":"\u6536\u8D77","aiNative.chat.expand.fullescreen":"\u5C55\u5F00\u5168\u5C4F","aiNative.chat.enter.send":"Enter \u53D1\u9001","aiNative.chat.defaultContextFile":"\u5F53\u524D\u6587\u4EF6","aiNative.chat.defaultContextFolder":"\u5F53\u524D\u6587\u4EF6\u5939","aiNative.chat.thinking":"\u6DF1\u5EA6\u601D\u8003","aiNative.chat.imageUpload":"\u4E0A\u4F20\u56FE\u7247","aiNative.chat.clearContext":"\u6E05\u7A7A\u4E0A\u4E0B\u6587","aiNative.chat.context.description":"\u5171 {0} \u4E2A\u5F15\u7528","aiNative.chat.context.clear":"\u70B9\u51FB\u6E05\u7A7A\u5F15\u7528","aiNative.chat.context.title":"\u4E0A\u4E0B\u6587","aiNative.chat.context.title.empty":"\u6682\u65E0\u4E0A\u4E0B\u6587","aiNative.chat.modelSelector.disableTip":"\u5982\u9700\u5207\u6362\u6A21\u578B\uFF0C\u8BF7\u65B0\u5EFA\u6216\u6E05\u7A7A\u4F1A\u8BDD","aiNative.inline.chat.operate.chat.title":"Chat({0})","aiNative.inline.chat.operate.check.title":"\u91C7\u7EB3","aiNative.inline.chat.operate.thumbsup.title":"\u8D5E","aiNative.inline.chat.operate.thumbsdown.title":"\u8E29","aiNative.inline.chat.operate.loading.cancel":"\u6309 ESC \u53D6\u6D88","aiNative.inline.chat.input.placeholder.default":"\u8BF7\u8F93\u5165\u4F60\u7684\u610F\u56FE...(\u2191\u2193 \u5207\u6362\u5386\u53F2)","aiNative.inline.chat.generating.canceled":"Inline Chat \u5DF2\u505C\u6B62\u751F\u6210","aiNative.inline.hint.widget.placeholder":"\u6309 {0} \u5524\u8D77 Inline Chat","aiNative.inline.problem.fix.title":"AI \u4FEE\u590D","aiNative.inline.diff.accept":"\u91C7\u7EB3","aiNative.inline.diff.reject":"\u62D2\u7EDD","aiNative.chat.view-changes":"\u67E5\u770B\u6539\u52A8","aiNative.resolve.conflict.dialog.afresh":"\u4F60\u786E\u5B9A\u8981\u91CD\u65B0\u751F\u6210\u5417\uFF1F","aiNative.resolve.conflict.dialog.detection":`\u68C0\u6D4B\u5230\u60A8\u5DF2\u505A\u4E86\u4FEE\u6539\uFF0C\u91CD\u65B0\u751F\u6210\u4F1A\u8986\u76D6\u6389
33522
33522
  \u60A8\u4FEE\u6539\u7684\u90E8\u5206\uFF0C\u662F\u5426\u786E\u8BA4\u8FDB\u884C\u91CD\u65B0\u751F\u6210\u3002`,"aiNative.resolve.conflict.message.not.processed.yet":"AI \u5DF2\u5904\u7406 {0} \u5904\u51B2\u7A81\uFF0C{1} \u5904\u51B2\u7A81\u6682\u672A\u5904\u7406\uFF08\u4ECD\u6807\u8BB0\u4E3A\u9EC4\u8272\u90E8\u5206\uFF09\uFF0C\u9700\u4EBA\u5DE5\u5904\u7406","aiNative.operate.discard.title":"\u4E22\u5F03","aiNative.operate.afresh.title":"\u91CD\u65B0\u751F\u6210","aiNative.operate.stop.title":"\u505C\u6B62","aiNative.operate.close.title":"\u5173\u95ED","aiNative.operate.clear.title":"\u6E05\u7A7A","aiNative.operate.tools.title":"MCP \u5DE5\u5177","aiNative.operate.newChat.title":"\u65B0\u5EFA\u804A\u5929","aiNative.operate.chatHistory.title":"\u804A\u5929\u5386\u53F2","aiNative.operate.chatHistory.searchPlaceholder":"\u8BF7\u641C\u7D22...","aiNative.operate.chatHistory.edit":"\u7F16\u8F91","aiNative.operate.chatHistory.delete":"\u5220\u9664","aiNative.chat.welcome.loading.text":"\u521D\u59CB\u5316\u4E2D...","aiNative.chat.ai.assistant.limit.message":"{0} \u6761\u6700\u65E9\u7684\u6D88\u606F\u56E0\u8F93\u5165 Tokens \u9650\u5236\u800C\u88AB\u4E22\u5F03","aiNative.inlineDiff.acceptAll":"\u63A5\u53D7\u5168\u90E8","aiNative.inlineDiff.rejectAll":"\u62D2\u7EDD\u5168\u90E8","aiNative.inlineDiff.reveal":"\u5728\u804A\u5929\u4E2D\u5C55\u793A","aiNative.inlineDiff.up":"\u4E0A\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.down":"\u4E0B\u4E00\u5904\u53D8\u66F4","aiNative.inlineDiff.right":"\u4E0B\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.left":"\u4E0A\u4E00\u5904\u6587\u4EF6","aiNative.inlineDiff.noMoreChangesUp":"\u9876\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.inlineDiff.noMoreChangesDown":"\u5E95\u90E8\u6CA1\u6709\u66F4\u591A\u53D8\u66F4\u4E86","aiNative.chat.session.max":"\u6700\u591A\u53EA\u80FD\u521B\u5EFA {0} \u4E2A\u804A\u5929","preference.ai.native.inlineChat.title":"Inline Chat","preference.ai.native.chat.title":"Chat","preference.ai.native.interface.quick.title":"\u63A5\u53E3\u5FEB\u901F\u8DF3\u8F6C","preference.ai.native.interface.quick.navigation":"\u70B9\u51FB\u7F16\u8F91\u5668\u5DE6\u4FA7\u56FE\u6807\u5FEB\u901F\u8DF3\u8F6C\u5230\u63A5\u53E3\u5B9E\u73B0","preference.ai.native.interface.quick.navigation.hover":"\u8DF3\u8F6C\u5230\u5B9E\u73B0","preference.ai.native.inlineChat.auto.visible":"\u662F\u5426\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u81EA\u52A8\u663E\u793A Inline Chat?","preference.ai.native.inlineChat.codeAction.enabled":"\u662F\u5426\u542F\u7528\u5728\u9009\u4E2D\u4EE3\u7801\u7247\u6BB5\u65F6\u663E\u793A Inline Chat \u76F8\u5173\u7684 Code Actions?","preference.ai.native.chat.visible.type":"\u63A7\u5236 Chat \u9762\u677F\u9ED8\u8BA4\u7684\u5C55\u793A\u65B9\u5F0F","preference.ai.native.inlineDiff.preview.mode":"Inline Diff \u7684\u9884\u89C8\u6A21\u5F0F","preference.ai.native.inlineDiff.preview.mode.sideBySide":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u5DE6\u53F3 diff \u9762\u677F\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.inlineDiff.preview.mode.inlineLive":"\u5728\u7F16\u8F91\u5668\u5F53\u4E2D\u4EE5\u6D41\u5F0F\u6E32\u67D3\u7684\u65B9\u5F0F\u5C55\u793A","preference.ai.native.intelligentCompletions.title":"\u667A\u80FD\u8865\u5168","preference.ai.native.intelligentCompletions.promptEngineering.enabled":"\u662F\u5426\u542F\u7528\u63D0\u793A\u8BCD\u5DE5\u7A0B\uFF0C\u4E00\u4E9B LLM \u6A21\u578B\u5728\u63D0\u793A\u8BCD\u5DE5\u7A0B\u4E0A\u53EF\u80FD\u8868\u73B0\u4E0D\u4F73\u3002","preference.ai.native.intelligentCompletions.debounceTime":"\u667A\u80FD\u8865\u5168\u7684\u5EF6\u8FDF\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","preference.ai.native.intelligentCompletions.cache.enabled":"\u662F\u5426\u542F\u7528\u667A\u80FD\u8865\u5168\u7684\u7F13\u5B58","preference.ai.native.intelligentCompletions.alwaysVisible":"\u662F\u5426\u603B\u662F\u5C55\u793A\u667A\u80FD\u8865\u5168","preference.ai.native.codeEdits.title":"\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lintErrors":"\u662F\u5426\u5728\u53D1\u751F Lint Error \u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.lineChange":"\u662F\u5426\u5728\u5149\u6807\u884C\u53F7\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.typing":"\u662F\u5426\u5728\u5185\u5BB9\u53D1\u751F\u53D8\u5316\u65F6\u89E6\u53D1\u667A\u80FD\u6539\u5199","preference.ai.native.codeEdits.renderType":"\u667A\u80FD\u6539\u5199\u6E32\u67D3\u65B9\u5F0F","preference.ai.native.globalRules.description":"\u8FD9\u4E9B\u89C4\u5219\u5C06\u53D1\u9001\u5230\u6240\u6709\u804A\u5929\u3001Agent \u4E2D\u3002","preference.ai.native.chat.system.prompt":"\u9ED8\u8BA4\u804A\u5929\u7CFB\u7EDF\u63D0\u793A\u8BCD","webview.webviewTagUnavailable":"\u975E Electron \u73AF\u5883\u4E0D\u652F\u6301 webview \u6807\u7B7E\uFF0C\u8BF7\u4F7F\u7528 iframe \u6807\u7B7E","notebook.kernel.panel.empty":"\u6682\u65E0\u5185\u5BB9","notebook.kernel.panel.title":"\u8FD0\u884C\u7684\u7EC8\u7AEF\u548C\u5185\u6838","notebook.kernel.panel.opened.pages":"\u5DF2\u5F00\u542F\u7684\u6807\u7B7E\u9875","notebook.kernel.panel.running.kernels":"\u8FD0\u884C\u7684\u5185\u6838","notebook.kernel.close.all.confirmation":"\u4F60\u786E\u5B9A\u8981\u5173\u95ED\u5168\u90E8\u5417\uFF1F","notebook.variable.panel.title":"\u53D8\u91CF\u68C0\u67E5\u5668","notebook.variable.panel.unsupported":"\u8BE5\u6587\u4EF6\u683C\u5F0F\u6682\u4E0D\u652F\u6301\u53D8\u91CF\u68C0\u67E5","notebook.variable.panel.refresh.success":"\u53D8\u91CF\u5237\u65B0\u6210\u529F","notebook.variable.panel.refresh.error":"\u53D8\u91CF\u5237\u65B0\u5931\u8D25","notebook.variable.panel.search.placeholder":"\u8BF7\u8F93\u5165\u53D8\u91CF\u540D\u79F0\u641C\u7D22","notebook.variable.panel.show.detail":"\u67E5\u770B\u8BE6\u60C5",...r.browserViews,...o.editorLocalizations,...l.zhCN,"preference.ai.native.llm.apiSettings.title":"\u5927\u6A21\u578B API \u8BBE\u7F6E","preference.ai.native.llm.model.id":"\u6A21\u578B ID","preference.ai.native.deepseek.apiKey":"Deepseek API \u5BC6\u94A5","preference.ai.native.deepseek.apiKey.description":"Deepseek \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey":"Anthropic API \u5BC6\u94A5","preference.ai.native.anthropic.apiKey.description":"Anthropic \u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.apiKey":"OpenAI API \u5BC6\u94A5","preference.ai.native.openai.apiKey.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 API \u5BC6\u94A5","preference.ai.native.openai.baseURL":"OpenAI Base URL","preference.ai.native.openai.baseURL.description":"OpenAI \u517C\u5BB9\u8BED\u8A00\u6A21\u578B\u7684 Base URL","preference.ai.native.contextWindow":"\u4E0A\u4E0B\u6587\u7A97\u53E3","preference.ai.native.contextWindow.description":"\u4E0A\u4E0B\u6587\u7A97\u53E3\u7684\u6700\u5927Token\u6570","preference.ai.native.maxTokens":"\u6700\u5927\u8F93\u51FA","preference.ai.native.maxTokens.description":"\u6700\u5927\u8F93\u51FAToken\u6570","preference.ai.native.mcp.settings.title":"MCP \u670D\u52A1\u5668\u8BBE\u7F6E","preference.ai.native.mcp.servers":"MCP \u670D\u52A1\u5668","preference.ai.native.mcp.servers.description":"\u914D\u7F6E MCP (Model Context Protocol) \u670D\u52A1\u5668","preference.ai.native.mcp.servers.name.description":"MCP \u670D\u52A1\u5668\u540D\u79F0","preference.ai.native.mcp.servers.command.description":"\u542F\u52A8 MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4","preference.ai.native.mcp.servers.args.description":"MCP \u670D\u52A1\u5668\u7684\u547D\u4EE4\u884C\u53C2\u6570","preference.ai.native.mcp.servers.env.description":"MCP \u670D\u52A1\u5668\u7684\u73AF\u5883\u53D8\u91CF","preference.ai.native.mcp.servers.type.description":"MCP \u670D\u52A1\u5668\u8FDE\u63A5\u7C7B\u578B","preference.ai.native.mcp.servers.type.stdio":"Stdio \u8FDE\u63A5","preference.ai.native.mcp.servers.type.sse":"SSE \u8FDE\u63A5","ai.native.mcp.terminal.command":"\u547D\u4EE4","ai.native.mcp.terminal.output":"\u8F93\u51FA","ai.native.mcp.terminal.allow-question":"\u662F\u5426\u5141\u8BB8\u8FD0\u884C\u547D\u4EE4?","ai.native.mcp.terminal.allow":"\u5141\u8BB8","ai.native.mcp.terminal.deny":"\u62D2\u7EDD","ai.native.rules.title":"\u89C4\u5219","ai.native.rules.description":"\u89C4\u5219\u5141\u8BB8\u4F60\u4E3A Agent \u63D0\u4F9B System \u7EA7\u522B\u7684\u5F15\u5BFC\u3002","ai.native.rules.addRule.title":"\u6DFB\u52A0\u89C4\u5219","ai.native.rules.userRules.title":"\u7528\u6237\u89C4\u5219","ai.native.rules.userRules.description":"\u7528\u6237\u89C4\u5219\u5141\u8BB8\u4F60\u4E3A Agent \u63D0\u4F9B\u5F15\u5BFC\u3002","ai.native.rules.userRules.placeholder":"\u5982\uFF0C\u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u56DE\u7B54...","ai.native.rules.projectRules.title":"\u9879\u76EE\u89C4\u5219","ai.native.rules.projectRules.description":"\u9879\u76EE\u89C4\u5219\u5141\u8BB8\u4F60\u4E3A Agent \u63D0\u4F9B\u5F15\u5BFC\u3002","ai.native.rules.projectRules.noUsed":"\u8BE5\u89C4\u5219\u53EF\u80FD\u6C38\u8FDC\u4E0D\u4F1A\u88AB\u4F7F\u7528\uFF0C\u56E0\u4E3A\u5B83\u6CA1\u6709\u63CF\u8FF0\u6216\u81EA\u52A8\u9644\u4EF6","ai.native.rules.projectRules.newRule":"\u65B0\u5EFA\u89C4\u5219","ai.native.rules.projectRules.newRule.placeholder":"\u8BF7\u8F93\u5165\u89C4\u5219\u540D\u79F0","ai.native.rules.projectRules.empty":"\u6682\u65E0\u53D1\u73B0\u4EFB\u4F55\u89C4\u5219","ai.native.terminal.autorun":"\u7EC8\u7AEF\u547D\u4EE4\u81EA\u52A8\u6267\u884C\u7B56\u7565","ai.native.terminal.autorun.description":"Agent\u7EC8\u7AEF\u547D\u4EE4\u7684\u81EA\u52A8\u6267\u884C\u7B56\u7565\u3002`off` \u8868\u793A\u6C38\u8FDC\u4E0D\u81EA\u52A8\u6267\u884C\uFF0C`auto` \u8868\u793A\u6A21\u578B\u5C06\u6839\u636E\u547D\u4EE4\u51B3\u5B9A\u662F\u5426\u81EA\u52A8\u6267\u884C\uFF08\u53EA\u9002\u7528\u4E8E\u9AD8\u7EA7\u6A21\u578B\uFF09\uFF0C`always` \u8868\u793A\u6C38\u8FDC\u81EA\u52A8\u6267\u884C\u3002","ai.native.terminal.autorun.denied":"\u9ED8\u8BA4\u60C5\u51B5\u4E0B\u62D2\u7EDD\u81EA\u52A8\u8FD0\u884C","ai.native.terminal.autorun.question":"\u5E0C\u671B\u81EA\u52A8\u8FD0\u884C?","ai.native.terminal.autorun.command":"\u70B9\u51FB\u66F4\u6539\u547D\u4EE4\u81EA\u52A8\u6267\u884C\u7B56\u7565.","ai.native.terminal.autorun.always":"\u59CB\u7EC8\u5141\u8BB8","ai.native.terminal.autorun.auto":"\u6A21\u578B\u81EA\u52A8\u6267\u884C","ai.native.terminal.autorun.off":"\u7981\u6B62\u81EA\u52A8\u6267\u884C","ai.native.terminal.autorun.running":"\u547D\u4EE4\u6267\u884C\u4E2D...","ai.native.mcp.name":"\u540D\u79F0:","ai.native.mcp.command":"\u547D\u4EE4:","ai.native.mcp.args":"\u53C2\u6570:","ai.native.mcp.env":"\u73AF\u5883\u53D8\u91CF:","ai.native.mcp.type":"\u7C7B\u578B:","ai.native.mcp.stdio":"Command","ai.native.mcp.sse":"SSE","ai.native.mcp.buttonSave":"\u6DFB\u52A0","ai.native.mcp.buttonUpdate":"\u66F4\u65B0","ai.native.mcp.buttonCancel":"\u53D6\u6D88","ai.native.mcp.addMCPServer.title":"\u6DFB\u52A0 MCP \u670D\u52A1\u5668","ai.native.mcp.editMCPServer.title":"\u7F16\u8F91 MCP \u670D\u52A1\u5668","ai.native.mcp.url.placeHolder":"\u8F93\u5165 SSE URL","ai.native.mcp.command.placeHolder":"\u8F93\u5165\u547D\u4EE4","ai.native.mcp.args.placeHolder":"\u8FD0\u884C\u53C2\u6570","ai.native.mcp.env.placeHolder":"KEY=value\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","ai.native.mcp.name.placeHolder":"\u670D\u52A1\u5668\u540D\u79F0","ai.native.mcp.type.builtin":"\u5185\u7F6E","ai.native.mcp.type.sse":"SSE","ai.native.mcp.type.stdio":"\u547D\u4EE4","ai.native.mcp.serverNameExists":'\u670D\u52A1\u540D\u79F0 "{0}" \u5DF2\u5B58\u5728',"ai.native.mcp.name.isRequired":"\u670D\u52A1\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A","ai.native.mcp.command.isRequired":"\u547D\u4EE4\u4E0D\u80FD\u4E3A\u7A7A","ai.native.mcp.url.isRequired":"SSE URL \u4E0D\u80FD\u4E3A\u7A7A","ai.native.mcp.manage.connections":"\u7BA1\u7406\u4F60\u7684 MCP \u670D\u52A1\u5668\u8FDE\u63A5","ai.native.mcp.enabled":"\u5DF2\u542F\u7528","ai.native.mcp.disabled":"\u5DF2\u7981\u7528","ai.native.mcp.enable.title":"\u542F\u52A8\u8BE5\u670D\u52A1","ai.native.mcp.disable.title":"\u505C\u6B62\u8BE5\u670D\u52A1","ai.native.mcp.config.title":"MCP \u914D\u7F6E","ai.native.mcp.tool.arguments":"\u53C2\u6570","ai.native.mcp.tool.results":"\u8FD4\u56DE","ai.native.mcp.tool.action.edit":"\u4FEE\u6539","ai.native.mcp.tool.action.delete":"\u5220\u9664","ai.native.mcp.tool.action.sync":"\u540C\u6B65"}}},10199:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(32581),t)},21774:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(25067),_=e(48644),v=e(85448);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IKeymapService,useClass:v.KeymapService},_.KeymapsContribution]}};t.KeymapsModule=m,t.KeymapsModule=m=n.__decorate([(0,r.Injectable)()],m)},2312:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsParser=t.keymapsSchema=void 0;const n=e(85608),r=n.__importDefault(e(82174)),o=n.__importStar(e(23304)),l=e(76003);t.keymapsSchema={type:"array",items:{type:"object",properties:{key:{type:"string"},keybinding:{type:"string",deprecated:!0},command:{type:"string"},context:{type:"string"},when:{type:"string"},args:{}},required:["command"],optional:["key","keybinding","when","args"],additionalProperties:!1}};let _=class{constructor(){this.validate=new r.default({jsonPointers:!0}).compile(t.keymapsSchema)}parse(m,p){const s=o.stripComments(m),g=p?[]:void 0,a=o.parse(s,g);if(g&&p)for(const h of g)p.push(`${this.printParseErrorCode(h.error)} at ${h.offset} offset of ${h.length} length`);if(this.validate(a))return a;if(p&&this.validate.errors)for(const h of this.validate.errors)p.push(`${h.message} at ${h.dataPath}`);return[]}printParseErrorCode(m){return o.printParseErrorCode(m)}};t.KeymapsParser=_,t.KeymapsParser=_=n.__decorate([(0,l.Injectable)(),n.__metadata("design:paramtypes",[])],_)},48644:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsContribution=t.KEYMAP_COMMANDS=t.KeymapsContextMenu=t.KeymapsResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(57517),v=e(42933),m=e(97821),p=e(25067),s=e(34879),g="keymaps-preview";let a=class extends o.WithEventBus{constructor(){super(),this.scheme=p.KEYMAPS_SCHEME}provideResource(f){return{supportsRevive:!0,name:(0,o.localize)("keymaps.tab.name"),icon:(0,o.getIcon)("setting"),uri:f}}provideResourceSubname(f,c){return null}async shouldCloseResource(f,c){return!0}};t.KeymapsResourceProvider=a,t.KeymapsResourceProvider=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a);var h;(function(E){E.KEYMAPS="2_keymaps"})(h||(t.KeymapsContextMenu=h={}));var d;(function(E){const f="keymaps";E.OPEN_SOURCE_FILE={id:"keymaps.open.source",label:"%keymaps.editorTitle.openSource%",category:f}})(d||(t.KEYMAP_COMMANDS=d={}));let u=class{registerCommands(f){f.registerCommand(o.COMMON_COMMANDS.OPEN_KEYMAPS,{isEnabled:()=>!0,execute:async()=>{await this.keymapService.open()}}),f.registerCommand(d.OPEN_SOURCE_FILE,{execute:async()=>{this.keymapService.openResource()}}),f.registerCommand(o.KEYBOARD_COMMANDS.CHOOSE_KEYBOARD_LAYOUT,{execute:()=>{this.chooseLayout()}})}registerMenus(f){f.registerMenuItem(l.MenuId.SettingsIconMenu,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,group:h.KEYMAPS}),f.registerMenuItem(l.MenuId.EditorTitle,{command:d.OPEN_SOURCE_FILE.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${p.KEYMAPS_SCHEME}`}),f.registerMenuItem(l.MenuId.EditorTitle,{command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,iconClass:(0,o.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /keymaps.json/"})}registerKeybindings(f){f.registerKeybinding({command:o.COMMON_COMMANDS.OPEN_KEYMAPS.id,keybinding:"ctrlcmd+K ctrlcmd+S"})}onStart(){this.keymapService.init()}registerResource(f){f.registerResourceProvider(this.keymapsResourceProvider)}registerEditorComponent(f){f.registerEditorComponent({component:s.KeymapsView,uid:g,scheme:p.KEYMAPS_SCHEME}),f.registerEditorComponentResolver(p.KEYMAPS_SCHEME,(c,y,b)=>{b([{type:_.EditorOpenType.component,componentId:g}])})}async chooseLayout(){const f=this.layoutProvider.currentLayoutData,c={label:(0,o.localize)("keyboard.autoDetect.label"),description:f&&this.layoutProvider.currentLayoutSource!=="user-choice"?(0,o.formatLocalize)("keyboard.autoDetect.description",(0,o.getKeyboardLayoutId)(f.layout)):void 0,detail:(0,o.localize)("keyboard.autoDetect.detail"),value:"autodetect"},y=this.layoutProvider.allLayoutData.map(S=>this.toQuickPickValue(S,f===S));let b;b=[c,...y];const A=await this.quickPickService.show(b,{placeholder:"Choose a keyboard layout"});if(A)return this.layoutProvider.setLayoutData(A)}toQuickPickValue(f,c){return{label:(0,o.getKeyboardLayoutId)(f.layout),value:f}}};t.KeymapsContribution=u,n.__decorate([(0,r.Autowired)(m.QuickPickService),n.__metadata("design:type",Object)],u.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(o.KeyboardNativeLayoutService),n.__metadata("design:type",Object)],u.prototype,"layoutProvider",void 0),n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],u.prototype,"filesystem",void 0),n.__decorate([(0,r.Autowired)(a),n.__metadata("design:type",a)],u.prototype,"keymapsResourceProvider",void 0),n.__decorate([(0,r.Autowired)(p.IKeymapService),n.__metadata("design:type",Object)],u.prototype,"keymapService",void 0),t.KeymapsContribution=u=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,o.ClientAppContribution,_.BrowserEditorContribution,l.MenuContribution)],u)},85448:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapService=void 0;const r=e(85608),o=r.__importStar(e(39050)),l=e(76003),_=e(41869),v=e(68969),m=e(14951),p=e(25067),s=e(2312);let g=n=class{constructor(){this.keymapChangeEmitter=new _.Emitter,this.convertKeySequence=[],this.toUnregisterUserKeybindingMap=new Map,this.toRestoreDefaultKeybindingMap=new Map,this.searchDelayer=new _.ThrottledDelayer(n.DEFAULT_SEARCH_DELAY),this.disposableCollection=new _.DisposableCollection,this._whenReadyDeferred=new _.Deferred,this.fuzzyOptions={pre:"<match>",post:"</match>"},this.reconcileQueue=new _.Throttler,this.keybindings=[],this.updateKeybindings=()=>{this.currentSearchValue?this.doSearchKeybindings(this.currentSearchValue):(0,_.runWhenIdle)(()=>{this.keybindings=this.getKeybindingItems(),this.keymapChangeEmitter.fire(this.keybindings)})},this.setKeybinding=(h,d)=>this.progressService.withProgress({location:_.ProgressLocation.Notification},u=>new Promise((E,f)=>{u.report({message:(0,_.localize)("keymaps.keybinding.loading"),increment:0,total:100});const c=this.storeKeybindings||[];let y=!1;for(const b of c){const A={when:b.when,command:b.command,keybinding:b.key};if(b.command===d.command){y=!0,this.unregisterUserKeybinding(A);const S=this.toUniqueKey(h),D=this.toRestoreDefaultKeybindingMap.get(S);if(D){const I=this.toUniqueKey(d);this.toRestoreDefaultKeybindingMap.delete(S),this.toRestoreDefaultKeybindingMap.set(I,D)}b.key=d.keybinding,this.registerUserKeybinding({...A,priority:_.KeybindingWeight.WorkbenchContrib*100})}}if(!y){const b=this.keybindings.find(S=>S.id===d.command&&this.getRaw(S.when)===d.when);if(b&&b.keybinding){this.unregisterDefaultKeybinding({when:this.getRaw(b.when),command:b.id,keybinding:this.getRaw(b.keybinding)});const S=this.toUniqueKey(h),D=this.toRestoreDefaultKeybindingMap.get(S);if(D){const I=this.toUniqueKey(d);this.toRestoreDefaultKeybindingMap.delete(S),this.toRestoreDefaultKeybindingMap.set(I,D)}}const A={when:this.getWhen(d),command:d.command,key:d.keybinding};c.push(A),this.registerUserKeybinding(d)}return this.saveKeybinding(c).then(()=>{E(void 0),u.report({message:(0,_.localize)("keymaps.keybinding.success"),increment:99})}).catch(b=>{f(b),u.report({message:(0,_.localize)("keymaps.keybinding.fail"),increment:99})}).finally(()=>{setTimeout(()=>{u.report({increment:100})},3e3)})}),()=>{}),this.covert=h=>this.keybindingService.convert(h," "),this.clearCovert=()=>this.keybindingService.clearConvert(),this.resetKeybinding=async h=>{if(!this.resource)return;const u=this.storeKeybindings.filter(E=>E.command!==h.command);return this.unregisterUserKeybinding(h),this.restoreDefaultKeybinding(h),this.saveKeybinding(u)},this.fixed=async()=>{this.commandService.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,new _.URI().withScheme(p.KEYMAPS_SCHEME),{preview:!1})},this.searchKeybindings=h=>{this.currentSearchValue=h,this.searchDelayer.isTriggered()||this.searchDelayer.cancel(),this.searchDelayer.trigger(async()=>{this.doSearchKeybindings(this.currentSearchValue)})},this.isSearching=!1,this.doSearchKeybindings=h=>{h?this.isSearching=!0:this.isSearching=!1;const d=this.getKeybindingItems(),u=[];d.forEach(E=>{const f=["id","command","keybinding","when","context","source"];let c=!1;for(const y of f){const b=E[y];if(b){const A=o.match(h,b,this.fuzzyOptions);if(A)E[y]=A.rendered,c=!0;else if(y==="keybinding"){const S=h.split("+"),D=b.split(" "),I=[0];let w=[];D.length>1?D.forEach(M=>{const O=M.split("+");I.push(O.length+I[-1]),w.push(...O)}):w=b.split("+"),I.shift();const T=[...w];let R=0;if(S.forEach(M=>{let O={rendered:"",score:0},x=-1;if(b){w.forEach(F=>{const L=o.match(M,F,this.fuzzyOptions);L&&L.score>O.score&&(O=L,x=T.indexOf(F))});const k=O.rendered;k&&(x>-1&&(T[x]=k),w.splice(x,1,""),R+=1)}}),R===S.length){if(I.length>0){const M="";T.forEach((O,x)=>{x===0?M.concat(O):I.indexOf(x)!==-1?M.concat(" "+O):M.concat("+"+O)}),E[y]=M}E[y]=T.join("+"),c=!0}}}}c&&u.push(E)}),this.keybindings=u,this.keymapChangeEmitter.fire(this.keybindings)},this.validateKeybinding=(h,d)=>{if(!d)return(0,_.localize)("keymaps.keybinding.require");try{const u={command:this.isSearching?this.getRaw(h.command):h.command,when:this.isSearching?this.getRaw(h.when):h.when,keybinding:this.isSearching?this.getRaw(d):d};return h.keybinding===d?" ":this.keybindingRegistry.validateKeybindingInScope(u)}catch(u){return u}},this.detectKeybindings=(h,d)=>{if(!d)return[];try{if(h.keybinding===d)return[];const u=this.keybindings.filter(E=>this.getRaw(E.keybinding)===d);if(u.length>0)return u.map(E=>{const f=this.commandRegistry.getCommand(this.getRaw(E.command)),c=this.storeKeybindings.find(y=>f&&y.command===f.id);return E.when=this.getRaw(E.when),E.keybinding=this.getRaw(E.keybinding),{id:f?f.id:this.getRaw(E.command),command:(f?f.label||f.id:E.command)||"",when:this.keybindingService.convertMonacoWhen(E.when),keybinding:this.getRaw(E.keybinding),source:c?this.getScope(_.KeybindingScope.USER):this.getScope(_.KeybindingScope.DEFAULT)}})}catch(u){this.logger.error(u)}return[]}}get onDidKeymapChanges(){return this.keymapChangeEmitter.event}get storeKeybindings(){return this._storeKeybindings&&this._storeKeybindings.map(h=>({...h,command:this.getValidateCommand(h.command),key:h.key||h.keybinding}))}set storeKeybindings(h){this._storeKeybindings=h}get whenReady(){return this._whenReadyDeferred.promise}async init(){await this.reconcile();const h=await this.filesystem.watchFileChanges(n.KEYMAP_FILE_URI);this.disposableCollection.push(h),h.onFilesChanged(()=>{this.reconcileQueue.queue(this.reconcile.bind(this))}),this._whenReadyDeferred.resolve()}async openResource(){if(!this.resource||!this.resource.uri)return;const h=await this.resource.uri;if(!h)return;if(!await this.filesystem.access(h)){const u=await this.filesystem.createFile(h),E=await this.filesystem.setContent(u,`{
33523
33523
  }`);this.resource=E||void 0}h&&this.commandService.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,new _.URI(h),{preview:!1})}disposeRegistedKeybinding(){for(const[,h]of this.toUnregisterUserKeybindingMap)h.dispose();for(const[,h]of this.toRestoreDefaultKeybindingMap)h.dispose()}dispose(){this.disposeRegistedKeybinding(),this.disposableCollection.dispose()}getValidateCommand(h){return h.replace(/^monaco.editor/,"editor")}async reconcile(h){const d=n.KEYMAP_FILE_URI.toString();this.resource=await this.filesystem.getFileStat(d),this.resource||(this.resource=await this.filesystem.createFile(d,{content:JSON.stringify([])}));const E=(h?h.slice(0):await this.parseKeybindings()).map(y=>({when:y.when,command:this.getValidateCommand(y.command),keybinding:y.key||y.keybinding})),f=[],c=[];this.disposeRegistedKeybinding(),E.forEach(y=>{y.command.startsWith("-")?c.push(y):f.push(y)}),f.map(y=>{this.unregisterDefaultKeybinding(y,!0),this.registerUserKeybinding(y)}),c.map(y=>{y.command=y.command.slice(1),this.unregisterDefaultKeybinding(y,!0)})}unregisterUserKeybinding(h){const d=this.toUniqueKey(h);if(this.toUnregisterUserKeybindingMap.has(d)){const u=this.toUnregisterUserKeybindingMap.get(d);u?.dispose(),this.toUnregisterUserKeybindingMap.delete(d)}}registerUserKeybinding(h){const d=this.toUniqueKey(h);this.toUnregisterUserKeybindingMap.set(d,this.keybindingRegistry.registerKeybinding(h,_.KeybindingScope.USER))}unregisterDefaultKeybinding(h,d=!1){if(d)this.keybindingRegistry.getKeybindingsForCommand(h.command).map(E=>{const f={...h,keybinding:E.keybinding};this.keybindingRegistry.unregisterKeybinding(f);const c=this.toUniqueKey(h);this.toRestoreDefaultKeybindingMap.set(c,_.Disposable.create(()=>{this.keybindingRegistry.registerKeybinding(f)}))});else{this.keybindingRegistry.unregisterKeybinding(h);const u=this.toUniqueKey(h);this.toRestoreDefaultKeybindingMap.set(u,_.Disposable.create(()=>{this.keybindingRegistry.registerKeybinding(h)}))}}restoreDefaultKeybinding(h){const d=this.toUniqueKey(h),u=this.toRestoreDefaultKeybindingMap.get(d);u&&(u?.dispose(),this.toRestoreDefaultKeybindingMap.delete(d))}toUniqueKey(h){return`${h.command}${h.when?`-${h.when}`:"-"}${h.keybinding?`-${h.keybinding}`:"-"}`}async parseKeybindings(){try{const h=await this.resource;if(!h)return[];const{content:d}=await this.filesystem.readFile(h.uri);this.storeKeybindings=this.parser.parse(d.toString())}catch(h){this.logger.warn(`ParseKeybindings fail: ${h.stack}`),this.storeKeybindings=[]}return this.storeKeybindings}async saveKeybinding(h){this.storeKeybindings=h,this.updateKeybindings(),this.resource||(this.resource=await this.filesystem.createFile(n.KEYMAP_FILE_URI.toString()));const d=await this.filesystem.setContent(this.resource,JSON.stringify(h,void 0,2));this.resource=d||void 0}async getKeybindings(){return this.storeKeybindings.map(h=>({command:h.command,keybinding:h.key,when:h.when,args:h.args}))}async open(){this.commandService.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,new _.URI().withScheme(p.KEYMAPS_SCHEME),{preview:!0})}getWhen(h){return h?this.keybindingService.convertMonacoWhen(h.when):""}getScope(h){return h===_.KeybindingScope.DEFAULT?(0,_.localize)("keymaps.source.default"):h===_.KeybindingScope.USER?(0,_.localize)("keymaps.source.user"):h===_.KeybindingScope.WORKSPACE?(0,_.localize)("keymaps.source.workspace"):""}getKeybindingItems(){const h=this.commandRegistry.getCommands(),d=[];for(const b of h){const A=this.keybindingRegistry.getKeybindingsForCommand(b.id);!A||!A.length?b.label&&d.push({id:b.id,command:b.label,hasCommandLabel:!0}):A.forEach(S=>{let D;if(this.storeKeybindings){const I=this.storeKeybindings.find(w=>b&&w.command===b.id);D={id:b.id,command:b.label||b.id,keybinding:I?I.key:S?this.keybindingRegistry.acceleratorFor(S,"+").join(" "):"",when:I?this.getWhen(I):this.getWhen(A&&S),source:I?this.getScope(_.KeybindingScope.USER):this.getScope(_.KeybindingScope.DEFAULT),hasCommandLabel:!!b.label}}else D={id:b.id,command:b.label||b.id,keybinding:A&&S?this.keybindingRegistry.acceleratorFor(S,"+").join(" "):"",when:this.getWhen(A&&S),source:A&&S&&typeof S.scope<"u"?this.getScope(S.scope):"",hasCommandLabel:!!b.label};d.push(D)})}const u=d.sort((b,A)=>this.compareItem(b,A)),E=u.filter(b=>!!b.keybinding),f=u.filter(b=>!b.keybinding&&b.hasCommandLabel),c=E.filter(b=>b.hasCommandLabel),y=E.filter(b=>!b.hasCommandLabel);return[...c,...y,...f]}compareItem(h,d){return h&&d?h.source===d.source?h.command.toLowerCase().localeCompare(d.command.toLowerCase()):h.source===this.getScope(_.KeybindingScope.USER)?-1:1:0}getRaw(h){return h?h.replace(new RegExp(/<(\/)?match>/gi),""):""}};t.KeymapService=g,g.DEFAULT_SEARCH_DELAY=100,g.KEYMAP_FILE_URI=new _.URI().withScheme(_.Schemes.userStorage).withPath(p.KEYMAPS_FILE_NAME),r.__decorate([(0,l.Autowired)(_.KeybindingRegistry),r.__metadata("design:type",Object)],g.prototype,"keyBindingRegistry",void 0),r.__decorate([(0,l.Autowired)(s.KeymapsParser),r.__metadata("design:type",s.KeymapsParser)],g.prototype,"parser",void 0),r.__decorate([(0,l.Autowired)(_.CommandService),r.__metadata("design:type",Object)],g.prototype,"commandService",void 0),r.__decorate([(0,l.Autowired)(_.CommandRegistry),r.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),r.__decorate([(0,l.Autowired)(_.KeybindingRegistry),r.__metadata("design:type",Object)],g.prototype,"keybindingRegistry",void 0),r.__decorate([(0,l.Autowired)(_.KeybindingService),r.__metadata("design:type",Object)],g.prototype,"keybindingService",void 0),r.__decorate([(0,l.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],g.prototype,"filesystem",void 0),r.__decorate([(0,l.Autowired)(_.ILogger),r.__metadata("design:type",Object)],g.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(v.IProgressService),r.__metadata("design:type",Object)],g.prototype,"progressService",void 0),t.KeymapService=g=n=r.__decorate([(0,l.Injectable)()],g)},34879:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeymapsView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(25067),m=n.__importDefault(e(78541)),p=()=>{const{keybindings:s,searchKeybindings:g,validateKeybinding:a,detectKeybindings:h,setKeybinding:d,resetKeybinding:u,getRaw:E,getScope:f,covert:c,clearCovert:y,fixed:b,onDidKeymapChanges:A,updateKeybindings:S}=(0,_.useInjectable)(v.IKeymapService),[D,I]=o.default.useState(!1),[w,T]=o.default.useState(""),[R,M]=o.default.useState(s),O=({data:Q,index:$})=>{const{id:Z,command:G,when:V,source:H,keybinding:K}=Q,[Y,X]=o.default.useState(!1),[re,oe]=o.default.useState(K||""),[he,me]=o.default.useState(!1),[q,Ae]=o.default.useState(),[ge,te]=o.default.useState([]),fe=()=>{he||(b(),me(!0)),y(),oe(E(K)),X(!0)},Oe=We=>{const pe=a(Q,We);pe?pe!==" "?Ae({message:pe,type:l.VALIDATE_TYPE.ERROR}):X(!1):(d({command:E(Z),when:E(V)||"",keybinding:E(K)},{command:E(Z),when:E(V)||"",keybinding:We}),X(!1),y())},Me=()=>{X(!1)},Pe=We=>{We.stopPropagation(),We.preventDefault();const{key:pe}=_.KeyCode.createKeyCode(We.nativeEvent),ie=We.nativeEvent.shiftKey||We.nativeEvent.metaKey||We.nativeEvent.altKey||We.nativeEvent.ctrlKey;pe&&_.Key.ENTER.keyCode===pe.keyCode&&!ie?re&&Oe(re):oe(c(We.nativeEvent))},Be=()=>{const We=()=>{Ae(void 0),re&&oe(""),y()},pe=ie=>{ie.stopPropagation(),ie.preventDefault()};return o.default.createElement("div",{className:m.default.keybinding_optional_actions,onMouseDown:pe},o.default.createElement("span",{className:(0,r.default)((0,_.getIcon)("close-circle-fill"),m.default.keybinding_optional_action),onClick:We,title:(0,_.localize)("keymaps.action.clear")}))},De=()=>o.default.createElement("div",{className:m.default.keybinding_key_input_placeholder},"\u23CE"),_e=We=>{const pe=ie=>{ie.preventDefault(),he||(b(),me(!0)),u({command:E(Z),when:E(V)||"",keybinding:re})};if(We&&E(We)===f(_.KeybindingScope.USER))return o.default.createElement("span",{className:(0,r.default)((0,_.getIcon)("rollback"),m.default.keybinding_inline_action),onClick:pe,title:(0,_.localize)("keymaps.action.reset")})},Ne=()=>{if(!q&&ge.length>0)return o.default.createElement("div",{className:m.default.keybinding_detective_messages},o.default.createElement("div",{className:m.default.keybinding_detective_messages_label},(0,_.formatLocalize)("keymaps.keybinding.duplicate",ge.length)),o.default.createElement("ul",{className:m.default.keybinding_detective_messages_container},ge.map((We,pe)=>o.default.createElement("li",{className:m.default.keybinding_detective_messages_item,key:`${We.id}_${pe}`,title:`${We.command}-${We.when}`},o.default.createElement("div",{className:m.default.title},(0,_.localize)("keymaps.header.command.title"),": ",E(We.command)||"-"),o.default.createElement("div",{className:m.default.description},o.default.createElement("div",{style:{marginRight:4}},(0,_.localize)("keymaps.header.source.title"),": ",E(We.source)||"-"),o.default.createElement("div",null,(0,_.localize)("keymaps.header.when.title"),": ",E(We.when)||"\u2014"))))))},Te=()=>{if(Y)return o.default.createElement("div",{className:m.default.keybinding_key_input_container},Be(),o.default.createElement(l.ValidateInput,{placeholder:(0,_.localize)("keymaps.edit.placeholder"),validateMessage:q,className:m.default.keybinding_key_input,size:"small",autoFocus:!0,name:_.NO_KEYBINDING_NAME,value:re,onKeyDown:Pe,onBlur:Me}),De(),Ne());{const We=K?.split(" ");return o.default.createElement("div",{className:m.default.keybinding_key,title:E(K),onDoubleClick:fe},o.default.createElement("div",{className:m.default.keybinding_action,onClick:fe},o.default.createElement("span",{className:(0,r.default)(K?(0,_.getIcon)("edit"):(0,_.getIcon)("plus"),m.default.keybinding_inline_action),title:K?(0,_.localize)("keymaps.action.edit"):(0,_.localize)("keymaps.action.add")}),_e(H)),We&&We[0]?We.map((pe,ie)=>{const le=pe.split("+");return o.default.createElement("div",{className:m.default.keybinding_key_block,key:`${pe}_${ie}`},le.map((Se,ye)=>o.default.createElement("div",{className:m.default.keybinding_key_item,key:`${Se}_${ye}`,dangerouslySetInnerHTML:{__html:Se||""}})))}):"\u2014")}};return(0,o.useEffect)(()=>{q&&Ae(void 0),te(re&&Y?h(Q,re):[])},[re]),o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item,$%2===1&&m.default.odd)},o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item_box,m.default.keybinding_command)},o.default.createElement("div",{className:m.default.command_name,title:E(G),dangerouslySetInnerHTML:{__html:G}}),o.default.createElement("div",{className:(0,r.default)(m.default.limit_warp,m.default.command_id),title:E(Z),dangerouslySetInnerHTML:{__html:(0,_.formatLocalize)("keymaps.commandId.title",Z)}})),o.default.createElement("div",{className:(0,r.default)(m.default.keybinding_list_item_box)},Te()),o.default.createElement("div",{className:m.default.keybinding_list_item_box},o.default.createElement("div",{className:m.default.limit_warp,title:E(V||"\u2014"),dangerouslySetInnerHTML:{__html:V||"\u2014"}})),o.default.createElement("div",{className:m.default.keybinding_list_item_box},o.default.createElement("div",{title:E(H),dangerouslySetInnerHTML:{__html:H||""}})))},x=()=>{const Q=()=>{I(!D)};return o.default.createElement("div",{className:m.default.search_inline_action},o.default.createElement("span",{className:(0,r.default)((0,_.getIcon)("keyboard"),m.default.search_inline_action_icon,D&&m.default.active),onClick:Q}))},k=(0,o.useCallback)(Q=>{T(Q),g(Q)},[w]),F=Q=>{if(!D){const $=Q.target&&Q.target.value?Q.target.value.toLocaleLowerCase():"";k($)}},L=Q=>{if(D){Q.stopPropagation(),Q.preventDefault();const{key:$}=_.KeyCode.createKeyCode(Q.nativeEvent);if($&&_.Key.ENTER.keyCode===$.keyCode)return;k(c(Q.nativeEvent))}},N=()=>{w&&(T(""),g("")),y()},U=()=>o.default.createElement("div",{className:m.default.keybinding_optional_actions},o.default.createElement("span",{className:(0,r.default)((0,_.getIcon)("close-circle-fill"),m.default.keybinding_optional_action),onClick:N,title:(0,_.localize)("keymaps.action.reset")})),W=()=>o.default.createElement("div",{className:m.default.search_container},o.default.createElement(l.Input,{className:m.default.search_input,placeholder:(0,_.localize)(D?"keymaps.search.keyboard.placeholder":"keymaps.search.placeholder"),type:"text",value:w,name:_.NO_KEYBINDING_NAME,onChange:F,onKeyDown:L,addonBefore:x()}),U()),j=(0,o.useMemo)(()=>{const Q=[{title:(0,_.localize)("keymaps.header.command.title"),classname:m.default.keybinding_header_item},{title:(0,_.localize)("keymaps.header.keybinding.title"),classname:m.default.keybinding_header_item},{title:(0,_.localize)("keymaps.header.when.title"),classname:m.default.keybinding_header_item},{title:(0,_.localize)("keymaps.header.source.title"),classname:m.default.keybinding_header_item}];return o.default.createElement("div",{className:m.default.keybinding_header},Q.map(($,Z)=>o.default.createElement("div",{className:$.classname,key:`${$.title}_${Z}`},$.title)))},[]);return(0,o.useEffect)(()=>{const Q=A($=>{M($)});return S(),()=>{Q.dispose()}},[]),o.default.createElement("div",{className:m.default.keybinding_container},o.default.createElement("div",{className:m.default.keybinding_searchbar},W()),o.default.createElement("div",{className:m.default.keybinding_body},j,o.default.createElement("div",{className:m.default.keybinding_list},o.default.createElement(l.RecycleList,{itemHeight:40,data:R,template:O,className:m.default.keybinding_list_container}))))};t.KeymapsView=p},79312:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KEYMAPS_FILE_NAME=t.KEYMAPS_SCHEME=void 0,t.KEYMAPS_SCHEME="keymaps",t.KEYMAPS_FILE_NAME="keymaps.json"},25067:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(79312),t),n.__exportStar(e(88811),t)},88811:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IKeymapService=void 0,t.IKeymapService=Symbol("IKeymapService")},83507:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogModule=t.LogServiceClient=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(47548),_=e(49187);n.__exportStar(e(47548),t);var v=e(1700);Object.defineProperty(t,"LogServiceClient",{enumerable:!0,get:function(){return v.LogServiceClient}});let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.ILoggerManagerClient,useClass:_.LoggerManagerClient}],this.backServices=[{servicePath:l.LogServiceForClientPath,clientToken:l.ILoggerManagerClient}]}};t.LogModule=m,t.LogModule=m=n.__decorate([(0,r.Injectable)()],m)},49187:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerManagerClient=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(47548),_=e(1700);let v=class{constructor(){this.logLevelChangeEmitter=new o.Emitter}getLogger(p,s){const g=new _.LogServiceClient(p);return g.setup(this.logServiceForClient,s),g}getBrowserLogger(p){return new _.LogServiceClient(p)}async getLogFolder(){return await this.logServiceForClient.getLogFolder()}async setGlobalLogLevel(p){return await this.logServiceForClient.setGlobalLogLevel(p)}async getGlobalLogLevel(){return await this.logServiceForClient.getGlobalLogLevel()}async dispose(){return this.logLevelChangeEmitter.dispose(),await this.logServiceForClient.disposeAll()}get onDidChangeLogLevel(){return this.logLevelChangeEmitter.event}onDidLogLevelChanged(p){this.logLevelChangeEmitter.fire(p)}};t.LoggerManagerClient=v,n.__decorate([(0,r.Autowired)(l.LogServiceForClientPath),n.__metadata("design:type",Object)],v.prototype,"logServiceForClient",void 0),t.LoggerManagerClient=v=n.__decorate([(0,r.Injectable)()],v)},1700:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogServiceClient=void 0;const n=e(43718),r=e(47548);class o{constructor(_){this.level=r.LogLevel.Verbose,this.ready=new n.Deferred,this.namespace=_,this.debugLog=new r.DebugLog(_)}async setup(_,v){this.logServiceForClient=_,this.pid=v;const m=await this.logServiceForClient.getGlobalLogLevel();this.level=m,this.ready.resolve()}async getLevel(){return this.logServiceForClient?await this.logServiceForClient.getLevel(this.namespace):this.level}async setLevel(_){this.level=_,this.logServiceForClient&&await this.logServiceForClient.setLevel(this.namespace,_)}async verbose(..._){this.debugLog.verbose(..._),this.logServiceForClient&&await this.logServiceForClient.verbose(this.namespace,(0,r.format)(_),this.pid)}async debug(..._){this.debugLog.debug(..._),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Debug)&&await this.logServiceForClient.debug(this.namespace,(0,r.format)(_),this.pid))}async log(..._){this.debugLog.log(..._),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Info)&&await this.logServiceForClient.log(this.namespace,(0,r.format)(_),this.pid))}async warn(..._){this.debugLog.warn(..._),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Warning)&&await this.logServiceForClient.warn(this.namespace,(0,r.format)(_),this.pid))}async error(..._){this.debugLog.error(..._),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Error)&&await this.logServiceForClient.error(this.namespace,(0,r.format)(_),this.pid))}async critical(..._){this.debugLog.error(..._),this.logServiceForClient&&(await this.ready.promise,!(this.level>r.LogLevel.Critical)&&await this.logServiceForClient.critical(this.namespace,(0,r.format)(_),this.pid))}async dispose(){this.debugLog.destroy(),this.logServiceForClient&&await this.logServiceForClient.disposeLogger(this.namespace)}}t.LogServiceClient=o},47548:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(4892),t),n.__exportStar(e(46196),t)},46196:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ILogServiceForClient=void 0,t.format=e,t.ILogServiceForClient=Symbol("LogServiceForClient");function e(n){let r="";for(let o=0;o<n.length;o++){let l=n[o];if(l instanceof Error){const _=Array.prototype.slice.call(arguments);_[0]=l.stack,l=e(_)}else if(typeof l=="object")try{l=JSON.stringify(l)}catch{}else if(typeof l=="symbol")try{l=l.toString()}catch{}r+=(o>0?" ":"")+l}return r}},73344:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(47548),t)},9522:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccordionServiceFactory=t.AccordionService=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importDefault(e(46343)),l=e(76003),_=e(41869),v=e(81878),m=e(71707),p=e(95416),s=e(93899),g=e(68969),a=e(28423),h=e(17793);let d=class extends _.WithEventBus{get views(){return this.viewsObservable.get()}get state(){return this.stateObservable.get()}set alignment(E){this._alignment!==E&&(this._alignment=E,this.doUpdateResize())}constructor(E,f){super(),this.containerId=E,this.noRestore=f,this.forceRevealContextKeys=new Map,this.viewWhenContextkeys=new Set,this.appendedViewSet=new Set,this.viewsWithContextKey=new Set,this.viewsObservable=(0,a.observableValue)(this,[]),this.stateObservable=(0,a.observableValue)(this,{}),this.visibleViews=(0,a.derived)(this,c=>{const y=this.viewsObservable.read(c);return this.stateObservable.read(c),y.filter(b=>!this.getViewState(b.id).hidden)}),this.rendered=!1,this.menuId=`${s.MenuId.AccordionContext}/${this.containerId}`,this.toDispose=new Map,this.didChangeViewTitleEmitter=this.registerDispose(new _.Emitter),this.onDidChangeViewTitle=this.didChangeViewTitleEmitter.event,this.beforeAppendViewEmitter=this.registerDispose(new _.Emitter),this.onBeforeAppendViewEvent=this.beforeAppendViewEmitter.event,this.afterAppendViewEmitter=this.registerDispose(new _.Emitter),this.onAfterAppendViewEvent=this.afterAppendViewEmitter.event,this.afterDisposeViewEmitter=this.registerDispose(new _.Emitter),this.onAfterDisposeViewEvent=this.afterDisposeViewEmitter.event,this._alignment="vertical",this.doUpdateResize=(0,r.default)(()=>{var c,y;let b;if(Object.keys(this.state).forEach(A=>{this.state[A].hidden||this.state[A].collapsed||(b?(this.state[A].size||0)>(this.state[b].size||0)&&(b=A):b=A)}),b&&this.splitPanelService.isVisible&&this.expandedViews.length>1&&!((c=this.splitPanelService.rootNode)===null||c===void 0)&&c.clientHeight){const A=((y=this.splitPanelService.rootNode)===null||y===void 0?void 0:y.clientHeight)-this.getPanelFullHeight();if(A){const S=this.state;S[b].size+=A,(0,a.transaction)(D=>{this.stateObservable.set({...S},D)}),this.toggleOpen(b,!1)}}},16),this.storeState=()=>{this.noRestore||!this.rendered||this.layoutState.setState(p.LAYOUT_STATE.getContainerSpace(this.containerId),this.state)},this.handleSectionClick=(c,y,b)=>{this.doToggleOpen(c,y,b)},this.handleContextMenu=(c,y)=>{c.preventDefault();const b=this.ctxMenuService.createMenu({id:this.menuId,config:{args:[{viewId:y}]},contextKeyService:y?this.viewContextKeyRegistry.getContextKeyService(y):void 0}),A=b.getGroupedMenuNodes();b.dispose(),this.contextMenuRenderer.show({menuNodes:A[1],anchor:{x:c.clientX,y:c.clientY}})},this.addDispose((0,a.recomputeInitiallyAndOnChange)(this.visibleViews)),this.splitPanelService=this.splitPanelManager.getService(E),this.addDispose(this.splitPanelService),this.scopedCtxKeyService=this.contextKeyService.createScoped(),this.scopedCtxKeyService.createKey("triggerWithSection",!0),this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerGlobalToggleCommand(),label:(0,_.localize)("layout.view.hide","Hide")},group:"0_global",when:"triggerWithSection == true"}),this.viewContextKeyRegistry.afterContextKeyServiceRegistered(this.containerId,c=>{this.topViewKey=c.createKey("view",E),setTimeout(()=>{this.popViewKeyIfOnlyOneViewVisible()})}),this.addDispose(_.Event.debounce(this.contextKeyService.onDidChangeContext,(c,y)=>c||y.payload.affectsSome(this.viewWhenContextkeys),50)(c=>c&&this.handleContextKeyChange(),this)),this.splitPanelService.whenReady.then(()=>{this.listenWindowResize()})}updateViewTitle(E,f){const c=this.views.find(y=>y.id===E);c?(c.name=f,this.didChangeViewTitleEmitter.fire({id:E,title:f})):this.logger.error(`No target view \`${E}\` found, unable to update accordion title`)}updateViewDesciption(E,f){const c=this.views.find(y=>y.id===E);c?(c.description=f,this.didChangeViewTitleEmitter.fire({id:E,description:f})):this.logger.error(`No target view \`${E}\` found, unable to update accordion description`)}updateViewMessage(E,f){const c=this.views.find(y=>y.id===E);c?(c.message=f,this.didChangeViewTitleEmitter.fire({id:E,message:f})):this.logger.error(`No target view \`${E}\` found, unable to update accordion message`)}updateViewBadge(E,f){const c=this.views.find(y=>y.id===E);c?(c.badge=f,this.didChangeViewTitleEmitter.fire({id:E,badge:f})):this.logger.error(`No target view \`${E}\` found, unable to update accordion message`)}tryUpdateResize(){this.doUpdateResize()}restoreState(){if(this.noRestore)return;const E={};this.visibleViews.get().forEach(c=>E[c.id]={collapsed:!1,hidden:!1});const f=this.layoutState.getState(p.LAYOUT_STATE.getContainerSpace(this.containerId),E);(0,o.default)(f,E)||(0,a.transaction)(c=>{this.stateObservable.set({...f},c)}),this.popViewKeyIfOnlyOneViewVisible(),this.splitPanelService.whenReady.then(()=>{this.restoreSize(),this.rendered=!0})}restoreSize(){var E;let f=((E=this.splitPanelService.rootNode)===null||E===void 0?void 0:E.clientHeight)||0,c;if(this.visibleViews.get().forEach((y,b)=>{const A=this.state[y.id];A.collapsed?(this.setSize(b,0,!1,!0),f-=this.headerSize):!A.collapsed&&A.size&&(this.setSize(b,A.size,!1,!0),f-=A.size,c=b)}),c){const y=this.visibleViews.get()[c];this.setSize(c,this.state[y.id].size+f)}}initConfig(E){const{headerSize:f,minSize:c}=E;this.headerSize=f,this.minSize=c}registerContextService(E){let f=this.viewContextKeyRegistry.getContextKeyService(E);return f||(f=this.contextKeyService.createScoped(),f.createKey("view",E),this.viewContextKeyRegistry.registerContextKeyService(E,f)),f}getSectionToolbarMenu(E){const f=this.registerContextService(E),c=this.menuService.createMenu(s.MenuId.ViewTitle,f),y=this.views.find(b=>b.id===E);return y&&(y.titleMenu=c),c}updateView(E){(0,a.transaction)(f=>{const c=this.views;if(E.priority){const y=c.findIndex(b=>(b.priority||0)<(E.priority||0));c.splice(y===-1?c.length:y,0,E),this.viewsObservable.set([...c],f)}else this.viewsObservable.set([...c,E],f)})}appendView(E,f){if(this.appendedViewSet.has(E.id)&&!f)return;const c=new _.DisposableCollection;c.push(this.progressService.registerProgressIndicator(E.id));const y=this.views.findIndex(b=>b.id===E.id);if(y!==-1){(0,a.transaction)(b=>{const A=this.views;A[y]=Object.assign({},A[y],E),this.viewsObservable.set([...A],b)});return}if(E.when){this.viewsWithContextKey.add(E);const b=this.createRevealContextKey(E.id);if(this.fillKeysInWhenExpr(this.viewWhenContextkeys,E.when),!this.contextKeyService.match(E.when)&&!this.contextKeyService.match(b))return;this.appendedViewSet.add(E.id)}this.beforeAppendViewEmitter.fire(E.id),this.updateView(E),this.registerContextService(E.id),c.push(this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerVisibleToggleCommand(E.id,c),label:(E.name||E.id).toUpperCase()},group:"1_widgets"})),this.toDispose.set(E.id,c),this.popViewKeyIfOnlyOneViewVisible(),this.afterAppendViewEmitter.fire(E.id)}disposeView(E){const f=this.views.findIndex(y=>y.id===E);f>-1&&(0,a.transaction)(y=>{const b=this.views;b.splice(f,1),this.viewsObservable.set([...b],y)});const c=this.toDispose.get(E);c&&c.dispose(),this.appendedViewSet.delete(E),this.popViewKeyIfOnlyOneViewVisible(),this.afterDisposeViewEmitter.fire(E)}revealView(E){const f=this.forceRevealContextKeys.get(E);f&&f.key.set(!0)}disposeAll(){(0,a.transaction)(E=>{this.viewsObservable.set([],E)}),this.toDispose.forEach(E=>{E.dispose()})}onResize(E){if(E.payload.slotLocation&&this.state[E.payload.slotLocation]){const f=E.payload.slotLocation;_.fastdom.measureAtNextFrame(()=>{const c=document.getElementById(f);if(c){const y=this.state;y[f].size=c.clientHeight,(0,a.transaction)(b=>{this.stateObservable.set({...y},b)}),this.storeState()}})}}getPanelFullHeight(E){return Object.keys(this.state).filter(f=>this.views.find(c=>c.id===f)&&f!==E).reduce((f,c)=>f+(this.state[c].collapsed?this.headerSize:this.state[c].hidden?0:this.state[c].size),0)}listenWindowResize(){window.addEventListener("resize",this.doUpdateResize),this.addDispose({dispose:()=>window.removeEventListener("resize",this.doUpdateResize)})}createRevealContextKey(E){const f=`forceShow.${E}`;return this.forceRevealContextKeys.set(E,{when:`${f} == true`,key:this.contextKeyService.createKey(f,!1)}),this.viewWhenContextkeys.add(f),`${f} == true`}registerGlobalToggleCommand(){const E=`view-container.hide.${this.containerId}`;return this.commandRegistry.registerCommand({id:E},{execute:({viewId:f})=>{this.doToggleView(f)},isEnabled:()=>this.visibleViews.get().length>1}),E}registerVisibleToggleCommand(E,f){const c=`view-container.hide.${E}`;return f.push(this.commandRegistry.registerCommand({id:c},{execute:({forceShow:y}={})=>{this.doToggleView(E,y)},isToggled:()=>!this.getViewState(E).hidden,isEnabled:()=>this.getViewState(E).hidden||this.visibleViews.get().length>1})),c}doToggleView(E,f){const c=this.getViewState(E);let y;f===void 0?y=!c.hidden:y=!f,c.hidden=y,this.updateViewState(E,c),this.popViewKeyIfOnlyOneViewVisible(),this.storeState()}popViewKeyIfOnlyOneViewVisible(){if(!this.topViewKey)return;const E=this.visibleViews.get();E.length===1?this.topViewKey.set(E[0].id):this.topViewKey.reset()}toggleViewVisibility(E,f){this.doToggleView(E,f)}get expandedViews(){return this.views.filter(E=>{const f=this.state[E.id];return!f||f&&!f.hidden&&!f.collapsed})}toggleOpen(E,f){const c=this.visibleViews.get().findIndex(y=>y.id===E);c>-1&&this.doToggleOpen(E,f,c,!0)}getViewState(E){let f=this.state[E];const c=this.views.find(y=>y.id===E);return f||(this.updateViewState(E,{collapsed:c?.collapsed||!1,hidden:c?.hidden||!1}),f=this.state[E]),f}updateViewState(E,f){const c=this.state;c[E]=f,(0,a.transaction)(y=>{this.stateObservable.set({...c},y)})}doToggleOpen(E,f,c,y){const b=this.getViewState(E);this.updateViewState(E,{...b,collapsed:f});const A=this._alignment==="horizontal";let S;if(f)S=this.setSizeByAlignment(c,0,!1,y,A);else{const D=this.expandedViews.length===1?this.getAvailableSizeByAlignment(A):b.size||this.minSize;S=this.setSizeByAlignment(c,D,!1,y,A)}this.adjustAdjacentViews(c,S,y,A),this.eventBus.fire(new h.ViewCollapseChangedEvent({viewId:E,collapsed:f}))}setSizeByAlignment(E,f,c,y,b){return b?this.setSizeHorizontal(E,f,c,y):this.setSize(E,f,c,y)}getAvailableSizeByAlignment(E){return E?this.getAvailableSizeHorizontal():this.getAvailableSize()}adjustAdjacentViews(E,f,c,y){const b=this.visibleViews.get();for(let A=b.length-1;A>E;A--)this.getViewState(b[A].id).collapsed!==!0?f=this.setSizeByAlignment(A,f,!0,c,y):this.setSizeByAlignment(A,0,!1,c,y);for(let A=E-1;A>=0;A--)(this.state[b[A].id]||{}).collapsed!==!0?f=this.setSizeByAlignment(A,f,!0,c,y):this.setSizeByAlignment(A,0,!1,c,y)}setSize(E,f,c,y){var b;const A=this.visibleViews.get()[E],S=(b=this.splitPanelService.rootNode)===null||b===void 0?void 0:b.clientHeight,D=this.splitPanelService.panels[E];if(!D)return 0;y||D.classList.add("resize-ease"),!f&&!c?(f=this.headerSize,D.classList.add(v.RESIZE_LOCK)):D.classList.remove(v.RESIZE_LOCK);const I=D.clientHeight,w=this.getViewState(A.id);let T=f;if(c&&(T=Math.max(I-f,this.minSize)),E===this.expandedViews.length-1&&(0,_.isDefined)(S))if(T+E*this.minSize>S)T-=T+E*this.minSize-S;else{const R=this.getPanelFullHeight(A.id);T+R<S&&(T+=S-(T+R))}if(this.rendered){let R;f===this.headerSize?R=I:R=T,R!==this.headerSize&&(w.size=R)}return this.storeState(),w.nextSize=T,y||setTimeout(()=>{D.classList.remove("resize-ease")},200),c?T-(I-f):f-I}getAvailableSize(){var E;const f=(E=this.splitPanelService.rootNode)===null||E===void 0?void 0:E.clientHeight;return f?f-(this.visibleViews.get().length-1)*this.headerSize:0}setSizeHorizontal(E,f,c,y){var b;const A=this.visibleViews.get()[E],S=(b=this.splitPanelService.rootNode)===null||b===void 0?void 0:b.clientWidth,D=this.splitPanelService.panels[E];if(!D)return 0;y||D.classList.add("resize-ease-horizontal"),!f&&!c?(f=this.headerSize,D.classList.add(v.RESIZE_LOCK)):D.classList.remove(v.RESIZE_LOCK);const I=D.clientWidth,w=this.getViewState(A.id);let T=f;if(c&&(T=Math.max(I-f,this.minSize)),E===this.expandedViews.length-1&&(0,_.isDefined)(S))if(T+E*this.minSize>S)T-=T+E*this.minSize-S;else{const R=this.getPanelFullWidthHorizontal(A.id);T+R<S&&(T+=S-(T+R))}if(this.rendered){let R;f===this.headerSize?R=I:R=T,R!==this.headerSize&&(w.size=R)}return this.storeState(),w.nextSize=T,y||setTimeout(()=>{D.classList.remove("resize-ease-horizontal")},200),c?T-(I-f):f-I}getAvailableSizeHorizontal(){var E;const f=(E=this.splitPanelService.rootNode)===null||E===void 0?void 0:E.clientWidth;return f?f-(this.visibleViews.get().length-1)*this.headerSize:0}getPanelFullWidthHorizontal(E){return Object.keys(this.state).filter(f=>this.views.find(c=>c.id===f)&&f!==E).reduce((f,c)=>f+(this.state[c].collapsed?this.headerSize:this.state[c].hidden?0:this.state[c].size),0)}handleContextKeyChange(){Array.from(this.viewsWithContextKey.values()).forEach(E=>{this.contextKeyService.match(E.when)||this.contextKeyService.match(this.forceRevealContextKeys.get(E.id).when)?this.appendView(E):this.disposeView(E.id)})}fillKeysInWhenExpr(E,f){this.contextKeyService.getKeysInWhen(f).forEach(y=>{E.add(y)})}};t.AccordionService=d,n.__decorate([(0,l.Autowired)(),n.__metadata("design:type",m.SplitPanelManager)],d.prototype,"splitPanelManager",void 0),n.__decorate([(0,l.Autowired)(s.AbstractMenuService),n.__metadata("design:type",s.AbstractMenuService)],d.prototype,"menuService",void 0),n.__decorate([(0,l.Autowired)(s.AbstractContextMenuService),n.__metadata("design:type",s.AbstractContextMenuService)],d.prototype,"ctxMenuService",void 0),n.__decorate([(0,l.Autowired)(s.IMenuRegistry),n.__metadata("design:type",s.IMenuRegistry)],d.prototype,"menuRegistry",void 0),n.__decorate([(0,l.Autowired)(_.CommandRegistry),n.__metadata("design:type",Object)],d.prototype,"commandRegistry",void 0),n.__decorate([(0,l.Autowired)(s.ICtxMenuRenderer),n.__metadata("design:type",s.ICtxMenuRenderer)],d.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,l.Autowired)(),n.__metadata("design:type",_.ViewContextKeyRegistry)],d.prototype,"viewContextKeyRegistry",void 0),n.__decorate([(0,l.Autowired)(_.IContextKeyService),n.__metadata("design:type",Object)],d.prototype,"contextKeyService",void 0),n.__decorate([(0,l.Autowired)(p.LayoutState),n.__metadata("design:type",p.LayoutState)],d.prototype,"layoutState",void 0),n.__decorate([(0,l.Autowired)(g.IProgressService),n.__metadata("design:type",Object)],d.prototype,"progressService",void 0),n.__decorate([(0,l.Autowired)(_.ILogger),n.__metadata("design:type",Object)],d.prototype,"logger",void 0),n.__decorate([(0,_.OnEvent)(_.ResizeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[_.ResizeEvent]),n.__metadata("design:returntype",void 0)],d.prototype,"onResize",null),t.AccordionService=d=n.__decorate([(0,l.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Boolean])],d),t.AccordionServiceFactory=Symbol("AccordionServiceFactory")},70936:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Panel=t.AccordionContainer=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(81878),v=e(1149),m=e(43718),p=e(9522),s=e(95867),g=({alignment:h="vertical",views:d,containerId:u,headerSize:E=24,minSize:f=120,className:c,noRestore:y,style:b})=>{const A=(0,l.useInjectable)(v.LayoutViewSizeConfig),S=(0,l.useInjectable)(p.AccordionServiceFactory)(u,y);S.alignment=h;const D=(0,l.useAutorun)(S.visibleViews);(0,l.useAutorun)(S.stateObservable);const I=(0,o.useMemo)(()=>E||A.accordionHeaderSizeHeight,[E]);return o.default.useEffect(()=>{if(d.length)for(const w of d)S.appendView(w)},[d]),o.default.useEffect(()=>{S.initConfig({headerSize:I,minSize:f})},[]),o.default.createElement(_.SplitPanel,{className:(0,r.default)(c,{horizontal:h==="horizontal"}),style:b,headerSize:E,dynamicTarget:!0,id:u,resizeKeep:!1,direction:h==="horizontal"?"left-to-right":"top-to-bottom"},D.map((w,T)=>{const R=S.getViewState(w.id),M=w.titleMenu||S.getSectionToolbarMenu(w.id),{collapsed:O,nextSize:x}=R;return o.default.createElement(s.AccordionSection,{noHeader:D.length===1,onItemClick:()=>{S.handleSectionClick(w.id,!O,T)},onContextMenuHandler:S.handleContextMenu,alignment:h,header:w.name&&(0,m.replaceLocalizePlaceholder)(w.name)||w.id,viewId:w.id,key:w.id,message:w.message,description:w.description,badge:w.badge,title:w.name,expanded:!O,accordionService:S,index:T,headerSize:E,minSize:E,initialProps:w.initialProps,titleMenu:M,titleMenuContext:w.titleMenuContext,savedSize:O?E:x,flex:w.weight||1},w.component)}))};t.AccordionContainer=g,t.AccordionContainer.displayName="AccordionContainer";const a=({children:h})=>o.default.createElement("div",null,h);t.Panel=a,t.Panel.displayName="Panel"},95867:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccordionSection=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(25918),v=e(93899),m=e(68969),p=e(68974),s=e(69589),g=e(52416),a=n.__importDefault(e(81388)),h={tabIndex:0},d=({header:u,description:E,message:f,headerClass:c,onItemClick:y,noHeader:b,children:A,badge:S,headerSize:D,viewId:I,initialProps:w,titleMenu:T,titleMenuContext:R,expanded:M,accordionService:O,onContextMenuHandler:x,alignment:k})=>{const F=(0,l.useInjectable)(g.IIconService),L=(0,l.useDesignStyles)(a.default.actions_wrap,"actions_wrap"),N=(0,l.useDesignStyles)(a.default.kt_split_panel,"kt_split_panel"),U=(0,l.useDesignStyles)(a.default.kt_split_panel_header,"kt_split_panel_header"),W=(0,l.useDesignStyles)(a.default.kt_split_panel_body,"kt_split_panel_body"),j=(0,l.useDesignStyles)(a.default.section_badge,"section_badge"),Q=o.default.useRef(null),[$,Z]=o.default.useState({header:u,description:E,message:f,badge:S});o.default.useEffect(()=>{const oe=O.onDidChangeViewTitle(({id:he,title:me,description:q,message:Ae,badge:ge})=>{let te=!1;const fe={...$};I===he&&me&&me!==$.header&&(fe.header=me,te=!0),I===he&&ge!==$.badge&&(fe.badge=ge,te=!0),I===he&&q&&q!==$.description&&(fe.description=q,te=!0),I===he&&Ae&&Ae!==$.message&&(fe.message=Ae,te=!0),te&&Z(fe)});return()=>{oe.dispose()}},[]);const G=o.default.useCallback(()=>{y()},[y]),V=o.default.useMemo(()=>({overflow:M?"auto":"hidden"}),[M]),H=(0,l.useViewState)(I,Q,!0),Y=(0,l.useInjectable)(m.IProgressService).getIndicator(I),X=A,re=o.default.useMemo(()=>M?`${D}px`:k==="horizontal"?"100%":`${D}px`,[M,D,k]);return o.default.createElement("div",{className:(0,r.default)(N,{horizontal:k==="horizontal"}),"data-view-id":I,draggable:!1},!b&&o.default.createElement("div",{...h,className:(0,r.default)(U,c),onClick:G,onContextMenu:oe=>x(oe,I),style:{height:re,lineHeight:re}},o.default.createElement("div",{className:a.default.label_wrap},o.default.createElement("i",{className:(0,r.default)((0,l.getIcon)("arrow-down"),a.default.arrow_icon,M?"":a.default.kt_mod_collapsed)}),o.default.createElement("div",{className:a.default.section_label,style:{lineHeight:D+"px"}},$.header),$.description&&o.default.createElement("div",{className:a.default.section_description,style:{lineHeight:D+"px"}},typeof $.description=="string"?(0,s.transformLabelWithCodicon)($.description,{},F.fromString.bind(F)):$.description),$.badge&&o.default.createElement("div",{className:j},typeof $.badge=="string"?$.badge:$.badge.value)),M&&T&&o.default.createElement("div",{className:L},(0,v.isIMenu)(T)?o.default.createElement(_.InlineActionBar,{menus:T,context:R}):o.default.createElement(_.InlineMenuBar,{menus:T,context:R}))),o.default.createElement("div",{className:(0,r.default)([W,{[a.default.hide]:!M}]),style:V,ref:Q},o.default.createElement(p.ProgressBar,{className:a.default.progressBar,progressModel:Y?.progressModel}),o.default.createElement(l.ErrorBoundary,null,$.message&&o.default.createElement("div",{className:a.default.kt_split_panel_message},$.message),o.default.createElement(X,{...w,viewState:{height:H.height-($.message?22:0),width:H.width}}))))};t.AccordionSection=d},91527:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TitleBar=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(752),_=n.__importDefault(e(81388));t.TitleBar=r.default.memo(v=>{const m=(0,o.useDesignStyles)(_.default.titlebar,"titlebar"),p=(0,o.useInjectable)(l.TabbarServiceFactory)(v.side),s=r.default.useCallback(a=>{v.containerId&&v.side&&p.handleDragStart(a,v.containerId)},[v.containerId,v.side,p]),g=r.default.useCallback(a=>{p.handleDragEnd(a)},[p]);return r.default.createElement("div",{className:m,style:{height:v.height}},!v.draggable&&r.default.createElement("h1",null,v.title),!!v.draggable&&r.default.createElement("h1",{draggable:!0,style:{cursor:"pointer"},onDragStart:s,onDragEnd:g},v.title),v.menubar||null)}),t.TitleBar.displayName="TitleBar"},75053:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RETRACT_PANEL_COMMAND=t.EXPAND_PANEL_COMMAND=t.IS_VISIBLE_PANEL_COMMAND=t.IS_VISIBLE_EXTEND_VIEW_COMMAND=t.IS_VISIBLE_VIEW_COMMAND=t.TOGGLE_PANEL_COMMAND=t.TOGGLE_EXTEND_VIEW_COMMAND=t.TOGGLE_VIEW_COMMAND=t.WORKBENCH_ACTION_CLOSEPANEL=t.WORKBENCH_ACTION_CLOSESIDECAR=t.RETRACT_BOTTOM_PANEL=t.EXPAND_BOTTOM_PANEL=t.IS_VISIBLE_RIGHT_PANEL_COMMAND=t.IS_VISIBLE_LEFT_PANEL_COMMAND=t.IS_VISIBLE_BOTTOM_PANEL_COMMAND=t.TOGGLE_BOTTOM_PANEL_COMMAND=t.TOGGLE_RIGHT_PANEL_COMMAND=t.TOGGLE_LEFT_PANEL_COMMAND=void 0;const n=e(41869);t.TOGGLE_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.toggle",delegate:"main-layout.view.toggle"},t.TOGGLE_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.toggle",delegate:"main-layout.extend-view.toggle"},t.TOGGLE_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.toggle",delegate:"main-layout.panel.toggle"},t.IS_VISIBLE_BOTTOM_PANEL_COMMAND={id:"main-layout.bottom-panel.is-visible",delegate:"main-layout.panel.is-visible"},t.IS_VISIBLE_LEFT_PANEL_COMMAND={id:"main-layout.left-panel.is-visible",delegate:"main-layout.view.is-visible"},t.IS_VISIBLE_RIGHT_PANEL_COMMAND={id:"main-layout.right-panel.is-visible",delegate:"main-layout.extend-view.is-visible"},t.EXPAND_BOTTOM_PANEL={id:"main-layout.bottom-panel.expand",delegate:"main-layout.panel.expand"},t.RETRACT_BOTTOM_PANEL={id:"main-layout.bottom-panel.retract",delegate:"main-layout.panel.retract"},t.WORKBENCH_ACTION_CLOSESIDECAR={id:"workbench.action.closeSidebar",label:"%main-layout.sidebar.hide%"},t.WORKBENCH_ACTION_CLOSEPANEL={id:"workbench.action.closePanel"},t.TOGGLE_VIEW_COMMAND={id:"main-layout.view.toggle",label:"%main-layout.view.toggle%"},t.TOGGLE_EXTEND_VIEW_COMMAND={id:"main-layout.extend-view.toggle",label:"%main-layout.extend-view.toggle%"},t.TOGGLE_PANEL_COMMAND={id:"main-layout.panel.toggle",iconClass:(0,n.getIcon)("minus"),label:"%main-layout.panel.toggle%"},t.IS_VISIBLE_VIEW_COMMAND={id:"main-layout.view.is-visible"},t.IS_VISIBLE_EXTEND_VIEW_COMMAND={id:"main-layout.extend-view.is-visible"},t.IS_VISIBLE_PANEL_COMMAND={id:"main-layout.panel.is-visible"},t.EXPAND_PANEL_COMMAND={id:"main-layout.panel.expand",label:"%layout.tabbar.expand%",iconClass:(0,n.getIcon)("expand")},t.RETRACT_PANEL_COMMAND={id:"main-layout.panel.retract",label:"%layout.tabbar.retract%",iconClass:(0,n.getIcon)("shrink")}},25072:(P,t,e)=>{"use strict";var n;n={value:!0},t.s=void 0;const r=e(41869),o=e(17793);t.s={[r.SlotLocation.top]:{modules:["@opensumi/ide-menu-bar"]},[r.SlotLocation.action]:{modules:["@opensumi/ide-toolbar-action"]},[r.SlotLocation.view]:{modules:[o.DROP_VIEW_CONTAINER,"@opensumi/ide-explorer","@opensumi/ide-search","@opensumi/ide-scm","@opensumi/ide-debug","@opensumi/ide-extension-manager","@opensumi/ide-notebook"]},[r.SlotLocation.extendView]:{modules:[o.DROP_EXTEND_VIEW_CONTAINER]},[r.SlotLocation.main]:{modules:["@opensumi/ide-editor"]},[r.SlotLocation.panel]:{modules:[o.DROP_PANEL_CONTAINER,"@opensumi/ide-terminal-next","@opensumi/ide-output","debug-console","@opensumi/ide-markers"]},[r.SlotLocation.statusBar]:{modules:["@opensumi/ide-status-bar"]},[r.SlotLocation.extra]:{modules:["breadcrumb-menu"]}}},45395:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PanelDropArea=t.ExtendViewDropArea=t.ViewDropArea=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(17793),_=n.__importDefault(e(36623)),v=g=>{const{location:a}=g,h=(0,o.useInjectable)(l.IMainLayoutService),d=r.default.useCallback(u=>{var E;const f=(E=u.dataTransfer)===null||E===void 0?void 0:E.getData("containerId");h.moveContainerTo(f,a),h.hideDropArea()},[h,a]);return r.default.createElement("div",{className:_.default.drop_area,onDrop:d,onDragOver:u=>{u.preventDefault()}},(0,o.localize)("main-layout.drop-area.tip"))},m=()=>r.default.createElement(v,{location:o.SlotLocation.view});t.ViewDropArea=m;const p=()=>r.default.createElement(v,{location:o.SlotLocation.extendView});t.ExtendViewDropArea=p;const s=()=>r.default.createElement(v,{location:o.SlotLocation.panel});t.PanelDropArea=s},7480:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainLayoutModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(17793),_=e(9522),v=e(22537),m=e(53576),p=e(752),s=e(58296);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[m.MainLayoutModuleContribution,{token:l.IMainLayoutService,useClass:v.LayoutService},{token:l.IViewsRegistry,useClass:s.ViewsRegistry},{token:p.TabbarServiceFactory,useFactory:p.TabbarServiceFactoryFn},{token:_.AccordionServiceFactory,useFactory:h=>(d,u)=>h.get(l.IMainLayoutService).getAccordionService(d,u)}],this.contributionProvider=l.MainLayoutContribution}};t.MainLayoutModule=g,t.MainLayoutModule=g=n.__decorate([(0,r.Injectable)()],g)},5567:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoFocusedInput=void 0;const r=e(85608).__importStar(e(14041)),o=e(97267),l=e(48560),_=e(17793),v=({containerId:m,...p})=>{const s=(0,l.useInjectable)(_.IMainLayoutService),g=(0,r.useRef)(null),a=r.default.useCallback(()=>{g&&g.current&&queueMicrotask(()=>{var h;return(h=g.current)===null||h===void 0?void 0:h.focus()})},[g.current]);return(0,r.useEffect)(()=>{a();const h=s.getTabbarHandler(m),d=h?.onActivate(a);return()=>{d?.dispose()}},[s]),r.default.createElement(o.Input,{ref:g,...p})};t.AutoFocusedInput=v},22537:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LayoutService=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),_=e(81878),v=e(95416),m=e(93899),p=e(43718),s=e(28423),g=e(52416),a=e(17793),h=e(9522),d=e(752),u=e(58999),E={[l.SlotLocation.view]:{currentId:void 0,size:void 0},[l.SlotLocation.extendView]:{currentId:"",size:void 0},[l.SlotLocation.panel]:{currentId:void 0,size:void 0},containerLocations:{}};let f=class extends l.WithEventBus{constructor(){super(...arguments),this.handleMap=new Map,this.tabbarServices=new Map,this.accordionServices=new Map,this.pendingViewsMap=new Map,this.viewToContainerMap=new Map,this.disposableMap=new Map,this.state={},this.isRestoring=new Set,this.customViews=new Map,this.debug=(0,p.getDebugLogger)(),this.viewReady=new p.Deferred,this.restoreTabbarService=async y=>{this.state=(0,_.fixLayout)(this.layoutState.getState(v.LAYOUT_STATE.MAIN,E));const{currentId:b,size:A}=this.state[y.location]||{};if(y.prevSize=A,this.state.containerLocations){for(const[D,I]of Object.entries(this.state.containerLocations))if(I===y.location&&!this.isDropContainer(D)){const w=this.findTabbarServiceByContainerId(D);w&&w.location!==y.location?this.moveContainerTo(D,y.location):(delete this.state.containerLocations[D],this.layoutState.setState(v.LAYOUT_STATE.MAIN,this.state))}}const S=this.getDefaultContainer(y);this.restoreContainerId(y,b,S)},this.holdTabbarComponent=new Map,this.tabbarUpdateSet=new Set}didMount(){for(const[b,A]of this.pendingViewsMap.entries())A.forEach(({view:S,props:D})=>{this.collectViewComponent(S,b,D)});for(const b of this.contributions.getContributions())b.onDidRender&&b.onDidRender();const y=[];this.tabbarServices.forEach(b=>{l.slotRendererRegistry.isTabbar(b.location)&&b.containersMap.size>0&&y.push(b.viewReady.promise)}),Promise.all(y).then(()=>{this.viewReady.resolve()})}storeState(y,b){this.isRestoring.has(y.location)||(this.state[y.location]={currentId:b,size:y.prevSize},this.layoutState.setState(v.LAYOUT_STATE.MAIN,this.state))}onThemeChange(y){var b,A,S,D,I;const w=y.payload.theme;localStorage.setItem("theme",JSON.stringify({menuBarBackground:(b=w.getColor("kt.menubar.background"))===null||b===void 0?void 0:b.toString(),sideBarBackground:(A=w.getColor("sideBar.background"))===null||A===void 0?void 0:A.toString(),editorBackground:(S=w.getColor("editor.background"))===null||S===void 0?void 0:S.toString(),panelBackground:(D=w.getColor("panel.background"))===null||D===void 0?void 0:D.toString(),statusBarBackground:(I=w.getColor("statusBar.background"))===null||I===void 0?void 0:I.toString()}))}getDefaultContainer(y){var b,A,S,D;const I=this.appConfig.defaultPanels,w=I&&I[y.location];if(I&&w!==void 0){if(!w)return"";if(y.containersMap.has(w))return w;const T=this.componentRegistry.getComponentRegistryInfo(w);if(T&&((A=(b=this.appConfig.layoutConfig[y.location])===null||b===void 0?void 0:b.modules)===null||A===void 0?void 0:A.includes(w)))return T.options.containerId;this.logger.warn(`[defaultPanels] No \`${w}\` view found!`)}return(D=(S=y.visibleContainers[0])===null||S===void 0?void 0:S.options)===null||D===void 0?void 0:D.containerId}restoreContainerId(y,b,A){if((0,p.isUndefined)(b)){(0,p.isUndefined)(A)?y.updateNextContainerId():y.updateCurrentContainerId(A);return}if(b&&!this.isDropContainer(b)){if(y.containersMap.has(b)){y.updateCurrentContainerId(b);return}y.updateCurrentContainerId(A||""),y.updateNextContainerId(b);return}(b===""||this.isDropContainer(b))&&y.updateCurrentContainerId("")}findTabbarServiceByContainerId(y){let b;for(const A of this.tabbarServices.values())if(A.containersMap.has(y)){b=A;break}return b}moveContainerTo(y,b){var A;const S=this.findTabbarServiceByContainerId(y);if(!S){this.logger.error(`cannot find container: ${y}`);return}const D=S.getContainer(y);if(!D){this.logger.error(`cannot find container: ${y}`);return}if(((A=D.options)===null||A===void 0?void 0:A.draggable)===!1){this.logger.warn(`container: ${y} is not draggable`);return}const I=this.getTabbarService(b);S.removeContainer(y),(!S.visibleContainers.length||S.currentContainerId.get()===y)&&this.toggleSlot(S.location,!1),I.dynamicAddContainer(y,D);const w=this.injector.get(u.TabBarHandler,[y,this.getTabbarService(I.location)]);this.handleMap.set(y,w),this.state.containerLocations||(this.state.containerLocations={}),this.state.containerLocations[y]=b}showDropAreaForContainer(y){const b=this.findTabbarServiceByContainerId(y),A=this.tabbarServices.get(l.SlotLocation.panel),S=this.tabbarServices.get(l.SlotLocation.extendView),D=this.tabbarServices.get(l.SlotLocation.view);if(!b){this.logger.error(`cannot find container: ${y}`);return}const I={[l.SlotLocation.extendView]:[A,D],[l.SlotLocation.panel]:[S,D],[l.SlotLocation.view]:[A,S]},w={[l.SlotLocation.panel]:a.DROP_PANEL_CONTAINER,[l.SlotLocation.extendView]:a.DROP_EXTEND_VIEW_CONTAINER,[l.SlotLocation.view]:a.DROP_VIEW_CONTAINER};(0,s.transaction)(T=>{var R;(R=I[b?.location])===null||R===void 0||R.forEach(M=>{M?.updateCurrentContainerId(w[M?.location],T)})})}hideDropArea(){const y=this.tabbarServices.get(l.SlotLocation.panel),b=this.tabbarServices.get(l.SlotLocation.extendView),A=this.tabbarServices.get(l.SlotLocation.view);(0,s.transaction)(S=>{y?.currentContainerId.get()===a.DROP_PANEL_CONTAINER&&y.updateCurrentContainerId(y.previousContainerId||"",S),b?.currentContainerId.get()===a.DROP_EXTEND_VIEW_CONTAINER&&b.updateCurrentContainerId(b.previousContainerId||"",S),A?.currentContainerId.get()===a.DROP_VIEW_CONTAINER&&A.updateCurrentContainerId(A.previousContainerId||"",S)})}isVisible(y){return!!this.getTabbarService(y).currentContainerId.get()}isViewVisible(y){const b=this.getTabbarHandler(y);if(!b||!b.isActivated())return!1;const A=b.accordionService.getViewState(y);return!A.collapsed&&!A.hidden}toggleSlot(y,b,A){var S;const D=this.getTabbarService(y);if(!D){this.debug.error(`Unable to switch panels because no TabbarService corresponding to \`${y}\` was found.`);return}b===!0?D.updateCurrentContainerId(this.findNonDropContainerId(D)):b===!1?D.updateCurrentContainerId(""):D.updateCurrentContainerId(D.currentContainerId.get()?"":this.findNonDropContainerId(D)),D.currentContainerId.get()&&A&&((S=D.resizeHandle)===null||S===void 0||S.setSize(A))}isDropContainer(y){return[a.DROP_PANEL_CONTAINER,a.DROP_EXTEND_VIEW_CONTAINER,a.DROP_VIEW_CONTAINER].includes(y)}findNonDropContainerId(y){const b=y.currentContainerId.get();if(b&&!this.isDropContainer(b))return b;if(y.previousContainerId&&!this.isDropContainer(y.previousContainerId))return y.previousContainerId;for(const A of y.containersMap.keys())if(!this.isDropContainer(A))return A;return""}getTabbarService(y){const b=this.tabbarServices.get(y)||this.injector.get(d.TabbarService,[y]);if(!this.tabbarServices.get(y)){b.addDispose(b.onCurrentChange(({currentId:S})=>{if(this.storeState(b,S),this.eventBus.fire(new l.ExtensionActivateEvent({topic:"onView",data:S})),S&&a.SUPPORT_ACCORDION_LOCATION.has(b.location)){const D=this.getAccordionService(S);D?.tryUpdateResize(),D?.expandedViews.forEach(I=>{this.eventBus.fire(new l.ExtensionActivateEvent({topic:"onView",data:I.id}))})}})),b.viewReady.promise.then(()=>(this.isRestoring.add(b.location),b.restoreState())).then(()=>this.restoreTabbarService(b)).then(()=>{this.isRestoring.delete(b.location)}).catch(S=>{this.isRestoring.delete(b.location),this.logger.error(`[TabbarService:${y}] restore state error`,S)});const A=(0,r.default)(()=>this.storeState(b,b.currentContainerId.get()),100);if(b.addDispose(b.onSizeChange(A)),y===l.SlotLocation.panel){const S=(0,r.default)(()=>void this.bottomExpanded,100);b.addDispose(b.onSizeChange(()=>S))}this.tabbarServices.set(y,b)}return b}getAllAccordionService(){return this.accordionServices}getAccordionService(y,b){let A=this.accordionServices.get(y);return A||(A=this.injector.get(h.AccordionService,[y,b]),this.accordionServices.set(y,A)),A}getTabbarHandler(y){let b=this.doGetTabbarHandler(y);if(!b){const A=this.viewToContainerMap.get(y);A?b=this.doGetTabbarHandler(A||""):this.debug.warn(`${y} view tabbar not found.`)}return b}getContainer(y){for(const b of this.tabbarServices.values()){const A=b.getContainer(y);if(A)return A}}getExtraTopMenu(){return this.contextmenuService.createMenu({id:m.MenuId.ActivityBarTopExtra})}getExtraMenu(){return this.contextmenuService.createMenu({id:m.MenuId.ActivityBarExtra})}doGetTabbarHandler(y){let b=this.handleMap.get(y);if(!b){let A;for(const S of this.tabbarServices.values())if(S.getContainer(y)){A=S.location;break}A&&(b=this.injector.get(u.TabBarHandler,[y,this.getTabbarService(A)]),this.handleMap.set(y,b))}return b}collectTabbarComponent(y,b,A,S){if(S&&this.debug.warn("collectTabbarComponent api warning: Please move react component into options.component!"),A=this.mapSideToLocation(A),b.hideIfEmpty&&!y.length&&!b.component){this.holdTabbarComponent.set(b.containerId,{views:y,options:b,side:A}),this.tabbarUpdateSet.has(b.containerId)&&this.tryUpdateTabbar(b.containerId);const I=this.getAccordionService(b.containerId);return I.addDispose(I.onBeforeAppendViewEvent(()=>{this.tryUpdateTabbar(b.containerId)})),I.addDispose(I.onAfterDisposeViewEvent(()=>{I.views.length===0&&(this.disposeContainer(b.containerId),this.holdTabbarComponent.set(b.containerId,{views:y,options:b,side:A}))})),b.containerId}return this.getTabbarService(A).registerContainer(b.containerId,{views:y,options:b}),y.forEach(I=>{this.viewToContainerMap.set(I.id,b.containerId)}),b.containerId}mapSideToLocation(y){switch(y){case"left":return l.SlotLocation.view;case"right":return l.SlotLocation.extendView;case"bottom":return l.SlotLocation.panel;default:return y}}getViewAccordionService(y){const b=this.viewToContainerMap.get(y);if(b)return this.getAccordionService(b)}collectViewComponent(y,b,A={},S){this.customViews.set(y.id,y),this.viewToContainerMap.set(y.id,b);const D=this.getAccordionService(b);return A&&(y.initialProps=A),D.appendView(y,S?.isReplace),D.views.length===1&&(this.tabbarUpdateSet.add(b),this.tryUpdateTabbar(b)),S?.fromExtension&&this.disposableMap.set(y.id,this.commandRegistry.registerCommand({id:`${y.id}.focus`},{execute:async()=>(await this.ensureViewReady(y.id),this.commandService.executeCommand(`workbench.view.extension.${b}`,{forceShow:!0}))})),b}ensureViewReady(y){const b=this.viewToContainerMap.get(y),A=new p.Deferred,S=this.getAccordionService(b);return S.visibleViews.get().find(D=>D.id===y)?A.resolve():S.addDispose(S.onAfterAppendViewEvent(D=>{D===y&&A.resolve()})),A.promise}tryUpdateTabbar(y){const b=this.holdTabbarComponent.get(y);b&&(this.getTabbarService(b.side).registerContainer(y,{views:b.views,options:b.options}),this.tabbarUpdateSet.delete(y),this.holdTabbarComponent.delete(y))}replaceViewComponent(y,b){const A=this.viewToContainerMap.get(y.id);if(!A){this.debug.warn(`The container corresponding to \`${y.id}\` was not found, please check the incoming parameters!`);return}const S=this.customViews.get(y.id);S&&(y=Object.assign(S,y)),this.collectViewComponent(y,A,b,{isReplace:!0})}disposeViewComponent(y){const b=this.disposableMap.get(y);b&&b.dispose();const A=this.viewToContainerMap.get(y);if(!A){this.debug.warn(`The container corresponding to \`${y}\` was not found, please check the incoming parameters!`);return}this.getAccordionService(A).disposeView(y)}revealView(y){const b=this.viewToContainerMap.get(y);if(!b){this.debug.warn(`The container corresponding to \`${y}\` was not found, please check the incoming parameters!`);return}this.getAccordionService(b).revealView(y)}disposeContainer(y){let b;for(const A of this.tabbarServices.values())if(A.getContainer(y)){b=A.location;break}b?this.getTabbarService(b).disposeContainer(y):this.debug.warn(`The Tabbar to the \`${y}\` was not found.`)}expandBottom(y){const b=this.getTabbarService(l.SlotLocation.panel);b.currentContainerId.get()||b.updateCurrentContainerId(b.currentContainerId.get()||b.previousContainerId||b.containersMap.keys().next().value),b.doExpand(y),this.contextKeyService.createKey("bottomFullExpanded",b.isExpanded)}get bottomExpanded(){const y=this.getTabbarService(l.SlotLocation.panel);return this.contextKeyService.createKey("bottomFullExpanded",y.isExpanded),y.isExpanded}};t.LayoutService=f,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(a.MainLayoutContribution),n.__metadata("design:type",Object)],f.prototype,"contributions",void 0),n.__decorate([(0,o.Autowired)(m.IMenuRegistry),n.__metadata("design:type",m.IMenuRegistry)],f.prototype,"menus",void 0),n.__decorate([(0,o.Autowired)(l.CommandRegistry),n.__metadata("design:type",Object)],f.prototype,"commandRegistry",void 0),n.__decorate([(0,o.Autowired)(l.CommandService),n.__metadata("design:type",Object)],f.prototype,"commandService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",v.LayoutState)],f.prototype,"layoutState",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],f.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(l.IContextKeyService),n.__metadata("design:type",Object)],f.prototype,"contextKeyService",void 0),n.__decorate([(0,o.Autowired)(l.ComponentRegistry),n.__metadata("design:type",Object)],f.prototype,"componentRegistry",void 0),n.__decorate([(0,o.Autowired)(l.ILogger),n.__metadata("design:type",Object)],f.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(m.AbstractMenuService),n.__metadata("design:type",m.AbstractMenuService)],f.prototype,"menuService",void 0),n.__decorate([(0,o.Autowired)(m.AbstractContextMenuService),n.__metadata("design:type",m.AbstractContextMenuService)],f.prototype,"contextmenuService",void 0),n.__decorate([(0,l.OnEvent)(g.ThemeChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[g.ThemeChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onThemeChange",null),t.LayoutService=f=n.__decorate([(0,o.Injectable)()],f)},53576:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MainLayoutModuleContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),_=e(68456),v=e(95416),m=e(93899),p=e(43718),s=e(92323),g=e(17793),a=e(75053),h=e(45395),d=e(68988),u=e(19951);let E=class extends p.WithEventBus{async initialize(){await this.layoutState.initStorage();const c=this.contributionProvider.getContributions();for(const A of c)A.registerComponent&&A.registerComponent(this.componentRegistry);const y=this.rendererContributionProvider.getContributions();for(const A of y)A.registerRenderer&&A.registerRenderer(o.slotRendererRegistry);const b=this.toolBarContributionProvider.getContributions();for(const A of b)A.registerToolbarItems&&A.registerToolbarItems(this.toolBarRegistry)}registerComponent(c){c.register(g.DROP_EXTEND_VIEW_CONTAINER,[],{component:h.ExtendViewDropArea,hideTab:!0,containerId:g.DROP_EXTEND_VIEW_CONTAINER}),c.register(g.DROP_PANEL_CONTAINER,[],{component:h.PanelDropArea,hideTab:!0,containerId:g.DROP_PANEL_CONTAINER}),c.register(g.DROP_VIEW_CONTAINER,[],{component:h.ViewDropArea,hideTab:!0,containerId:g.DROP_VIEW_CONTAINER})}async onStart(){this.registerSideToggleKey()}async onDidStart(){this.mainLayoutService.didMount()}registerRenderer(c){c.registerSlotRenderer(o.SlotLocation.extendView,u.RightTabRenderer,{isLatter:!0,supportedActions:{accordion:!0}}),c.registerSlotRenderer(o.SlotLocation.view,u.LeftTabRenderer,{supportedActions:{accordion:!0}}),c.registerSlotRenderer(o.SlotLocation.panel,u.BottomTabRenderer,{isLatter:!0,supportedActions:{expand:!0,toggle:!0}})}registerCommands(c){c.registerCommand(a.TOGGLE_VIEW_COMMAND,{execute:(y,b)=>{this.mainLayoutService.toggleSlot(o.SlotLocation.view,y,b)}}),c.registerCommand(a.TOGGLE_EXTEND_VIEW_COMMAND,{execute:(y,b)=>{this.mainLayoutService.toggleSlot(o.SlotLocation.extendView,y,b)}}),c.registerCommand(a.TOGGLE_PANEL_COMMAND,{execute:(y,b)=>{this.mainLayoutService.toggleSlot(o.SlotLocation.panel,y,b)}}),c.registerCommand(a.IS_VISIBLE_VIEW_COMMAND,{execute:()=>this.mainLayoutService.isVisible(o.SlotLocation.view)}),c.registerCommand(a.IS_VISIBLE_EXTEND_VIEW_COMMAND,{execute:()=>this.mainLayoutService.isVisible(o.SlotLocation.extendView)}),c.registerCommand(a.IS_VISIBLE_PANEL_COMMAND,{execute:()=>this.mainLayoutService.isVisible(o.SlotLocation.panel)}),c.registerCommand(a.TOGGLE_LEFT_PANEL_COMMAND),c.registerCommand(a.TOGGLE_RIGHT_PANEL_COMMAND),c.registerCommand(a.TOGGLE_BOTTOM_PANEL_COMMAND),c.registerCommand(a.EXPAND_BOTTOM_PANEL),c.registerCommand(a.RETRACT_BOTTOM_PANEL),c.registerCommand(a.IS_VISIBLE_LEFT_PANEL_COMMAND),c.registerCommand(a.IS_VISIBLE_RIGHT_PANEL_COMMAND),c.registerCommand(a.IS_VISIBLE_BOTTOM_PANEL_COMMAND),c.registerCommand(a.WORKBENCH_ACTION_CLOSESIDECAR,{execute:()=>Promise.all([this.mainLayoutService.toggleSlot(o.SlotLocation.view,!1),this.mainLayoutService.toggleSlot(o.SlotLocation.extendView,!1)])}),c.registerCommand(a.WORKBENCH_ACTION_CLOSEPANEL,{execute:()=>{this.mainLayoutService.toggleSlot(o.SlotLocation.panel,!1)}}),c.registerCommand({id:"view.outward.right-panel.hide"},{execute:()=>{this.commandService.executeCommand("main-layout.right-panel.toggle",!1)}}),c.registerCommand({id:"view.outward.right-panel.show"},{execute:y=>{this.commandService.executeCommand("main-layout.right-panel.toggle",!0,y)}}),c.registerCommand({id:"view.outward.left-panel.hide"},{execute:()=>{this.commandService.executeCommand("main-layout.left-panel.toggle",!1)}}),c.registerCommand({id:"view.outward.left-panel.show"},{execute:y=>{this.commandService.executeCommand("main-layout.left-panel.toggle",!0,y)}}),c.registerCommand({id:o.LAYOUT_COMMANDS.MAXIMIZE_EDITOR.id},{execute:()=>{this.commandService.executeCommand(a.TOGGLE_RIGHT_PANEL_COMMAND.id,!1),this.commandService.executeCommand(a.TOGGLE_LEFT_PANEL_COMMAND.id,!1)}}),c.registerCommand(o.LAYOUT_COMMANDS.OPEN_VIEW,{execute:()=>{this.commandService.executeCommand(o.QUICK_OPEN_COMMANDS.OPEN_VIEW.id)}})}registerMenus(c){c.registerMenuItem(m.MenuId.ActivityBarExtra,{submenu:m.MenuId.SettingsIconMenu,iconClass:(0,o.getIcon)("setting"),label:(0,p.localize)("layout.tabbar.setting"),order:1,group:"navigation"}),Object.entries({[o.SlotLocation.view]:[l.EXPLORER_CONTAINER_ID,l.SEARCH_CONTAINER_ID,l.SCM_CONTAINER_ID,l.DEBUG_CONTAINER_ID,l.EXTENSION_CONTAINER_ID],[o.SlotLocation.panel]:[l.MARKER_CONTAINER_ID,l.OUTPUT_CONTAINER_ID,l.DEBUG_CONSOLE_CONTAINER_ID,l.TERMINAL_CONTAINER_ID]}).forEach(([y,b],A)=>{const S=this.mainLayoutService.getTabbarService(y);S.viewReady.promise.then(()=>{b.forEach(D=>{var I,w;const T=S.getContainer(D);T&&c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:{id:`container.toggle.${D}`,label:(w=(I=T.options)===null||I===void 0?void 0:I.title)!==null&&w!==void 0?w:D},group:`${3+A}_${y}`})})})}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:a.TOGGLE_VIEW_COMMAND,group:"5_panel"}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:a.TOGGLE_EXTEND_VIEW_COMMAND,group:"5_panel"}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:a.TOGGLE_PANEL_COMMAND,group:"5_panel"}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:a.EXPAND_PANEL_COMMAND,group:"5_panel",when:"!bottomFullExpanded"}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:a.RETRACT_PANEL_COMMAND,group:"5_panel",when:"bottomFullExpanded"}),c.registerMenuItem(m.MenuId.MenubarViewMenu,{command:{id:o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP.id,label:"%preference.editor.wordWrap%"},group:"6_capability",toggledWhen:"config.editor.wordWrap == on"})}registerSideToggleKey(){this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+b",command:a.TOGGLE_VIEW_COMMAND.id}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+alt+b",command:a.TOGGLE_EXTEND_VIEW_COMMAND.id}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+j",command:a.TOGGLE_PANEL_COMMAND.id}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+shift+j",command:a.EXPAND_PANEL_COMMAND.id,when:"!bottomFullExpanded"}),this.keybindingRegistry.registerKeybinding({keybinding:"ctrlcmd+shift+j",command:a.RETRACT_PANEL_COMMAND.id,when:"bottomFullExpanded"})}registerQuickOpenHandlers(c){c.registerHandler(this.quickOpenViewHandler,{title:(0,p.localize)("layout.action.openView"),commandId:o.LAYOUT_COMMANDS.QUICK_OPEN_VIEW.id,order:5,hideTab:!0})}};t.MainLayoutModuleContribution=E,n.__decorate([(0,r.Autowired)(g.IMainLayoutService),n.__metadata("design:type",Object)],E.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],E.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.IEventBus),n.__metadata("design:type",Object)],E.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(_.ComponentContribution),n.__metadata("design:type",Object)],E.prototype,"contributionProvider",void 0),n.__decorate([(0,r.Autowired)(o.SlotRendererContribution),n.__metadata("design:type",Object)],E.prototype,"rendererContributionProvider",void 0),n.__decorate([(0,r.Autowired)(_.ComponentRegistry),n.__metadata("design:type",Object)],E.prototype,"componentRegistry",void 0),n.__decorate([(0,r.Autowired)(s.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.LayoutState)],E.prototype,"layoutState",void 0),n.__decorate([(0,r.Autowired)(_.TabBarToolbarContribution),n.__metadata("design:type",Object)],E.prototype,"toolBarContributionProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.ToolbarRegistry)],E.prototype,"toolBarRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(d.ViewQuickOpenHandler),n.__metadata("design:type",d.ViewQuickOpenHandler)],E.prototype,"quickOpenViewHandler",void 0),t.MainLayoutModuleContribution=E=n.__decorate([(0,p.Domain)(s.CommandContribution,o.ClientAppContribution,o.SlotRendererContribution,m.MenuContribution,o.QuickOpenContribution,_.ComponentContribution)],E)},68988:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewQuickOpenItem=t.ContainerQuickOpenItem=t.ViewQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(17793);let v=class{constructor(){this.prefix="view ",this.description=(0,o.localize)("layout.action.openView")}getModel(){return{onType:(g,a)=>a(this.getViewQuickOpenItems())}}getViewQuickOpenItems(){var g;const a=this.layoutService.getAllAccordionService(),h=Array.from(a.keys());let d=[];d=d.concat(h.map((u,E)=>this.injector.get(m,[u,{groupLabel:E===0?(0,o.localize)("layout.openView.containerTitle"):"",showBorder:!1}])));for(const u of h){const E=(g=a.get(u))===null||g===void 0?void 0:g.views;if(E)for(let f=0,c=E.length;f<c;f++)d.push(this.injector.get(p,[u,E[f],{groupLabel:f===0?(0,o.formatLocalize)("layout.openView.viewTitle",String(u).toUpperCase()):"",showBorder:!1}]))}return d}getOptions(){return{}}onClose(){}};t.ViewQuickOpenHandler=v,n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],v.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],v.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],v.prototype,"injector",void 0),t.ViewQuickOpenHandler=v=n.__decorate([(0,r.Injectable)()],v);let m=class extends l.QuickOpenItem{constructor(g,a){super(a),this.containerId=g,this.options=a}getLabel(){return String(this.containerId).toLocaleUpperCase()}isHidden(){return super.isHidden()}run(g){if(g!==l.Mode.OPEN)return!1;const a=this.layoutService.getTabbarHandler(this.containerId);return a?.activate(),!0}};t.ContainerQuickOpenItem=m,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"layoutService",void 0),t.ContainerQuickOpenItem=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],m);let p=class extends l.QuickOpenItem{constructor(g,a,h){super(h),this.containerId=g,this.view=a,this.options=h}getLabel(){var g;return(g=this.view.name)===null||g===void 0?void 0:g.toUpperCase()}isHidden(){return super.isHidden()}run(g){if(g!==l.Mode.OPEN)return!1;const a=this.layoutService.getTabbarHandler(this.containerId);return a&&(a.activate(),a.isCollapsed(this.view.id)&&a?.setCollapsed(this.view.id,!1)),!0}};t.ViewQuickOpenItem=p,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],p.prototype,"layoutService",void 0),t.ViewQuickOpenItem=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Object,Object])],p)},58999:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabBarHandler=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(17793),_=e(752);let v=class{constructor(p,s){this.containerId=p,this.tabbarService=s,this.onActivateEmitter=new o.Emitter,this.onActivate=this.onActivateEmitter.event,this.onInActivateEmitter=new o.Emitter,this.onInActivate=this.onInActivateEmitter.event,this.onCollapseEmitter=new o.Emitter,this.onCollapse=this.onCollapseEmitter.event,this.isVisible=!1,this.accordionService=this.layoutService.getAccordionService(this.containerId),s.currentContainerId.get()===this.containerId&&(this.onActivateEmitter.fire(),this.isVisible=!0),this.tabbarService.onCurrentChange(g=>{g.currentId===this.containerId?(this.onActivateEmitter.fire(),this.isVisible=!0):g.previousId===this.containerId&&(this.onInActivateEmitter.fire(),this.isVisible=!1)})}dispose(){this.tabbarService.containersMap.delete(this.containerId),this.tabbarService.disposeContainer(this.containerId)}disposeView(p){this.layoutService.disposeViewComponent(p)}activate(){this.tabbarService.updateCurrentContainerId(this.containerId)}deactivate(){this.tabbarService.updateCurrentContainerId("")}isActivated(){return this.tabbarService.currentContainerId.get()===this.containerId}show(){this.tabbarService.showContainer(this.containerId)}hide(){this.tabbarService.hideContainer(this.containerId)}setTitleComponent(p,s){const g=this.tabbarService.getContainer(this.containerId);g&&g.options&&(g.options.titleProps=s,g.options.titleComponent=p,g.fireChange(g))}setSize(p){this.layoutService.toggleSlot(this.tabbarService.location,!0,p+this.tabbarService.getBarSize())}setBadge(p){this.tabbarService.updateBadge(this.containerId,p)}getBadge(){return this.tabbarService.getContainer(this.containerId).options.badge}setIconClass(p){this.tabbarService.getContainer(this.containerId).options.iconClass=p}isCollapsed(p){return this.accordionService.getViewState(p).collapsed}setCollapsed(p,s){this.accordionService.toggleOpen(p,s)}toggleViews(p,s){for(const g of p){const a=this.accordionService.getViewState(g);this.accordionService.updateViewState(g,{...a,hidden:!s})}}updateViewTitle(p,s){this.accordionService.updateViewTitle(p,s)}updateViewDescription(p,s){this.accordionService.updateViewDesciption(p,s)}updateViewMessage(p,s){this.accordionService.updateViewMessage(p,s)}updateTitle(p){this.tabbarService.updateTitle(this.containerId,p)}setResizeLock(p){this.tabbarService.resizeHandle.lockSize(p)}};t.TabBarHandler=v,n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],v.prototype,"layoutService",void 0),t.TabBarHandler=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,_.TabbarService])],v)},46245:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatTabbarRenderer2=t.BottomTabbarRenderer=t.LeftTabbarRenderer=t.RightTabbarRenderer=t.TextElipses=t.IconElipses=t.TextTabView=t.IconTabView=t.TabbarViewBase=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(25918),m=e(25719),p=e(63373),s=e(68969),g=e(28423),a=e(17793),h=e(19951),d=n.__importDefault(e(5330)),u=e(752);function E(R,M){return M>=R.length?[R,[]]:M<=1?[[],R]:[R.slice(0,M-1),R.slice(M-1)]}function f(R){return typeof R=="string"?parseInt(R,10)>99?"99+":R:typeof R=="object"&&R.value?R.value>99?"99+":R.value:""}const c=R=>{var M;const{TabView:O,MoreTabView:x,forbidCollapse:k,barSize:F=48,panelBorderSize:L=0,tabClassName:N,className:U,margin:W,tabSize:j,canHideTabbar:Q,renderOtherVisibleContainers:$=()=>null,disableAutoAdjust:Z}=R,{side:G,direction:V,fullSize:H}=(0,o.useContext)(h.TabbarConfig),K=(0,_.useInjectable)(u.TabbarServiceFactory)(G),Y=(0,_.useDesignStyles)(d.default.tab_bar,"tab_bar"),X=(0,_.useDesignStyles)(d.default.bar_content,"bar_content"),re=(0,o.useMemo)(()=>Z?Number.MAX_SAFE_INTEGER:Math.floor(H-(W||0)/j),[Z,H,W,j]),[oe,he]=(0,o.useState)(E(K.visibleContainers.filter(Oe=>{var Me;return!(!((Me=Oe.options)===null||Me===void 0)&&Me.hideTab)}),re));(0,o.useEffect)(()=>{K.updateBarSize(F+L)},[]),(0,o.useEffect)(()=>{const Oe=()=>{he(E(K.visibleContainers.filter(Pe=>{var Be;return!(!((Be=Pe.options)===null||Be===void 0)&&Be.hideTab)}),re))};Oe();const Me=_.Event.any(K.onDidRegisterContainer,K.onStateChange)(Oe);return()=>{Me.dispose()}},[re]);const me=(0,_.useAutorun)(K.currentContainerId),q=(0,_.usePreference)("workbench.hideSlotTabBarWhenHidePanel",!1),Ae=Q&&q;Ae&&!me&&((M=K.resizeHandle)===null||M===void 0||M.setSize(0));const[ge,te]=oe;te.forEach(Oe=>{K.updateTabInMoreKey(Oe.options.containerId,!0)});const fe=(0,o.useCallback)((Oe,Me,Pe,Be)=>{var De;const _e=(De=Oe.options)===null||De===void 0?void 0:De.containerId;if(!_e)return null;Me.updateTabInMoreKey(_e,!1);let Ne;return o.default.createElement("li",{draggable:!0,onDragStart:Te=>{if(Ne){const We=Ne.cloneNode(!0);We.classList.add(d.default.dragging),N&&(0,_.addClassName)(We,N),document.body.appendChild(We),Te.persist(),requestAnimationFrame(()=>{Te.dataTransfer.setDragImage(We,0,0),document.body.removeChild(We)})}Me.handleDragStart(Te,_e)},onDragOver:Te=>{Te.preventDefault(),Ne&&Ne.classList.add("on-drag-over")},onDragLeave:()=>{Ne&&Ne.classList.remove("on-drag-over")},onDrop:Te=>{Ne&&Ne.classList.remove("on-drag-over"),Me.handleDrop(Te,_e)},onDragEnd:Te=>{Me.handleDragEnd(Te)},key:_e,id:_e,onContextMenu:Te=>Me.handleContextMenu(Te,_e),onClick:Te=>Me.handleTabClick(Te,Ae||k),ref:Te=>Ne=Te,className:(0,r.default)({active:Pe===_e},N)},o.default.createElement(O,{component:Oe}))},[]);return o.default.createElement("div",{className:(0,r.default)([Y,U])},o.default.createElement("div",{className:X,style:{flexDirection:m.Layout.getTabbarDirection(V)}},ge.map(Oe=>fe(Oe,K,me,G)),$({props:R,renderContainers:fe}),te.length?o.default.createElement("li",{key:"tab-more",onClick:Oe=>{var Me;return K.showMoreMenu(Oe,ge[ge.length-1]&&((Me=ge[ge.length-1].options)===null||Me===void 0?void 0:Me.containerId))},className:N},o.default.createElement(x,null)):null))};t.TabbarViewBase=c;const y=({component:R})=>{var M,O,x,k;const F=(0,_.useInjectable)(s.IProgressService),L=(0,_.useInjectable)(_.KeybindingRegistry),N=(0,_.useDesignStyles)(d.default.icon_tab,"icon_tab"),[U,W]=(0,o.useState)(R),j=F.getIndicator(((M=U.options)===null||M===void 0?void 0:M.containerId)||""),Q=(0,o.useMemo)(()=>(0,g.observableValue)("IconTabView.fallbackShow",!1),[]),$=(0,_.useAutorun)((O=j?.progressModel.show)!==null&&O!==void 0?O:Q),Z=(0,o.useMemo)(()=>{const G=U.options;return G?.activateKeyBinding?`${G?.title} (${L.acceleratorForKeyString(G.activateKeyBinding,"+")})`:G?.title},[U]);return(0,o.useEffect)(()=>{const G=U.onChange(V=>{W({...V})});return()=>{G.dispose()}},[U]),o.default.createElement("div",{className:N},o.default.createElement("div",{className:(0,r.default)((x=U.options)===null||x===void 0?void 0:x.iconClass,"activity-icon"),title:Z}),$?o.default.createElement(l.Badge,{className:d.default.tab_badge},o.default.createElement("span",{className:d.default.icon_wrapper},o.default.createElement(l.Icon,{icon:"time-circle"}))):((k=U.options)===null||k===void 0?void 0:k.badge)&&o.default.createElement(l.Badge,{className:d.default.tab_badge},f(U.options.badge)))};t.IconTabView=y;const b=({component:R})=>{var M,O,x;const[k,F]=(0,o.useState)(R);return(0,o.useEffect)(()=>{const L=k.onChange(N=>{F({...N})});return()=>{L.dispose()}},[k]),o.default.createElement("div",{className:d.default.text_tab},o.default.createElement("div",{className:d.default.bottom_tab_title},(O=(M=k.options)===null||M===void 0?void 0:M.title)===null||O===void 0?void 0:O.toUpperCase()),((x=k.options)===null||x===void 0?void 0:x.badge)&&o.default.createElement(l.Badge,{className:d.default.tab_badge},f(k.options.badge)))};t.TextTabView=b;const A=()=>{const R=(0,_.useDesignStyles)(d.default.icon_tab,"icon_tab");return o.default.createElement("div",{className:R},o.default.createElement("div",{className:(0,r.default)((0,_.getIcon)("ellipsis"),"activity-icon"),title:"extra tabs"}))};t.IconElipses=A;const S=()=>o.default.createElement("div",{className:d.default.text_tab},o.default.createElement("div",{className:d.default.bottom_tab_title},o.default.createElement("i",{className:(0,_.getIcon)("doubleright")})));t.TextElipses=S;const D=R=>{const{barSize:M=48,style:O}=R,{side:x}=(0,o.useContext)(h.TabbarConfig),k=(0,_.useInjectable)(u.TabbarServiceFactory)(x),F=(0,_.useDesignStyles)(d.default.right_tab_bar,"right_tab_bar"),L=(0,_.useDesignStyles)(d.default.right_tab,"right_tab");return o.default.createElement("div",{id:p.VIEW_CONTAINERS.RIGHT_TABBAR,className:F,style:O,onContextMenu:k.handleContextMenu},o.default.createElement(t.TabbarViewBase,{tabSize:48,MoreTabView:t.IconElipses,tabClassName:L,TabView:t.IconTabView,barSize:M,panelBorderSize:1}))};t.RightTabbarRenderer=D;const I=({renderOtherVisibleContainers:R,isRenderExtraTopMenus:M=!0,renderExtraMenus:O,tabbarViewProps:x})=>{const{side:k}=(0,o.useContext)(h.TabbarConfig),F=(0,_.useInjectable)(a.IMainLayoutService),L=(0,_.useInjectable)(u.TabbarServiceFactory)(k),N=(0,o.useMemo)(()=>F.getExtraTopMenu(),[F]),U=(0,o.useMemo)(()=>F.getExtraMenu(),[F]),W=(0,_.useDesignStyles)(d.default.left_tab_bar,"left_tab_bar"),j=(0,_.useDesignStyles)(d.default.left_tab,"left_tab");return o.default.createElement("div",{id:p.VIEW_CONTAINERS.LEFT_TABBAR,className:W,onContextMenu:L.handleContextMenu},M&&o.default.createElement(v.InlineMenuBar,{className:(0,r.default)(d.default.vertical_icons,d.default.extra_top_menus),menus:N}),o.default.createElement(t.TabbarViewBase,{tabSize:48,MoreTabView:t.IconElipses,className:d.default.left_tab_content,tabClassName:j,TabView:t.IconTabView,barSize:48,margin:90,panelBorderSize:1,renderOtherVisibleContainers:R,...x}),O||o.default.createElement(v.InlineMenuBar,{className:d.default.vertical_icons,menus:U}))};t.LeftTabbarRenderer=I;const w=()=>{const{side:R}=(0,o.useContext)(h.TabbarConfig),M=(0,_.useInjectable)(u.TabbarServiceFactory)(R),O=(0,_.useDesignStyles)(d.default.bottom_bar_container,"bottom_bar_container"),x=(0,_.useDesignStyles)(d.default.bottom_tab,"bottom_tab");return o.default.createElement("div",{id:p.VIEW_CONTAINERS.BOTTOM_TABBAR,onContextMenu:M.handleContextMenu,className:(0,r.default)(O,"next_bottom_bar")},o.default.createElement(t.TabbarViewBase,{tabSize:80,MoreTabView:t.TextElipses,tabClassName:x,TabView:t.TextTabView,barSize:24,panelBorderSize:1,canHideTabbar:!0}))};t.BottomTabbarRenderer=w;const T=R=>{const{barSize:M=32,style:O}=R,{side:x}=(0,o.useContext)(h.TabbarConfig),k=(0,_.useInjectable)(u.TabbarServiceFactory)(x),F=(0,_.useDesignStyles)(d.default.ai_right_tab_bar,"ai_right_tab_bar"),L=(0,_.useDesignStyles)(d.default.ai_right_tab,"ai_right_tab");return o.default.createElement("div",{id:x,className:F,style:O,onContextMenu:k.handleContextMenu},o.default.createElement(t.TabbarViewBase,{tabSize:32,MoreTabView:t.IconElipses,tabClassName:L,TabView:t.IconTabView,barSize:M,panelBorderSize:1}))};t.ChatTabbarRenderer2=T},66368:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BottomTabPanelRenderer=t.LeftTabPanelRenderer=t.RightTabPanelRenderer=t.ContainerView=t.BaseTabPanelView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(76003),_=e(41869),v=e(25918),m=e(1149),p=e(68969),s=e(68974),g=e(9522),a=e(70936),h=e(91527),d=e(19951),u=n.__importDefault(e(5330)),E=e(752),f=o.default.memo(({children:T})=>T,(T,R)=>!(T.visible||R.visible)),c={display:"block"},y={display:"none"},b=T=>{const{PanelView:R,panelSize:M,id:O,PanelViewProps:x}=T,{side:k}=o.default.useContext(d.TabbarConfig),F=(0,_.useInjectable)(_.AppConfig),L=F.panelSizes&&F.panelSizes[k],N=(0,_.useInjectable)(E.TabbarServiceFactory)(k),U=(0,_.useAutorun)(N.currentContainerId),W=(0,_.useDesignStyles)(u.default.tab_panel,"tab_panel"),j=(0,_.useDesignStyles)(u.default.tab_panel_hidden,"tab_panel_hidden");return o.default.useEffect(()=>{N.updatePanelSize(L||M||335)},[]),o.default.createElement("div",{id:O,className:(0,r.default)("kt-tab-panel",W,{[j]:!U})},N.visibleContainers.map(Q=>{var $;const Z=($=Q.options)===null||$===void 0?void 0:$.containerId;if(!Z)return null;const G=N.getTitleToolbarMenu(Z);return o.default.createElement("div",{key:Z,className:(0,r.default)(u.default.panel_wrap,Z),"data-viewlet-id":Z,style:U===Z?c:y,id:O},o.default.createElement(_.ErrorBoundary,null,o.default.createElement(f,{visible:U===Z},o.default.createElement(R,{titleMenu:G,side:k,component:Q,...x}))))}))};t.BaseTabPanelView=b;const A=({component:T,titleMenu:R,side:M,renderContainerWrap:O,className:x,customTitleBar:k})=>{var F,L;const N=o.default.useRef(),U=o.default.useRef(null),W=(0,_.useInjectable)(_.AppConfig),{title:j,titleComponent:Q,component:$,containerId:Z,draggable:G}=T.options||{},V=(0,_.useInjectable)(l.INJECTOR_TOKEN),H=(0,_.useInjectable)(m.LayoutViewSizeConfig),K=(0,o.useCallback)(he=>{V.get(g.AccordionServiceFactory)(Z).handleContextMenu(he)},[Z]);if(!Z)return null;const X=(0,_.useInjectable)(p.IProgressService).getIndicator(Z);if(!X)return null;const re=(0,_.useViewState)(M,U),oe=o.default.useCallback(he=>O?O({children:he}):he,[O]);return o.default.createElement("div",{ref:U,className:(0,r.default)(u.default.view_container,x)},!!k&&k,!$&&o.default.createElement("div",{onContextMenu:K,className:u.default.panel_titlebar},j?o.default.createElement(h.TitleBar,{containerId:Z,side:M,title:j,draggable:G,height:H.panelTitleBarHeight,menubar:o.default.createElement(v.InlineActionBar,{menus:R})}):null,Q&&o.default.createElement("div",{className:u.default.panel_component},o.default.createElement(_.ConfigProvider,{value:W},o.default.createElement(_.ComponentRenderer,{Component:Q,initialProps:(F=T.options)===null||F===void 0?void 0:F.titleProps})))),o.default.createElement("div",{className:u.default.container_wrap,ref:he=>N.current=he},o.default.createElement(s.ProgressBar,{progressModel:X.progressModel}),oe($?o.default.createElement(_.ConfigProvider,{value:W},o.default.createElement(_.ComponentRenderer,{initialProps:{viewState:re,...(L=T.options)===null||L===void 0?void 0:L.initialProps},Component:$})):o.default.createElement(a.AccordionContainer,{views:T.views,minSize:T.options.miniSize,containerId:T.options.containerId}))))};t.ContainerView=A;const S=({component:T,titleMenu:R,side:M})=>{var O,x,k,F;const L=o.default.useRef(),N=o.default.useRef(null),U=(0,_.useInjectable)(_.AppConfig),W=(0,_.useInjectable)(E.TabbarServiceFactory)(M),j=(0,_.useDesignStyles)(u.default.panel_title_bar,"panel_title_bar"),Q=(0,_.useDesignStyles)(u.default.panel_toolbar_container,"panel_toolbar_container"),$=(0,_.useViewState)(M,N),Z=(0,_.useInjectable)(m.LayoutViewSizeConfig),G=(0,_.useInjectable)(p.IProgressService),{component:V,containerId:H}=T.options||{},K=T.options&&T.options.titleComponent;if(!H)return null;const Y=G.getIndicator(H);return Y?o.default.createElement("div",{ref:N,className:u.default.panel_container},o.default.createElement("div",{className:j,style:{height:Z.panelTitleBarHeight}},o.default.createElement("h1",null,(x=(O=T.options)===null||O===void 0?void 0:O.title)===null||x===void 0?void 0:x.toUpperCase()),o.default.createElement("div",{className:u.default.title_component_container},K&&o.default.createElement(_.ComponentRenderer,{Component:K,initialProps:(k=T.options)===null||k===void 0?void 0:k.titleProps})),o.default.createElement("div",{className:Q},R&&o.default.createElement(v.InlineActionBar,{menus:R}),W.commonTitleMenu&&o.default.createElement(v.InlineMenuBar,{menus:W.commonTitleMenu,moreAtFirst:!0}))),o.default.createElement("div",{className:u.default.container_wrap,ref:X=>L.current=X},o.default.createElement(s.ProgressBar,{progressModel:Y.progressModel}),V?o.default.createElement(_.ConfigProvider,{value:U},o.default.createElement(_.ComponentRenderer,{initialProps:{viewState:$,...(F=T.options)===null||F===void 0?void 0:F.initialProps},Component:V})):o.default.createElement(a.AccordionContainer,{views:T.views,alignment:"horizontal",minSize:T.options.miniSize||200,containerId:T.options.containerId}))):null},D=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:t.ContainerView});t.RightTabPanelRenderer=D;const I=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:t.ContainerView});t.LeftTabPanelRenderer=I;const w=()=>o.default.createElement(t.BaseTabPanelView,{PanelView:S,panelSize:280});t.BottomTabPanelRenderer=w},19951:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BottomTabRenderer=t.LeftTabRenderer=t.RightTabRenderer=t.TabRendererBase=t.TabbarConfig=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(81878),v=e(25719),m=e(63373),p=e(46245),s=e(66368),g=n.__importDefault(e(5330)),a=e(752);t.TabbarConfig=(0,o.createContext)({side:l.SlotLocation.view,direction:"left-to-right",fullSize:0}),t.TabRendererBase=(0,o.memo)(({id:E,className:f,components:c,direction:y="left-to-right",TabbarView:b,side:A,TabpanelView:S})=>{const D=(0,l.useInjectable)(a.TabbarServiceFactory)(A),I=(0,l.useInjectable)(l.IEventBus),w=(0,o.useContext)(_.PanelContext),T=(0,o.useRef)(null),[R,M]=(0,o.useState)(0);(0,o.useLayoutEffect)(()=>{D.registerResizeHandle(w),c.forEach(x=>{D.registerContainer(x.options.containerId,x)}),D.updatePanelVisibility(),D.ensureViewReady()},[c]);const O=(0,o.useCallback)(()=>{T.current&&M(T.current[v.Layout.getDomSizeProperty(y)])},[]);return(0,o.useEffect)(()=>{l.fastdom.measure(()=>{O()});let x;I.onDirective(l.ResizeEvent.createDirective(A),()=>{x&&x.dispose(),x=l.fastdom.measureAtNextFrame(()=>{O()})})},[]),o.default.createElement("div",{ref:T,id:E,className:(0,r.default)(g.default.tab_container,f),style:{flexDirection:v.Layout.getFlexDirection(y)}},o.default.createElement(t.TabbarConfig.Provider,{value:{side:A,direction:y,fullSize:R}},o.default.createElement(b,null),o.default.createElement(S,null)))});const h=({className:E,components:f,tabbarView:c,tabpanelView:y})=>o.default.createElement(t.TabRendererBase,{side:l.SlotLocation.extendView,direction:"right-to-left",id:m.VIEW_CONTAINERS.RIGHT_TABBAR_PANEL,className:(0,r.default)(E,"right-slot"),components:f,TabbarView:c??p.RightTabbarRenderer,TabpanelView:y??s.RightTabPanelRenderer});t.RightTabRenderer=h;const d=({className:E,components:f,tabbarView:c})=>o.default.createElement(t.TabRendererBase,{side:l.SlotLocation.view,direction:"left-to-right",id:m.VIEW_CONTAINERS.LEFT_TABBAR_PANEL,className:(0,r.default)(E,"left-slot"),components:f,TabbarView:c??p.LeftTabbarRenderer,TabpanelView:s.LeftTabPanelRenderer});t.LeftTabRenderer=d;const u=({className:E,components:f,tabbarView:c})=>o.default.createElement(t.TabRendererBase,{side:l.SlotLocation.panel,id:m.VIEW_CONTAINERS.BOTTOM_TABBAR_PANEL,direction:"bottom-to-top",className:(0,r.default)(E,"bottom-slot"),components:f,TabbarView:c??p.BottomTabbarRenderer,TabpanelView:s.BottomTabPanelRenderer});t.BottomTabRenderer=u},94813:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabbarBehaviorHandler=void 0;const n=e(41869),r=e(30144),o=e(75053);class l{constructor(v,m){this.location=v,this.config=m,this.accordionRestored=new Set}getIsLatter(){var v;return((v=this.config)===null||v===void 0?void 0:v.isLatter)!==void 0?this.config.isLatter:this.location==="extendView"||this.location==="panel"}wrapResizeHandle(v){const{setSize:m,setRelativeSize:p,getSize:s,getRelativeSize:g,lockSize:a,setMaxSize:h,hidePanel:d}=v,u=this.getIsLatter();return{setSize:E=>m(E,u),setRelativeSize:(E,f)=>p(E,f,u),getSize:()=>s(u),getRelativeSize:()=>g(u),setMaxSize:E=>h(E,u),lockSize:E=>a(E,u),hidePanel:E=>d(E)}}registerLocationSpecificCommands(v){const m=new n.DisposableCollection,{supportedActions:p}=this.config||{};return p?.expand&&(m.push(v.commandRegistry.registerCommand(o.EXPAND_PANEL_COMMAND,{execute:()=>{v.layoutService.expandBottom(!0)}})),m.push(v.commandRegistry.registerCommand(o.RETRACT_PANEL_COMMAND,{execute:()=>{v.layoutService.expandBottom(!1)}}))),p?.toggle&&m.push(v.commandRegistry.registerCommand(o.TOGGLE_PANEL_COMMAND,{execute:(s,g)=>{v.layoutService.toggleSlot(this.location,s,g)}})),m}registerLocationSpecificMenus(v){var m,p,s,g;const a=[];if(!((p=(m=this.config)===null||m===void 0?void 0:m.supportedActions)===null||p===void 0)&&p.expand&&a.push({command:o.EXPAND_PANEL_COMMAND.id,group:"navigation",when:"!bottomFullExpanded",order:1},{command:o.RETRACT_PANEL_COMMAND.id,group:"navigation",when:"bottomFullExpanded",order:1}),!((g=(s=this.config)===null||s===void 0?void 0:s.supportedActions)===null||g===void 0)&&g.toggle&&a.push({command:o.TOGGLE_PANEL_COMMAND.id,group:"navigation",order:2}),a.length>0)return v.menuRegistry.registerMenuItems(`tabbar/${this.location}/common`,a),v.ctxMenuService.createMenu({id:`tabbar/${this.location}/common`})}doExpand(v,m){var p,s;if(!(!((s=(p=this.config)===null||p===void 0?void 0:p.supportedActions)===null||s===void 0)&&s.expand)||!m)return;const{setRelativeSize:g}=m,a=this.getIsLatter();v?a?g(0,1):g(1,0):g(2,1)}isExpanded(v){var m,p;if(!(!((p=(m=this.config)===null||m===void 0?void 0:m.supportedActions)===null||p===void 0)&&p.expand)||!v)return!1;const{getRelativeSize:s}=v,g=s().join(",");return this.getIsLatter()?g==="0,1":g==="1,0"}handleActivateKeyBinding(v,m,p,s){var g,a;!((a=(g=this.config)===null||g===void 0?void 0:g.supportedActions)===null||a===void 0)&&a.toggle&&!s?p(m===v?"":v):p(v)}handleFullExpanded(v,m,p,s){var g,a;const{barSize:h,panelSize:d,prevSize:u}=s,{setRelativeSize:E,setSize:f}=p;v?m&&(!((a=(g=this.config)===null||g===void 0?void 0:g.supportedActions)===null||a===void 0)&&a.expand)?this.getIsLatter()?E(0,1):E(1,0):f(u||d+h):f(h)}tryRestoreAccordionSize(v,m){var p,s,g,a;if(!(!((s=(p=this.config)===null||p===void 0?void 0:p.supportedActions)===null||s===void 0)&&s.accordion))return;const{containerId:h}=v.options||{};if(!h||this.accordionRestored.has(h)||(!v||!((g=v.options)===null||g===void 0)&&g.component)&&((a=v?.options)===null||a===void 0?void 0:a.containerId)!==r.SCM_CONTAINER_ID)return;m.getAccordionService(h).restoreState(),this.accordionRestored.add(h)}}t.TabbarBehaviorHandler=l},752:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TabbarService=t.TabbarServiceFactoryFn=t.TabbarServiceFactory=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),_=e(95416),v=e(93899),m=e(68969),p=e(38578),s=e(28423),g=e(17793),a=e(94813);t.TabbarServiceFactory=Symbol("TabbarServiceFactory");const h=E=>f=>E.get(g.IMainLayoutService).getTabbarService(f);t.TabbarServiceFactoryFn=h;const d=void 0;let u=class extends l.WithEventBus{constructor(f){super(),this.location=f,this.doChangeViewEmitter=new l.Emitter,this.onStateChangeEmitter=new l.Emitter,this.onStateChange=this.onStateChangeEmitter.event,this.shouldChangeView=(0,s.observableFromEventOpts)({owner:this,equalsFn:()=>!1},this.doChangeViewEmitter.event,()=>{}),this.containerIdObs=(0,s.observableValue)(this,d),this.currentContainerId=(0,s.derivedOpts)({owner:this,equalsFn:()=>!1},y=>(this.shouldChangeView.read(y),this.containerIdObs.read(y))),this.nextContainerId="",this.useFirstContainerId=!1,this.previousContainerId=void 0,this.containersMap=new Map,this.viewReady=new l.Deferred,this.state=new Map,this.storedState={},this.onCurrentChangeEmitter=new l.Emitter,this.onCurrentChange=this.onCurrentChangeEmitter.event,this.onSizeChangeEmitter=new l.Emitter,this.onSizeChange=this.onSizeChangeEmitter.event,this.menuId=`tabbar/${this.location}`,this.moreMenuId=`tabbar/${this.location}/more`,this.sortedContainers=[],this.disposableMap=new Map,this.tabInMoreKeyMap=new Map,this.shouldWaitForViewRender=!1,this.onDidRegisterContainerEmitter=new l.Emitter,this.isEmptyTabbar=!0,this.updatePanel=(0,r.default)(y=>{this.resizeHandle&&this.resizeHandle.hidePanel(y)},60),this._menuMap=new Map,this.handleContextMenu=(y,b)=>{y.preventDefault(),y.stopPropagation();const A=this.menuService.createMenu(this.menuId,b?this.scopedCtxKeyService:this.contextKeyService),S=(0,v.generateCtxMenu)({menus:A,args:[{containerId:b}]});this.contextMenuRenderer.show({menuNodes:S[1],anchor:{x:y.clientX,y:y.clientY}})};const c=p.slotRendererRegistry.getTabbarConfig(f);this.behaviorHandler=new a.TabbarBehaviorHandler(f,c),this.scopedCtxKeyService=this.contextKeyService.createScoped(),this.scopedCtxKeyService.createKey("triggerWithTab",!0),this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerGlobalToggleCommand(),label:(0,l.localize)("layout.tabbar.toggle")},group:"0_global",when:"triggerWithTab == true"}),this.activatedKey=this.contextKeyService.createKey((0,l.getTabbarCtxKey)(this.location),""),this.behaviorHandler.registerLocationSpecificCommands({commandRegistry:this.commandRegistry,layoutService:this.layoutService}),this.commonTitleMenu=this.behaviorHandler.registerLocationSpecificMenus({menuRegistry:this.menuRegistry,ctxMenuService:this.ctxMenuService}),this.eventBus.onDirective(l.ResizeEvent.createDirective(this.location),()=>{this.onResize()})}get onDidRegisterContainer(){return this.onDidRegisterContainerEmitter.event}updateNextContainerId(f){(0,l.isUndefined)(f)?this.useFirstContainerId=!0:this.nextContainerId=f}updateCurrentContainerId(f,c){c?this.containerIdObs.set(f,c):(0,s.transaction)(y=>{this.containerIdObs.set(f,y)})}updateBadge(f,c){const y=this.getContainer(f);y&&y.options&&(y.options.badge=c),y?.fireChange(y)}getContainerState(f){return this.state.get(f)}hideContainer(f){const c=this.state.get(f);c&&(c.hidden=!0,this.onStateChangeEmitter.fire())}showContainer(f){const c=this.state.get(f);c&&(c.hidden=!1,this.onStateChangeEmitter.fire())}updatePanelVisibility(f){f===void 0&&(f=this.containersMap.size>0),this.updatePanel(f)}ensureViewReady(){(0,l.isDefined)(this.barSize)&&(0,l.isDefined)(this.panelSize)?this.resolveViewReady():this.shouldWaitForViewRender=!0}updatePanelSize(f){this.panelSize=f,(0,l.isDefined)(this.barSize)&&this.shouldWaitForViewRender&&this.resolveViewReady()}updateBarSize(f){this.barSize=f,(0,l.isDefined)(this.panelSize)&&this.shouldWaitForViewRender&&this.resolveViewReady()}resolveViewReady(){this.isEmptyTabbar?l.Event.once(this.onDidRegisterContainer)(()=>{this.viewReady.resolve()}):this.viewReady.resolve()}getBarSize(){return this.barSize}updateTabInMoreKey(f,c){const y=this.tabInMoreKeyMap.get(f);y&&y.set(c)}get visibleContainers(){const f=[];return this.containersMap.forEach(c=>{const y=c.options&&this.state.get(c.options.containerId);(!y||!y.hidden)&&f.push(c)}),f.sort((c,y)=>this.getContainerState(c.options.containerId).priority-this.getContainerState(y.options.containerId).priority)}registerResizeHandle(f){return this.resizeHandle=this.behaviorHandler.wrapResizeHandle(f),this.listenCurrentChange()}registerContainer(f,c){var y;if(this.containersMap.has(f))return;this.useFirstContainerId&&(this.useFirstContainerId=!1,this.updateCurrentContainerId(f)),this.nextContainerId===f&&this.updateCurrentContainerId(f);const b=new l.DisposableCollection,A=c.options||{containerId:f};c.options=A;const S=new l.Emitter;this.containersMap.set(f,{fireChange:I=>S.fire(I),onChange:S.event,views:c.views,options:A}),b.push({dispose:()=>{this.containersMap.delete(f),this.state.delete(f)}}),this.updatePanelVisibility(this.containersMap.size>0);let D=this.sortedContainers.findIndex(I=>{var w,T;return(((w=I.options)===null||w===void 0?void 0:w.priority)||1)<=(((T=c.options)===null||T===void 0?void 0:T.priority)||1)});D===-1&&(D=this.sortedContainers.length),this.sortedContainers.splice(D,0,c);for(let I=D;I<this.sortedContainers.length;I++){const T=(y=this.sortedContainers[I].options)===null||y===void 0?void 0:y.containerId;if(T){const R=this.storedState[T]||this.getContainerState(T)||{};this.state.set(T,{hidden:R.hidden,priority:I})}}b.push(this.registerSideEffects(c)),this.eventBus.fire(new g.TabBarRegistrationEvent({tabBarId:f})),f===this.currentContainerId.get()&&this.handleChange(f,""),this.viewContextKeyRegistry.registerContextKeyService(f,this.contextKeyService.createScoped()).createKey("view",f),this.isEmptyTabbar&&(this.isEmptyTabbar=!1),this.disposableMap.set(f,b),this.onDidRegisterContainerEmitter.fire(f)}registerSideEffects(f){var c;const y=new l.DisposableCollection;!((c=f.options)===null||c===void 0)&&c.hideTab||(y.push(this.registerHideMenu(f)),y.push(this.registerMoreMenu(f))),y.push(this.registerActivateKeyBinding(f,f.options.fromExtension));const b=this.contextKeyService.createKey(`workbench.${this.location}.${f.options.containerId}`,!0);return y.push({dispose:()=>{b.set(!1)}}),y.push(this.progressService.registerProgressIndicator(f.options.containerId)),y.push(this.registerContainerPanelRelatedCommand(f)),y}registerContainerPanelRelatedCommand(f){var c,y,b,A,S;const D=new l.DisposableCollection,I=(c=f.options)===null||c===void 0?void 0:c.containerId;return D.push(this.commandRegistry.registerCommand({id:"container.show."+I,label:(0,l.formatLocalize)("view.command.show",(b=(y=f.options)===null||y===void 0?void 0:y.title)!==null&&b!==void 0?b:I),labelLocalized:(0,l.createFormatLocalizedStr)("view.command.show",(S=(A=f.options)===null||A===void 0?void 0:A.title)!==null&&S!==void 0?S:I),category:"View"},{execute:()=>{this.updateCurrentContainerId(I)}})),D.push(this.commandRegistry.registerCommand({id:"container.hide."+I},{execute:()=>{this.updateCurrentContainerId("")}})),D.push(this.commandRegistry.registerCommand({id:"container.toggle."+I},{execute:()=>{this.currentContainerId.get()===I?this.updateCurrentContainerId(""):this.updateCurrentContainerId(I)}})),D}registerHideMenu(f){const c=new l.DisposableCollection,y=f.options.containerId;return c.push(this.menuRegistry.registerMenuItem(this.menuId,{command:{id:this.registerVisibleToggleCommand(y,c),label:f.options.title||y},group:"1_widgets"})),c}registerMoreMenu(f){const c=new l.DisposableCollection,y=f.options.containerId,b=this.scopedCtxKeyService.createKey(this.getTabInMoreCtxKey(y),!1);return this.tabInMoreKeyMap.set(y,b),c.push({dispose:()=>this.tabInMoreKeyMap.delete(y)}),c.push(this.menuRegistry.registerMenuItem(this.moreMenuId,{command:{id:this.registerMoreToggleCommand(f,c),label:f.options.title||y},group:"inline",when:`${this.getTabInMoreCtxKey(y)} == true`,toggledWhen:`${(0,l.getTabbarCtxKey)(this.location)} == ${y}`,iconClass:f.options.iconClass})),c}disposeContainer(f){var c;const y=this.disposableMap.get(f);y&&y.dispose(),this.currentContainerId.get()===f&&this.updateCurrentContainerId(((c=this.visibleContainers[0].options)===null||c===void 0?void 0:c.containerId)||"")}updateTitle(f,c){const y=this.getContainer(f);y&&(y.options.title=c)}getContainer(f){return f?this.containersMap.get(f):void 0}getTitleToolbarMenu(f){const c=this._menuMap.get(f);if(c)return c;const y=this.menuService.createMenu(v.MenuId.ViewTitle,this.viewContextKeyRegistry.getContextKeyService(f));this._menuMap.set(f,y);const b=this.disposableMap.get(f),A=[y,(0,l.toDisposable)(()=>{this._menuMap.delete(f)})];return b?b.pushAll(A):this.addDispose(A),y}doExpand(f){this.behaviorHandler.doExpand(f,this.resizeHandle)}get isExpanded(){return this.behaviorHandler.isExpanded(this.resizeHandle)}handleTabClick(f,c){const y=f.currentTarget.id;y===this.currentContainerId.get()&&!c?this.updateCurrentContainerId(""):this.updateCurrentContainerId(y)}showMoreMenu(f,c){const y=this.menuService.createMenu(this.moreMenuId,this.scopedCtxKeyService),b=(0,v.generateCtxMenu)({menus:y,args:[{lastContainerId:c}]});this.contextMenuRenderer.show({menuNodes:b[1],anchor:{x:f.clientX,y:f.clientY}})}handleDragStart(f,c){f.dataTransfer.setData("containerId",c),this.layoutService.showDropAreaForContainer(c)}handleDrop(f,c){if(f.dataTransfer.getData("containerId")){const y=f.dataTransfer.getData("containerId"),b=this.visibleContainers,A=b.findIndex(D=>y===D.options.containerId),S=b.findIndex(D=>c===D.options.containerId);this.doInsertTab(b,A,S),this.storeState()}}handleDragEnd(f){this.layoutService.hideDropArea()}restoreState(){this.storedState=this.layoutState.getState(_.LAYOUT_STATE.getTabbarSpace(this.location),{});for(const f of this.state.keys())this.storedState[f]&&this.state.set(f,this.storedState[f]);this.visibleContainers.forEach(f=>{this.tryRestoreAccordionSize(f)})}removeContainer(f){const c=this.disposableMap.get(f);c?.dispose(),this.onStateChangeEmitter.fire()}dynamicAddContainer(f,c){this.registerContainer(f,c),this.updateCurrentContainerId(f)}doInsertTab(f,c,y){const b=this.getContainerState(f[y].options.containerId).priority,A=(D,I)=>{const w=this.getContainerState(f[D].options.containerId),T=this.getContainerState(f[I].options.containerId);w.priority=T.priority};let S;if(c>y)for(S=y;S<c;S++)A(S,S+1);else for(S=y;S>c;S--)A(S,S-1);this.getContainerState(f[S].options.containerId).priority=b,this.doChangeViewEmitter.fire()}storeState(){const f={};this.state.forEach((c,y)=>{f[y]=c}),this.layoutState.setState(_.LAYOUT_STATE.getTabbarSpace(this.location),f),this.onStateChangeEmitter.fire()}registerActivateKeyBinding(f,c){const y=f.options,b=y.containerId,A=c?`workbench.view.extension.${b}`:`workbench.view.${b}`,S=new l.DisposableCollection;return S.push(this.commandRegistry.registerCommand({id:A},{execute:({forceShow:D}={})=>{this.behaviorHandler.handleActivateKeyBinding(b,this.currentContainerId.get()||"",I=>this.updateCurrentContainerId(I),D)}})),y.activateKeyBinding&&S.push(this.keybindingRegistry.registerKeybinding({command:A,keybinding:y.activateKeyBinding})),S}registerGlobalToggleCommand(){const f=`activity.bar.toggle.${this.location}`;return this.commandRegistry.registerCommand({id:f},{execute:({containerId:c})=>{this.doToggleTab(c)},isEnabled:()=>this.visibleContainers.length>1}),f}registerVisibleToggleCommand(f,c){const y=`activity.bar.toggle.${f}`;return c.push(this.commandRegistry.registerCommand({id:y},{execute:({forceShow:b}={})=>{this.doToggleTab(f,b)},isToggled:()=>!this.getContainerState(f).hidden,isEnabled:()=>this.getContainerState(f).hidden||this.visibleContainers.length!==1})),y}registerMoreToggleCommand(f,c){const{options:y}=f,{containerId:b}=y,A=`activity.bar.activate.more.${b}`;return c.push(this.commandRegistry.registerCommand({id:A},{execute:({lastContainerId:S})=>{if(this.updateCurrentContainerId(b),S){const D=this.getContainerState(b),I=this.getContainerState(S),w=D.priority;D.priority=I.priority,I.priority=w,this.storeState()}}})),A}getTabInMoreCtxKey(f){return`${f}.isInMore`}doToggleTab(f,c){const y=this.getContainerState(f);c===void 0?y.hidden=!y.hidden:y.hidden=!c,y.hidden&&this.currentContainerId.get()===f&&this.updateCurrentContainerId(this.visibleContainers[0].options.containerId),this.storeState()}shouldExpand(f){const c=this.getContainer(f);return!!(c&&c.options&&c.options.expanded)}onResize(){l.fastdom.measureAtNextFrame(()=>{if(!this.currentContainerId.get()||!this.resizeHandle)return;const f=this.resizeHandle.getSize();f!==this.barSize&&!this.shouldExpand(this.currentContainerId.get())&&(this.prevSize=f,this.onSizeChangeEmitter.fire({size:f}))})}listenCurrentChange(){return(0,s.autorunDelta)(this.currentContainerId,({lastValue:f,newValue:c})=>{this.previousContainerId=f===d?"":f,this.handleChange(c,f)})}handleChange(f,c){var y;if(!this.resizeHandle||f===void 0)return;const{getSize:b,setSize:A,lockSize:S}=this.resizeHandle;this.onCurrentChangeEmitter.fire({previousId:c,currentId:f});const D=this.shouldExpand(f);if(this.shouldExpand(this.previousContainerId)||D)this.behaviorHandler.handleFullExpanded(f,D,this.resizeHandle,{barSize:this.barSize,panelSize:this.panelSize,prevSize:this.prevSize});else if(f){c&&f!==c&&(this.prevSize=b());const I=this.getContainer(f);A(this.prevSize||this.panelSize+this.barSize),S(!!(!((y=I?.options)===null||y===void 0)&&y.noResize)),this.activatedKey.set(f)}else A(this.barSize),S(!0)}tryRestoreAccordionSize(f){this.behaviorHandler.tryRestoreAccordionSize(f,this.layoutService)}};t.TabbarService=u,n.__decorate([(0,o.Autowired)(v.AbstractMenuService),n.__metadata("design:type",v.AbstractMenuService)],u.prototype,"menuService",void 0),n.__decorate([(0,o.Autowired)(v.AbstractContextMenuService),n.__metadata("design:type",v.AbstractContextMenuService)],u.prototype,"ctxMenuService",void 0),n.__decorate([(0,o.Autowired)(v.IMenuRegistry),n.__metadata("design:type",v.IMenuRegistry)],u.prototype,"menuRegistry",void 0),n.__decorate([(0,o.Autowired)(l.CommandRegistry),n.__metadata("design:type",Object)],u.prototype,"commandRegistry",void 0),n.__decorate([(0,o.Autowired)(v.ICtxMenuRenderer),n.__metadata("design:type",v.ICtxMenuRenderer)],u.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,o.Autowired)(l.KeybindingRegistry),n.__metadata("design:type",Object)],u.prototype,"keybindingRegistry",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",l.ViewContextKeyRegistry)],u.prototype,"viewContextKeyRegistry",void 0),n.__decorate([(0,o.Autowired)(l.IContextKeyService),n.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),n.__decorate([(0,o.Autowired)(g.IMainLayoutService),n.__metadata("design:type",Object)],u.prototype,"layoutService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",_.LayoutState)],u.prototype,"layoutState",void 0),n.__decorate([(0,o.Autowired)(m.IProgressService),n.__metadata("design:type",Object)],u.prototype,"progressService",void 0),t.TabbarService=u=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],u)},58296:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewsRegistry=t.ViewsController=t.ViewContentGroups=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(17793);var v;(function(g){g.Open="2_open",g.Debug="4_debug",g.SCM="5_scm",g.More="9_more"})(v||(t.ViewContentGroups=v={}));function m(g,a){var h,d,u,E;const f=(h=g.group)!==null&&h!==void 0?h:v.More,c=(d=a.group)!==null&&d!==void 0?d:v.More;return f!==c?f.localeCompare(c):((u=g.order)!==null&&u!==void 0?u:5)-((E=a.order)!==null&&E!==void 0?E:5)}let p=class{get contents(){const a=this.items.filter(h=>h.visible);return a.length===0&&this.defaultItem?[this.defaultItem.descriptor]:a.map(h=>h.descriptor)}constructor(a){this.id=a,this._onDidChange=new o.Emitter,this.onDidChange=this._onDidChange.event,this.items=[],this.disposables=[],this.contextKeyService.onDidChangeContext(this.onDidChangeContext,this,this.disposables),o.Event.filter(this.viewsRegistry.onDidChangeViewWelcomeContent,h=>h===this.id)(this.onDidChangeViewWelcomeContent,this,this.disposables),this.onDidChangeViewWelcomeContent()}onDidChangeViewWelcomeContent(){const a=this.viewsRegistry.getViewWelcomeContent(this.id);this.items=[];for(const h of a)if(h.when==="default")this.defaultItem={descriptor:h,visible:!0};else{const d=h.when?this.contextKeyService.match(h.when):!0;this.items.push({descriptor:h,visible:d})}this._onDidChange.fire()}onDidChangeContext(){let a=!1;for(const h of this.items){if(!h.descriptor.when||h.descriptor.when==="default")continue;const d=this.contextKeyService.match(h.descriptor.when);h.visible!==d&&(h.visible=d,a=!0)}a&&this._onDidChange.fire()}dispose(){this.disposables.forEach(a=>a.dispose()),this.disposables=[]}};t.ViewsController=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(_.IViewsRegistry),n.__metadata("design:type",Object)],p.prototype,"viewsRegistry",void 0),t.ViewsController=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],p);let s=class{constructor(){this.viewWelcomeContent=new l.SetMap,this._onDidChangeViewWelcomeContent=new o.Emitter,this.onDidChangeViewWelcomeContent=this._onDidChangeViewWelcomeContent.event}registerViewWelcomeContent(a,h){return this.viewWelcomeContent.add(a,h),this._onDidChangeViewWelcomeContent.fire(a),{dispose:()=>{this.viewWelcomeContent.delete(a,h),this._onDidChangeViewWelcomeContent.fire(a)}}}registerViewWelcomeContent2(a,h){const d=new Map;for(const[u,E]of h)this.viewWelcomeContent.add(a,E),d.set(u,(0,o.toDisposable)(()=>{this.viewWelcomeContent.delete(a,E),this._onDidChangeViewWelcomeContent.fire(a)}));return this._onDidChangeViewWelcomeContent.fire(a),d}getViewWelcomeContent(a){const h=[];return this.viewWelcomeContent.forEach(a,d=>h.push(d)),h.sort(m),h}};t.ViewsRegistry=s,t.ViewsRegistry=s=n.__decorate([(0,r.Injectable)()],s)},24429:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeView=t.CSSIcon=void 0,t.renderLabelWithIcons=a;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(48412),_=e(41869),v=e(43718),m=n.__importDefault(e(81388)),p=e(58296);var s;(function(u){u.iconNameSegment="[A-Za-z0-9]+",u.iconNameExpression="[A-Za-z0-9\\-]+",u.iconModifierExpression="~[A-Za-z]+"})(s||(t.CSSIcon=s={}));const g=new RegExp(`(\\\\)?\\$\\((${s.iconNameExpression}(?:${s.iconModifierExpression})?)\\)`,"g");function a(u){const E=new Array;let f,c=0,y=0;for(;(f=g.exec(u))!==null;){y=f.index||0,E.push(u.substring(c,y)),c=(f.index||0)+f[0].length;const[,b,A]=f;E.push(b?`$(${A})`:o.default.createElement("span",{className:(0,_.getExternalIcon)(A)}))}return c<u.length&&E.push(u.substring(c)),E}const h=u=>{const{contents:E}=u,[f,c]=o.default.useState(E.map(A=>A.precondition?!1:null)),y=(0,_.useInjectable)(_.IContextKeyService),b=(0,_.useInjectable)(_.IOpenerService);return o.default.useEffect(()=>{const A=E.map(D=>{if(D.precondition){const I=new Set;return D.precondition.keys().forEach(w=>I.add(w)),I}return null}),S=y.onDidChangeContext(D=>{A.forEach((I,w)=>{I&&D.payload.affectsSome(I)&&c(f.map((T,R)=>R===w?y.match(E[w].precondition):T))})});return()=>S.dispose()},[E]),E.length===0?null:o.default.createElement(o.default.Fragment,null,E.map(({content:A,precondition:S},D)=>{const I=A.split(`
33524
33524
  `),w=[];for(let T of I){if(T=T.trim(),!T)continue;const R=(0,v.parseLinkedText)(T);if(R.nodes.length===1&&typeof R.nodes[0]!="string"){const M=R.nodes[0];w.push(o.default.createElement("div",{key:w.length,title:M.title,className:"button-container"},o.default.createElement(l.Button,{disabled:f[D]===!1,onClick:()=>b.open(M.href)},a(M.label))))}else{const M=R.nodes.map((O,x)=>typeof O=="string"?O:o.default.createElement("a",{key:x,className:(0,r.default)({disabled:O.href.startsWith("command:")&&f[D]===!1}),title:O.title,onClick:()=>b.open(O.href)},O.label));w.push(o.default.createElement("p",{key:w.length},M))}}return o.default.createElement(o.default.Fragment,{key:D},w)}))};function d(u,E){return u.viewId===E.viewId}t.WelcomeView=o.default.memo(u=>{const E=(0,_.useInjectable)(p.ViewsController,[u.viewId]),[f,c]=o.default.useState(E.contents);return o.default.useEffect(()=>{E.onDidChange(()=>{const y=E.contents;c(y)})},[]),f.length?o.default.createElement("div",{className:m.default.welcome},o.default.createElement(h,{contents:f})):null},d)},17793:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(72260),t)},72260:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DROP_VIEW_CONTAINER=t.DROP_EXTEND_VIEW_CONTAINER=t.DROP_PANEL_CONTAINER=t.SUPPORT_ACCORDION_LOCATION=t.ViewCollapseChangedEvent=t.IViewsRegistry=t.TabBarRegistrationEvent=t.MainLayoutContribution=t.IMainLayoutService=void 0;const n=e(41869);t.IMainLayoutService=Symbol("IMainLayoutService"),t.MainLayoutContribution=Symbol("MainLayoutContribution");class r extends n.BasicEvent{}t.TabBarRegistrationEvent=r,t.IViewsRegistry=Symbol("IViewsRegistry");class o extends n.BasicEvent{}t.ViewCollapseChangedEvent=o,t.SUPPORT_ACCORDION_LOCATION=new Set([n.SlotLocation.view,n.SlotLocation.extendView]),t.DROP_PANEL_CONTAINER="drop-panel",t.DROP_EXTEND_VIEW_CONTAINER="drop-extend-view",t.DROP_VIEW_CONTAINER="drop-view"},63067:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(17793),t)},93835:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EmbeddedMarkdownEditorContribution=t.MARKDOWN_EDITOR_COMPONENT_ID=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(57517),v=e(21066),m=e(81001);t.MARKDOWN_EDITOR_COMPONENT_ID="MARKDOWN_EDITOR_COMPONENT_ID";let p=class{registerEditorComponent(g){g.registerEditorComponent({uid:t.MARKDOWN_EDITOR_COMPONENT_ID,component:m.MarkdownEditorComponent,scheme:l.Schemes.file}),g.registerEditorComponentResolver(l.Schemes.file,(a,h)=>{a.uri.path.ext===".md"&&h.push({type:_.EditorOpenType.component,componentId:t.MARKDOWN_EDITOR_COMPONENT_ID,title:(0,l.localize)("editorOpenType.preview"),weight:this.preferenceService.get("application.preferMarkdownPreview")?10:-1})})}};t.EmbeddedMarkdownEditorContribution=p,n.__decorate([(0,r.Autowired)(v.IMarkdownService),n.__metadata("design:type",Object)],p.prototype,"markdownService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),t.EmbeddedMarkdownEditorContribution=p=n.__decorate([(0,l.Domain)(_.BrowserEditorContribution)],p)},81001:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownEditorComponent=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(57517),_=e(21066),v=({resource:m})=>{let p=null;const s=(0,o.useInjectable)(_.IMarkdownService),g=(0,o.useInjectable)(l.IEditorDocumentModelService);return r.default.useEffect(()=>{if(p){const a=new o.Disposable,h=new o.CancellationTokenSource;return a.addDispose({dispose:()=>{h.cancel()}}),g.createModelReference(m.uri,"markdown-preview").then(d=>{if(h.token.isCancellationRequested){d&&d.dispose();return}const u=new o.Emitter;a.addDispose(u),a.addDispose(d.instance.getMonacoModel().onDidChangeContent(E=>{u.fire(d.instance.getText())})),p&&s.previewMarkdownInContainer(d.instance.getText(),p,h.token,void 0,u.event).then(E=>{a.addDispose(E)}),a.addDispose(d)}),()=>{a.dispose()}}}),r.default.createElement("div",{ref:a=>{p=a},style:{height:"100%"}})};t.MarkdownEditorComponent=v},31101:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownModule=t.Markdown=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(21066),_=e(89637);var v=e(6001);Object.defineProperty(t,"Markdown",{enumerable:!0,get:function(){return v.Markdown}});let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IMarkdownService,useClass:_.MarkdownServiceImpl}]}};t.MarkdownModule=m,t.MarkdownModule=m=n.__decorate([(0,r.Injectable)()],m)},86422:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.markdownCss=void 0,t.markdownCss=`
@@ -33717,7 +33717,7 @@ body.vscode-high-contrast #scroll-to-top:hover {
33717
33717
  `),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,c,this.outputLines))),this.doAppend(h(c)),this.shouldLogToBrowser&&console.log(`%c[${this.name}]%c ${c}}`,"background:rgb(50, 150, 250); color: #fff","background: none; color: inherit")}replace(f){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue("")),this.append(f)}clear(){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue((0,_.localize)("output.channel.none","\u8FD8\u6CA1\u6709\u4EFB\u4F55\u8F93\u51FA"))),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,"",this.outputLines)))}setVisibility(f){if(this.visible=f,f){const c=this.layoutService.getTabbarHandler(l.OUTPUT_CONTAINER_ID);if(!c)return;c.isVisible||c.activate()}}async setLanguageId(f){await this.modelReady.promise,this.outputModel.instance.languageId=f}get isVisible(){return this.visible}};t.OutputChannel=u,n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],u.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],u.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.OutputPreferences),n.__metadata("design:type",Object)],u.prototype,"outputPreferences",void 0),n.__decorate([(0,r.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],u.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],u.prototype,"eventBus",void 0),t.OutputChannel=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],u)},83145:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(57517),v=e(28423),m=e(56285);let p=class extends l.WithEventBus{get onDidSelectedChannelChange(){return this.onDidSelectedChannelChangeEmitter.event}constructor(){super(),this.onDidSelectedChannelChangeEmitter=new l.Emitter,this.autoReveal=!0,this.enableSmartScroll=!0,this.channels=(0,v.observableValue)(this,new Map),this.getChannels=(0,v.derived)(this,g=>{const a=this.channels.read(g);return Array.from(a.values())}),this.enableSmartScroll=!!this.preferenceService.get("output.enableSmartScroll"),this.addDispose(this.preferenceService.onPreferenceChanged(g=>{g.preferenceName==="output.enableSmartScroll"&&g.newValue!==this.enableSmartScroll&&(this.enableSmartScroll=g.newValue)}))}updateSelectedChannel(g){this.monacoDispose&&this.monacoDispose.dispose(),this.selectedChannel=g,this.onDidSelectedChannelChangeEmitter.fire(g),this.selectedChannel.modelReady.promise.then(()=>{var a,h;const d=this.selectedChannel.outputModel.instance.getMonacoModel();(a=this.outputEditor)===null||a===void 0||a.open(this.selectedChannel.outputModel),this.enableSmartScroll&&((h=this.outputEditor)===null||h===void 0||h.monacoEditor.revealLine(d.getLineCount()),this.autoReveal=!0),this.monacoDispose=d.onDidChangeContent(()=>{var u;this.autoReveal&&this.enableSmartScroll&&((u=this.outputEditor)===null||u===void 0||u.monacoEditor.revealLine(d.getLineCount(),0))})})}set viewHeight(g){this._viewHeight=g}get viewHeight(){return this._viewHeight}getChannel(g){const a=this.channels.get(),h=a.get(g);if(h)return h;const d=this.config.injector.get(m.OutputChannel,[g]);return a.set(g,d),a.size===1&&this.updateSelectedChannel(d),(0,v.transaction)(u=>{this.channels.set(new Map(a),u)}),d}deleteChannel(g){(0,v.transaction)(a=>{const h=this.channels.get();h.delete(g),this.channels.set(new Map(h),a)})}async initOutputMonacoInstance(g){this.outputEditor&&this.outputEditor.dispose(),this.outputEditor=this.editorCollectionService.createCodeEditor(g,{...(0,_.getSimpleEditorOptions)(),lineDecorationsWidth:20,automaticLayout:!0,readOnly:!0,domReadOnly:!0,extraEditorClassName:"kt-output-monaco",scrollbar:{useShadows:!1}}),this.selectedChannel&&this.updateSelectedChannel(this.selectedChannel),this.addDispose(this.outputEditor.monacoEditor.onMouseUp(a=>{var h,d;if(this.enableSmartScroll){const{range:u}=a.target,E=(d=(h=this.outputEditor)===null||h===void 0?void 0:h.currentDocumentModel)===null||d===void 0?void 0:d.getMonacoModel().getLineCount();u?.startLineNumber<E&&(this.autoReveal=!1),u?.startLineNumber>=E&&(this.autoReveal=!0)}}))}};t.OutputService=p,n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],p.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(_.EditorCollectionService),n.__metadata("design:type",_.EditorCollectionService)],p.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],p.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),t.OutputService=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p)},12481:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelSelector=t.Output=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(30144),v=e(77331),m=e(72260),p=n.__importDefault(e(33395)),s=e(83145),g=({viewState:h})=>{const d=(0,l.useInjectable)(s.OutputService),u=(0,r.useRef)(null),E=(0,l.useInjectable)(m.IMainLayoutService);return(0,r.useEffect)(()=>{d.viewHeight=String(h.height)},[h.height]),(0,r.useEffect)(()=>{if(u.current){const f=E.getTabbarHandler(_.OUTPUT_CONTAINER_ID);if(f?.isActivated())d.initOutputMonacoInstance(u.current);else{const c=f?.onActivate(()=>{d.initOutputMonacoInstance(u.current),c?.dispose()})}}},[]),r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:p.default.output,ref:u}))};t.Output=g;const a=()=>{const h="<no channels>",d=(0,l.useInjectable)(l.AppConfig),u=[],[E,f]=r.default.useState(""),c=(0,l.useInjectable)(s.OutputService);(0,l.useAutorun)(c.getChannels).forEach((A,S)=>{u.push(d.isElectronRenderer?r.default.createElement("option",{value:A.name,key:`${S} - ${A.name}`},A.name):r.default.createElement(o.Option,{value:A.name,key:`${S} - ${A.name}`},A.name))}),(0,r.useEffect)(()=>{const A=c.onDidSelectedChannelChange(S=>{f(S.name)});return()=>{A.dispose()}},[]),u.length===0&&u.push(d.isElectronRenderer?r.default.createElement("option",{key:h,value:h},h):r.default.createElement(o.Option,{key:h,value:h},h));async function b(A){let S;typeof A=="object"?S=A.target.value:S=A,S!==h&&c.updateSelectedChannel(c.getChannel(S))}return d.isElectronRenderer?r.default.createElement(v.Select,{value:E||h,onChange:b},u):r.default.createElement(o.Select,{value:E||h,className:p.default.select,size:"small",maxHeight:c.viewHeight,onChange:b},u)};t.ChannelSelector=a},69178:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentChangeEvent=t.ContentChangeEventPayload=t.ContentChangeType=void 0;const n=e(43718);var r;(function(_){_[_.appendLine=0]="appendLine",_[_.append=1]="append",_[_.clear=2]="clear"})(r||(t.ContentChangeType=r={}));class o{constructor(v,m,p,s){this.channelName=v,this.changeType=m,this.value=p,this.lines=s}}t.ContentChangeEventPayload=o;class l extends n.BasicEvent{}t.ContentChangeEvent=l},31388:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserCtxMenuService=void 0;const n=e(85608),r=e(76003),o=e(43738);let l=class{constructor(){this.visibleObservable=(0,o.observableValue)(this,!1),this.onHide=void 0,this.point=void 0,this.context=void 0,this.menuNodes=[]}get visible(){return this.visibleObservable.get()}show(v){const{anchor:m,onHide:p,args:s,menuNodes:g}=v;if(!Array.isArray(g)||!g.length)return;this.context=s,this.menuNodes.splice(0,this.menuNodes.length,...g);const{x:a,y:h}=m instanceof window.MouseEvent?{x:m.clientX,y:m.clientY}:m;this.onHide=p,this.point={pageX:a,pageY:h},(0,o.transaction)(d=>{this.visibleObservable.set(!0,d)})}hide(v){typeof this.onHide=="function"&&this.onHide(v),this.reset()}reset(){(0,o.transaction)(v=>{this.visibleObservable.set(!1,v)})}};t.BrowserCtxMenuService=l,t.BrowserCtxMenuService=l=n.__decorate([(0,r.Injectable)()],l)},5454:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CtxMenu=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(26460)),l=e(97267),_=e(41869),v=e(25918),m=n.__importDefault(e(17647)),p=e(97222),s=e(42912);e(34728);const g=()=>{const a=(0,_.useInjectable)(p.IBrowserCtxMenu),h=(0,_.useAutorun)(a.visibleObservable),d=(0,_.useInjectable)(s.IIconService),u=r.default.useCallback(()=>{a.hide(!1)},[]),E=r.default.useCallback(()=>{h&&a.hide(!0)},[h]);return r.default.createElement(o.default,{popupPlacement:"bottomLeft",popupVisible:h,action:["contextMenu"],popupAlign:{overflow:{adjustX:1,adjustY:1},offset:[window.scrollX,window.scrollY]},point:a.point||{},popupClassName:"point-popup",builtinPlacements:m.default,popup:r.default.createElement(l.ClickOutside,{mouseEvents:["click","contextmenu"],onOutsideClick:E},r.default.createElement(v.MenuActionList,{data:a.menuNodes,afterClick:u,context:a.context,iconService:d,renderSubMenuTitle:a.renderSubMenuTitle,renderMenuItem:a.renderMenuItem})),alignPoint:!0})};t.CtxMenu=g,t.CtxMenu.displayName="CtxMenu"},54490:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162);let _=class{constructor(){this._contextKeyService=this.globalContextKeyService,this.dialogViewVisibleContext=l.DialogViewVisibleContext.bind(this._contextKeyService)}};t.DialogContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextKeyService",void 0),t.DialogContextKey=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},73618:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162),_=e(25751);let v=class{registerCommands(p){p.registerCommand({id:o.DIALOG_COMMANDS.ENSURE.id,label:(0,o.localize)("dialog.ensure")},{execute:()=>{const s=this.dialogService.getButtons();s&&s.length>0&&this.dialogService.hide(s?.[s.length-1])}})}registerKeybindings(p){p.registerKeybinding({command:o.DIALOG_COMMANDS.ENSURE.id,keybinding:"enter",when:`${l.DialogViewVisibleContext.raw}`})}};t.DialogContribution=v,n.__decorate([(0,r.Autowired)(_.IDialogService),n.__metadata("design:type",Object)],v.prototype,"dialogService",void 0),t.DialogContribution=v=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution)],v)},16417:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(25751),_=e(54490);let v=class extends l.AbstractMessageService{constructor(){super(...arguments),this._visible=!1,this.message="",this.title="",this.closable=!0,this.props={},this.onDidDialogVisibleChangeEmitter=new o.Emitter}get onDidDialogVisibleChange(){return this.onDidDialogVisibleChangeEmitter.event}get visible(){return this._visible}open({message:p,type:s,buttons:g,options:a,closable:h=!0,props:d}){return this.deferred=new o.Deferred,this.type=s,this.message=p,this.detail=a?.detail,this._visible=!0,this.closable=h,this.props=d??{},this.buttons=g,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!0),this.deferred.promise}hide(p){var s;this._visible=!1,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!1),(s=this.deferred)===null||s===void 0||s.resolve(p)}reset(){this.type=void 0,this.message="",this.buttons=[],this.props={}}getMessage(){return this.message}getDetail(){return this.detail}getType(){return this.type}getIcon(){switch(this.type){case o.MessageType.Error:return{color:"var(--notificationsErrorIcon-foreground)",className:"close-circle"};case o.MessageType.Info:return{color:"var(--notificationsInfoIcon-foreground)",className:"info-circle"};case o.MessageType.Warning:return{color:"var(--notificationsWarningIcon-foreground)",className:"question-circle"};default:break}}getButtons(){return this.buttons}getProps(){return this.props}};t.DialogService=v,n.__decorate([(0,r.Autowired)(_.DialogContextKey),n.__metadata("design:type",_.DialogContextKey)],v.prototype,"contextkeyService",void 0),t.DialogService=v=n.__decorate([(0,r.Injectable)()],v)},21705:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dialog=void 0;const r=e(85608).__importStar(e(14041)),o=e(97267),l=e(41869),_=e(25751),v=()=>{var m;const p=(0,l.useInjectable)(_.IDialogService),s=p.getIcon(),g=p.getMessage(),a=p.getDetail(),h=p.getButtons(),d=p.getType(),[u,E]=(0,r.useState)(p.visible),f=p.getProps(),c=(0,r.useCallback)(()=>{p.reset()},[p]),y=(0,r.useCallback)(()=>{p.hide()},[p]),b=(0,r.useCallback)(A=>{p.hide(A)},[p]);return(0,r.useEffect)(()=>{const A=p.onDidDialogVisibleChange(S=>{E(S)});return()=>{A.dispose()}},[]),r.default.createElement(o.Dialog,{visible:u,onClose:y,closable:(m=p.closable)!==null&&m!==void 0?m:!0,afterClose:c,message:g,detail:a,type:"confirm",messageType:d,icon:s,keyboard:!0,buttons:h?h.map((A,S)=>r.default.createElement(o.Button,{size:"large",onClick:()=>b(A),key:A,type:S===h.length-1?"primary":"secondary"},l.strings.mnemonicButtonLabel(A,!0))):r.default.createElement(o.Button,{size:"large",onClick:y,type:"primary"},(0,l.localize)("dialog.confirm")),...f})};t.Dialog=v},96194:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverlayModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(97222),_=e(25751),v=e(31388),m=e(54490),p=e(73618),s=e(16417),g=e(38543),a=e(75124);let h=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:m.DialogContextKey,useClass:m.DialogContextKey},{token:_.IDialogService,useClass:s.DialogService},{token:_.IMessageService,useClass:a.MessageService},{token:l.IBrowserCtxMenu,useClass:v.BrowserCtxMenuService},p.DialogContribution],this.isOverlay=!0,this.component=g.Overlay}};t.OverlayModule=h,t.OverlayModule=h=n.__decorate([(0,r.Injectable)()],h)},38543:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Overlay=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(5454),_=e(21705);e(90311);const v=()=>{const m=(0,o.useInjectable)(o.ComponentRegistry),p=(0,o.useInjectable)(o.IClientApp),[s,g]=r.default.useState([]),a=(0,o.useInjectable)(o.AppConfig);return r.default.useEffect(()=>{p.appInitialized.promise.then(()=>{var h;if(!((h=a.layoutConfig[o.SlotLocation.extra])===null||h===void 0)&&h.modules){const d=[];a.layoutConfig[o.SlotLocation.extra].modules.forEach(u=>{const E=m.getComponentRegistryInfo(u);E&&(E.views||[]).forEach(f=>{f.component&&d.push(f.component)})}),g(d)}})},[]),r.default.createElement("div",{id:"ide-overlay",className:"ide-overlay"},r.default.createElement(_.Dialog,null),r.default.createElement(l.CtxMenu,null),r.default.createElement(o.ComponentRenderer,{Component:s}))};t.Overlay=v},75124:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MessageService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(84605),v=e(41869),m=e(43718),p=e(25751);let s=n=class extends p.AbstractMessageService{constructor(){super(...arguments),this.showTime=0}open({type:a,buttons:h,from:d,closable:u=!0,message:E}){if(!E)return Promise.resolve(void 0);let f=E;if(Date.now()-this.showTime<n.SAME_MESSAGE_DURATION_MS&&typeof f=="string"&&this.preMessage===f)return Promise.resolve(void 0);this.preMessage=typeof f=="string"&&f,this.showTime=Date.now(),typeof E=="string"&&E.length>p.MAX_MESSAGE_LENGTH&&(f=`${E.substr(0,p.MAX_MESSAGE_LENGTH)}...`);const c=d&&typeof d=="string"?`${(0,m.localize)("component.message.origin")}: ${d}`:"",y=(0,m.uuid)(),b=S=>{(0,_.parseWithoutEscape)(S)};return(0,l.open)((0,v.toMarkdown)(f,this.openerService,{walkTokens:b}),a,u,y,h,c,n.DURATION[a])||Promise.resolve(void 0)}hide(){l.notification.destroy()}};t.MessageService=s,s.SAME_MESSAGE_DURATION_MS=3e3,s.DURATION={[m.MessageType.Info]:15,[m.MessageType.Warning]:18,[m.MessageType.Error]:20},r.__decorate([(0,o.Autowired)(v.IOpenerService),r.__metadata("design:type",Object)],s.prototype,"openerService",void 0),t.MessageService=s=n=r.__decorate([(0,o.Injectable)()],s)},25751:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IOpenDialogOptions=t.ISaveDialogOptions=t.IWindowDialogService=t.AbstractMessageService=t.IDialogService=t.MAX_MESSAGE_LENGTH=t.IMessageService=void 0;const n=e(43718);t.IMessageService=Symbol("IMessageService"),t.MAX_MESSAGE_LENGTH=1e3,t.IDialogService=Symbol("IDialogService");class r{info(v,m,p,s){return this.open({message:v,type:n.MessageType.Info,buttons:m,closable:p,props:s})}warning(v,m,p,s){return this.open({message:v,type:n.MessageType.Warning,buttons:m,closable:p,props:s})}error(v,m,p,s){return this.open({message:v,type:n.MessageType.Error,buttons:m,closable:p,props:s})}}t.AbstractMessageService=r,t.IWindowDialogService=Symbol("IWindowDialogService");var o;(function(_){function v(m){return"saveLabel"in m||"showNameInput"in m||"defaultFileName"in m}_.is=v})(o||(t.ISaveDialogOptions=o={}));var l;(function(_){function v(m){return"canSelectFiles"in m||"canSelectFolders"in m||"canSelectMany"in m||"openLabel"in m}_.is=v})(l||(t.IOpenDialogOptions=l={}))},72665:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(25751),t)},11461:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractResourcePreferenceProvider=t.OVERRIDE_PROPERTY_PATTERN=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=n.__importDefault(e(12784)),l=e(76003),_=e(41869),v=e(57517),m=e(14951),p="\\[(.*)\\]$";t.OVERRIDE_PROPERTY_PATTERN=new RegExp(p);let s=class extends _.PreferenceProvider{constructor(){super(),this.preferences={default:{},languageSpecific:{}},this.preferenceThrottler=new _.Throttler,this.preferenceTasks=[],this.debouncedReadPreferences=(0,o.default)(()=>{this.readPreferences()},100),this.loaded=!1,this.listen()}listen(){if(this.fileSystem.handlesScheme(_.Schemes.file)&&this.fileSystem.handlesScheme(_.Schemes.userStorage))this.init();else{const a=this.fileSystem.onFileProviderChanged(h=>{this.fileSystem.handlesScheme(_.Schemes.file)&&this.fileSystem.handlesScheme(_.Schemes.userStorage)&&(this.init(),a.dispose())})}}async init(){this.readPreferences().then(()=>this._ready.resolve()).catch(()=>this._ready.resolve());const a=this.getUri(),h=await this.fileSystem.watchFileChanges(a.parent);this.toDispose.push(h),this.toDispose.push(this.eventBus.on(v.EditorDocumentModelSavedEvent,d=>{d.payload.toString()===a.toString()&&this.debouncedReadPreferences()})),h.onFilesChanged(d=>{if(d.find(E=>E.uri.startsWith(a.parent.toString())))return this.debouncedReadPreferences()}),this.toDispose.push(_.Disposable.create(()=>this.reset()))}getConfigUri(a){return a?this.contains(a)?this.getUri():void 0:this.getUri()}contains(a){if(!a)return!0;const h=this.getDomain();if(!h)return!0;const d=new _.URI(a).path;return h.some(u=>new _.URI(u).path.relativity(d)>=0)}getPreferences(a,h){return this.loaded&&this.contains(a)?this.getOnePreference(h):void 0}getLanguagePreferences(a){return this.loaded&&this.contains(a)?this.preferences.languageSpecific:void 0}getOnePreference(a){return a?this.preferences.languageSpecific[a]||{}:this.preferences.default}async resolvePreferenceTasks(a){const h=this.getUri();this.resource=this.fileSystem.getFileStat(h.toString());let d=await this.resource,u=(await this.readContents()||"").trim();for(const E of a){const{path:f,value:c}=E;if((!u||f.length===0)&&(0,_.isUndefined)(c))continue;const y={tabSize:2,insertSpaces:!0,eol:""},b=r.modify(u,f,c,{formattingOptions:y});u=r.applyEdits(u,b)}try{return d||(d=await this.fileSystem.createFile(h.toString())),await this.fileSystem.setContent(d,u),await this.readPreferences(u),!0}catch(E){return this.logger.error(`${E.toString()}`),!1}}doSetPreferenceTask(){const a=this.preferenceTasks.slice(0);return this.preferenceTasks=[],this.resolvePreferenceTasks(a)}async doSetPreference(a,h,d,u){if(!this.contains(d))return!1;const E=this.getPath(a,u);return E?(this.preferenceTasks.push({path:E,key:a,value:h}),await this.preferenceThrottler.queue(this.doSetPreferenceTask.bind(this))):!1}getPath(a,h){return h?[`[${h}]`,a]:[a]}async readPreferences(a){const h=a||await this.readContents();this.loaded=!(0,_.isUndefined)(h);const d=h?this.getParsedContent(h):{default:{},languageSpecific:{}};this.handlePreferenceChanges(d)}async readContents(){const a=this.getUri();try{const{content:h}=await this.fileSystem.readFile(a.toString());return h.toString()}catch{if(this.appConfig.useVSCodeWorkspaceConfiguration&&a.scheme===_.Schemes.file){const d=a.parent.parent.resolve(_.VSCODE_WORKSPACE_CONFIGURATION_DIR_NAME).resolve(a.displayName);try{const{content:u}=await this.fileSystem.readFile(d.toString());return u.toString()}catch{return}}return}}getParsedContent(a){const h=this.parse(a),d={default:{},languageSpecific:{}};if(typeof h!="object")return d;for(const u of Object.keys(h)){const E=h[u];if(t.OVERRIDE_PROPERTY_PATTERN.test(u)){const f=u.match(t.OVERRIDE_PROPERTY_PATTERN)[1];d.languageSpecific[f]=d.languageSpecific[f]||{};for(const c in E){const y=E[c];d.languageSpecific[f][`${c}`]=y}}else d.default[u]=E}return d}validate(a,h){return this.configurations.getPath(this.getUri())!==this.configurations.getPaths()[0]?!0:(0,_.isUndefined)(h)||this.schemaProvider.validate(a,h).valid}parse(a){if(a=a.trim(),!a)return;const h=r.stripComments(a);return r.parse(h)}handlePreferenceChanges(a){const h=Object.assign({},this.preferences);this.preferences=a;const d=this.collectChanges(this.preferences,h);(Object.keys(d.default).length>0||Object.keys(d.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(d)}reset(){const a=this.preferences;this.preferences={default:{},languageSpecific:{}};const h=this.collectChanges(this.preferences,a);(Object.keys(h.default).length>0||Object.keys(h.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(h)}collectChanges(a,h){const d={default:this.collectOneChanges(a.default,h.default),languageSpecific:{}},u=new Set([...Object.keys(a.languageSpecific),...Object.keys(h.languageSpecific)]);for(const E of u){const f=this.collectOneChanges(a.languageSpecific[E],h.languageSpecific[E]);Object.keys(f).length>0&&(d.languageSpecific[E]=f)}return d}collectOneChanges(a,h){const d=new Set([...Object.keys(h||{}),...Object.keys(a||{})]),u={},E=this.getUri();for(const f of d){const c=h[f],y=a[f],b=this.schemaProvider.getCombinedSchema().properties[f];if(b){const A=b.scope;if(!this.schemaProvider.isValidInScope(f,this.getScope())){this.logger.warn(`Preference ${f} in ${E} can only be defined in scopes: ${_.PreferenceScope.getScopeNames(A).join(", ")}.`);continue}}((0,_.isUndefined)(y)&&c!==y||(0,_.isUndefined)(c)&&y!==c||!_.JSONUtils.deepEqual(c,y))&&(u[f]={preferenceName:f,newValue:y,oldValue:c,scope:this.getScope(),domain:this.getDomain()})}return u}};t.AbstractResourcePreferenceProvider=s,n.__decorate([(0,l.Autowired)(_.PreferenceSchemaProvider),n.__metadata("design:type",_.PreferenceSchemaProvider)],s.prototype,"schemaProvider",void 0),n.__decorate([(0,l.Autowired)(_.PreferenceConfigurations),n.__metadata("design:type",_.PreferenceConfigurations)],s.prototype,"configurations",void 0),n.__decorate([(0,l.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileSystem",void 0),n.__decorate([(0,l.Autowired)(_.AppConfig),n.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(_.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,l.Autowired)(_.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),t.AbstractResourcePreferenceProvider=s=n.__decorate([(0,l.Injectable)(),n.__metadata("design:paramtypes",[])],s)},91825:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FolderFilePreferenceProvider=t.FolderFilePreferenceProviderOptions=t.FolderFilePreferenceProviderFactory=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(10560),_=e(11461);t.FolderFilePreferenceProviderFactory=Symbol("FolderFilePreferenceProviderFactory"),t.FolderFilePreferenceProviderOptions=Symbol("FolderFilePreferenceProviderOptions");let v=class extends _.AbstractResourcePreferenceProvider{get folderUri(){return this._folderUri||(this._folderUri=new o.URI(this.options.folder.uri)),this._folderUri}getUri(){return this.options.configUri}getScope(){return this.workspaceService.isMultiRootWorkspaceOpened?o.PreferenceScope.Folder:o.PreferenceScope.Workspace}getDomain(){return[this.folderUri.toString()]}};t.FolderFilePreferenceProvider=v,n.__decorate([(0,r.Autowired)(t.FolderFilePreferenceProviderOptions),n.__metadata("design:type",Object)],v.prototype,"options",void 0),n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],v.prototype,"workspaceService",void 0),t.FolderFilePreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},16814:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldersPreferencesProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(79929),_=e(51500),v=e(91825);let m=class extends o.PreferenceProvider{constructor(){super(),this.providers=new Map,this.init()}async init(){await this.workspaceService.roots,this.updateProviders(),this.workspaceService.onWorkspaceChanged(()=>this.updateProviders());const s=[];for(const g of this.providers.values())s.push(g.ready.catch(a=>this.logger.error(a)));s.length>0?Promise.all(s).then(()=>this._ready.resolve()):this._ready.resolve()}updateProviders(){const s=this.workspaceService.tryGetRoots(),g=new Set(this.providers.keys());for(const a of s){const h=new o.URI(a.uri);for(const d of this.configurations.getPaths())for(const u of[...this.configurations.getSectionNames(),this.configurations.getConfigName()]){const E=this.configurations.createUri(h,d,u),f=E.toString();if(g.delete(f),!this.providers.has(f)){const c=this.createProvider({folder:a,configUri:E});this.providers.set(f,c)}}}for(const a of g){const h=this.providers.get(a);h&&(this.providers.delete(a),h.dispose())}}getConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri(s);if(this.configurations.isConfigUri(a))return a}}getContainingConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri();if(this.configurations.isConfigUri(a)&&g.contains(s))return a}}getDomain(){return this.workspaceService.tryGetRoots().map(s=>s.uri)}doResolve(s,g,a){const h={},d=this.groupProvidersByConfigName(g);for(const u of d.values())for(const E of u){const{value:f,configUri:c}=E.resolve(s,g,a);if(c&&f!==void 0){h.configUri=c,h.value=o.PreferenceProvider.merge(h.value,f);break}}return h}getPreferences(s,g){let a;const h=this.groupProvidersByConfigName(s);for(const d of h.values())for(const u of d)if(u.getConfigUri(s)){const E=u.getPreferences(void 0,g);E&&(a=o.PreferenceProvider.merge(a,E));break}return a}getLanguagePreferences(s){let g;const a=this.groupProvidersByConfigName(s);for(const h of a.values())for(const d of h)if(d.getConfigUri(s)){const u=d.getLanguagePreferences();u&&(g=o.PreferenceProvider.merge(g,u));break}return g}async doSetPreference(s,g,a,h){const d=s.split(".",1)[0],u=this.configurations.isSectionName(d)?d:this.configurations.getConfigName(),E=this.getFolderProviders(a);let f;for(const c of E){if(f===void 0){const y=c.getConfigUri(a);y&&(f=this.configurations.getPath(y))}if(this.configurations.getName(c.getConfigUri())===u){if(c.getConfigUri(a)){if(await c.setPreference(s,g,a,h))return!0}else if(this.configurations.getPath(c.getConfigUri())===f){if(await c.setPreference(s,g,a,h))return!0}else if(await c.setPreference(s,g,a,h))return!0}}return!1}groupProvidersByConfigName(s){const g=new Map,a=this.getFolderProviders(s);for(const h of[this.configurations.getConfigName(),...this.configurations.getSectionNames()]){const d=[];for(const u of a)this.configurations.getName(u.getConfigUri())===h&&d.push(u);g.set(h,d)}return g}getFolderProviders(s){if(!s)return[];const g=new o.URI(s).path;let a={relativity:Number.MAX_SAFE_INTEGER};const h=new Map;for(const d of this.providers.values()){const u=d.folderUri.toString(),E=h.get(u)||[];E.push(d),h.set(u,E);const f=d.folderUri.path.relativity(g);f>=0&&a.relativity>f&&(a={relativity:f,uri:u})}return a.uri&&h.get(a.uri)||[]}createProvider(s){const g=this.FolderFilePreferenceProviderFactory(s);return this.toDispose.push(g),this.toDispose.push(g.onDidPreferencesChanged(a=>{this.emitPreferencesChangedEvent(a)})),g}};t.FoldersPreferencesProvider=m,n.__decorate([(0,r.Autowired)(v.FolderFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"FolderFilePreferenceProviderFactory",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceConfigurations),n.__metadata("design:type",o.PreferenceConfigurations)],m.prototype,"configurations",void 0),n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],m.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.FoldersPreferencesProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},58408:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferencesModule=void 0,t.injectFolderPreferenceProvider=E,t.injectWorkspaceFilePreferenceProvider=f,t.injectPreferenceProviders=c,t.createPreferenceProviders=y;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),_=e(83569),v=e(91825),m=e(16814),p=e(65146),s=e(90184),g=e(76773),a=e(25947),h=e(46392),d=e(58705);let u=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=_.SettingContribution,this.providers=[...y(),{token:_.IUserStorageService,useClass:a.UserStorageServiceImpl},{token:l.IPreferenceSettingsService,useClass:s.PreferenceSettingsService},p.PreferenceContribution,a.UserStorageContribution],this.preferences=c}};t.PreferencesModule=u,t.PreferencesModule=u=n.__decorate([(0,r.Injectable)()],u);function E(b){b.addProviders({token:v.FolderFilePreferenceProviderFactory,useFactory:()=>A=>{const S=b.get(l.PreferenceConfigurations),D=S.getName(A.configUri),I=b.createChild([{token:v.FolderFilePreferenceProviderOptions,useValue:A}],{dropdownForTag:!0,tag:D});return S.isConfigUri(A.configUri)?(I.addProviders({token:v.FolderFilePreferenceProvider,useClass:v.FolderFilePreferenceProvider}),I.get(v.FolderFilePreferenceProvider)):I.get(v.FolderFilePreferenceProvider,{tag:D,multiple:!0})}})}function f(b){b.addProviders({token:h.WorkspaceFilePreferenceProviderFactory,useFactory:()=>A=>b.createChild([{token:h.WorkspaceFilePreferenceProviderOptions,useValue:A},{token:h.WorkspaceFilePreferenceProvider,useClass:h.WorkspaceFilePreferenceProvider}]).get(h.WorkspaceFilePreferenceProvider)})}function c(b){E(b),f(b)}function y(){return[{token:l.PreferenceProvider,tag:l.PreferenceScope.Folder,useClass:m.FoldersPreferencesProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.Workspace,useClass:d.WorkspacePreferenceProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.User,useClass:g.UserPreferenceProvider}]}},65146:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceContribution=t.PREFERENCE_COMMANDS=t.PreferenceContextMenu=t.PrefResourceProvider=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=e(76003),l=e(41869),_=e(93899),v=e(57517),m=e(42933),p=e(83569),s=e(90184),g=e(26551),a=e(99187),h=e(76773),d=e(58705),u="pref-preview",{addElement:E}=l.arrays;let f=class extends l.WithEventBus{constructor(){super(),this.scheme=p.PREF_SCHEME}provideResource(S){return{supportsRevive:!0,name:(0,l.localize)("preference.tab.name"),icon:(0,l.getIcon)("setting"),uri:S}}provideResourceSubname(S,D){return null}async shouldCloseResource(S,D){return!0}};t.PrefResourceProvider=f,t.PrefResourceProvider=f=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],f);var c;(function(A){A.OPEN="1_open"})(c||(t.PreferenceContextMenu=c={}));var y;(function(A){const S="preference";A.OPEN_USER_SETTING_FILE={id:"preference.open.user",label:"%preference.editorTitle.openUserSource%",category:S},A.OPEN_WORKSPACE_SETTING_FILE={id:"preference.open.workspace",label:"%preference.editorTitle.openWorkspaceSource%",category:S},A.OPEN_SOURCE_FILE={id:"preference.open.source",label:"%preference.editorTitle.openSource%",category:S},A.PREFERENCE_INPUT_FOCUS={id:"preference.input.focus",category:S}})(y||(t.PREFERENCE_COMMANDS=y={}));let b=class{constructor(){this.settingGroupsWillRegister=s.defaultSettingGroup,this.settingSectionsWillRegister=s.defaultSettingSections}onStart(){this.saveSettings(),this.handleSettingGroups(),this.handleSettingSections(),this.registerSettings(),this.registerSettingSections()}registerCommands(S){S.registerCommand(l.COMMON_COMMANDS.OPEN_PREFERENCES,{execute:async D=>{await this.openPreferences(D),this.preferenceService.focusInput()}}),S.registerCommand(l.COMMON_COMMANDS.LOCATE_PREFERENCES,{execute:async D=>(await this.openPreferences(),await this.preferenceService.scrollToGroup(D))}),S.registerCommand(y.OPEN_USER_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.User)}}),S.registerCommand(y.OPEN_WORKSPACE_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.Workspace)}}),S.registerCommand(y.OPEN_SOURCE_FILE,{execute:async(D,I)=>{!D||typeof D!="number"?this.openResource():this.openResource(D,I)}}),S.registerCommand(y.PREFERENCE_INPUT_FOCUS,{execute:()=>{this.preferenceService.focusInput()}})}registerMenus(S){S.registerMenuItem(_.MenuId.SettingsIconMenu,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,group:c.OPEN}),S.registerMenuItem(_.MenuId.EditorTitle,{command:y.OPEN_SOURCE_FILE.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${p.PREF_SCHEME}`}),S.registerMenuItem(_.MenuId.EditorTitle,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /settings.json/"})}registerKeybindings(S){S.registerKeybinding({command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,keybinding:"ctrlcmd+,"}),S.registerKeybinding({command:y.PREFERENCE_INPUT_FOCUS.id,keybinding:"ctrlcmd+f",when:"resourceScheme == pref"})}handleSettingGroups(){for(const S of this.contributions.getContributions())S.handleSettingGroup&&(this.settingGroupsWillRegister=S.handleSettingGroup(this.settingGroupsWillRegister))}handleSettingSections(){for(const S of this.contributions.getContributions())S.handleSettingSections&&(this.settingSectionsWillRegister=S.handleSettingSections({...this.settingSectionsWillRegister}))}saveSettings(){for(const S of this.contributions.getContributions())S.registerSetting&&S.registerSetting({registerSettingGroup:D=>E(this.settingGroupsWillRegister,D),registerSettingSection:(D,I)=>((T=>Object.keys(this.settingSectionsWillRegister).includes(T))(D)||(this.settingSectionsWillRegister[D]=[]),E(this.settingSectionsWillRegister[D],I))})}registerSettings(){this.settingGroupsWillRegister.forEach(S=>{this.preferenceService.registerSettingGroup(S)})}registerSettingSections(){Object.keys(this.settingSectionsWillRegister).forEach(S=>{this.settingSectionsWillRegister[S].forEach(D=>{this.preferenceService.registerSettingSection(S,D)})})}async openPreferences(S,D){await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI("/").withScheme(p.PREF_SCHEME),{preview:!1}),(0,l.isString)(S)?this.preferenceService.search(S):(0,l.isString)(D)&&this.preferenceService.scrollToPreference(D)}async openResource(S,D){var I,w,T;const R=await this.preferenceService.getCurrentPreferenceUrl(S),M=await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI(R),{focus:!0,groupIndex:this.workbenchEditorService.currentEditorGroup.index});if(M&&D){const O=(I=this.workbenchEditorService.editorGroups.find(x=>x.name===M.groupId))===null||I===void 0?void 0:I.currentEditor;if(O){const{_commandService:x}=O.monacoEditor;let k=O.monacoEditor.getValue(),F,L,N,U;const{index:W}=k.match(new RegExp(`\\"${D}\\"`))||{};if(W&&W>=0)L=((w=k.slice(0,W).match(new RegExp("\\n","g")))===null||w===void 0?void 0:w.length)||0,L>0&&(F=k.split(`
33718
33718
  `),N=F[L],U=L);else{const $={tabSize:2,insertSpaces:!0,eol:""},Z=r.modify(k,[D],"",{formattingOptions:$}),G=r.applyEdits(k,Z);O.monacoEditor.setValue(G),k=G,L=((T=k.slice(0,W).match(new RegExp("\\n","g")))===null||T===void 0?void 0:T.length)||-1,L>1&&(F=k.split(`
33719
33719
  `),N=F[L-1],U=L-1)}if(!(N&&U))return;const j=`\\s+\\"${D}\\":\\s?["|{|t|f|[]`,Q=new RegExp(j,"g").exec(N);if(Q){const $=Q[0].slice(-1)==='"';O.monacoEditor.setPosition({lineNumber:U+1,column:Q[0].length+1}),setTimeout(()=>{O.monacoEditor.revealPositionInCenter({lineNumber:U+1,column:Q[0].length+1},1)}),$&&await x.executeCommand("editor.action.triggerSuggest")}}}}initialize(){this.schemaProvider.onDidPreferenceSchemaChanged(()=>{this.registerSchema(this.schemaRegistry)})}registerSchema(S){S.registerSchema("vscode://schemas/settings/user",this.schemaProvider.getCombinedSchema(),["settings.json",h.USER_PREFERENCE_URI.toString()])}registerResource(S){S.registerResourceProvider(this.prefResourceProvider)}registerEditorComponent(S){S.registerEditorComponent({component:a.PreferenceView,uid:u,scheme:p.PREF_SCHEME}),S.registerEditorComponentResolver(p.PREF_SCHEME,(D,I,w)=>{w([{type:v.EditorOpenType.component,componentId:u}])})}registerEditorFeature(S){S.registerEditorFeatureContribution({contribute:D=>this.injector.get(g.EditPreferenceDecorationsContribution,[D]).contribute()})}};t.PreferenceContribution=b,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],b.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],b.prototype,"schemaProvider",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceProvider,{tag:l.PreferenceScope.Workspace}),n.__metadata("design:type",d.WorkspacePreferenceProvider)],b.prototype,"workspacePreferenceProvider",void 0),n.__decorate([(0,o.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],b.prototype,"filesystem",void 0),n.__decorate([(0,o.Autowired)(f),n.__metadata("design:type",f)],b.prototype,"prefResourceProvider",void 0),n.__decorate([(0,o.Autowired)(l.CommandService),n.__metadata("design:type",Object)],b.prototype,"commandService",void 0),n.__decorate([(0,o.Autowired)(l.IJSONSchemaRegistry),n.__metadata("design:type",Object)],b.prototype,"schemaRegistry",void 0),n.__decorate([(0,o.Autowired)(l.IPreferenceSettingsService),n.__metadata("design:type",s.PreferenceSettingsService)],b.prototype,"preferenceService",void 0),n.__decorate([(0,o.Autowired)(p.SettingContribution),n.__metadata("design:type",Object)],b.prototype,"contributions",void 0),n.__decorate([(0,o.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],b.prototype,"workbenchEditorService",void 0),t.PreferenceContribution=b=n.__decorate([(0,l.Domain)(l.CommandContribution,l.KeybindingContribution,l.ClientAppContribution,v.BrowserEditorContribution,_.MenuContribution,l.JsonSchemaContribution)],b)},90184:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.defaultSettingSections=t.defaultSettingGroup=t.PreferenceSettingsService=void 0;const r=e(85608),o=e(76003),l=e(40396),_=e(41869),v=e(14951),m=e(83569),p=e(65146),{addElement:s}=_.arrays;class g{constructor(){this.version=new Map}get(d){return this.version.get(d)||0}increase(d){this.version.set(d,(this.version.get(d)||0)+1)}}let a=n=class extends _.Disposable{get currentScope(){return this._currentScope.id}get currentSelectId(){return this._currentSelectId}set currentSelectId(d){this._currentSelectId=d,this.emitter.emit("currentSelectIdChange",d)}constructor(){super(),this.emitter=this.registerDispose(new l.EventEmitter),this.currentSearch="",this.tabIndex=0,this.tabList=[_.WorkspaceScope,_.UserScope],this._currentScope=this.tabList[0],this._currentSelectId="",this.settingsGroups=[],this.settingsSections=new Map,this.settingsSectionsVersioned=new g,this.enumLabels=new Map,this.cachedGroupSection=new Map,this.onDidEnumLabelsChangeDispatcher=this.registerDispose(new _.Dispatcher),this.openJSON=(u,E)=>{this.commandService.executeCommand(p.PREFERENCE_COMMANDS.OPEN_SOURCE_FILE.id,u,E)},this.handleListHandler=u=>{this._listHandler=u},this.handleTreeHandler=u=>{this._treeHandler=u},this.search=u=>{this.doSearch(u)},this._onFocus=new _.Emitter,this.setEnumLabels("general.language",new Proxy({},{get:(u,E)=>{var f;return(f=(0,_.getAvailableLanguages)().find(c=>c.languageId===E))===null||f===void 0?void 0:f.localizedLanguageName}})),this.setEnumLabels("files.eol",{"\n":"LF","\r\n":"CRLF",auto:"auto"});const d=this.preferenceService.get("settings.userBeforeWorkspace",!1);d&&(this.updateTabList(d),this._currentScope=this.tabList[this.tabIndex]),this.addDispose([this.preferenceService.onSpecificPreferenceChange("settings.userBeforeWorkspace",u=>{this.updateTabList(u.newValue)}),this.emitter.on("tabListChange",()=>{this.updateCurrentScope()}),this.emitter.on("tabIndexChange",()=>{this.updateCurrentScope()})])}updateTabList(d){let u;d?u=[_.UserScope,_.WorkspaceScope]:u=[_.WorkspaceScope,_.UserScope],this.tabList=u,this.emitter.emit("tabListChange")}updateCurrentScope(){this._currentScope=this.tabList[this.tabIndex],this.emitter.emit("currentScopeChange")}scrollToGroup(d){d&&(this.currentSelectId="group:"+d)}scrollToSection(d){d&&(this.currentSelectId="section:"+d)}scrollToPreference(d){d&&(this.currentSelectId="preference:"+d)}updateTabIndex(d){this.tabIndex=d,this.emitter.emit("tabIndexChange")}selectScope(d){let u=this.tabList.findIndex(E=>E.id===d);u===-1&&(u=0),this.updateTabIndex(u)}onDidEnumLabelsChange(d){return this.onDidEnumLabelsChangeDispatcher.on(d)}isContainSearchValue(d,u){return d.toLocaleLowerCase().indexOf(u.toLocaleLowerCase())>-1}shouldHiddenInScope(d,u){return Array.isArray(d.hiddenInScope)&&d.hiddenInScope.includes(u)}doSearch(d){d?this.currentSearch=d:this.currentSearch="",this.emitter.emit("currentSearchChange")}async setPreference(d,u,E){await this.preferenceService.set(d,u,E)}get listHandler(){return this._listHandler}get treeHandler(){return this._treeHandler}getSettingGroups(d,u){return this.settingsGroups.slice().filter(f=>this.getResolvedSections(f.id,d,u).length>0)}async hasThisScopeSetting(d){const u=await this.getPreferenceUrl(d);return u?await this.fileServiceClient.access(u):void 0}registerSettingGroup(d){const u=s(this.settingsGroups,{...d,title:(0,_.replaceLocalizePlaceholder)(d.title)||d.title});return this.emitter.emit("settingsGroupsChange"),_.Disposable.create(()=>{u.dispose(),this.emitter.emit("settingsGroupsChange")})}registerSettingSection(d,u){this.settingsSections.has(d)||this.settingsSections.set(d,[]),this.cachedGroupSection.clear();const E=s(this.settingsSections.get(d),u);return this.settingsSectionsVersioned.increase(d),this.emitter.emit("settingsSectionsChange",d),{dispose:()=>{E.dispose(),this.settingsSectionsVersioned.increase(d),this.emitter.emit("settingsSectionsChange",d)}}}visitSection(d,u){if(d.preferences){for(const E of d.preferences)if(u(E))return E}if(d.subSections&&Array.isArray(d.subSections))for(const E of d.subSections)return this.visitSection(E,u)}getPreferenceViewDesc(d){const u=this.settingsSections.values();for(const E of u)for(const f of E){const c=this.visitSection(f,y=>{if(!(0,_.isString)(y)&&y.id===d)return!0});if(c)return c}}getResolvedSections(d,u=this.currentScope,E=this.currentSearch){var f;if(E.startsWith(n.EXTENSION_SETTINGS_PREFIX)&&d!=="extension")return[];const c=this.settingsSectionsVersioned.get(d),y=[d,u,E||"",c].join("-");if(this.cachedGroupSection.has(y))return this.cachedGroupSection.get(y);let b;if(n.EXTENSION_SETTINGS_REGX.test(E)){const D=n.EXTENSION_SETTINGS_REGX.exec(E);D&&(b=D[1],E=(f=D[2])===null||f===void 0?void 0:f.trim())}const A=[],S=D=>({preferences:D.preferences.filter(w=>!this.shouldHiddenInScope(w,u)).map(w=>{const T=typeof w=="string"?w:w.id,R=this.schemaProvider.getPreferenceProperty(T),M=typeof w=="string"?(0,m.toPreferenceReadableName)(w):(0,m.getPreferenceItemLabel)(w),O=R&&(0,_.replaceLocalizePlaceholder)(R.description),x=R&&(0,_.replaceLocalizePlaceholder)(R.markdownDescription);return{id:T,label:M,_description:x??O,markdownDescription:x,description:O}}).filter(w=>E?this.isContainSearchValue(w.id,E)||this.isContainSearchValue(w.label,E)||w.description&&this.isContainSearchValue(w.description,E)||w.markdownDescription&&this.isContainSearchValue(w.markdownDescription,E):!0)});return(this.settingsSections.get(d)||[]).filter(D=>!this.shouldHiddenInScope(D,u)&&(!b||b&&b===D.extensionId)).forEach(D=>{const I={...D};if(D.preferences){const{preferences:w}=S(D);I.preferences=w}if(D.subSections){const w=D.subSections.map(T=>{const{preferences:R}=S(T);if(R.length>0)return{...T,preferences:R}}).filter(Boolean);I.subSections=w}(I.preferences&&I.preferences.length>0||I.subSections&&I.subSections.length>0)&&A.push(I)}),this.cachedGroupSection.set(y.toLocaleLowerCase(),A),A}getPreference(d,u,E=!1){const{value:f}=this.preferenceService.resolve(d,void 0,void 0,void 0,u)||{value:void 0,scope:_.PreferenceScope.Default},{scope:c}=this.preferenceService.resolve(d)||{value:void 0,scope:_.PreferenceScope.Default};return{value:f,effectingScope:c||_.PreferenceScope.Default}}getEnumLabels(d){return this.enumLabels.get(d)||{}}setEnumLabels(d,u){this.onDidEnumLabelsChangeDispatcher.dispatch(d),this.enumLabels.set(d,u)}async reset(d,u){await this.preferenceService.set(d,void 0,u)}async getPreferenceUrl(d){var u;const E=this.providerProvider(d),f=await E.resource;return f?f.uri:(u=E.getConfigUri())===null||u===void 0?void 0:u.toString()}async getCurrentPreferenceUrl(d){const u=await this.getPreferenceUrl(d||this.currentScope||_.PreferenceScope.User);if(!u)return;if(!await this.fileServiceClient.access(u)){const f=await this.fileServiceClient.createFile(u);f&&await this.fileServiceClient.setContent(f,`{
33720
- }`)}return u}get onFocus(){return this._onFocus.event}focusInput(){this._onFocus.fire()}};t.PreferenceSettingsService=a,a.EXTENSION_SETTINGS_PREFIX="@ext:",a.EXTENSION_SETTINGS_REGX=/^@ext:(\S+)(.+)?/,a.DEFAULT_CHANGE_DELAY=200,r.__decorate([(0,o.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],a.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceSchemaProvider),r.__metadata("design:type",_.PreferenceSchemaProvider)],a.prototype,"schemaProvider",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceProviderProvider),r.__metadata("design:type",Function)],a.prototype,"providerProvider",void 0),r.__decorate([(0,o.Autowired)(v.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(_.CommandService),r.__metadata("design:type",Object)],a.prototype,"commandService",void 0),t.PreferenceSettingsService=a=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],a),t.defaultSettingGroup=[{id:m.PreferenceSettingId.General,title:"%settings.group.general%",iconClass:(0,_.getIcon)("setting")},{id:m.PreferenceSettingId.Terminal,title:"%settings.group.terminal%",iconClass:(0,_.getIcon)("terminal")},{id:m.PreferenceSettingId.Editor,title:"%settings.group.editor%",iconClass:(0,_.getIcon)("editor")},{id:m.PreferenceSettingId.View,title:"%settings.group.view%",iconClass:(0,_.getIcon)("detail")},{id:m.PreferenceSettingId.Feature,title:"%settings.group.feature%",iconClass:(0,_.getIcon)("file-text")}],t.defaultSettingSections={[m.PreferenceSettingId.General]:[{preferences:[{id:"general.theme",localized:"preference.general.theme"},{id:"general.icon",localized:"preference.general.icon"},{id:"general.productIconTheme",localized:"preference.general.productIconTheme"},{id:"general.language",localized:"preference.general.language",hiddenInScope:[_.PreferenceScope.Workspace]}]}],[m.PreferenceSettingId.Editor]:[{title:"Editor",preferences:[{id:"editor.previewMode"},{id:"editor.enablePreviewFromCodeNavigation"},{id:"editor.autoSave",localized:"preference.editor.autoSave"},{id:"editor.autoSaveDelay",localized:"preference.editor.autoSaveDelay"},{id:"workbench.refactoringChanges.showPreviewStrategy",localized:"preference.workbench.refactoringChanges.showPreviewStrategy.title"},{id:"editor.askIfDiff",localized:"preference.editor.askIfDiff"},{id:"editor.cursorStyle",localized:"preference.editor.cursorStyle"},{id:"editor.fontSize",localized:"preference.editor.fontSize"},{id:"editor.fontWeight",localized:"preference.editor.fontWeight"},{id:"editor.fontFamily",localized:"preference.editor.fontFamily"},{id:"editor.lineHeight",localized:"preference.editor.lineHeight"},{id:"editor.trimAutoWhitespace"},{id:"editor.quickSuggestionsDelay",localized:"preference.editor.quickSuggestionsDelay"},{id:"editor.suggestOnTriggerCharacters"},{id:"editor.acceptSuggestionOnEnter"},{id:"editor.acceptSuggestionOnCommitCharacter"},{id:"editor.snippetSuggestions"},{id:"editor.wordBasedSuggestions"},{id:"editor.suggestSelection"},{id:"editor.suggestFontSize"},{id:"editor.suggestLineHeight"},{id:"editor.tabCompletion"},{id:"editor.suggest.filteredTypes"},{id:"editor.suggest.insertMode"},{id:"editor.suggest.filterGraceful"},{id:"editor.suggest.localityBonus"},{id:"editor.suggest.shareSuggestSelections"},{id:"editor.suggest.snippetsPreventQuickSuggestions"},{id:"editor.suggest.showIcons"},{id:"editor.suggest.maxVisibleSuggestions"},{id:"editor.suggest.showMethods"},{id:"editor.suggest.showFunctions"},{id:"editor.suggest.showConstructors"},{id:"editor.suggest.showFields"},{id:"editor.suggest.showVariables"},{id:"editor.suggest.showClasses"},{id:"editor.suggest.showStructs"},{id:"editor.suggest.showInterfaces"},{id:"editor.suggest.showModules"},{id:"editor.suggest.showProperties"},{id:"editor.suggest.showEvents"},{id:"editor.suggest.showOperators"},{id:"editor.suggest.showUnits"},{id:"editor.suggest.showValues"},{id:"editor.suggest.showConstants"},{id:"editor.suggest.showEnums"},{id:"editor.suggest.showEnumMembers"},{id:"editor.suggest.showKeywords"},{id:"editor.suggest.showWords"},{id:"editor.suggest.showColors"},{id:"editor.suggest.showFiles"},{id:"editor.suggest.showReferences"},{id:"editor.suggest.showCustomcolors"},{id:"editor.suggest.showFolders"},{id:"editor.suggest.showTypeParameters"},{id:"editor.suggest.showSnippets"},{id:"editor.suggest.showUsers"},{id:"editor.suggest.showIssues"},{id:"editor.suggest.preview"},{id:"editor.suggest.details.visible"},{id:"editor.inlineSuggest.enabled",localized:"preference.editor.inlineSuggest.enabled"},{id:"editor.inlineSuggest.showToolbar"},{id:"editor.experimental.stickyScroll.enabled",localized:"preference.editor.experimental.stickyScroll.enabled"},{id:"editor.hover.enabled"},{id:"editor.hover.delay"},{id:"editor.hover.sticky"},{id:"editor.hover.hidingDelay"},{id:"editor.hover.above"},{id:"editor.guides.bracketPairs",localized:"preference.editor.guides.bracketPairs"},{id:"editor.guides.indentation",localized:"preference.editor.guides.indentation"},{id:"editor.guides.highlightActiveIndentation",localized:"preference.editor.guides.highlightActiveIndentation"},{id:"editor.detectIndentation",localized:"preference.editor.detectIndentation"},{id:"editor.tabSize",localized:"preference.editor.tabSize"},{id:"editor.insertSpaces",localized:"preference.editor.insertSpace"},{id:"editor.wrapTab",localized:"preference.editor.wrapTab"},{id:"editor.wordWrap",localized:"preference.editor.wordWrap"},{id:"editor.renderLineHighlight",localized:"preference.editor.renderLineHighlight"},{id:"editor.renderWhitespace",localized:"preference.editor.renderWhitespace"},{id:"editor.minimap",localized:"preference.editor.minimap"},{id:"editor.preferredFormatter",localized:"preference.editor.preferredFormatter"},{id:"editor.formatOnSave",localized:"preference.editor.formatOnSave"},{id:"editor.formatOnSaveTimeout",localized:"preference.editor.formatOnSaveTimeout"},{id:"editor.formatOnPaste",localized:"preference.editor.formatOnPaste"},{id:"editor.codeActionsOnSave",localized:"preference.editor.saveCodeActions"},{id:"editor.codeActionsOnSaveNotification",localized:"preference.editor.saveCodeActionsNotification"},{id:"editor.gotoLocation.multiple"},{id:"editor.maxTokenizationLineLength",localized:"preference.editor.maxTokenizationLineLength"},{id:"editor.largeFile",localized:"preference.editor.largeFile"},{id:"editor.streamLargeFile",localized:"preference.editor.streamLargeFile"},{id:"editor.readonlyFiles",localized:"preference.editor.readonlyFiles"},{id:"editor.bracketPairColorization.enabled",localized:"preference.editor.bracketPairColorization.enabled"},{id:"workbench.editorAssociations"},{id:"editor.unicodeHighlight.ambiguousCharacters"},{id:"editor.unicodeHighlight.allowedCharacters"},{id:"editor.unicodeHighlight.allowedLocales"}]},{title:"Diff Editor",preferences:[{id:"diffEditor.renderSideBySide",localized:"preference.diffEditor.renderSideBySide"},{id:"diffEditor.ignoreTrimWhitespace",localized:"preference.diffEditor.ignoreTrimWhitespace"}]},{title:"Merge Editor",preferences:[{id:"mergeEditor.autoApplyNonConflictChanges",localized:"preference.mergeEditor.autoApplyNonConflictChanges"}]},{title:"Files",preferences:[{id:"files.autoGuessEncoding",localized:"preference.files.autoGuessEncoding.title"},{id:"files.encoding",localized:"preference.files.encoding.title"},{id:"files.eol",localized:"preference.files.eol"},{id:"files.trimFinalNewlines",localized:"preference.files.trimFinalNewlines"},{id:"files.trimTrailingWhitespace",localized:"preference.files.trimTrailingWhitespace"},{id:"files.insertFinalNewline",localized:"preference.files.insertFinalNewline"},{id:"files.exclude",localized:"preference.files.exclude.title"},{id:"files.watcherExclude",localized:"preference.files.watcherExclude.title"},{id:"files.associations",localized:"preference.files.associations.title"}]}],[m.PreferenceSettingId.View]:[{title:"MenuBar",preferences:[{id:"menubar.compactMode",localized:"preference.menubar.mode.compact"}]},{title:"Layout",preferences:[{id:"view.saveLayoutWithWorkspace",localized:"preference.view.saveLayoutWithWorkspace.title"}]},{title:"File Tree",preferences:[]},{title:"Explorer",preferences:[{id:"explorer.fileTree.baseIndent",localized:"preference.explorer.fileTree.baseIndent.title"},{id:"explorer.fileTree.indent",localized:"preference.explorer.fileTree.indent.title"},{id:"explorer.compactFolders",localized:"preference.explorer.compactFolders.title"},{id:"explorer.autoReveal",localized:"preference.explorer.autoReveal"}]},{title:"QuickOpen",preferences:[{id:"workbench.quickOpen.preserveInput"}]},{title:"Search",preferences:[{id:"search.include"},{id:"search.exclude",localized:"preference.search.exclude.title"},{id:"search.useReplacePreview"},{id:"search.searchOnType"},{id:"search.searchOnTypeDebouncePeriod"}]},{title:"Output",preferences:[{id:"output.maxChannelLine",localized:"output.maxChannelLine"},{id:"output.enableLogHighlight",localized:"output.enableLogHighlight"},{id:"output.enableSmartScroll",localized:"output.enableSmartScroll"}]},{title:"Debug",preferences:[{id:"debug.console.wordWrap",localized:"preference.debug.console.wordWrap"},{id:"debug.inline.values",localized:"preference.debug.inline.values"},{id:"debug.toolbar.float",localized:"preference.debug.toolbar.float.title"},{id:"debug.breakpoint.editorHint",localized:"preference.debug.breakpoint.editorHint.title"},{id:"debug.breakpoint.showBreakpointsInOverviewRuler",localized:"preference.debug.breakpoint.showBreakpointsInOverviewRuler"}]}],[m.PreferenceSettingId.Terminal]:[{preferences:[{id:"terminal.type",localized:"preference.terminal.type"},{id:"terminal.fontFamily",localized:"preference.terminal.fontFamily"},{id:"terminal.fontSize",localized:"preference.terminal.fontSize"},{id:"terminal.fontWeight",localized:"preference.terminal.fontWeight"},{id:"terminal.lineHeight",localized:"preference.terminal.lineHeight"},{id:"terminal.cursorBlink",localized:"preference.terminal.cursorBlink"},{id:"terminal.scrollback",localized:"preference.terminal.scrollback"},{id:"terminal.integrated.shellArgs.linux",localized:"preference.terminal.integrated.shellArgs.linux"},{id:"terminal.integrated.copyOnSelection",localized:"preference.terminal.integrated.copyOnSelection"},{id:"terminal.integrated.localEchoEnabled",localized:"preference.terminal.integrated.localEchoEnabled"},{id:"terminal.integrated.localEchoLatencyThreshold",localized:"preference.terminal.integrated.localEchoLatencyThreshold"},{id:"terminal.integrated.localEchoExcludePrograms",localized:"preference.terminal.integrated.localEchoExcludePrograms"},{id:"terminal.integrated.cursorStyle",localized:"preference.terminal.integrated.cursorStyle"},{id:"terminal.integrated.localEchoStyle",localized:"preference.terminal.integrated.localEchoStyle"},{id:"terminal.integrated.xtermRenderType",localized:"preference.terminal.integrated.xtermRenderType"}]}],[m.PreferenceSettingId.Feature]:[{title:"Misc",preferences:[]},{title:"Tree Component",preferences:[{id:"workbench.list.openMode",localized:"preference.workbench.list.openMode.title"}]}]}},26551:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditPreferenceDecorationsContribution=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(93899),v=e(43718),m=e(57517),p=e(14951),s=n.__importStar(e(20868)),g=e(90684),a=e(19582),h=e(60295),d=e(90184),u=e(76773);let E=class{constructor(c){this.editor=c,this.disposer=new v.Disposable,this._preferences=[],this._currentLine=0,this._editPreferenceDecoration=this.editor.monacoEditor.createDecorationsCollection()}verifyEditor(){var c;return((c=this.editor.currentUri)===null||c===void 0?void 0:c.toString())===u.USER_PREFERENCE_URI.toString()}async getPreferenceUrl(){const c=await this.preferenceSettingsService.getPreferenceUrl(v.PreferenceScope.User);if(c){const y=await this.fileServiceClient.getFileStat(c);return y?v.URI.parse(y.uri):void 0}}async getDocumentModelRef(c){const y=this.editorDocumentModelService.getModelReference(c);return y||this.editorDocumentModelService.createModelReference(c)}contribute(){return this.disposer.addDispose(this.editor.monacoEditor.onMouseDown(async c=>{var y;((y=c.target.range)===null||y===void 0?void 0:y.startLineNumber)!==this.currentLine&&!this.verifyEditor()||c.target.type!==a.MouseTargetType.GUTTER_GLYPH_MARGIN||c.target.detail.isAfterLines||!this.isVisible()||(this.registerMenuItems(this.preferences),this.showContextMenu(c))})),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeCursorPosition(c=>{this.verifyEditor()&&this.onPositionChanged(c)})),this.disposer.addDispose(this.editor.monacoEditor.onContextMenu(c=>(c.event.preventDefault(),c.event.stopPropagation(),!1))),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeConfiguration(()=>{this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)||this.hide()})),this.disposer.addDispose(v.Disposable.create(()=>{this.hide(),this.menuRegistry.unregisterMenuId(_.MenuId.SettingJSONGlyphMarginContext)})),this.disposer.addDispose(this.commandRegistry.registerCommand(h.SettingJSONGlyphMarginEdit,{execute:(c,y)=>{c&&y&&(y==="true"&&(y=!0),y==="false"&&(y=!1),this.preferenceSettingsService.setPreference(c,y,v.PreferenceScope.User))}})),this.disposer}get preferences(){return this._preferences}get currentLine(){return this._currentLine}show(c,y,b){this._preferences=b;const A=[];A.push({options:{description:"edit-preference-widget-decoration",glyphMarginClassName:(0,o.getIcon)("edit")+" setting-edit-glyph",glyphMarginHoverMessage:new g.MarkdownString().appendText(y),stickiness:s.editor.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges},range:{startLineNumber:c,startColumn:1,endLineNumber:c,endColumn:1}}),this._editPreferenceDecoration.set(A)}hide(){this._editPreferenceDecoration.clear()}isVisible(){return this._editPreferenceDecoration.length>0}async getPreferencesKeyAtLineNumber(c){const y=new RegExp(/\"((?!,).)*\"+((\s+?)?)\:/g),b=await this.getPreferenceUrl();if(!b)return[];const A=await this.getDocumentModelRef(b),D=A.instance.getMonacoModel().getLineContent(c);A.dispose();const w=(D.match(y)||[]).map(R=>{const M=/\"(.*?)\"/g.exec(R);return M&&M[1]||""}),T=this.preferenceSchemaProvider.getCombinedSchema().properties;return w.filter(R=>{const M=T[R];return M?M.type==="boolean"||M.enum:!1})}async onPositionChanged(c){this.hide();const{position:{lineNumber:y}}=c;this._currentLine=y;const b=await this.getPreferencesKeyAtLineNumber(y);b.length>0?this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)&&this.marginFreeFromOtherDecorations(y)&&this.show(y,(0,v.localize)("editTtile"),b):this.hide()}marginFreeFromOtherDecorations(c){const y=this.editor.monacoEditor.getLineDecorations(c);if(y){for(const{options:b}of y)if(b.glyphMarginClassName&&b.glyphMarginClassName.indexOf((0,o.getIcon)("edit"))===-1)return!1}return!0}async registerMenuItems(c){if(c.length===1){const y=this.getActions(c[0]);this.disposer.addDispose(this.menuRegistry.registerMenuItems(_.MenuId.SettingJSONGlyphMarginContext,y.map(b=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:b},group:"navigation",extraTailArgs:[c[0],b]}))))}else c.forEach(y=>{const b=`${_.MenuId.SubSettingJSONGlyphMarginContext}_${y}`;this.disposer.addDispose(this.menuRegistry.registerMenuItem(_.MenuId.SettingJSONGlyphMarginContext,{submenu:b,label:y,group:"navigation"}));const A=this.getActions(y);this.disposer.addDispose(this.menuRegistry.registerMenuItems(b,A.map(S=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:S},group:"navigation",extraTailArgs:[y,S]}))))})}getActions(c){const b=this.preferenceSchemaProvider.getCombinedSchema().properties[c];return b.type==="boolean"?["true","false"]:b.enum?b.enum.map(A=>A.toString()):[]}showContextMenu(c){c.event.preventDefault(),c.event.stopPropagation();const y=this.menuService.createMenu({id:_.MenuId.SettingJSONGlyphMarginContext,config:{separator:"inline"}}),b=y.getMergedMenuNodes();y.dispose(),setTimeout(()=>{this.ctxMenuRenderer.show({anchor:c.event.browserEvent,menuNodes:b,onHide:()=>{const A=(S,D="menu")=>this.menuRegistry.getMenuItems(S).map(I=>D==="sub"?I.submenu:I.command).filter(Boolean);A(_.MenuId.SettingJSONGlyphMarginContext,"sub").forEach(S=>{this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,S),A(S).forEach(D=>{this.menuRegistry.unregisterMenuItem(S,D.id)})}),A(_.MenuId.SettingJSONGlyphMarginContext).forEach(S=>{this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,S.id)}),this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,_.MenuId.SubSettingJSONGlyphMarginContext)}})},10)}};t.EditPreferenceDecorationsContribution=E,n.__decorate([(0,r.Autowired)(l.IPreferenceSettingsService),n.__metadata("design:type",d.PreferenceSettingsService)],E.prototype,"preferenceSettingsService",void 0),n.__decorate([(0,r.Autowired)(_.ICtxMenuRenderer),n.__metadata("design:type",_.ICtxMenuRenderer)],E.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],E.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],E.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(_.AbstractContextMenuService),n.__metadata("design:type",_.AbstractContextMenuService)],E.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(_.IMenuRegistry),n.__metadata("design:type",_.IMenuRegistry)],E.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(v.CommandRegistry),n.__metadata("design:type",Object)],E.prototype,"commandRegistry",void 0),t.EditPreferenceDecorationsContribution=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],E)},15789:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.NextPreferenceItem=void 0;const r=e(85608),o=r.__importDefault(e(53373)),l=r.__importDefault(e(12784)),_=r.__importStar(e(14041)),v=e(76003),m=e(97267),p=e(56849),s=e(41869),g=e(83569),a=e(90184),h=r.__importDefault(e(80881)),d=/`#(.+)#`/gi,u="none",E=({preferenceId:R,localizedName:M,preference:O,scope:x})=>{var k;const F=(0,s.useInjectable)(s.PreferenceService),L=(0,s.useInjectable)(s.IPreferenceSettingsService),N=(0,s.useInjectable)(s.PreferenceSchemaProvider),U=F.getProvider(x),{value:W,effectingScope:j}=L.getPreference(R,x),[Q,$]=(0,_.useState)(U.get(R)),[Z,G]=(0,_.useState)(),[V,H]=(0,_.useState)(()=>L.getEnumLabels(R));(0,_.useEffect)(()=>{const oe=N.getPreferenceProperty(R);G(oe);const he=new s.DisposableCollection;return he.push(U.onDidPreferencesChanged(me=>{if(me.default&&Object.prototype.hasOwnProperty.call(me.default,R)&&me.default[R].scope===x){const q=me.default[R].newValue;$(q)}})),he.push(L.onDidEnumLabelsChange(R)((0,l.default)(()=>{G(N.getPreferenceProperty(R)),H(L.getEnumLabels(R))},a.PreferenceSettingsService.DEFAULT_CHANGE_DELAY))),()=>{he.dispose()}},[]);let K=Z;if(K||(K=N.getPreferenceProperty(R)),!K)return _.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0})},R," schema not found.");const Y=(k=F.resolve(R,void 0,void 0,void 0,s.PreferenceScope.Default).value)!==null&&k!==void 0?k:K.default,X=_.default.useMemo(()=>Q!==void 0&&String(Q)!==String(Y),[Q,Y]),re=()=>{if(K){const oe={preferenceName:R,scope:x,effectingScope:j,schema:K,labels:V,currentValue:Q===void 0?W:Q,defaultValue:Y,localizedName:M,localizedDescription:{description:O.description,markdownDescription:O.markdownDescription},renderedDescription:b({name:M,description:O.description,markdownDescription:O.markdownDescription}),hasValueInScope:Q!==void 0,isModified:X};switch(K.type){case"boolean":return _.default.createElement(D,{...oe});case"integer":case"number":return K.enum?_.default.createElement(I,{...oe}):_.default.createElement(S,{...oe,isNumber:!0});case"string":return K.enum?_.default.createElement(I,{...oe}):_.default.createElement(S,{...oe});case"array":return K.items&&K.items.type==="string"?_.default.createElement(T,{...oe}):_.default.createElement(w,{...oe});default:return _.default.createElement(w,{...oe})}}};return _.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0,[h.default.modified]:X}),"data-id":R},re())};t.NextPreferenceItem=E;const f=R=>{var M;const O=(0,s.useInjectable)(s.IPreferenceSettingsService);if(!R)return null;const x=R.match(d);if(!x)return R;let k=R;const F=[];for(const L of x){if(!k)continue;const N=L.slice(2,L.length-2),U=(M=g.knownPrefIdMappings[N])!==null&&M!==void 0?M:N,W=O.getPreferenceViewDesc(U);if(W){const j=(0,g.getPreferenceItemLabel)(W),[Q,$]=k.split(L,2);Q&&F.push(_.default.createElement("span",{key:F.length},Q)),k=$;const Z=_.default.createElement("a",{onClick:()=>{O.search(j)},key:U},j);F.push(Z)}}return k&&F.push(_.default.createElement("span",{key:F.length},k)),F};let c=n=class extends p.DefaultMarkedRenderer{codespan({text:M}){var O;if(M.startsWith("#")&&M.endsWith("#")){const x=M.slice(1,M.length-1),k=(O=g.knownPrefIdMappings[x])!==null&&O!==void 0?O:x,F=this.preferenceSettingService.getPreferenceViewDesc(k);if(F){const L=(0,g.getPreferenceItemLabel)(F);return(0,p.linkify)(`${n.openerScheme}${L}`,k,L)}return super.codespan({text:k})}return super.codespan({text:M})}};c.openerScheme="prefTitle://",r.__decorate([(0,v.Autowired)(s.IPreferenceSettingsService),r.__metadata("design:type",a.PreferenceSettingsService)],c.prototype,"preferenceSettingService",void 0),c=n=r.__decorate([(0,v.Injectable)()],c);const y=R=>{const M=(0,s.useInjectable)(s.IOpenerService),O=(0,s.useInjectable)(c),x=(0,s.useInjectable)(s.IPreferenceSettingsService);return _.default.createElement(p.Markdown,{opener:{open(k){if(k.startsWith(c.openerScheme)){const F=k.slice(c.openerScheme.length);return x.search(F),!0}return M.open(k)}},value:R,renderer:O})},b=R=>{var M;const O=(0,s.replaceLocalizePlaceholder)((M=R.description)!==null&&M!==void 0?M:R.markdownDescription);return O?_.default.createElement("div",{className:h.default.desc},R.markdownDescription?y(O):f(O)):_.default.createElement("div",{className:h.default.desc},R.name)},A=({preferenceName:R,scope:M,effectingScope:O,showReset:x})=>{const k=(0,s.useInjectable)(s.IPreferenceSettingsService);return _.default.createElement("span",{className:h.default.preference_status},O===s.PreferenceScope.Workspace&&M===s.PreferenceScope.User?_.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.Workspace),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInWorkspace")):void 0,O===s.PreferenceScope.User&&M===s.PreferenceScope.Workspace?_.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.User),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInUser")):void 0,x?_.default.createElement("span",{className:(0,o.default)(h.default.preference_reset,(0,s.getIcon)("rollback")),onClick:()=>{k.reset(R,M)}}):void 0)};function S({preferenceName:R,localizedName:M,currentValue:O,renderedDescription:x,isNumber:k,effectingScope:F,scope:L,isModified:N}){const U=(0,s.useInjectable)(s.PreferenceService),W=(0,s.useInjectable)(s.PreferenceSchemaProvider),[j,Q]=(0,_.useState)();(0,_.useEffect)(()=>{Q(O)},[O]);const $=G=>{Z(k&&/^[0-9]+$/.test(G)?Number(G):G)||U.set(R,G,L)};function Z(G){const V=W.validate(R,G);if(!V.valid)return{type:2,message:V.reason}}return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:(0,o.default)(h.default.key,h.default.item)},M," ",_.default.createElement(A,{preferenceName:R,scope:L,effectingScope:F,showReset:N})),x,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("div",{className:h.default.text_control},_.default.createElement(m.ValidateInput,{type:k?"number":"text",validate:Z,onBlur:()=>{$(j)},onValueChange:G=>{Q(G)},value:j}))))}function D({preferenceName:R,localizedName:M,renderedDescription:O,currentValue:x,effectingScope:k,scope:F,isModified:L}){const N=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,_.useState)();(0,_.useEffect)(()=>{W(x)},[x]);const j=Q=>{W(Q),N.set(R,Q,F)};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:(0,o.default)(h.default.key)},M," ",_.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),_.default.createElement("div",{className:h.default.check},_.default.createElement(m.CheckBox,{checked:U,onChange:Q=>{j(Q.target.checked)}}),O))}function I({preferenceName:R,localizedName:M,renderedDescription:O,currentValue:x,defaultValue:k,schema:F,labels:L,effectingScope:N,scope:U,isModified:W}){const j=(0,s.useInjectable)(s.PreferenceService),Q=(0,s.useInjectable)(s.ILogger),$=x??k,Z=(0,_.useMemo)(()=>F.enumDescriptions&&F.enum&&F.enumDescriptions[F.enum.indexOf(x)]||"",[F]),[G,V]=(0,_.useState)(Z),H=(0,_.useCallback)(oe=>{j.set(R,oe,U)},[j]),K=(0,_.useCallback)(()=>{const oe=F.enum?[...F.enum]:[];return k&&!oe.includes(k)&&(Q.warn(`default value(${k}) of ${R} not found in its enum field`),oe.push(k)),oe.map((he,me)=>{typeof he=="boolean"&&(he=String(he));const q=(0,s.replaceLocalizePlaceholder)(String(L[he]||he));return _.default.createElement(m.Option,{value:he,label:q,key:`${me}-${q}`,className:h.default.select_option},q,String(he)===String(k)&&_.default.createElement("div",{className:h.default.select_default_option_tips},(0,s.localize)("preference.enum.default")))})},[F.enum,L]),Y=()=>_.default.createElement(m.Option,{value:(0,s.localize)("preference.stringArray.none"),key:u,label:(0,s.localize)("preference.stringArray.none"),disabled:!0},(0,s.localize)("preference.stringArray.none")),X=F.enum&&F.enum.length>0?K():Y(),re=(0,_.useCallback)((oe,he)=>{if(F.enumDescriptions){const me=F.enumDescriptions[he];V(me||"")}},[F.enumDescriptions,V]);return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:U,effectingScope:N,showReset:W})),O,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement(m.Select,{dropdownRenderType:"absolute",maxHeight:"200",onChange:H,value:$,className:h.default.select_control,description:G,onMouseEnter:re,notMatchWarning:W?(0,s.formatLocalize)("preference.item.notValid",$):""},X)))}function w({preferenceName:R,localizedName:M,renderedDescription:O,effectingScope:x,scope:k,hasValueInScope:F}){const L=(0,s.useInjectable)(s.IPreferenceSettingsService),N=async()=>{L.openJSON(k,R)};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:k,effectingScope:x,showReset:F})),O,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("a",{onClick:N},(0,s.localize)("preference.editSettingsJson"))))}function T({preferenceName:R,localizedName:M,currentValue:O,renderedDescription:x,effectingScope:k,scope:F,isModified:L}){const N=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,_.useState)([]),[j,Q]=(0,_.useState)(),[$,Z]=(0,_.useState)(),[G,V]=(0,_.useState)(-1);(0,_.useEffect)(()=>{W(O||[])},[O]),(0,_.useEffect)(()=>{G>=0?Z(U[G]):Z("")},[G]);const H=me=>{W(me),N.set(R,me,F)},K=()=>{if(j){const me=U.slice(0);if(me.indexOf(j)>-1)return;me.push(j),Q(""),H(me)}},Y=me=>{const q=U.slice(0);q.splice(me,1),q.length?H(q):H([])},X=me=>{V(me)},re=me=>{Q(me)},oe=U.map((me,q)=>{const Ae=JSON.stringify(me);return G>=0&&G===q?_.default.createElement("li",{className:h.default.array_items,key:`${q}-${Ae}`}):_.default.createElement("li",{className:h.default.array_items,key:`${q}-${Ae}`},_.default.createElement("div",{className:h.default.array_item},typeof me=="string"?me:Ae),_.default.createElement("div",{className:h.default.operate},_.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.edit"),onClick:()=>{X(q)},className:(0,o.default)((0,s.getIcon)("edit"),h.default.array_item)}),_.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.delete"),onClick:()=>{Y(q)},className:(0,o.default)((0,s.getIcon)("delete"),h.default.array_item)})))}),he=()=>{const me=()=>{const Ae=U.slice(0);$?Ae[G]=$:Ae.splice(G,1),W(Ae),N.set(R,Ae,F),V(-1)},q=Ae=>{Z(Ae)};if(G>=0)return _.default.createElement("div",{className:h.default.array_edit_wrapper,style:{top:G*24}},_.default.createElement(m.Input,{type:"text",className:h.default.array_edit_input,value:$,onValueChange:q,onPressEnter:me,addonAfter:[_.default.createElement("div",{className:h.default.array_edit_input_tip},(0,s.localize)("preference.stringArray.operate.editTip"))]}))};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),x,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("ul",{className:h.default.array_items_wrapper},oe,he()),_.default.createElement("div",{className:h.default.preferences_flex_row},_.default.createElement(m.Input,{type:"text",className:h.default.text_control,value:j,onValueChange:re}),_.default.createElement(m.Button,{className:h.default.add_button,onClick:K},(0,s.localize)("preference.array.additem","Add")))))}},99187:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceItem=t.PreferenceView=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=n.__importDefault(e(19686)),_=e(97267),v=e(91802),m=e(41869),p=e(99333),s=n.__importDefault(e(39572)),g=e(83569),a=e(15789),h=n.__importDefault(e(80881)),d="preferenceViewIndexTree",u=8,E=()=>{const A=(0,m.useInjectable)(m.IPreferenceSettingsService),[S,D]=(0,o.useState)([]),[I,w]=(0,o.useState)([]),T=(0,s.default)(()=>{const N=A.currentScope,U=A.currentSearch,W=A.getSettingGroups(N,U),j=[],Q=[];for(let G=0;G<W.length;G++){const V=W[G],H=A.getResolvedSections(V.id,N,U);j.push(...$(V,H)),Q.push(Z(G,V,H))}D(j),w(Q);function $(G,V){const H=[],K=(Y,X="")=>{let re=X;Y.title&&(re=X+"/"+Y.title);const oe=[];return Y.component?oe.push({component:Y.component,scope:N}):Y.preferences?oe.push(...Y.preferences.map(he=>({id:"preference:"+he.id,preference:he,scope:N,_path:re}))):Y.subSections&&Y.subSections.forEach(he=>{const me=K(he,re);oe.push(...me)}),oe.length>0&&Y.title&&oe.unshift({id:"section:"+Y.title,title:Y.title,scope:N,_path:re}),oe};for(const Y of V){const X=K(Y,G.title);H.push(...X)}return H.length>0&&G.title&&H.unshift({title:G.title,id:"group:"+G.id,scope:N,_path:G.title}),H}function Z(G,V,H){const{id:K,title:Y,iconClass:X}=V,re={label:(0,g.toNormalCase)(Y),iconClassName:X,groupId:K,order:G,className:h.default.group_item},oe=[];return H.forEach((he,me)=>{const q=c(K,he,me,1);q&&oe.push(q)}),re.children=oe,oe.length>0?re.expandable=!0:re.expandable=!1,re}},16);(0,o.useEffect)(()=>{const N=new m.Disposable(A.emitter.on("settingsGroupsChange",()=>{T.run()}),A.emitter.on("currentSearchChange",()=>{T.run()}),A.emitter.on("currentScopeChange",()=>{T.run()}),A.emitter.on("settingsSectionsChange",()=>{T.run()}));return T.run(),()=>{N.dispose()}},[]);const R=(0,m.useInjectable)(m.LabelService),M=(0,o.useCallback)((N,U)=>R.getIcon(m.URI.parse(N),U),[]),O=(0,o.useRef)(null),x=(0,r.default)(N=>{A.search(N)},100,{maxWait:300});(0,o.useEffect)(()=>{const N=A.onFocus(()=>{O&&O.current&&(O.current.focus(),O.current.select())});return()=>{N.dispose()}},[]);const k=(0,m.useEventDrivenState)(A.emitter,"currentSearchChange",()=>A.currentSearch),F=(0,m.useEventDrivenState)(A.emitter,"tabListChange",()=>A.tabList),L=(0,m.useEventDrivenState)(A.emitter,"tabIndexChange",()=>A.tabIndex);return o.default.createElement(_.ComponentContextProvider,{value:{getIcon:m.getIcon,localize:m.localize,getResourceIcon:M}},o.default.createElement("div",{className:h.default.preferences},o.default.createElement("div",{className:h.default.preferences_header},o.default.createElement(_.Tabs,{className:h.default.tabs,value:L,onChange:N=>{A.updateTabIndex(N)},tabs:F.map(N=>(0,m.localize)(N.label))}),o.default.createElement("div",{className:h.default.search_pref},o.default.createElement(_.Input,{autoFocus:!0,value:k,placeholder:(0,m.localize)("preference.searchPlaceholder"),onValueChange:x,ref:O,hasClear:!0}))),S.length>0?o.default.createElement(p.SplitPanel,{id:"preference-panel",resizeHandleClassName:h.default.devider,className:h.default.preferences_body,direction:"left-to-right"},o.default.createElement(y,{treeData:I,"data-sp-defaultSize":180,"data-sp-minSize":150}),o.default.createElement(b,{tabIndex:L,items:S,"data-sp-flex":1})):o.default.createElement("div",{className:h.default.preference_noResults},k?(0,m.formatLocalize)("preference.noResults",k):(0,m.formatLocalize)("preference.empty"))))};t.PreferenceView=E;const f=({data:A,index:S})=>{var D;if(A.title)return!((D=A.id)===null||D===void 0)&&D.startsWith("group:")?o.default.createElement("div",{className:h.default.group_title,id:A.id},A.title):o.default.createElement("div",{className:h.default.section_title,id:A.id},A.title);if(A.component)return o.default.createElement(A.component,{scope:A.scope});if(A.preference)return o.default.createElement(a.NextPreferenceItem,{key:`${S} - ${A.preference.id} - ${A.scope}`,preference:A.preference,preferenceId:A.preference.id,localizedName:A.preference.label,scope:A.scope})};t.PreferenceItem=f;const c=(A,S,D,I)=>{let w;S.title&&(w={label:S.title,section:S.title,groupId:A,order:D,indentOffset:I===1?-u:-(u>>1),className:h.default.index_item});const T=[];return S.subSections&&S.subSections.forEach((R,M)=>{const O=c(A,R,M,I+1);O&&T.push(O)}),w&&T&&T.length>0&&(w.children=T,w.expandable=!0),w},y=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),{treeData:D}=A;return o.default.createElement(l.default,{className:h.default.preferences_indexes},({width:I,height:w})=>o.default.createElement(_.BasicRecycleTree,{treeName:d,sortComparator:(T,R)=>{if(typeof T.order<"u"&&typeof R.order<"u")return T.order>R.order?1:T.order<R.order?-1:0},height:w,width:I,itemHeight:26,baseIndent:u,indent:12,treeData:D,onClick:(T,R)=>{const M=R&&R._raw;M&&(M.section?S.scrollToSection(M.section):M.groupId&&S.scrollToGroup(M.groupId))},onReady:T=>{S.handleTreeHandler(T)}}))},b=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),[D,I]=(0,o.useState)(void 0),{items:w}=A;(0,o.useEffect)(()=>{var O;D&&(!((O=S.treeHandler)===null||O===void 0)&&O.focusItem)&&S.treeHandler.focusItem(D)},[A.tabIndex,S.treeHandler,D]);const T=O=>{var x;if(O){const k=w.findIndex(F=>F.id===O);k>=0&&((x=S.listHandler)===null||x===void 0||x.scrollToIndex({index:k,behavior:"auto",align:"start"}))}},R=(0,s.default)(O=>{const x=w[O.startIndex+1];x&&x._path&&I(x._path)},m.FRAME_THREE,{leading:!0,trailing:!0}),M=(0,m.useEventDrivenState)(S.emitter,"currentSelectIdChange",()=>S.currentSelectId);return(0,o.useEffect)(()=>{M&&T(M)},[w,M]),o.default.createElement("div",{className:h.default.preferences_items},o.default.createElement(v.VirtualList,{data:w,template:t.PreferenceItem,className:h.default.preference_section,refSetter:S.handleListHandler,onRangeChanged:R.run}))}},76773:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserPreferenceProvider=t.USER_PREFERENCE_URI=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),_=e(11461);t.USER_PREFERENCE_URI=new o.URI().withScheme(o.Schemes.userStorage).withPath("settings.json");let v=class extends _.AbstractResourcePreferenceProvider{getUri(){return t.USER_PREFERENCE_URI}getScope(){return l.PreferenceScope.User}};t.UserPreferenceProvider=v,t.UserPreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},25947:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(84017),t),n.__exportStar(e(57506),t)},57506:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(14951),_=e(2156),v=e(83569);let m=class{initialize(){this.fileSystem.registerProvider(o.Schemes.userStorage,this.userStorageService)}};t.UserStorageContribution=m,n.__decorate([(0,r.Autowired)(v.IUserStorageService),n.__metadata("design:type",Object)],m.prototype,"userStorageService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",_.FileServiceClient)],m.prototype,"fileSystem",void 0),t.UserStorageContribution=m=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],m)},84017:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageServiceImpl=t.DEFAULT_USER_STORAGE_FOLDER=void 0;const r=e(85608),o=r.__importDefault(e(82451)),l=e(76003),_=e(41869),v=e(43718),m=e(42933);t.DEFAULT_USER_STORAGE_FOLDER=".sumi";const p={recursive:!1,excludes:["**/logs/**"]};let s=n=class{static toUserStorageUri(a,h){const d=this.getRelativeUserStoragePath(a,h);return new _.URI("").withScheme(v.Schemes.userStorage).withPath(d).withFragment(h.fragment).withQuery(h.query)}static getRelativeUserStoragePath(a,h){return h.toString().slice(a.toString().length+1)}static toFilesystemURI(a,h){return a.withPath(a.path.join(h.path.toString()))}constructor(){this.capabilities=2,this.onDidChangeCapabilities=v.Event.None,this.toDispose=new _.DisposableCollection,this.onDidChangeFileEmitter=new _.Emitter,this._whenReady=this.init()}get whenReady(){return this._whenReady}get onDidChangeFile(){return this.onDidChangeFileEmitter.event}async init(){const a=await this.fileServiceClient.getCurrentUserHome();if(a){const h=new _.URI(a.uri).resolve(this.appConfig.userPreferenceDirName||this.appConfig.preferenceDirName||t.DEFAULT_USER_STORAGE_FOLDER);await this.fileServiceClient.access(h.toString())||await this.fileServiceClient.createFolder(h.toString()),this.userStorageFolder=h}this.toDispose.push(this.onDidChangeFileEmitter)}readDirectory(a){throw new Error("Method not implemented.")}createDirectory(a){throw new Error("Method not implemented.")}async watch(a,h){await this.whenReady;const d=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a)),u=(0,o.default)(p,h),E=await this.fileServiceClient.watchFileChanges(d.parent,u.excludes);return this.toDispose.push(E),this.toDispose.push(E.onFilesChanged(f=>{const c=[];for(const y of f)y.uri===d.toString()&&c.push(y);c.length>0&&this.onDidChangeFileEmitter.fire(c.map(y=>({uri:n.toUserStorageUri(this.userStorageFolder,new _.URI(y.uri)).toString(),type:y.type})))})),E.watchId}async readFile(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));try{const{content:d}=await this.fileServiceClient.readFile(h.toString());return d.buffer}catch(d){throw new Error(d)}}async writeFile(a,h,d){await this.whenReady;const u=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));try{let E=await this.fileServiceClient.getFileStat(u.toString());E?await this.fileServiceClient.setContent(E,h,d):(E=await this.fileServiceClient.createFile(u.toString()),await this.fileServiceClient.setContent(E,h,d))}catch(E){throw new Error(E)}}delete(a,h){throw new Error("Method not implemented.")}rename(a,h,d){throw new Error("Method not implemented.")}copy(a,h,d){throw new Error("Method not implemented.")}async stat(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a)),d=await this.fileServiceClient.getFileStat(h.toString());if(d)return d}async access(a,h){await this.whenReady;const d=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));return this.fileServiceClient.access(d.toString(),h)}};t.UserStorageServiceImpl=s,r.__decorate([(0,l.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],s.prototype,"fileServiceClient",void 0),r.__decorate([(0,l.Autowired)(_.ILogger),r.__metadata("design:type",Object)],s.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(_.AppConfig),r.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),t.UserStorageServiceImpl=s=n=r.__decorate([(0,l.Injectable)(),r.__metadata("design:paramtypes",[])],s)},46392:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFilePreferenceProvider=t.WorkspaceFilePreferenceProviderFactory=t.WorkspaceFilePreferenceProviderOptions=void 0;const n=e(85608),r=e(76003),o=e(78132),l=e(51500),_=e(84435),v=e(11461);let m=class{};t.WorkspaceFilePreferenceProviderOptions=m,t.WorkspaceFilePreferenceProviderOptions=m=n.__decorate([(0,r.Injectable)()],m),t.WorkspaceFilePreferenceProviderFactory=Symbol("WorkspaceFilePreferenceProviderFactory");let p=class extends v.AbstractResourcePreferenceProvider{getUri(){return this.options.workspaceUri}parse(g){const a=super.parse(g);return _.WorkspaceData.is(a)?a.settings||{}:{}}getPath(g){return["settings",g]}getScope(){return o.PreferenceScope.Workspace}getDomain(){return this.workspaceService.tryGetRoots().map(g=>g.uri)}};t.WorkspaceFilePreferenceProvider=p,n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],p.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(m),n.__metadata("design:type",m)],p.prototype,"options",void 0),t.WorkspaceFilePreferenceProvider=p=n.__decorate([(0,r.Injectable)()],p)},58705:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspacePreferenceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),_=e(51500),v=e(46392);let m=class extends l.PreferenceProvider{constructor(){super(),this.toDisposeOnEnsureDelegateUpToDate=new o.DisposableCollection,this.init()}async init(){this._ready.resolve(),this.ensureDelegateUpToDate(),this.workspaceService.onWorkspaceLocationChanged(()=>this.ensureDelegateUpToDate())}getConfigUri(s=this.ensureResourceUri()){const g=this.delegate;return g&&g.getConfigUri(s)}get delegate(){return this._delegate||this.ensureDelegateUpToDate(),this._delegate}ensureDelegateUpToDate(){const s=this.createDelegate();this._delegate!==s&&(this.toDisposeOnEnsureDelegateUpToDate.dispose(),this.toDispose.push(this.toDisposeOnEnsureDelegateUpToDate),this._delegate=s,s&&this.toDisposeOnEnsureDelegateUpToDate.pushAll([s,s.onDidPreferencesChanged(g=>{this.emitPreferencesChangedEvent(g)})]))}createDelegate(){const s=this.workspaceService.workspace;if(s)return this.workspaceService.isMultiRootWorkspaceOpened?this.workspaceFileProviderFactory({workspaceUri:new o.URI(s.uri)}):this.foldersPreferenceProvider}doGet(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.get(s,g,a):void 0}doResolve(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.resolve(s,g,a):{}}getPreferences(s=this.ensureResourceUri(),g){const a=this.delegate;return a?a.getPreferences(s,g):void 0}getLanguagePreferences(s=this.ensureResourceUri()){const g=this.delegate;return g?g.getLanguagePreferences(s):void 0}async doSetPreference(s,g,a=this.ensureResourceUri(),h){const d=this.delegate;return d?d.setPreference(s,g,a,h):!1}ensureResourceUri(){if(this.workspaceService.workspace&&!this.workspaceService.isMultiRootWorkspaceOpened)return this.workspaceService.workspace.uri}};t.WorkspacePreferenceProvider=m,n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.WorkspaceFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"workspaceFileProviderFactory",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceProvider,{tag:l.PreferenceScope.Folder}),n.__metadata("design:type",l.PreferenceProvider)],m.prototype,"foldersPreferenceProvider",void 0),t.WorkspacePreferenceProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},60295:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingJSONGlyphMarginEdit=void 0,t.SettingJSONGlyphMarginEdit={id:"preference.setting.glyphMargin.edit"}},83569:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(99112),t),n.__exportStar(e(36858),t),n.__exportStar(e(49132),t),n.__exportStar(e(29728),t)},49132:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownPrefIdMappings=t.PreferenceSettingId=void 0;var e;(function(n){n.General="general",n.Editor="editor",n.Terminal="terminal",n.Feature="feature",n.View="view"})(e||(t.PreferenceSettingId=e={})),t.knownPrefIdMappings={"workbench.editor.enablePreview":"editor.previewMode"}},99112:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownTermMappings=t.PREF_SCHEME=void 0,t.toPreferenceReadableName=o,t.getPreferenceItemLabel=l,t.toNormalCase=_;const n=e(41869);t.PREF_SCHEME="pref",t.knownTermMappings=new Map,t.knownTermMappings.set("power shell","PowerShell"),t.knownTermMappings.set("powershell","PowerShell"),t.knownTermMappings.set("javascript","JavaScript"),t.knownTermMappings.set("typescript","TypeScript"),["css","html","scss","less","json","js","ts","ie","id","php","scm","npm"].forEach(v=>{t.knownTermMappings.set(v,v.toUpperCase())});function r(v){const m=v.toLowerCase();return t.knownTermMappings.has(m)?t.knownTermMappings.get(m):_(v)}function o(v){const m=v.split(".");let p=r(m[0]);return m[1]&&(p+=" > "+_(m[1])),m[2]&&(p+=" : "+_(m[2])),m.slice(3).length>0&&(p+=". "+m.slice(3).join(" ")),p}function l(v){let m;return v.localized&&(m=(0,n.localize)(v.localized)),m||(m=o(v.id)),m}function _(v){return v.substr(0,1).toUpperCase()+v.substr(1).replace(/([^A-Z])([A-Z])/g,"$1 $2")}},29728:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingContribution=void 0,t.SettingContribution=Symbol("SettingContribution")},36858:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IUserStorageService=void 0,t.IUserStorageService=Symbol("IUserStorageService")},46507:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(83569),t)},70716:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HighlightLabel=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(48560),_=e(52416),v=({text:m="",highlights:p=[],className:s="",labelClassName:g="",labelIconClassName:a="",hightLightClassName:h="",OutElementType:d="span"})=>{const u=(0,l.useInjectable)(_.IIconService),E=r.default.useMemo(()=>{const f=[];let c=0;for(const y of p){if(y.end===y.start)continue;if(c<y.start){const A=m.substring(c,y.start);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${A}`},(0,o.transformLabelWithCodicon)(A,a,u.fromString.bind(u)))),c=y.end}const b=m.substring(y.start,y.end);f.push(r.default.createElement("span",{className:h,key:`${f.length}-${b}`},(0,o.transformLabelWithCodicon)(b,a,u.fromString.bind(u)))),c=y.end}if(c<m.length){const y=m.substring(c);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${y}`},(0,o.transformLabelWithCodicon)(y,a,u.fromString.bind(u))))}return f},[m,p]);return r.default.createElement(d,{title:m,className:s},E)};t.HighlightLabel=v},52644:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeybindingView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=n.__importDefault(e(26739)),v=({keybinding:m,className:p,sequenceClassName:s,keyClassName:g})=>{const a=(0,l.useInjectable)(l.KeybindingRegistry),h=o.default.useMemo(()=>a.acceleratorFor(m," "),[m]);return o.default.createElement("div",{className:(0,r.default)(_.default.keybinding,p)},h?h.map((d,u)=>{const E=d.split(" ");return o.default.createElement("div",{key:`${d}_${u}`,title:d,className:(0,r.default)(_.default.key_sequence,s)},E.map((f,c)=>o.default.createElement("span",{className:(0,r.default)(_.default.key,g),key:`${f}_${u}_${c}`},f)))}):null)};t.KeybindingView=v},47005:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenTabs=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(63373),v=e(52644),m=n.__importDefault(e(78539)),p=({tabs:s,activePrefix:g,onChange:a,toggleTab:h})=>{const d=(0,l.useInjectable)(l.KeybindingRegistry),u=E=>{const f=d.getKeybindingsForCommand(E);return f?f[0]:void 0};return o.default.createElement("div",{id:_.VIEW_CONTAINERS.QUICKPICK_TABS,className:m.default.quickopen_tabs},o.default.createElement("div",{className:m.default.quickopen_tabs_left},s.map(({title:E,prefix:f,commandId:c,order:y},b)=>{const A=u(c);return o.default.createElement("div",{key:f,className:m.default.quickopen_tabs_left_item,onMouseDown:S=>S.preventDefault(),onClick:()=>{f!==g&&a(f)}},o.default.createElement("div",{className:(0,r.default)(m.default.quickopen_tabs_left_item_text,{[m.default.selected]:g===f})},E),A&&o.default.createElement(v.KeybindingView,{keybinding:A,className:m.default.keybinding,keyClassName:m.default.tab_key}))})),o.default.createElement("div",{style:{flex:1}}),o.default.createElement("div",{className:m.default.quickopen_tabs_tip,onClick:()=>{h?.()}},(0,l.localize)("quickopen.tab.tip.prefix"),o.default.createElement("span",{className:m.default.tab_key},"Tab"),(0,l.localize)("quickopen.tab.tip.suffix")))};t.QuickOpenTabs=p},96534:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenModule=t.CoreQuickOpenModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(80490),v=e(99066),m=e(65028),p=e(43131),s=e(13978);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.PrefixQuickOpenService,useClass:_.PrefixQuickOpenServiceImpl},{token:o.QuickOpenService,useClass:p.MonacoQuickOpenService},{token:l.QuickPickService,useClass:s.QuickPickServiceImpl},{token:l.IQuickInputService,useClass:v.QuickInputService},m.CoreQuickOpenContribution],this.contributionProvider=_.QuickOpenContribution}};t.CoreQuickOpenModule=g,t.CoreQuickOpenModule=g=n.__decorate([(0,r.Injectable)()],g);let a=class extends g{constructor(){super(...arguments),this.providers=this.providers.concat(m.QuickOpenFeatureContribution)}};t.QuickOpenModule=a,t.QuickOpenModule=a=n.__decorate([(0,r.Injectable)()],a)},80490:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixQuickOpenServiceImpl=t.QuickOpenHandlerRegistry=t.QuickOpenContribution=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(18193),v=e(74404),m=e(43718),p=e(47005),s=e(50426);var g=e(74404);Object.defineProperty(t,"QuickOpenContribution",{enumerable:!0,get:function(){return g.QuickOpenContribution}});let a=class extends m.Disposable{constructor(){super(...arguments),this.handlers=new Map,this.tabs=[],this.sortedTabs=null,this.handlerTabMap=new Map}registerHandler(u,E){if(this.handlers.has(u.prefix))return this.logger.warn(`The handler function of the \`${u.prefix}\` is already registered`),m.Disposable.NULL;this.handlers.set(u.prefix,u);const f={dispose:()=>this.handlers.delete(u.prefix)};if(this.addDispose(f),u.default&&(this.defaultHandler=u),E&&!E.hideTab){const c=[],{sub:y,...b}=E;y&&Object.keys(y).forEach(A=>{c.push({prefix:`${u.prefix}${A}`,...y[A]})}),c.push({prefix:u.prefix,...b}),this.handlerTabMap.set(u,c),this.tabs.push(...c),this.sortedTabs=null,this.addDispose({dispose:()=>{const A=this.handlerTabMap.get(u);A&&(this.handlerTabMap.delete(u),this.tabs=this.tabs.filter(S=>!A.includes(S)),this.sortedTabs=null)}})}return f}getDefaultHandler(){return this.defaultHandler}isDefaultHandler(u){return u===this.getDefaultHandler()}getHandlers(){return[...this.handlers.values()]}getHandlerOrDefault(u){for(const E of this.handlers.values())if(u.startsWith(E.prefix))return E;return this.getDefaultHandler()}getSortedTabs(){return this.sortedTabs||(this.sortedTabs=this.tabs.slice().sort((u,E)=>u.order-E.order)),this.sortedTabs}getTabByHandler(u,E){if(this.handlerTabMap.has(u)){let f=E;return this.isDefaultHandler(u)&&!E.startsWith(u.prefix)&&(f=`${u.prefix}${E}`),this.handlerTabMap.get(u).find(c=>f.startsWith(c.prefix))}}};t.QuickOpenHandlerRegistry=a,n.__decorate([(0,o.Autowired)(m.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.QuickOpenHandlerRegistry=a=n.__decorate([(0,o.Injectable)()],a);let h=class{constructor(){this.activePrefix="",this.currentLookFor="",this.toDisposeCurrent=new m.DisposableCollection}open(u,E){const f=this.handlers.getHandlerOrDefault(u);let c=!1;E?u=`${u}${E}`:this.corePreferences["workbench.quickOpen.preserveInput"]&&f&&f===this.currentHandler&&this.currentLookFor&&this.handlers.getTabByHandler(f,this.currentLookFor)===this.handlers.getTabByHandler(f,u)?(u=this.currentLookFor,c=!0):this.currentLookFor="",this.setCurrentHandler(u,f,c)}async setCurrentHandler(u,E,f){var c,y;if(E!==this.currentHandler&&(this.toDisposeCurrent.dispose(),this.currentHandler=E,this.toDisposeCurrent.push(m.Disposable.create(()=>{const I=E&&E.getOptions().onClose;I&&I(!0)}))),!E){this.doOpen();return}E.init&&await E.init(),this.setActivePrefix(E,u);let b=u;this.handlers.isDefaultHandler(E)&&u.startsWith(E.prefix)&&(b=u.substring(E.prefix.length));const A=this.handlers.isDefaultHandler(E)?0:((y=(c=this.handlers.getTabByHandler(E,u))===null||c===void 0?void 0:c.prefix)!==null&&y!==void 0?y:E.prefix).length,S=E.getOptions(),D=()=>{var I;(I=E.onToggle)===null||I===void 0||I.call(E);const w=this.handlers.getSortedTabs();let T=null;if(this.activePrefix){let R=w.findIndex(M=>M.prefix===this.activePrefix);R=R===w.length-1?0:R+1,T=w[R]}else T=w[0];T&&this.open(T.prefix)};this.doOpen({prefix:b,skipPrefix:A,valueSelection:f?[A,u.length]:void 0,...S,onClose:I=>{S.onClose&&S.onClose(I),E.onClose&&E.onClose(I),this.commandService.executeCommand(l.EDITOR_COMMANDS.FOCUS.id)},renderTab:()=>r.default.createElement(p.QuickOpenTabs,{tabs:this.handlers.getSortedTabs(),activePrefix:this.activePrefix,onChange:I=>{var w;(w=E.onToggle)===null||w===void 0||w.call(E),this.open(I)},toggleTab:()=>{D()}}),toggleTab:()=>{D()}})}doOpen(u){this.quickTitleBar.isAttached.get()&&this.quickTitleBar.hide(),this.quickOpenService.open({onType:(E,f)=>this.onType(E,f)},u)}onType(u,E){this.currentLookFor=u;const f=this.handlers.getHandlerOrDefault(u);if(f===void 0){const c=[];c.push(new v.QuickOpenItem({label:(0,l.localize)("quickopen.command.nohandler")})),E(c)}else if(f!==this.currentHandler)this.setCurrentHandler(u,f);else{const c=f.getModel(),y=this.handlers.isDefaultHandler(f)?u:u.substr(f.prefix.length);c.onType(y,(b,A)=>E(b,A)),this.setActivePrefix(f,u)}}setActivePrefix(u,E){var f,c;this.activePrefix=(c=(f=this.handlers.getTabByHandler(u,E))===null||f===void 0?void 0:f.prefix)!==null&&c!==void 0?c:""}};t.PrefixQuickOpenServiceImpl=h,n.__decorate([(0,o.Autowired)(a),n.__metadata("design:type",a)],h.prototype,"handlers",void 0),n.__decorate([(0,o.Autowired)(v.QuickOpenService),n.__metadata("design:type",Object)],h.prototype,"quickOpenService",void 0),n.__decorate([(0,o.Autowired)(s.QuickTitleBar),n.__metadata("design:type",s.QuickTitleBar)],h.prototype,"quickTitleBar",void 0),n.__decorate([(0,o.Autowired)(_.CorePreferences),n.__metadata("design:type",Object)],h.prototype,"corePreferences",void 0),n.__decorate([(0,o.Autowired)(m.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),t.PrefixQuickOpenServiceImpl=h=n.__decorate([(0,o.Injectable)()],h)},99066:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickInputService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(74404),_=e(43718),v=e(44854);let m=class{constructor(){this.onDidAcceptEmitter=new _.Emitter,this.onDidChangeValueEmitter=new _.Emitter}open(s){this.inputBox&&this.inputBox.hide();const g=new _.Deferred,a=s&&s.validateInput;s.hideOnDidAccept===void 0&&(s.hideOnDidAccept=!0);const h=this.injector.get(v.InputBoxImpl,[s]);return this.inputBox=h,h.onDidAccept(d=>{g.resolve(d),this.onDidAcceptEmitter.fire()}),h.getDerivedOptionsFromValue=async d=>{var u;const E=a&&d!==void 0?(0,_.withNullAsUndefined)(await a(d)):void 0;return{validationMessage:typeof E=="string"?E:E?.message,validationType:typeof E=="string"?o.VALIDATE_TYPE.ERROR:(u=E?.type)!==null&&u!==void 0?u:o.VALIDATE_TYPE.ERROR}},h.onDidChangeValue(async d=>{this.onDidChangeValueEmitter.fire(d)}),h.onDidHide(()=>{g.resolve(void 0)}),h.open(),g.promise}refresh(){var s;(s=this.inputBox)===null||s===void 0||s.refresh()}hide(){var s;(s=this.inputBox)===null||s===void 0||s.hide()}dispose(){var s;(s=this.inputBox)===null||s===void 0||s.dispose()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}};t.QuickInputService=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),t.QuickInputService=m=n.__decorate([(0,r.Injectable)()],m)},11143:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenBaseAction=void 0;class e{constructor(r){this.options=r}get id(){return this.options.id}get label(){return this.options.label||""}set label(r){this.options.label=r}get tooltip(){return this.options.tooltip||""}set tooltip(r){this.options.tooltip=r}get class(){return this.options.class||""}set class(r){this.options.class=r}get enabled(){return this.options.enabled||!0}set enabled(r){this.options.enabled=r}get checked(){return this.options.checked||!1}set checked(r){this.options.checked=r}get radio(){return this.options.radio||!1}set radio(r){this.options.radio=r}dispose(){}}t.QuickOpenBaseAction=e},78245:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenItemService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40827),_=e(43718),v=e(52416),m=e(89802);let p=class{constructor(){this.onDidTriggerItemButtonEmitter=new _.Emitter}get onDidTriggerItemButton(){return this.onDidTriggerItemButtonEmitter.event}fireDidTriggerItemButton(g,a){this.onDidTriggerItemButtonEmitter.fire({button:a,item:{handle:g}})}getButtons(g){return g.length===0?[]:g.map((a,h)=>{if(_.ThemeIcon.isThemeIcon(a.iconPath))return{...a,iconClass:(0,o.getExternalIcon)(a.iconPath.id),handle:h};const d=(0,m.iconPath2URI)(a.iconPath,this.themeService.getCurrentThemeSync().type),u=d&&this.staticResourceService.resolveStaticResource(d).toString(),E=u&&this.iconService.fromIcon("",u,v.IconType.Background);return{...a,iconClass:E,handle:h}})}getIconClass(g){const{iconClass:a,iconPath:h}=g;if(a)return a;if(!h)return;if(_.ThemeIcon.isThemeIcon(h))return(0,o.getExternalIcon)(h.id);const d=(0,m.iconPath2URI)(h,this.themeService.getCurrentThemeSync().type),u=d&&this.staticResourceService.resolveStaticResource(d).toString();return h&&this.iconService.fromIcon("",u,v.IconType.Background)}};t.QuickOpenItemService=p,n.__decorate([(0,r.Autowired)(v.IThemeService),n.__metadata("design:type",Object)],p.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.StaticResourceService)],p.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],p.prototype,"iconService",void 0),t.QuickOpenItemService=p=n.__decorate([(0,r.Injectable)()],p)},90404:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandQuickOpenItem=t.QuickCommandHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(18193),_=e(93899),v=e(74404),m=e(43718),p=e(77714),s=e(51500);let g=class{constructor(){this.prefix=">",this.description=(0,o.localize)("quickopen.command.description"),this.initDeferred=new m.Deferred,this.initRecentlyUsedCommands()}async init(){await this.initDeferred.promise,this.items=this.getItems()}async initRecentlyUsedCommands(){const u=(await this.workspaceService.getMostRecentlyUsedCommands()).map(E=>this.commandRegistry.getCommand(E)).filter(E=>!!E).reverse();this.commandRegistry.setRecentCommands(u),this.initDeferred.resolve()}getModel(){return{onType:(d,u)=>{u(this.items),this.reporterService.point(m.REPORT_NAME.QUICK_OPEN_MEASURE,"command",{lookFor:d})}}}getOptions(){return{placeholder:(0,o.localize)("quickopen.command.placeholder"),fuzzyMatchLabel:{enableSeparateSubstringMatching:!0},fuzzyMatchDetail:{enableSeparateSubstringMatching:!0},fuzzySort:!1,getPlaceholderItem:()=>new v.QuickOpenItem({label:(0,o.localize)("quickopen.commands.notfound"),run:()=>!1})}}getItems(){const d=[],{recent:u,other:E}=this.getCommands();return d.push(...u.map((f,c)=>this.injector.get(a,[f,{groupLabel:c===0?(0,o.localize)("quickopen.recent-commands"):"",showBorder:!1}])),...E.map((f,c)=>this.injector.get(a,[f,{groupLabel:u.length<=0?"":c===0?(0,o.localize)("quickopen.other-commands"):"",showBorder:u.length<=0?!1:c===0}]))),d}getCommands(){const d=this.menuService.createMenu(_.MenuId.CommandPalette,this.contextKeyService),u=this.getValidCommands(this.commandRegistry.getRecentCommands()),E=this.corePreferences["workbench.commandPalette.history"],f=u.slice(0,E),c=new Set(f.map(S=>S.id)),y=new Set,b=[],A=[];for(const[,S]of d.getMenuNodes())for(const D of S){if(!(D instanceof _.MenuItemNode)||D.disabled||y.has(D.id)||(y.add(D.id),c.has(D.id)))continue;b.push(D);const I=this.commandRegistry.getCommand(D.id);I&&A.push({...I,label:D.label})}for(let S=f.length-1;S>=0;S--){const D=f[S];y.has(D.id)||f.splice(S,1)}return d.dispose(),{recent:f,other:A.sort((S,D)=>m.Command.compareCommands(S,D))}}getValidCommands(d){return d.filter(u=>u.label&&this.commandRegistry.isVisible(u.id)&&this.commandRegistry.isEnabled(u.id))}};t.QuickCommandHandler=g,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],g.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],g.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],g.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(_.AbstractMenuService),n.__metadata("design:type",_.AbstractMenuService)],g.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],g.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(m.IReporterService),n.__metadata("design:type",Object)],g.prototype,"reporterService",void 0),t.QuickCommandHandler=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g);let a=class extends v.QuickOpenItem{constructor(d,u){super(u),this.command=d,this.commandOptions=u}getLabel(){return this.command.category?`${(0,p.uppercaseFirstLetter)(this.command.category)}: `+this.command.label:this.command.label}isHidden(){return super.isHidden()}getDetail(){var d,u;if(!this.command.labelLocalized)return;let E;const{alias:f,localized:c}=this.command.labelLocalized;if(f!==c){const y=(u=(d=this.command.categoryLocalized)===null||d===void 0?void 0:d.alias)!==null&&u!==void 0?u:this.command.category;y?E=`${(0,p.uppercaseFirstLetter)(y)}: ${f}`:E=f}return E}getKeybinding(){const d=this.keybindings.getKeybindingsForCommand(this.command.id);return d?d[0]:void 0}run(d){return d!==v.Mode.OPEN?!1:(setTimeout(()=>{this.commandService.executeCommand(this.command.id),this.commandRegistry.setRecentCommands([this.command]),this.workspaceService.setMostRecentlyUsedCommand(this.command.id)},50),!0)}};t.CommandQuickOpenItem=a,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],a.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],a.prototype,"keybindings",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),t.CommandQuickOpenItem=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],a)},65028:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenFeatureContribution=t.CoreQuickOpenContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(74404),v=e(80490),m=e(90404),p=e(77116);let s=class{onStart(){for(const h of this.quickOpenContributionProvider.getContributions())h.registerQuickOpenHandlers(this.quickOpenHandlerRegistry)}};t.CoreQuickOpenContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.QuickOpenHandlerRegistry)],s.prototype,"quickOpenHandlerRegistry",void 0),n.__decorate([(0,r.Autowired)(v.QuickOpenContribution),n.__metadata("design:type",Object)],s.prototype,"quickOpenContributionProvider",void 0),t.CoreQuickOpenContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],s);let g=class{registerCommands(h){h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN,{execute:()=>this.prefixQuickOpenService.open(">")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_OUTLINE,{execute:()=>this.prefixQuickOpenService.open("@")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_VIEW,{execute:()=>this.prefixQuickOpenService.open("view ")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_WITH_COMMAND,{execute:d=>this.prefixQuickOpenService.open(">",d)})}registerKeybindings(h){h.registerKeybinding({command:o.QUICK_OPEN_COMMANDS.OPEN.id,keybinding:"ctrlcmd+shift+p"})}registerMenus(h){h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.QUICK_OPEN_COMMANDS.OPEN.id,label:(0,o.localize)("menu-bar.view.quick.command")},group:"0_primary"}),h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.LAYOUT_COMMANDS.OPEN_VIEW.id,label:o.LAYOUT_COMMANDS.OPEN_VIEW.label},group:"0_primary"})}registerQuickOpenHandlers(h){h.registerHandler(this.quickCommandHandler,{title:(0,o.localize)("quickopen.tab.command"),commandId:o.QUICK_OPEN_COMMANDS.OPEN.id,order:4}),h.registerHandler(this.helpQuickOpenHandler)}};t.QuickOpenFeatureContribution=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.PrefixQuickOpenService),n.__metadata("design:type",Object)],g.prototype,"prefixQuickOpenService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.QuickCommandHandler)],g.prototype,"quickCommandHandler",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.HelpQuickOpenHandler)],g.prototype,"helpQuickOpenHandler",void 0),t.QuickOpenFeatureContribution=g=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,l.MenuContribution,v.QuickOpenContribution)],g)},77116:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HelpQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(80490);let v=class{constructor(){this.prefix="?",this.description=""}init(){this.items=this.handlers.getHandlers().filter(p=>p.prefix!==this.prefix).sort((p,s)=>this.comparePrefix(p.prefix,s.prefix)).map(p=>new l.QuickOpenItem({label:p.prefix,description:p.description,run:s=>(s!==l.Mode.OPEN||this.quickOpenService.open(p.prefix),!1)}))}getModel(){return{onType:(p,s)=>{s(this.items)}}}getOptions(){return{}}comparePrefix(p,s){return p.toLowerCase().localeCompare(s.toLowerCase())}};t.HelpQuickOpenHandler=v,n.__decorate([(0,r.Autowired)(_.QuickOpenHandlerRegistry),n.__metadata("design:type",_.QuickOpenHandlerRegistry)],v.prototype,"handlers",void 0),n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],v.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),t.HelpQuickOpenHandler=v=n.__decorate([(0,r.Injectable)()],v)},43131:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KaitianQuickOpenControllerOpts=t.MonacoQuickOpenService=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(25873)),l=e(76003),_=e(41869),v=e(63373),m=e(68969),p=e(74404),s=e(70238),g=e(52596),a=e(65694),h=e(6399),d=e(98462);let u=class{constructor(){this.preLookFor=""}get inQuickOpenContextKey(){return this.contextKeyService.createKey("inQuickOpen",!1)}appendQuickOpenContainer(){const c=document.querySelector("#ide-overlay");if(!c)throw new Error("ide-overlay is requried");const y=document.createElement("div");y.classList.add("quick-open-overlay"),c.appendChild(y);const b=this.container=document.createElement("quick-open-container");b.style.position="fixed",b.style.top="0px",b.style.right="50%",b.style.zIndex="1000000",y.appendChild(b)}open(c,y){this.previousActiveElement=document.activeElement;const b=new E(c,this.keybindingRegistry,y);this.progressDispose=this.progressService.registerProgressIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS),this.hideDecoration(),this.internalOpen(b)}hide(c){this.widget.hide(c),this.progressDispose.dispose()}internalOpen(c){var y;this.opts=c,this.widget.show(this.opts.prefix||"",{placeholder:c.inputAriaLabel,password:c.password,inputEnable:(y=c.enabled)!==null&&y!==void 0?y:!0,valueSelection:c.valueSelection,canSelectMany:c.canSelectMany,keepScrollPosition:c.keepScrollPosition,busy:c.busy,renderTab:c.renderTab,toggleTab:c.toggleTab}),this.inQuickOpenContextKey.set(!0)}updateOptions(c){this.opts.updateOptions(c),this.widget.updateOptions(c)}refresh(){this.onType(this.widget.inputValue.get())}get widget(){return this._widget?this._widget:(this.appendQuickOpenContainer(),this._widget=this.injector.get(d.QuickOpenWidget,[{onOk:()=>{this.previousActiveElement=void 0,this.onClose(!1)},onCancel:()=>{this.previousActiveElement instanceof HTMLElement&&this.previousActiveElement.focus(),this.previousActiveElement=void 0,this.onClose(!0)},onType:c=>this.onType(c||""),onFocusLost:()=>this.opts&&this.opts.ignoreFocusOut!==void 0?(this.opts.ignoreFocusOut===!1&&this.onClose(!0),this.opts.ignoreFocusOut):!1,onHide:()=>{this.inQuickOpenContextKey.set(!1)},onSelect:(c,y)=>{this.opts.onSelect&&this.opts.onSelect(c,y)},onConfirm:c=>{this.opts.onConfirm&&this.opts.onConfirm(c)},onKeyMods:c=>{this.opts.onKeyMods&&this.opts.onKeyMods(c)}}]),this.initWidgetView(this._widget),this._widget)}initWidgetView(c){o.default.createRoot(this.container).render(r.default.createElement(_.ConfigProvider,{value:this.appConfig},r.default.createElement(a.QuickOpenContext.Provider,{value:{widget:c}},r.default.createElement(h.QuickOpenView,null))))}onClose(c){var y,b;(b=(y=this.opts).onClose)===null||b===void 0||b.call(y,c)}async onType(c){const y=this.opts;this.widget&&y.onType&&y.onType(c,b=>(this.preLookFor!==c&&this.opts.onChangeValue(c),this.preLookFor=c,this.widget.setInput(b,y.getAutoFocus(c),y.inputAriaLabel)))}onFocusLost(){return!!this.opts.ignoreFocusOut}showDecoration(c){this.widget.validateType.set(c,void 0)}hideDecoration(){this.widget.validateType.set(void 0,void 0)}};t.MonacoQuickOpenService=u,n.__decorate([(0,l.Autowired)(_.KeybindingRegistry),n.__metadata("design:type",Object)],u.prototype,"keybindingRegistry",void 0),n.__decorate([(0,l.Autowired)(s.MonacoContextKeyService),n.__metadata("design:type",s.MonacoContextKeyService)],u.prototype,"monacoContextKeyService",void 0),n.__decorate([(0,l.Autowired)(_.IContextKeyService),n.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),n.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),n.__metadata("design:type",l.Injector)],u.prototype,"injector",void 0),n.__decorate([(0,l.Autowired)(_.AppConfig),n.__metadata("design:type",Object)],u.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(m.IProgressService),n.__metadata("design:type",Object)],u.prototype,"progressService",void 0),t.MonacoQuickOpenService=u=n.__decorate([(0,l.Injectable)()],u);class E{constructor(c,y,b){this.model=c,this.keybindingRegistry=y,this.model=c,this.options=p.QuickOpenOptions.resolve(b)}get prefix(){return this.options.prefix}get inputAriaLabel(){return this.options.placeholder||""}get ignoreFocusOut(){return this.options.ignoreFocusOut}get password(){return this.options.password}get enabled(){return this.options.enabled}get valueSelection(){return this.options.valueSelection}get keepScrollPosition(){return this.options.keepScrollPosition}get busy(){return this.options.busy}get renderTab(){return this.options.renderTab}get toggleTab(){return this.options.toggleTab}get canSelectMany(){return this.options.canPickMany}onClose(c){this.options.onClose(c)}onSelect(c,y){this.options.onSelect(c,y)}onConfirm(c){this.options.onConfirm(c)}onType(c,y){this.model.onType(c,(b,A)=>{const S=this.toOpenModel(c,b,A);y(S)})}onKeyMods(c){this.options.onKeyMods&&this.options.onKeyMods(c)}onChangeValue(c){this.options.onChangeValue&&this.options.onChangeValue(c)}updateOptions(c){this.options=p.QuickOpenOptions.resolve(c,this.options)}compareEntries(c,y,b){const A=c.getHighlights()[0]||[],S=y.getHighlights()[0]||[];if(A.length&&!S.length)return-1;if(!A.length&&S.length)return 1;const D=c.getLabel(),I=y.getLabel();return(0,_.compareAnything)(D,I,b)}toOpenModel(c,y,b){const A=c;this.options.skipPrefix&&(c=c.substring(this.options.skipPrefix).trim()),b&&b.getValidateInput&&(c=b.getValidateInput(c));const S=y.filter(I=>!!this.fuzzyQuickOpenItem(I,c));this.options.fuzzySort&&S.sort((I,w)=>this.compareEntries(I,w,c));const{getPlaceholderItem:D}=this.options;return!S.length&&D&&S.push(D(c,A)),{items:S,actionProvider:b}}fuzzyQuickOpenItem(c,y){const{fuzzyMatchLabel:b,fuzzyMatchDescription:A,fuzzyMatchDetail:S}=this.options,D=b?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getLabel()||""),typeof b=="object"&&b.enableSeparateSubstringMatching):c.getLabelHighlights(),I=this.options.fuzzyMatchDescription?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDescription()||""),typeof A=="object"&&A.enableSeparateSubstringMatching):c.getDescriptionHighlights(),w=this.options.fuzzyMatchDetail?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDetail()||""),typeof S=="object"&&S.enableSeparateSubstringMatching):c.getDetailHighlights();if(!(y&&!D&&!I&&(!w||w.length===0)&&!this.options.showItemsWithoutHighlight))return c.setHighlights(D||[],I||[],w||[]),c}getAutoFocus(c){if(this.options.selectIndex){const y=this.options.selectIndex(c);if(y>=0)return{autoFocusIndex:y}}return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:c}}}t.KaitianQuickOpenControllerOpts=E},65694:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenContext=void 0;const r=e(85608).__importDefault(e(14041));t.QuickOpenContext=r.default.createContext({widget:null})},6399:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenView=t.QuickOpenProgress=t.QuickOpenList=t.QuickOpenInput=t.QuickOpenHeader=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(63373),m=e(68969),p=e(68974),s=e(74404),g=e(89647),a=e(28423),h=e(85139),d=e(70716),u=e(52644),E=e(78245),f=e(65694),c=e(50426),y=n.__importDefault(e(91449)),b=({button:R,...M})=>o.default.createElement(l.Button,{...M,key:R.tooltip,type:"icon",iconClass:R.iconClass,title:R.tooltip}),A=()=>{const R=(0,_.useInjectable)(c.QuickTitleBar),M=(0,_.useAutorun)(R.title),O=(0,_.useAutorun)(R.isAttached),x=(0,_.useAutorun)(R.step),k=(0,_.useAutorun)(R.totalSteps),F=(0,_.useAutorun)(R.leftButtons),L=(0,_.useAutorun)(R.rightButtons),N=o.default.useMemo(()=>{const j=()=>x&&k?`${x}/${k}`:x?String(x):"";return M&&x?`${M} (${j()})`:M||(x?j():"")},[M,x,k]),U=o.default.useCallback((j,Q)=>{j.stopPropagation(),R.fireDidTriggerButton(Q)},[R.fireDidTriggerButton]),W=o.default.useMemo(()=>F.length>0||N||L.length>0?o.default.createElement("div",{className:y.default.title_bar},o.default.createElement("div",{className:y.default.title_bar_button},F.map(j=>o.default.createElement(b,{onMouseDown:Q=>U(Q,j),button:j}))),o.default.createElement("div",null,N),o.default.createElement("div",{className:y.default.title_bar_button},L.map(j=>o.default.createElement(b,{onMouseDown:Q=>U(Q,j),button:j})))):null,[F,N,L]);return O?W:null};t.QuickOpenHeader=A;const S=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),M=(0,_.useAutorun)(R.valueSelection),O=(0,_.useAutorun)(R.items),x=(0,_.useAutorun)(R.selectAll),k=(0,_.useAutorun)(R.validateType),F=(0,_.useAutorun)(R.inputPlaceholder),L=(0,_.useAutorun)(R.inputEnable),N=(0,_.useAutorun)(R.inputValue),U=(0,_.useAutorun)(R.isPassword),W=(0,_.useAutorun)(R.canSelectMany),j=o.default.useRef(null),Q=o.default.useCallback(H=>{const K=H.target.value;R.setInputValue(K),R.callbacks.onType(K)},[R]),$=o.default.useMemo(()=>U?"password":"text",[U]);o.default.useEffect(()=>{setTimeout(()=>{var H;(H=j.current)===null||H===void 0||H.focus()},0)},[O]),o.default.useEffect(()=>{var H;if(N&&M){const[K,Y]=M;(H=j.current)===null||H===void 0||H.setSelectionRange(K,Y)}},[M]);const Z=o.default.useMemo(()=>{if(!(0,_.isUndefined)(k))return{type:k,message:""}},[k]),G=o.default.useCallback(H=>{const K=H.target.checked;for(const Y of O)(0,a.transaction)(X=>{Y.checked.set(K,X)})},[O]),V=o.default.useCallback(()=>{R.callbacks.onConfirm(O.filter(H=>H.checked.get())),R.hide(s.HideReason.ELEMENT_SELECTED)},[O]);return o.default.createElement("div",{tabIndex:0,className:y.default.input},W&&o.default.createElement(l.CheckBox,{checked:x,wrapTabIndex:0,onChange:G}),o.default.createElement(l.ValidateInput,{validateMessage:Z,ref:j,type:$,"aria-label":F,placeholder:F,value:N,readOnly:!L,onChange:Q,id:v.VIEW_CONTAINERS.QUICKPICK_INPUT}),W&&o.default.createElement(l.Button,{className:y.default.input_button,onClick:V},(0,_.localize)("ButtonOK")))};t.QuickOpenInput=S;const D=({data:R,index:M})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),x=(0,_.useAutorun)(O.actionProvider),k=(0,_.useAutorun)(O.selectIndex),F=(0,_.useAutorun)(O.canSelectMany),L=(0,_.useAutorun)(R.checked),N=(0,_.useInjectable)(E.QuickOpenItemService),U=o.default.useMemo(()=>R.getLabel(),[R]),W=o.default.useMemo(()=>R.getDescription(),[R]),j=o.default.useMemo(()=>R.getDetail(),[R]),Q=o.default.useMemo(()=>R.getIconClass(),[R]),$=o.default.useMemo(()=>R.getKeybinding(),[R]),Z=o.default.useMemo(()=>R.getGroupLabel(),[R]),G=o.default.useMemo(()=>R.showBorder(),[R]),V=o.default.useMemo(()=>R.getIconPath(),[R]),H=o.default.useMemo(()=>N.getIconClass({iconPath:V,iconClass:Q}),[Q,V]),K=o.default.useMemo(()=>N.getButtons(R.getButtons()),[R]),[Y,X,re]=o.default.useMemo(()=>R.getHighlights(),[R]),[oe,he]=o.default.useState(!1),me=o.default.useMemo(()=>{if(x&&x.hasActions(R))return x.getActions(R)},[x,R]),q=o.default.useCallback(te=>{F?((0,a.transaction)(fe=>{R.checked.set(!L,fe)}),te.stopPropagation()):(te.button===1?R.run(s.QuickOpenMode.OPEN_IN_BACKGROUND):R.run(s.QuickOpenMode.OPEN))&&O.hide(s.HideReason.ELEMENT_SELECTED)},[R,F]),Ae=o.default.useCallback(te=>{te.run(R),O.hide(s.HideReason.ELEMENT_SELECTED)},[R]),ge=o.default.useCallback((te,fe)=>{te.stopPropagation(),N.fireDidTriggerItemButton(M,fe)},[R]);return o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_ITEM,tabIndex:0,className:(0,r.default)({[y.default.item_selected]:k===M,[y.default.item_border]:G},y.default.item),onMouseEnter:()=>he(!0),onMouseLeave:()=>he(!1),"aria-label":U},F&&o.default.createElement(l.CheckBox,{wrapTabIndex:0,checked:L,onChange:te=>{(0,a.transaction)(fe=>{R.checked.set(te.target.checked,fe)})}}),o.default.createElement("div",{tabIndex:0,className:y.default.item_label_container,onMouseDown:q},o.default.createElement("div",{className:y.default.item_label},H&&o.default.createElement("span",{className:(0,r.default)(y.default.item_icon,H)}),o.default.createElement(d.HighlightLabel,{className:y.default.item_label_name,labelClassName:y.default.label_icon_container,labelIconClassName:y.default.item_label_name_icon,hightLightClassName:(0,r.default)(y.default.item_label_highlight),text:U,highlights:Y}),W&&o.default.createElement(d.HighlightLabel,{className:y.default.item_label_description,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_description_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:W,highlights:X})),j&&o.default.createElement(d.HighlightLabel,{OutElementType:"div",className:y.default.item_label_detail,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_detail_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:j,highlights:re})),$&&o.default.createElement(u.KeybindingView,{keybinding:$}),Z&&o.default.createElement("span",{title:Z,className:y.default.item_group_label},Z),me?.map(te=>o.default.createElement("span",{key:te.id,onMouseDown:()=>Ae(te),title:te.tooltip||te.label,className:(0,r.default)(y.default.item_action,te.class)})),(oe||k===M)&&K?.map(te=>o.default.createElement(b,{onMouseDown:fe=>ge(fe,te),button:te})))},I=({onReady:R,onScroll:M})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),x=(0,_.useAutorun)(O.items),k=(0,_.useAutorun)(O.validateType),F=(0,_.useDesignStyles)(y.default.quickopen_list,"quickopen_list"),L=o.default.useCallback(N=>{const U=x[N];return U?.getDetail()?44:22},[x]);return x.length>0?o.default.createElement(l.RecycleList,{onReady:R,onScroll:M,className:(0,r.default)(F,{[y.default.validate_error]:k===l.VALIDATE_TYPE.ERROR,[y.default.validate_warning]:k===l.VALIDATE_TYPE.WARNING}),data:x,template:D,getSize:L,maxHeight:x.length?O.MAX_HEIGHT:0,hiddenHorizontalScrollbar:!0}):null};t.QuickOpenList=I;const w=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),M=(0,_.useAutorun)(R.busy),x=(0,_.useInjectable)(m.IProgressService).getIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS);return x?(o.default.useEffect(()=>{R.updateProgressStatus(!!M)},[M]),o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_PROGRESS,className:y.default.progress_bar},o.default.createElement(p.ProgressBar,{progressModel:x.progressModel}))):null};t.QuickOpenProgress=w;const T=()=>{var R;const{widget:M}=o.default.useContext(f.QuickOpenContext),O=(0,_.useAutorun)(M.items),x=(0,_.useAutorun)(M.autoFocus),k=(0,_.useAutorun)(M.selectIndex),F=(0,_.useAutorun)(M.keepScrollPosition),L=(0,_.useAutorun)(M.isShow),N=o.default.useRef(),U=o.default.useRef(0),W=o.default.useCallback(({relatedTarget:G,currentTarget:V})=>{if(G===null)return!1;let H=G.parentNode;for(;H!==null;){if(H===V)return!0;H=H.parentNode}return!1},[]),j=o.default.useCallback(G=>{W(G)||M.blur()},[M]),Q=o.default.useCallback(G=>{N.current=G},[M]),$=o.default.useCallback(G=>{U.current=G.scrollOffset},[M]);o.default.useEffect(()=>{if(x){if(x.autoFocusPrefixMatch){let G,V;const H=x.autoFocusPrefixMatch,K=H.toLowerCase();for(const X of O){const re=X.getLabel()||"";if(!G&&re.indexOf(H)===0?G=X:!V&&re.toLowerCase().indexOf(K)===0&&(V=X),G&&V)break}const Y=G||V;if(Y){const X=O.indexOf(Y);M.setSelectIndex(X);return}}x.autoFocusFirstEntry?M.setSelectIndex(0):typeof x.autoFocusIndex=="number"?O.length>x.autoFocusIndex&&M.setSelectIndex(x.autoFocusIndex):x.autoFocusSecondEntry?O.length>1&&M.setSelectIndex(1):x.autoFocusLastEntry&&O.length>1&&M.setSelectIndex(O.length-1)}},[O,x]),o.default.useEffect(()=>{var G,V;if(F?(G=N.current)===null||G===void 0||G.scrollTo(U.current):(V=N.current)===null||V===void 0||V.scrollToIndex(k,"smart"),O.length===0)return;const H=O[k];H&&(H.run(s.QuickOpenMode.PREVIEW),M.callbacks.onSelect(H,k))},[O,k,F]);const Z=o.default.useCallback(G=>{if(g.KEY_CODE_MAP[G.nativeEvent.keyCode]===h.KeyCode.KEY_IN_COMPOSITION)return;const{key:V}=_.KeyCode.createKeyCode(G.nativeEvent);if(!V)return;const H=O.length;switch(V.keyCode){case _.Key.ARROW_UP.keyCode:{G.preventDefault(),G.stopPropagation();const K=k-1;M.setSelectIndex((H+K%H)%H);break}case _.Key.ARROW_DOWN.keyCode:{G.preventDefault(),G.stopPropagation();const K=k+1;M.setSelectIndex(K%H);break}case _.Key.ESCAPE.keyCode:{G.preventDefault(),G.stopPropagation(),M.hide(s.HideReason.CANCELED);break}case _.Key.ENTER.keyCode:{G.preventDefault(),G.stopPropagation();const K=O[k];if(!K)return;K.run(s.QuickOpenMode.OPEN)&&M.hide(s.HideReason.ELEMENT_SELECTED);break}case _.Key.TAB.keyCode:{M.toggleTab&&(G.preventDefault(),G.stopPropagation(),M.toggleTab());break}}},[O,M,k]);return L?o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK,tabIndex:0,className:y.default.container,onKeyDown:Z,onBlur:j},o.default.createElement(t.QuickOpenHeader,null),o.default.createElement(t.QuickOpenInput,null),o.default.createElement(t.QuickOpenProgress,null),(R=M.renderTab)===null||R===void 0?void 0:R.call(M),o.default.createElement(t.QuickOpenList,{onReady:Q,onScroll:$})):null};t.QuickOpenView=T},98462:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenWidget=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63373),_=e(68969),v=e(28423);let m=class{constructor(s){this.callbacks=s,this.MAX_HEIGHT=440,this.inputValue=(0,v.observableValue)(this,""),this.validateType=(0,v.observableValue)(this,void 0),this.isShow=(0,v.observableValue)(this,!1),this.items=(0,v.observableValue)(this,[]),this.actionProvider=(0,v.observableValue)(this,null),this.autoFocus=(0,v.observableValue)(this,null),this.selectAll=(0,v.derived)(this,g=>this.items.read(g).every(a=>a.checked.read(g))),this.isPassword=(0,v.observableValue)(this,!1),this.selectIndex=(0,v.observableValue)(this,0),this.keepScrollPosition=(0,v.observableValue)(this,!1),this.busy=(0,v.observableValue)(this,!1),this.valueSelection=(0,v.observableValue)(this,void 0),this.canSelectMany=(0,v.observableValue)(this,!1),this.inputPlaceholder=(0,v.observableValue)(this,""),this.inputEnable=(0,v.observableValue)(this,!1),this.isAlreadyOpen=!1,this.modifierListeners=new o.DisposableCollection}setSelectIndex(s){(0,v.transaction)(g=>{const a=(0,o.isNumber)(s)?s:0;this.selectIndex.set(a,g)})}setInputValue(s){(0,v.transaction)(g=>{this.inputValue.set(s,g)})}show(s,g){(0,v.transaction)(a=>{this.isShow.get()?this.isAlreadyOpen||(this.isAlreadyOpen=!0,this.callbacks.onType(s)):this.callbacks.onType(s),this.isShow.set(!0,a),this.inputValue.set(s,a),this.inputPlaceholder.set(g.placeholder,a),this.isPassword.set(!!g.password,a),this.inputEnable.set(g.inputEnable,a),this.valueSelection.set(g.valueSelection,a),this.canSelectMany.set(g.canSelectMany,a),this.keepScrollPosition.set(!!g.keepScrollPosition,a),this.busy.set(!!g.busy,a),this.renderTab=g.renderTab,this.toggleTab=g.toggleTab,this.registerKeyModsListeners()})}hide(s){this.isAlreadyOpen=!1,this.modifierListeners.disposed||this.modifierListeners.dispose(),this.isShow.get()&&((0,v.transaction)(g=>{this.isShow.set(!1,g),this.items.set([],g)}),s===o.HideReason.ELEMENT_SELECTED?this.callbacks.onOk():this.callbacks.onCancel(),this.callbacks.onHide(s))}blur(){if(!this.isShow.get())return;this.callbacks.onFocusLost()||this.hide(o.HideReason.FOCUS_LOST)}setInput(s,g,a){(0,v.transaction)(h=>{this.items.set(s.items,h),this.actionProvider.set(s.actionProvider||null,h),this.autoFocus.set(g,h)})}updateOptions(s){(0,v.transaction)(g=>{const a={placeholder:h=>this.inputPlaceholder.set(h,g),password:h=>this.isPassword.set(!!h,g),inputEnable:h=>this.inputEnable.set(!!h,g),valueSelection:h=>this.valueSelection.set(h,g),canSelectMany:h=>this.canSelectMany.set(!!h,g),keepScrollPosition:h=>this.keepScrollPosition.set(!!h,g),busy:h=>this.busy.set(!!h,g),enabled:h=>this.inputEnable.set(!!h,g)};Object.entries(s).forEach(([h,d])=>{h in a&&a[h](d)})})}updateProgressStatus(s){s===!0?this.progressService.withProgress({location:l.VIEW_CONTAINERS.QUICKPICK_PROGRESS},()=>new Promise(g=>this.progressResolve=g)):this.progressResolve&&(this.progressResolve(),this.progressResolve=void 0)}registerKeyModsListeners(){const s=g=>{const a={ctrlCmd:g.ctrlKey||g.metaKey,alt:g.altKey};this.callbacks.onKeyMods(a)};this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_DOWN,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_UP,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.MOUSE_DOWN,s,!0))}};t.QuickOpenWidget=m,n.__decorate([(0,r.Autowired)(_.IProgressService),n.__metadata("design:type",Object)],m.prototype,"progressService",void 0),t.QuickOpenWidget=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},13978:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickPickServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(43718),v=e(50426);let m=class{constructor(){this.isAlwaysOpen=!1,this.onDidAcceptEmitter=new _.Emitter,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActiveItemsEmitter=new _.Emitter,this.onDidChangeActiveItems=this.onDidChangeActiveItemsEmitter.event}async show(s,g){return this.isAlwaysOpen=!!g?.alwaysOpen,new Promise(a=>{const h=this.toItems(s,a);g&&this.quickTitleBar.shouldShowTitleBar(g.title,g.step,g.buttons)&&this.quickTitleBar.attachTitleBar(g.title,g.step,g.totalSteps,g.buttons);const d=g&&g.value?g.value:"";this.quickOpenService.open({onType:(u,E)=>{E(h),this.onDidChangeActiveItemsEmitter.fire(h)}},Object.assign({onClose:()=>{this.quickTitleBar.hide(),a(void 0)},onConfirm:u=>{this.quickTitleBar.hide(),a(u.map(E=>E.getValue()))},fuzzyMatchLabel:!0,fuzzyMatchDescription:!0,prefix:d},g))})}updateOptions(s){this.quickOpenService.updateOptions(s)}hide(s){this.quickOpenService.hide(s)}toItems(s,g){const a=[];for(const h of s){const d=this.toItemOptions(h,g);a.push(new l.QuickOpenItem(d))}return a}toItemOptions(s,g){let a=typeof s=="string"?s:s.label,h=typeof s=="string"?void 0:s.iconClass;const d=typeof s=="string"?s:s.value,u=typeof s=="string"?void 0:s.description,E=typeof s=="string"?void 0:s.detail,f=typeof s=="string"?void 0:s.groupLabel,c=typeof s=="string"?void 0:s.showBorder,y=typeof s=="string"?void 0:s.buttons,b=typeof s=="string"?void 0:s.iconPath,[A,S]=(0,o.getIconClass)(a);return A&&(h=(0,o.getIcon)(A)||(0,o.getExternalIcon)(A),a=` ${S}`),{label:a,description:u,detail:E,iconClass:h,groupLabel:f,showBorder:c,buttons:y,iconPath:b,run:D=>D!==l.Mode.OPEN?!1:(g(d),this.fireOnDidAccept(),!this.isAlwaysOpen),value:d}}fireOnDidAccept(){this.onDidAcceptEmitter.fire(void 0)}};t.QuickPickServiceImpl=m,n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),t.QuickPickServiceImpl=m=n.__decorate([(0,r.Injectable)()],m)},50426:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickTitleBar=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(40827),v=e(43718),m=e(28423),p=e(52416);e(50279);const s=e(89802);let g=class{constructor(){this.onDidTriggerButtonEmitter=new v.Emitter,this.isAttached=(0,m.observableValue)(this,!1),this.title=(0,m.observableValue)(this,void 0),this.step=(0,m.observableValue)(this,void 0),this.totalSteps=(0,m.observableValue)(this,void 0),this.buttons=(0,m.observableValue)(this,[]),this.leftButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(d=>d.side===l.QuickTitleButtonSide.LEFT)),this.rightButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(d=>d.side===l.QuickTitleButtonSide.RIGHT||typeof d.side>"u"))}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}fireDidTriggerButton(h){this.onDidTriggerButtonEmitter.fire(h)}attachTitleBar(h,d,u,E){(0,m.transaction)(f=>{this.title.set(h,f),this.step.set(d,f),this.totalSteps.set(u,f),E&&this.buttons.set(E.map((c,y)=>{if(v.ThemeIcon.isThemeIcon(c.iconPath))return{...c,iconClass:(0,o.getExternalIcon)(c.iconPath.id),handle:y};const b=(0,s.iconPath2URI)(c.iconPath,this.themeService.getCurrentThemeSync().type),A=b&&this.staticResourceService.resolveStaticResource(b).toString(),S=A&&this.iconService.fromIcon("",A,p.IconType.Background);return{...c,iconClass:S,handler:y}}),f),this.isAttached.set(!0,f)})}hide(){(0,m.transaction)(h=>{this.title.set(void 0,h),this.buttons.set([],h),this.step.set(void 0,h),this.totalSteps.set(void 0,h),this.isAttached.set(!1,h)})}shouldShowTitleBar(h,d,u){return!(0,v.isUndefined)(h)||!(0,v.isUndefined)(d)||!(0,v.isUndefined)(u)&&!!u.length}};t.QuickTitleBar=g,n.__decorate([(0,r.Autowired)(p.IThemeService),n.__metadata("design:type",Object)],g.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.StaticResourceService)],g.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(p.IIconService),n.__metadata("design:type",Object)],g.prototype,"iconService",void 0),t.QuickTitleBar=g=n.__decorate([(0,r.Injectable)()],g)},44854:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputBoxImpl=void 0;const n=e(85608),r=e(76003),o=e(81878),l=e(74404),_=e(43718),v=e(50426);let m=class{constructor(s){this._options=s,this.onDidAcceptEmitter=new _.Emitter,this.onDidChangeValueEmitter=new _.Emitter,this.onDidTriggerButtonEmitter=new _.Emitter,this.onDidHideEmitter=new _.Emitter}shouldUpdate(s,g){return g.value!==s.value||g.prompt!==s.prompt||g.placeHolder!==s.placeHolder||g.password!==s.password||g.ignoreFocusOut!==s.ignoreFocusOut||g.enabled!==s.enabled||g.valueSelection!==s.valueSelection||g.title!==s.title||g.step!==s.step||g.totalSteps!==s.totalSteps||g.buttons!==s.buttons||g.validationMessage!==s.validationMessage||g.validationType!==s.validationType||g.busy!==s.busy}updateOptions(s,g=!1){if(!s)return;const a=Object.assign({},this._options);this._options={...this._options,...s},!g&&this.shouldUpdate(s,a)&&(this.quickOpenService.updateOptions(s),this.refresh())}refresh(){this.quickOpenService.refresh()}get options(){return this._options}set options(s){this._options=s}open(){let s="",g=!1;this.quickTitleBar.onDidTriggerButton(a=>{this.onDidTriggerButtonEmitter.fire(a.handler)}),this.quickOpenService.open({onType:async(a,h)=>{var d;if(s!==a){if(s=a,this.getDerivedOptionsFromValue){const y=await this.getDerivedOptionsFromValue(a);this.updateOptions(y,!0)}this.onDidChangeValueEmitter.fire(a),g=!0}let u=this.options.prompt;const E=(0,_.localize)("quickopen.quickinput.prompt");this.options&&this.quickTitleBar.shouldShowTitleBar(this.options.title,this.options.step,this.options.buttons)&&this.quickTitleBar.attachTitleBar(this.options.title,this.options.step,this.options.totalSteps,this.options.buttons);const f=this.options.validationMessage;f?this.quickOpenService.showDecoration((d=this.options.validationType)!==null&&d!==void 0?d:o.VALIDATE_TYPE.ERROR):this.quickOpenService.hideDecoration(),u=f||u;const c={run:y=>g&&!f&&y===l.Mode.OPEN&&(this.onDidAcceptEmitter.fire(a),this.options.hideOnDidAccept)?(this.quickTitleBar.hide(),!0):!1};u?(c.label=u,c.detail=E):c.label=E,h([new l.QuickOpenItem(c)])}},{prefix:this.options.value,placeholder:this.options.placeHolder,password:this.options.password,ignoreFocusOut:this.options.ignoreFocusOut,enabled:this.options.enabled,valueSelection:this.options.valueSelection,busy:this.options.busy,onClose:a=>{a&&this.onDidHideEmitter.fire(),this.quickTitleBar.hide()}})}dispose(){this.onDidAcceptEmitter.dispose(),this.onDidChangeValueEmitter.dispose(),this.onDidHideEmitter.dispose(),this.onDidTriggerButtonEmitter.dispose()}hide(){this.quickOpenService.hideDecoration(),this.quickOpenService.hide()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}get onDidHide(){return this.onDidHideEmitter.event}};t.InputBoxImpl=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),t.InputBoxImpl=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},89802:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.iconPath2URI=r;const n=e(43718);function r(o,l){if(n.URI.isUri(o))return"codeUri"in o?o:new n.URI(o.toString());if((o?.dark||o?.light)&&l)return l==="dark"?new n.URI(o.dark.toString()):new n.URI(o.light.toString())}},74435:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(74404),t),n.__exportStar(e(11143),t)},97821:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(74435),t)},57492:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMProviderList=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(93899),m=e(40293),p=e(92237),s=e(36367),g=n.__importDefault(e(38201)),a=({repository:d,selected:u,...E})=>{const{provider:f}=d,{title:c,type:y}=(0,s.getSCMRepositoryDesc)(d),b=(0,_.useInjectable)(m.IStatusBarService),A=(f.statusBarCommands||[]).map((S,D)=>b.getElementConfig(`scm.repo.${D}`,{text:S.title,command:S.id,arguments:S.arguments,tooltip:S.tooltip,iconset:"octicon"}));return o.default.createElement("div",{className:(0,r.default)(g.default.provider,{[g.default.selected]:u}),...E},o.default.createElement("div",{className:g.default.info},o.default.createElement("div",{className:g.default.title},c,"\xA0"),o.default.createElement("div",{className:g.default.type},y,"\xA0"),f.count&&f.count>0?o.default.createElement(l.Badge,null,f.count):null),o.default.createElement("div",{className:g.default.toolbar},A.map(S=>o.default.createElement(p.StatusBarItem,{key:S.id,entryId:S.id,className:g.default.status,...S}))))},h=({repositoryList:d,selectedRepository:u})=>{if(!u)return null;const E=(0,_.useInjectable)(v.ICtxMenuRenderer),f=(0,_.useInjectable)(v.AbstractContextMenuService),c=(0,o.useCallback)(b=>{b.setSelected(!0),b.focus()},[]),y=(0,o.useCallback)((b,A)=>{A.preventDefault(),A.stopPropagation();const{x:S,y:D}=A.nativeEvent,I=f.createMenu({id:v.MenuId.SCMSourceControl}),w=I.getMergedMenuNodes();I.dispose(),E.show({anchor:{x:S,y:D},menuNodes:w,args:[b.provider.toJSON()]})},[]);return o.default.createElement("div",{className:g.default.scmSelect},d.map(b=>o.default.createElement(a,{key:b.provider.id,selected:b.provider.id===u.provider.id,onClick:c.bind(null,b),onContextMenu:y.bind(null,b),repository:b})))};t.SCMProviderList=h,t.SCMProviderList.displayName="SCMProviderList"},37751:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceInput=void 0,t.convertValidationType=a;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),_=e(40525),v=e(43718),m=e(5567),p=e(52416),s=e(64964),g=n.__importDefault(e(87906));function a(u){return["info","warning","error"][u]}function h(u){return o.strings.format(u.input.placeholder,o.isMacintosh?"\u2318Enter":"Ctrl+Enter")}const d=({repository:u,menus:E})=>{const f=(0,o.useInjectable)(v.CommandService),c=(0,o.useInjectable)(p.IIconService),y=(0,o.useDesignStyles)(g.default.scmMenu,"scmMenu"),[b,A]=(0,r.useState)(""),[S,D]=(0,r.useState)(""),[I,w]=(0,r.useState)(!0),[T,R]=(0,r.useState)({}),M=(0,r.useCallback)(N=>{u.input.value=N},[u]),O=(0,r.useCallback)(N=>{const{addonAfter:U,addonBefore:W}=N,j=U,Q=W;R({...N,...U?{addonAfter:(0,v.isFunction)(j)?r.default.createElement(j,null):U}:{},...W?{addonBefore:(0,v.isFunction)(Q)?r.default.createElement(Q,null):W}:{}})},[u.input.props]);(0,r.useEffect)(()=>{u.input.props&&O(u.input.props)},[u.input.props]),(0,r.useEffect)(()=>{const N=new o.DisposableStore;return N.add(u.input.onDidChangeProps(U=>{O(U)})),N.add(u.input.onDidChange(U=>{A(U)})),N.add(u.input.onDidChangePlaceholder(()=>{D(h(u))})),N.add(u.input.onDidChangeEnablement(U=>{w(U)})),D(h(u)),()=>{N.dispose()}},[u]);const x=(0,r.useCallback)(()=>{if(!u||!u.provider.acceptInputCommand)return;const{id:N,arguments:U=[]}=u.provider.acceptInputCommand;N&&f.executeCommand(N,...U)},[u]),{onKeyDown:k,onKeyUp:F}=(0,_.useHotKey)([o.isMacintosh?"command":"ctrl","enter"],x),L=u&&u.provider&&E;return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:g.default.scmHeader},r.default.createElement(m.AutoFocusedInput,{containerId:s.scmContainerId,className:g.default.scmInput,placeholder:S,value:b,disabled:!I,onKeyDown:N=>k(N.keyCode),onKeyUp:F,onValueChange:M,...T})),L&&r.default.createElement(l.InlineMenuBar,{className:y,context:[u.provider,b],type:"button",moreIcon:"down",iconService:c,regroup:(N,U)=>[[N[0]].filter(Boolean),[...N.slice(1),...U]],menus:E}))};t.SCMResourceInput=d,t.SCMResourceInput.displayName="SCMResourceInput"},24748:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceTree=t.TREE_FIELD_NAME=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(48560),m=e(49914),p=n.__importDefault(e(91873)),s=e(11579),g=e(74568),a=e(63451);t.TREE_FIELD_NAME="SCM_TREE_TREE_FIELD",t.SCMResourceTree=(0,o.memo)(({height:u})=>{const[E,f]=(0,o.useState)(!1),[c,y]=(0,o.useState)(),b=(0,o.useRef)(!1),A=(0,o.useRef)(null),S=(0,v.useInjectable)(s.SCMTreeModelService),D=(0,v.useInjectable)(m.ViewModelContext),[I,w]=(0,o.useState)(D.alwaysShowActions),T=(0,o.useCallback)(async()=>{S.init(),await S.whenReady,S.treeModel&&await S.treeModel.ensureReady,!b.current&&f(!0)},[E,S]);(0,o.useEffect)(()=>{const N=D.onAlwaysShowActionsChange(U=>{w(U)});return T(),()=>{b.current=!0,N.dispose()}},[]),(0,o.useEffect)(()=>{let N;return E&&(y(S.treeModel),N=S.onDidTreeModelChange(async U=>{U&&await U.ensureReady,y(U)})),()=>{N?.dispose()}},[E]),(0,o.useEffect)(()=>{var N;const U=()=>{S.handleTreeBlur()};return(N=A.current)===null||N===void 0||N.addEventListener("blur",U,!0),()=>{var W;(W=A.current)===null||W===void 0||W.removeEventListener("blur",U,!0),S.handleTreeBlur()}},[A.current]);const R=(0,o.useCallback)(N=>{S.handleTreeHandler({...N,getModel:()=>S.treeModel,hasDirectFocus:()=>A.current===document.activeElement})},[]),M=(0,o.useCallback)(N=>O(N)?!1:N.shiftKey,[]),O=(0,o.useCallback)(N=>{const{metaKey:U,ctrlKey:W}=N;return _.isOSX&&U||W},[]),x=(0,o.useCallback)((N,U,W)=>{if(N.stopPropagation(),!U)return;const j=M(N),Q=O(N);j?S.handleItemRangeClick(U,W):Q?S.handleItemToggleClick(U,W):S.handleItemClick(U,W)},[]),k=(0,o.useCallback)((N,U)=>{N.stopPropagation(),S.toggleDirectory(U)},[]),F=(0,o.useCallback)((N,U,W)=>{N.stopPropagation(),U&&S.handleItemDoubleClick(U,W)},[]),L=(0,o.useCallback)((N,U,W)=>{N.preventDefault(),S.handleContextMenu(N,U,W)},[]);return o.default.createElement("div",{className:(0,r.default)(p.default.scm_tree_container,{"scm-show-actions":I}),tabIndex:-1,ref:A,"data-name":t.TREE_FIELD_NAME},o.default.createElement(d,{isReady:E,model:c,height:u,onTreeReady:R,onItemClick:x,onItemDoubleClick:F,onTwistierClick:k,onContextMenu:L}))}),t.SCMResourceTree.displayName="SCMResourceTree";function h(u,E){return u.isReady===E.isReady&&u.model===E.model&&u.height===E.height}const d=(0,o.memo)(({isReady:u,model:E,height:f,onTreeReady:c,onItemClick:y,onItemDoubleClick:b,onTwistierClick:A,onContextMenu:S})=>{const D=(0,v.useInjectable)(s.SCMTreeModelService),I=(0,_.useAutorun)(D.iconThemeDesc),w=(0,v.useInjectable)(a.SCMTreeService),T=(0,o.useCallback)(R=>o.default.createElement(g.SCMTreeNode,{item:R.item,itemType:R.itemType,decorationService:D.decorationService,labelService:D.labelService,commandService:D.commandService,decorations:D.decorations.getDecorations(R.item),onClick:y,onDoubleClick:b,onTwistierClick:A,onContextMenu:S,defaultLeftPadding:w.isTreeMode?-4:4,leftPadding:w.isTreeMode?8:0,iconTheme:I}),[E,w,D,I]);return u&&E?o.default.createElement(l.RecycleTree,{height:f,itemHeight:g.SCM_TREE_NODE_HEIGHT,onReady:c,model:E,overScanCount:100},T):o.default.createElement("span",{className:p.default.scm_tree_empty_text})},h);d.displayName="SCMResourceTreeView"},38563:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeAPI=void 0,t.collectSCMResourceDesc=s;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(64964),v=e(49914),m=e(36367),{Path:p}=l.path;function s(a,h){a.type==="file"&&h.push(a.resource);for(const d of a.children)s(d,h);return h}let g=class extends l.Disposable{constructor(){super(),this.shouldCompactFolders=!1,this.shouldCompactFolders=this.preferenceService.get("scm.listView.compactFolders",!1),this.addDispose(this.preferenceService.onSpecificPreferenceChange("scm.listView.compactFolders",h=>{this.shouldCompactFolders=h.newValue}))}getSCMResource(h){const d=this.getSCMResourceGroups(),u=h.toString();for(const E of d)for(const f of E.elements)if(f.sourceUri.toString()===u)return f}getSCMResourceGroups(){return this.viewModel.scmList.filter(m.isSCMResourceGroup)}get providerId(){var h;return(h=this.viewModel.selectedRepo)===null||h===void 0?void 0:h.provider.id}init(h=_.SCMViewModelMode.Tree){return this.getSCMResourceGroups().map(u=>({id:this.providerId+"_"+u.id,name:u.id,children:h===_.SCMViewModelMode.Tree?this.pathToTree(u.elements):this.pathToList(u.elements),resource:u,type:"group"}))}pathToList(h){return h.map(d=>{const u=this._getPathDesc(d);return{id:`${this.providerId}_${d.resourceGroup.id}_${u}`,name:u,pathname:u,children:[],resource:d,type:"file"}})}pathToTree(h){const d=[],u=Symbol("result"),E=this._initPlainCounterObject(u,d);return h.forEach(f=>{this._getPathDesc(f).split(p.separator).filter(Boolean).reduce((y,b,A,S)=>{if(!y[b]){y[b]=this._initPlainCounterObject(u,[]);const D=S.slice(0,A+1).join(p.separator),I=A===S.length-1?"file":"folder",w={id:`${this.providerId}_${f.resourceGroup.id}_${D}`,name:b,pathname:D,children:y[b][u],resource:I==="file"?f:{...f,sourceUri:o.URI.from(f.sourceUri).parent.codeUri},type:I};y[u].push(w)}return y[b]},E)}),this.shouldCompactFolders&&this.walkTreeToFold(d),d}_initPlainCounterObject(h,d){const u=Object.create(null);return u[h]=d,u}walkTreeToFold(h){const d=[...h];for(;d.length;){const u=d.pop();u&&(this.foldOnlyChild(u),d.push(...u.children))}}foldOnlyChild(h){for(;h.children.length===1&&h.children[0].children.length;){const d=h.children[0];h.name=`${h.name}${p.separator}${d.name}`,h.pathname=d.pathname,h.children=d.children,h.id=d.id,h.isCompact=!0}}_getPathDesc(h){return l.path.relative(h.resourceGroup.provider.rootUri.path,h.sourceUri.path)}};t.SCMTreeAPI=g,n.__decorate([(0,r.Autowired)(v.ViewModelContext),n.__metadata("design:type",v.ViewModelContext)],g.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),t.SCMTreeAPI=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},36556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),_=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableStore,this.onDidChangeEmitter=this.disposeCollection.add(new o.Emitter),this.disposeCollection.addAll([this.decorationsService.onDidChangeDecorations(()=>{this.onDidChangeEmitter.fire()}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(p,s=!1){p instanceof o.URI&&(p=o.Uri.parse(p.toString()));const g=this.decorationsService.getDecoration(p,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.SCMTreeDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.SCMTreeDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},12466:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModel=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(36556);let _=class extends o.TreeModel{constructor(m){super(),this.init(m)}init(m){this.root=m,this.root.watcher.on(o.TreeNodeEvent.BranchDidUpdate,()=>{this.dispatchChange()}),this.decorationService.onDidChange(this.dispatchChange)}};t.SCMTreeModel=_,n.__decorate([(0,r.Autowired)(l.SCMTreeDecorationService),n.__metadata("design:type",l.SCMTreeDecorationService)],_.prototype,"decorationService",void 0),t.SCMTreeModel=_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],_)},11579:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModelService=t.SCMTreeTypes=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(77661),v=e(68969),m=e(26542),p=e(54414),s=e(28423),g=e(52416),a=e(51500),h=e(64964),d=e(49914),u=e(36556),E=e(12466),f=e(28087),c=n.__importDefault(e(87440)),y=e(63451);var b;(function(D){D[D.List=1]="List",D[D.Tree=2]="Tree"})(b||(t.SCMTreeTypes=b={}));const A={hasFolderIcons:!0,hasFileIcons:!0,hidesExplorerArrows:!0};let S=class{constructor(){this._selectedFiles=[],this.disposableCollection=new l.DisposableStore,this.onDidRefreshedEmitter=this.disposableCollection.add(new l.Emitter),this.onDidTreeModelChangeEmitter=this.disposableCollection.add(new l.Emitter),this.treeModelCache=new Map,this.iconThemeDesc=(0,s.observableValue)(this,A),this.clearFileSelectedDecoration=()=>{this._selectedFiles.forEach(I=>{this.selectedDecoration.removeTarget(I)}),this._selectedFiles=[]},this.activeFileDecoration=I=>{if(this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),I){if(this.selectedFiles.length>0)for(const w of this.selectedFiles)this.selectedDecoration.removeTarget(w);this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(I),this.focusedDecoration.addTarget(I),this._focusedFile=I,this._selectedFiles=[I],this.treeModel.dispatchChange()}},this.selectFileDecoration=I=>{this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),I&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(w=>{this.selectedDecoration.removeTarget(w)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(I),this._selectedFiles=[I],this.treeModel.dispatchChange())},this.activeFileFocusedDecoration=(I,w=!1)=>{I!==this.treeModel.root&&(this.focusedFile!==I&&(w?(this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this._contextMenuFile=I):this.focusedFile&&(this._contextMenuFile=void 0,this.focusedDecoration.removeTarget(this.focusedFile)),I&&(this._selectedFiles.indexOf(I)<0&&(this.selectedDecoration.addTarget(I),this._selectedFiles.push(I)),this.focusedDecoration.addTarget(I),this._focusedFile=I)),this.treeModel.dispatchChange())},this.activeFileSelectedDecoration=I=>{this._selectedFiles.indexOf(I)>-1||(this._selectedFiles.push(I),this.selectedDecoration.addTarget(I),this.treeModel.dispatchChange())},this.toggleFileSelectedDecoration=I=>{const w=this._selectedFiles.indexOf(I);w>-1?(this.focusedFile===I&&(this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this._selectedFiles.splice(w,1),this.selectedDecoration.removeTarget(I)):(this._selectedFiles.push(I),this.selectedDecoration.addTarget(I),this.focusedFile&&this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=I,this.focusedDecoration.addTarget(I)),this.treeModel.dispatchChange()},this.enactiveFileDecoration=()=>{var I;this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(I=this.treeModel)===null||I===void 0||I.dispatchChange()},this.activeFileActivedDecoration=I=>{this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuDecoration.addTarget(I),this._contextMenuFile=I,this.treeModel.dispatchChange()},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this._isMutiSelected=!1,this.handleItemRangeClick=(I,w)=>{if(!this.focusedFile)this.handleItemClick(I,w);else if(this.focusedFile&&this.focusedFile!==I){this._isMutiSelected=!0;const T=this.treeModel.root.getIndexAtTreeNode(I),R=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);R>T?this.activeFileDecorationByRange(T,R,T):R<T&&this.activeFileDecorationByRange(R,T,T)}},this.handleItemToggleClick=(I,w)=>{this._isMutiSelected=!0,!(w!==o.TreeNodeType.CompositeTreeNode&&w!==o.TreeNodeType.TreeNode)&&this.toggleFileSelectedDecoration(I)},this.handleContextMenu=(I,w,T)=>{const{x:R,y:M}=I.nativeEvent;if(!w)return;const O=f.SCMResourceGroup.is(w)?w.resource:w.resource.resourceGroup,x=this.viewModel.menus.getRepositoryMenus(O.provider);if(!x)return;w?this.activeFileActivedDecoration(w):this.enactiveFileDecoration();let k;if(f.SCMResourceFolder.is(w)?k=w.arguments:k=this._isMutiSelected?this._getSelectedFiles().map(F=>F.resource.toJSON()):[w.resource.toJSON()],T===o.TreeNodeType.TreeNode){const F=w.resource;this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceMenu(F).getGroupedMenuNodes()[1],args:k})}else f.SCMResourceGroup.is(w)?this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceGroupMenu(O).getGroupedMenuNodes()[1],args:k}):this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceFolderMenu(O).getGroupedMenuNodes()[1],args:k})},this.activeFileDecorationByRange=(I,w,T)=>{this.clearFileSelectedDecoration();for(const R of this.focusedDecoration.appliedTargets.keys())this.focusedDecoration.removeTarget(R);for(;I<=w;I++){const R=this.treeModel.root.getTreeNodeAtIndex(I);R&&(I===T?this.focusedDecoration.addTarget(R):this.focusedDecoration.hasTarget(R)&&this.focusedDecoration.removeTarget(R),this._selectedFiles.push(R),this.selectedDecoration.addTarget(R))}this.treeModel.dispatchChange()},this.handleItemDoubleClick=(I,w)=>{if(this.listOpenMode==="doubleClick"&&(w===o.TreeNodeType.TreeNode?this.openFile(I):this.toggleDirectory(I)),w===o.TreeNodeType.TreeNode){const{currentEditorGroup:T,currentEditor:R}=this.workbenchEditorService;T&&R&&R.currentUri&&l.URI.from(I.resource.sourceUri).isEqual(R.currentUri)&&T.pin(R.currentUri)}},this.handleItemClick=(I,w)=>{this._isMutiSelected=!1,this.activeFileDecoration(I),this.listOpenMode==="singleClick"&&(w===o.TreeNodeType.TreeNode?this.openFile(I):this.toggleDirectory(I))},this.openFile=I=>{var w,T;const R=I,M=(w=R.resource.command)===null||w===void 0?void 0:w.id;M===l.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID||M===l.EDITOR_COMMANDS.API_OPEN_DIFF_EDITOR_COMMAND_ID?this.commandService.executeCommand(M,...((T=R.resource.command)===null||T===void 0?void 0:T.arguments)||[]).catch(O=>this.logger.error("Failed to execute command:",O,M)):I.resource.open(!0)},this.toggleDirectory=I=>{I.expanded?this.scmTreeHandle.collapseNode(I):this.scmTreeHandle.expandNode(I)}}init(){this.showProgress(this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode)),this._whenReady.then(()=>{this.disposableCollection.add(this.scmTreeService.onDidTreeModeChange(w=>{this.showProgress(this._whenReady=this.initTreeModel(w))}))}),this.disposableCollection.add(this.viewModel.onDidSelectedRepoChange(w=>{var T;this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode,(T=w.provider.rootUri)===null||T===void 0?void 0:T.toString())}));const I=l.Event.any(l.Event.map(this.labelService.onDidChange,()=>{}),this.viewModel.onDidSCMListChange,l.Event.map(l.Event.filter(this.preferenceService.onPreferenceChanged,w=>w.preferenceName==="scm.listView.compactFolders"&&this.scmTreeService.isTreeMode),()=>{}));this.disposableCollection.add(I(()=>{this.refresh()})),this.setIconThemeDesc(this.iconService.currentTheme||A),this.disposableCollection.add(this.iconService.onThemeChange(w=>{this.setIconThemeDesc(w)}))}setIconThemeDesc(I){(0,s.transaction)(w=>{this.iconThemeDesc.set({hasFolderIcons:!!I.hasFolderIcons,hasFileIcons:!!I.hasFileIcons,hidesExplorerArrows:!!I.hidesExplorerArrows},w)})}showProgress(I){this.progressService.withProgress({location:h.scmResourceViewId},()=>I)}get scmTreeHandle(){return this._scmTreeHandle}get contextMenuFile(){return this._contextMenuFile}get selectedDecoration(){return this._selectedDecoration}get focusedDecoration(){return this._focusedDecoration}get contextMenuDecoration(){return this._contextMenuDecoration}get decorations(){return this._activeDecorations}get treeModel(){return this._activeTreeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get selectedFiles(){return this._selectedFiles}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}get onDidTreeModelChange(){return this.onDidTreeModelChangeEmitter.event}async collapseAll(){await this.treeModel.root.collapsedAll()}async getCacheKey(I=b.List,w){var T;return w||(w=(T=(await this.workspaceService.roots)[0])===null||T===void 0?void 0:T.uri),`${w}_git_${I===b.List?"list":"tree"}`}async initTreeModel(I,w){this.treeModelDisposableCollection&&this.treeModelDisposableCollection.dispose();const T=I?b.Tree:b.List,R=await this.getCacheKey(T,w);if(this.treeModelCache.has(R)){const{treeModel:M,decorations:O,selectedDecoration:x,focusedDecoration:k,contextMenuDecoration:F}=this.treeModelCache.get(R);this._activeTreeModel=M,this._activeDecorations=O,this._selectedDecoration=x,this._focusedDecoration=k,this._contextMenuDecoration=F,await this.refresh()}else{const M=(await this.scmTreeService.resolveChildren())[0];if(!M)return;this._activeTreeModel=this.injector.get(E.SCMTreeModel,[M]),this._activeDecorations=this.initDecorations(M),this.disposableCollection.add(this._activeDecorations),this.treeModelCache.set(R,{treeModel:this._activeTreeModel,decorations:this._activeDecorations,selectedDecoration:this._selectedDecoration,focusedDecoration:this._focusedDecoration,contextMenuDecoration:this._contextMenuDecoration})}this.treeModelDisposableCollection=new l.DisposableCollection,this.onDidTreeModelChangeEmitter.fire(this._activeTreeModel)}dispose(){this.disposableCollection.dispose()}initDecorations(I){return this._activeDecorations=new o.DecorationsManager(I),this._selectedDecoration=new o.Decoration(c.default.mod_selected),this._focusedDecoration=new o.Decoration(c.default.mod_focused),this._contextMenuDecoration=new o.Decoration(c.default.mod_actived),this._activeDecorations.addDecoration(this.selectedDecoration),this._activeDecorations.addDecoration(this.focusedDecoration),this._activeDecorations.addDecoration(this.contextMenuDecoration),this._activeDecorations}handleTreeHandler(I){this._scmTreeHandle=I}_getSelectedFiles(){return this._selectedFiles.filter(I=>!!I&&!f.SCMResourceGroup.is(I))}get listOpenMode(){return this.corePreferences["workbench.list.openMode"]}async refresh(I){var w;I===void 0&&(I=(w=this.treeModel)===null||w===void 0?void 0:w.root),I&&(this.refreshCancelToken&&!this.refreshCancelToken.token.isCancellationRequested&&this.refreshCancelToken.cancel(),this.refreshCancelToken=new l.CancellationTokenSource,await I.refresh(this.refreshCancelToken),this.refreshCancelToken=null)}};t.SCMTreeModelService=S,n.__decorate([(0,r.Autowired)(m.LabelService),n.__metadata("design:type",m.LabelService)],S.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(u.SCMTreeDecorationService),n.__metadata("design:type",u.SCMTreeDecorationService)],S.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],S.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(v.IProgressService),n.__metadata("design:type",Object)],S.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(g.IIconService),n.__metadata("design:type",Object)],S.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],S.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(y.SCMTreeService),n.__metadata("design:type",y.SCMTreeService)],S.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(d.ViewModelContext),n.__metadata("design:type",d.ViewModelContext)],S.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(_.ICtxMenuRenderer),n.__metadata("design:type",_.ICtxMenuRenderer)],S.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],S.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],S.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],S.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.IWorkspaceService),n.__metadata("design:type",Object)],S.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],S.prototype,"logger",void 0),t.SCMTreeModelService=S=n.__decorate([(0,r.Injectable)()],S)},28087:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceFile=t.SCMResourceFolder=t.SCMResourceGroup=t.SCMResourceRoot=void 0;const n=e(85608),r=e(97267),o=e(41869),l=e(36367),_=e(38563);class v extends r.CompositeTreeNode{static is(a){return!!a&&!a.parent}constructor(a,h){super(a,void 0),this.isTree=h}get name(){return`SCMTree_${this.isTree?"Tree":"List"}_${this.id}`}get expanded(){return!0}dispose(){super.dispose()}}t.SCMResourceRoot=v;class m extends r.CompositeTreeNode{static is(a){return r.CompositeTreeNode.is(a)&&!!a.resource&&(0,l.isSCMResourceGroup)(a.resource)}constructor(a,h,d,u){super(a,h),this.raw=d,this.resource=u,this.isExpanded=!0}get displayName(){return this.resource.label}get uri(){return new o.URI(`scm-group://${this.resource.id}`)}}t.SCMResourceGroup=m,n.__decorate([o.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],m.prototype,"uri",null);class p extends r.CompositeTreeNode{constructor(a,h,d,u,E){super(a,h,void 0,{name:E?d.name:d.pathname}),this.raw=d,this.resource=u,this.description="",this.isExpanded=!0}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get tooltip(){const a=this.resource;return o.path.join(a.resourceGroup.provider.rootUri.path,this.raw.pathname)}get arguments(){return(0,_.collectSCMResourceDesc)(this.raw,[])}}t.SCMResourceFolder=p,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],p.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],p.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],p.prototype,"tooltip",null);class s extends r.TreeNode{constructor(a,h,d,u,E){super(a,h,void 0,{name:E?d.name:d.pathname}),this.raw=d,this.resource=u,this.isTree=E}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get description(){if(this.isTree)return"";const a=this.resource,h=o.path.parse(a.sourceUri.path);return o.path.relative(a.resourceGroup.provider.rootUri.path,h.dir)}get tooltip(){return this.resource.sourceUri.path}}t.SCMResourceFile=s,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],s.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"description",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"tooltip",null)},74568:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeNode=t.SCMResourceNode=t.SCMResourceGroupNode=t.SCM_BADGE_LIMIT=t.SCM_TREE_NODE_HEIGHT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(25918),m=e(52416),p=e(49914),s=e(28087),g=n.__importDefault(e(87440));t.SCM_TREE_NODE_HEIGHT=22,t.SCM_BADGE_LIMIT=99;const a=({item:u,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onContextMenu:b,itemType:A,decorations:S,onTwistierClick:D})=>{const I=(0,_.useInjectable)(p.ViewModelContext),w=`${E+(u.depth||0)*(f||0)}px`,T=(0,_.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),R=(0,_.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),M=u.resource,O=o.default.useCallback(()=>{const W=I.menus.getRepositoryMenus(M.provider).getResourceGroupMenu(M);return o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{context:[M],menus:W,separator:"inline"}))},[M]),x=(0,o.useCallback)(U=>{U.nativeEvent.button===_.MouseEventButton.Right&&b(U,u,A)},[b]),k=(0,o.useCallback)(U=>{c(U,u,A)},[c]),F=(0,o.useCallback)(U=>{y(U,u,A)},[y]),L=(0,o.useCallback)((U,W)=>S&&S?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:W,className:(0,r.default)(g.default.scm_tree_node_segment,T,(0,_.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!U.expanded})}),[S]),N=(0,o.useCallback)(U=>{(A===l.TreeNodeType.TreeNode||A===l.TreeNodeType.CompositeTreeNode)&&(D?D(U,u,A):c(U,u,A))},[D,c]);return o.default.createElement("div",{key:u.id,onClick:k,onDoubleClick:F,onContextMenu:x,className:(0,r.default)(R,S?S.classlist:null),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`,paddingLeft:w},"data-id":u.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},L(u,N),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},u.displayName)),O(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},o.default.createElement(l.Badge,null,u.resource.elements.length))))};t.SCMResourceGroupNode=a;const h=({item:u,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onTwistierClick:b,onContextMenu:A,itemType:S,decorationService:D,labelService:I,decorations:w,iconTheme:T})=>{const R=(0,_.useInjectable)(p.ViewModelContext),M=s.SCMResourceGroup.is(u)?null:D.getDecoration(u.uri,!1),O=(0,_.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),x=(0,_.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),k=u.resource,F=(0,o.useCallback)(()=>{const oe=R.menus.getRepositoryMenus(k.resourceGroup.provider);let he,me;return S===l.TreeNodeType.TreeNode?(he=oe.getResourceMenu(k),me=[k]):(he=oe.getResourceFolderMenu(k.resourceGroup),me=u.arguments),o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{menus:he,context:me,separator:"inline"}))},[S,k.resourceGroup]),L=(0,o.useCallback)(oe=>{c(oe,u,S)},[c]),N=(0,o.useCallback)(oe=>{y(oe,u,S)},[y]),U=(0,o.useCallback)(oe=>{oe.nativeEvent.button===_.MouseEventButton.Right&&A(oe,u,S)},[A]),W=s.SCMResourceFolder.is(u),{hidesExplorerArrows:j,hasFolderIcons:Q}=T,$=`${E+(u.depth||0)*(f||0)+(W?0:Q?j?0:20:0)}px`,Z=oe=>{const he=I.getIcon(oe.uri,{isDirectory:s.SCMResourceFolder.is(oe)});return o.default.createElement("div",{className:(0,r.default)(g.default.file_icon,he),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`}})},G=(0,o.useCallback)(oe=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},s.SCMResourceFolder.is(oe)?oe.displayName:I.getName(oe.uri)),[I]),V=(0,o.useCallback)(oe=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment_grow,g.default.scm_tree_node_description)},oe.description),[]),H=(0,_.useInjectable)(m.IThemeService),K=()=>{if(!M)return null;const oe=M.badge||u.resource.decorations.letter||"",he=M.color||u.resource.decorations.color,me=he&&H.getColor({id:he});return o.default.createElement("div",{className:g.default.scm_tree_node_status,style:{color:me}},oe.slice())},Y=(0,o.useCallback)(()=>{let oe=u.tooltip;return M&&M.badge&&(oe+=` \u2022 ${M.tooltip||u.resource.decorations.tooltip||""}`),oe},[u]),X=(0,o.useCallback)(oe=>{(S===l.TreeNodeType.TreeNode||S===l.TreeNodeType.CompositeTreeNode)&&(b?b(oe,u,S):c(oe,u,S))},[b,c]),re=(0,o.useCallback)((oe,he)=>s.SCMResourceFolder.is(oe)?w&&w?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:he,className:(0,r.default)(g.default.scm_tree_node_segment,O,(0,_.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!oe.expanded})}):null,[w]);return o.default.createElement("div",{key:u.id,onClick:L,onDoubleClick:N,onContextMenu:U,title:Y(),className:(0,r.default)(x,w?w.classlist:null),style:{color:M?M.color:"",paddingLeft:$,height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`},"data-id":u.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},re(u,X),Z(u),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap,style:{textDecoration:M&&M.badge==="D"?"line-through":"none"}},G(u),V(u)),F(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},K())))};t.SCMResourceNode=h;const d=u=>{const{item:E,...f}=u;return s.SCMResourceGroup.is(E)?o.default.createElement(t.SCMResourceGroupNode,{item:E,...f}):o.default.createElement(t.SCMResourceNode,{...u,item:E})};t.SCMTreeNode=d},63451:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(43718),v=e(64964),m=e(38563),p=e(28087);let s=class extends o.Tree{get isTreeMode(){return this._isTreeMode}get onDidTreeModeChange(){return this.onDidTreeModeChangeEmitter.event}constructor(){super(),this.onDidTreeModeChangeEmitter=new l.Emitter,this._isTreeMode=this.preferenceService.get("scm.defaultViewMode")===v.SCMViewModelMode.Tree,this.toDispose.push(this.preferenceService.onSpecificPreferenceChange("scm.defaultViewMode",a=>{const h=a.newValue===v.SCMViewModelMode.Tree;h!==this._isTreeMode&&(this._isTreeMode=h,this.onDidTreeModeChangeEmitter.fire(this._isTreeMode))}))}changeTreeMode(a){this.preferenceService.set("scm.defaultViewMode",a?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List,_.PreferenceScope.User)}async resolveChildren(a){let h=[];if(!a)this._root=new p.SCMResourceRoot(this,this._isTreeMode),h=[this._root];else if(p.SCMResourceRoot.is(a)){const d=this.scmTreeAPI.init(this._isTreeMode?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List);h.push(...d.map(u=>this.toNode(u,a,this._isTreeMode)))}else if(a.raw){const d=a.raw.children;h.push(...d.map(u=>this.toNode(u,a,this._isTreeMode)))}return h}toNode(a,h,d){if(a.type==="group"){const E=a;return new p.SCMResourceGroup(this,h,E,E.resource)}const u=a;return a.type==="file"?new p.SCMResourceFile(this,h,u,u.resource,d):new p.SCMResourceFolder(this,h,u,u.resource,d)}sortComparator(a,h){if(p.SCMResourceGroup.is(a)&&p.SCMResourceGroup.is(h)){const d={merge:3,index:2,workingTree:1};return d[h.resource.id]-d[a.resource.id]}return super.sortComparator(a,h)}dispose(){super.dispose(),this.onDidTreeModeChangeEmitter.dispose()}};t.SCMTreeService=s,n.__decorate([(0,r.Autowired)(m.SCMTreeAPI),n.__metadata("design:type",m.SCMTreeAPI)],s.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),t.SCMTreeService=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},42126:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffDecorator=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(54414),v=e(52416),m=r.__importStar(e(43255)),p=r.__importStar(e(24347)),s=e(7168),g=e(73018),a=e(24870),h=e(84416);let d=n=class extends l.Disposable{static createDecoration(E,f){const c={description:"dirty-diff-decoration",isWholeLine:f.isWholeLine};return f.gutter&&(c.linesDecorationsClassName=`dirty-diff-glyph ${E}`),f.overview.active&&(c.overviewRuler={color:(0,v.themeColorFromId)(f.overview.color),position:_.OverviewRulerLane.Left}),f.minimap.active&&(c.minimap={color:(0,v.themeColorFromId)(f.minimap.color),position:m.MinimapPosition.Gutter}),p.ModelDecorationOptions.createDynamic(c)}constructor(E,f){super(),this.model=f,this.decorations=[],this.editorModel=E;const c=this.scmPreferences["scm.diffDecorations"],y=c==="all"||c==="gutter",b=c==="all"||c==="overview",A=c==="all"||c==="minimap";this.modifiedOptions=n.createDecoration("dirty-diff-modified",{gutter:y,overview:{active:b,color:s.overviewRulerModifiedForeground},minimap:{active:A,color:s.minimapGutterModifiedBackground},isWholeLine:!0}),this.addedOptions=n.createDecoration("dirty-diff-added",{gutter:y,overview:{active:b,color:s.overviewRulerAddedForeground},minimap:{active:A,color:s.minimapGutterAddedBackground},isWholeLine:!0}),this.deletedOptions=n.createDecoration("dirty-diff-deleted",{gutter:y,overview:{active:b,color:s.overviewRulerDeletedForeground},minimap:{active:A,color:s.minimapGutterDeletedBackground},isWholeLine:!1}),this.addDispose(f.onDidChange(this.onDidChange,this))}onDidChange(){if(!this.editorModel)return;const E=this.model.changes.map(f=>{const c=(0,h.getChangeType)(f),y=f[2],b=f[3]-1||y-1;switch(c){case h.ChangeType.Add:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.addedOptions};case h.ChangeType.Delete:return{range:{startLineNumber:y-1,startColumn:Number.MAX_VALUE,endLineNumber:y>0?y-1:y,endColumn:Number.MAX_VALUE},options:this.deletedOptions};case h.ChangeType.Modify:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.modifiedOptions}}});this.decorations=this.editorModel.getMonacoModel().deltaDecorations(this.decorations,E)}dispose(){super.dispose(),this.editorModel&&!this.editorModel.getMonacoModel().isDisposed()&&this.editorModel.getMonacoModel().deltaDecorations(this.decorations,[]),this.editorModel=null,this.decorations=[]}};t.DirtyDiffDecorator=d,r.__decorate([(0,o.Autowired)(g.SCMPreferences),r.__metadata("design:type",Object)],d.prototype,"scmPreferences",void 0),t.DirtyDiffDecorator=d=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__param(1,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object,a.DirtyDiffModel])],d)},24870:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffModel=t.isDirtyDiffVisible=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(40191),v=e(54414),m=e(57517),p=r.__importStar(e(20868)),s=e(28240),g=e(16781),a=e(64964),h=e(84416),{sortedDiff:d}=l.arrays;t.isDirtyDiffVisible=new _.RawContextKey("dirtyDiffVisible",!1);let u=n=class extends l.Disposable{get original(){return this._originalModel}get modified(){return this._editorModel}get changes(){return this._changes}get editorWorkerService(){return g.StandaloneServices.get(s.IEditorWorkerService)}constructor(f){super(),this.repositoryDisposables=new Set,this._onDidChange=new l.Emitter,this.onDidChange=this._onDidChange.event,this._changes=[],this._editorModel=f,this.diffDelayer=new l.ThrottledDelayer(200),this.addDispose(l.Disposable.create(()=>{this.diffDelayer&&(this.diffDelayer.isTriggered()||this.diffDelayer.cancel(),this.diffDelayer=null)})),this.addDispose(f.getMonacoModel().onDidChangeContent(()=>this.triggerDiff())),this.addDispose(f.onDidChangeEncoding(()=>{var c;(c=this.diffDelayer)===null||c===void 0||c.cancel(),this._originalModel=null,this._originalURIPromise=void 0,this._changes=[],this.triggerDiff()})),this.addDispose(this.scmService.onDidAddRepository(this.onDidAddRepository,this)),this.scmService.repositories.forEach(c=>this.onDidAddRepository(c)),this.triggerDiff(),this.originalModelDisposables=new l.DisposableStore,this.addDispose(this.originalModelDisposables),this.isDirtyDiffVisible=t.isDirtyDiffVisible.bind(this.contextKeyService)}onDidAddRepository(f){const c=new l.DisposableStore;this.repositoryDisposables.add(c),c.add((0,l.toDisposable)(()=>this.repositoryDisposables.delete(c)));const y=l.Event.any(f.provider.onDidChange,f.provider.onDidChangeResources);c.add(y(this.triggerDiff,this));const b=l.Event.filter(this.scmService.onDidRemoveRepository,A=>A===f);c.add(b(()=>(0,l.dispose)(c),null)),this.triggerDiff()}triggerDiff(){return this.diffDelayer?this.diffDelayer.trigger(()=>this.diff()).then(f=>{if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!this._originalModel||this._originalModel.getMonacoModel().isDisposed())return;(!f||this._originalModel.getMonacoModel().getValueLength()===0)&&(f=[]);const c=d(this.changes,f,h.compareChanges);this._changes=f,c.length>0&&this._onDidChange.fire(c)}):Promise.resolve(null)}canSyncModelForDiff(f){if(!f)return!1;const c=n.maxFileSize*1024*1024,y=f.getValueLength();return c===0||y<=c}async diff(){var f;const c=await this.getOriginalURIPromise();if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!c)return[];if(!this.canSyncModelForDiff((f=this._originalModel)===null||f===void 0?void 0:f.getMonacoModel())||!this.canSyncModelForDiff(this._editorModel.getMonacoModel()))return[];const y=await this.editorWorkerService.computeDiff(c,this._editorModel.getMonacoModel().uri,{ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3,computeMoves:!1},"advanced");return y&&this.getLineChanges(y.changes)}getLineChanges(f){return f.map(c=>{var y;return[c.original.startLineNumber,c.original.endLineNumberExclusive,c.modified.startLineNumber,c.modified.endLineNumberExclusive,(y=c.innerChanges)===null||y===void 0?void 0:y.map(b=>[b.originalRange.startLineNumber,b.originalRange.startColumn,b.originalRange.endLineNumber,b.originalRange.endColumn,b.modifiedRange.startLineNumber,b.modifiedRange.startColumn,b.modifiedRange.endLineNumber,b.modifiedRange.endColumn])]})}getOriginalURIPromise(){return this._originalURIPromise?this._originalURIPromise:(this._originalURIPromise=this.getOriginalResource().then(f=>this._editorModel?f?this._originalModel&&this._originalModel.uri.toString()===f.toString()?f:this.documentModelManager.createModelReference(new l.URI(f)).then(c=>{if(!this._editorModel||!c)return null;this._originalModel=c.instance,this._originalModel.updateEncoding(this._editorModel.encoding);const y=this._originalModel.getMonacoModel();return this.originalModelDisposables.clear(),this.originalModelDisposables.add(c),this.originalModelDisposables.add(y.onDidChangeContent(()=>this.triggerDiff())),f}):(this._originalModel=null,null):null),this._originalURIPromise.finally(()=>{this._originalURIPromise=void 0}))}getOriginalResource(){if(!this._editorModel)return Promise.resolve(null);const f=this._editorModel.getMonacoModel().uri;return(0,l.first)(this.scmService.repositories.map(c=>()=>c.provider.getOriginalResource(f)))}findNextClosestChange(f,c=!0){for(let y=0;y<this.changes.length;y++){const b=this.changes[y];if(c){if((0,h.getModifiedEndLineNumber)(b)>=f)return y}else if(b[2]>f)return y}return 0}findNextClosestChangeLineNumber(f,c=!0){const y=this.findNextClosestChange(f,c);return this.changes[y][2]}findPreviousClosestChange(f,c=!0){for(let y=this.changes.length-1;y>=0;y--){const b=this.changes[y];if(c){if(b[2]<=f)return y}else if((0,h.getModifiedEndLineNumber)(b)<f)return y}return this.changes.length-1}findPreviousClosestChangeLineNumber(f,c=!0){const y=this.findPreviousClosestChange(f,c);return this.changes[y][2]}getChangeFromRange(f){const c=this.findNextClosestChange(f.startLineNumber);return{change:this.changes[c],count:c+1}}async onClickDecoration(f,c){if(this._widget)if(this._widget===f){this._widget.dispose();return}else this._widget.dispose();if(this._widget=f,this._originalModel&&this._editorModel){let R=function(M,O){f.updateCurrent(M),f.show(p.positionToRange(O[3]-1),n.heightInLines),I.isDirtyDiffVisible.set(!0)};const y=this._originalModel.uri,b=this._editorModel.uri,A=this.editorService.createDiffEditor(f.getContentNode(),{automaticLayout:!0,renderSideBySide:!1,hideUnchangedRegions:{enabled:!1}}),S=await this.documentModelManager.createModelReference(y),D=await this.documentModelManager.createModelReference(b);A.compare(S,D),A.modifiedEditor.monacoEditor.updateOptions({readOnly:!0}),A.originalEditor.monacoEditor.updateOptions({readOnly:!0}),A.modifiedEditor.monacoEditor.revealLineInCenter(c.startLineNumber-Math.round(n.heightInLines/2)),f.addDispose(A.originalEditor.monacoEditor.onDidChangeModelContent(()=>{f.relayout(n.heightInLines)}));const I=this;f.addDispose(this.onDidChange(()=>{const{change:M,count:O}=this.getChangeFromRange(c)||{};R(O,M)}));const{change:w,count:T}=this.getChangeFromRange(c)||{};T&&w&&R(T,w),f.onDispose(()=>{this._widget=null,I.isDirtyDiffVisible.set(!1)})}}dispose(){super.dispose(),this._editorModel=null,this._originalModel=null,this.repositoryDisposables.forEach(f=>(0,l.dispose)(f)),this.repositoryDisposables.clear()}};t.DirtyDiffModel=u,u.heightInLines=10,u.maxFileSize=50,r.__decorate([(0,o.Autowired)(l.IContextKeyService),r.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(a.SCMService),r.__metadata("design:type",a.SCMService)],u.prototype,"scmService",void 0),r.__decorate([(0,o.Autowired)(m.IEditorDocumentModelService),r.__metadata("design:type",Object)],u.prototype,"documentModelManager",void 0),r.__decorate([(0,o.Autowired)(v.EditorCollectionService),r.__metadata("design:type",v.EditorCollectionService)],u.prototype,"editorService",void 0),t.DirtyDiffModel=u=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object])],u)},84416:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChangeType=void 0,t.compareChanges=e,t.getModifiedEndLineNumber=n,t.getChangeType=o,t.toChange=l;function e(_,v){let m=_[2]-v[2];return m!==0||(m=_[3]-v[3],m!==0)||(m=_[0]-v[0],m!==0)?m:_[1]-v[1]}function n(_){return _[3]===0?_[2]===0?1:_[2]:_[3]}var r;(function(_){_.Modify="Modify",_.Add="Add",_.Delete="Delete"})(r||(t.ChangeType=r={}));function o(_){return _[1]-_[0]===0?r.Add:_[1]>_[0]&&_[2]===_[3]?r.Delete:r.Modify}function l(_){switch(o(_)){case r.Add:return{originalStartLineNumber:_[0],originalEndLineNumber:0,modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]};case r.Modify:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]};case r.Delete:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:0};default:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]}}}},54595:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWidget=t.DirtyDiffWidgetActionType=void 0;const n=e(41869),r=e(87308),o=e(31324),l=e(64964),_=e(84416);var v;(function(p){p[p.close=0]="close",p[p.save=1]="save",p[p.reset=2]="reset",p[p.next=3]="next",p[p.previous=4]="previous"})(v||(t.DirtyDiffWidgetActionType=v={}));class m extends r.ZoneWidget{_fillContainer(s){}get uri(){return n.URI.from(this.editor.getModel().uri)}constructor(s,g,a){super(s),this.commandService=a,this._currentChangeIndex=0,this._model=g,this._wrapper=document.createElement("div"),this._head=document.createElement("div"),this._content=document.createElement("div"),this._container.appendChild(this._wrapper),this._wrapper.appendChild(this._head),this._wrapper.appendChild(this._content)}get currentIndex(){return this._currentChangeIndex}updateCurrent(s){this._currentChangeIndex=s}applyStyle(){if(!this._title)return;this._title.children[0]&&this._title.removeChild(this._title.children[0]);const s=document.createElement("span");s.className="dirty-diff-widget-title-detail",s.innerText=(0,n.formatLocalize)("scm.dirtyDiff.changes",this._currentChangeIndex,this._model.changes.length),this._title.appendChild(s)}getBorderColor(s){switch(s){case _.ChangeType.Add:return"var(--editorGutter-addedBackground)";case _.ChangeType.Modify:return"var(--editorGutter-modifiedBackground)";case _.ChangeType.Delete:return"var(--editorGutter-deletedBackground)"}}applyClass(){this._wrapper.className="dirty-diff-widget-wrapper",this._head.className="dirty-diff-widget-header",this._content.className="dirty-diff-widget-content";const s=this._model.changes[this._currentChangeIndex-1],g=(0,_.getChangeType)(s),a=this.getBorderColor(g);this._head.style.borderTopColor=a,this._head.style.borderBottomColor=a,this._content.style.borderBottomColor=a;const h=this.editor.getOption(o.EditorOption.lineHeight),d=Math.ceil(h*1.2);this._head.style.height=`${d}px`,this._renderTitle();const u=this.editor.getModel();if(!u)throw new Error("Not found model");this._title.innerText=n.path.basename(u.uri.path),this._title.className="file-name",this._actions.className="file-actions",this._renderActions()}getContentNode(){return this._content}_renderTitle(){this._head.children.length===0&&(this._title=document.createElement("div"),this._actions=document.createElement("div"),this._head.appendChild(this._title),this._head.appendChild(this._actions))}_addAction(s,g){const a=document.createElement("div");return a.className=`kt-icon codicon codicon-${s}`,this._actions.appendChild(a),a.onclick=()=>this.handleAction(g),a}_renderActions(){this._actions.children.length===0&&(this._addAction("add",v.save),this._addAction("discard",v.reset),this._addAction("arrow-up",v.next),this._addAction("arrow-down",v.previous),this._addAction("close",v.close))}relayout(s){this._relayout(s)}handleAction(s){let g;const a=this.currentRange,h=[this.uri,this._model.changes.map(_.toChange),this._currentChangeIndex-1];switch(s){case v.next:g=this._model.findNextClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.previous:g=this._model.findPreviousClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.save:this.commandService.executeCommand("git.stageChange",...h),this.dispose();break;case v.reset:this.commandService.executeCommand("git.revertChange",...h),this.dispose();break;case v.close:this.dispose();break;default:break}}}t.DirtyDiffWidget=m},71972:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWorkbenchController=t.DirtyDiffItem=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(54414),v=e(57517),m=n.__importStar(e(20868)),p=e(62663),s=e(64964),g=e(73018),a=e(42126),h=e(24870),d=e(54595);e(22861);class u{constructor(c,y){this.model=c,this.decorator=y}dispose(){this.decorator.dispose(),this.model.dispose()}}t.DirtyDiffItem=u;let E=class extends o.Disposable{constructor(){super(),this.enabled=!1,this.models=[],this.widgets=new Map,this.items=Object.create(null),this.transientDisposables=new o.DisposableStore,this.keybindingRegistry.registerKeybinding({command:s.CLOSE_DIRTY_DIFF_WIDGET.id,keybinding:"esc",when:h.isDirtyDiffVisible.equalsTo(!0)})}start(){const c=o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorations"));this.addDispose(c(this.onDidChangeConfiguration,this)),this.onDidChangeConfiguration(),o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorationsGutterWidth"))(this.onDidChangeDiffWidthConfiguration,this),this.onDidChangeDiffWidthConfiguration(),this.addDispose(this.editorFeatureRegistry.registerEditorFeatureContribution({contribute:b=>this.attachEvents(b.monacoEditor)})),this.addDispose(this.scmPreferences.onPreferenceChanged(b=>{b.preferenceName==="scm.alwaysShowDiffWidget"&&b.newValue===!1&&this.widgets.forEach(A=>{A.dispose()})}))}onDidChangeConfiguration(){this.scmPreferences["scm.diffDecorations"]!=="none"?this.enable():this.disable()}onDidChangeDiffWidthConfiguration(){let c=this.scmPreferences["scm.diffDecorationsGutterWidth"];(isNaN(c)||c<=0||c>5)&&(c=3)}enable(){this.enabled&&this.disable(),this.transientDisposables.add(this.eventBus.on(v.EditorGroupChangeEvent,()=>{this.onEditorsChanged()})),this.onEditorsChanged(),this.enabled=!0}disable(){this.enabled&&(this.transientDisposables.clear(),this.models.forEach(c=>{const y=this.items[c.id];y&&y.dispose()}),this.models=[],this.items=Object.create(null),this.enabled=!1)}onEditorsChanged(){const c=this.editorService.editorGroups.filter(A=>A.currentOpenType&&A.currentOpenType.type===v.EditorOpenType.code).map(A=>{const S=A.currentEditor;return S?S.currentDocumentModel:null}).filter((A,S,D)=>!!A&&!!A.uri&&D.indexOf(A,S+1)===-1),y=c.filter(A=>this.models.every(S=>A!==S));this.models.filter(A=>c.every(S=>S!==A)).forEach(A=>this.onModelInvisible(A)),y.forEach(A=>this.onModelVisible(A)),this.models=c}onModelVisible(c){const y=this.injector.get(h.DirtyDiffModel,[c]),b=this.injector.get(a.DirtyDiffDecorator,[c,y]);this.items[c.id]=new u(y,b)}onModelInvisible(c){this.items[c.id].dispose(),delete this.items[c.id]}closeDirtyDiffWidget(c){const y=this.widgets.get(c.getId());y&&y.dispose()}toggleDirtyDiffWidget(c,y){const b=c.getModel();if(b&&y){let A=this.widgets.get(c.getId());const S=this.getModel(b);if(S){if(A){const{currentIndex:D}=A,{count:I}=S.getChangeFromRange(m.positionToRange(y));if(A.dispose(),D===I)return}A=new d.DirtyDiffWidget(c,S,this.commandService),A.onDispose(()=>{this.widgets.delete(c.getId())}),S.onClickDecoration(A,m.positionToRange(y)),this.widgets.set(c.getId(),A)}}}_doMouseDown(c,{target:y}){if(!y)return;const{position:b,type:A,element:S}=y;if(A===p.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&S&&S.className.indexOf("dirty-diff-glyph")>-1&&b){const D=S.offsetLeft;if(y.detail.offsetX-D<5)this.toggleDirtyDiffWidget(c,b);else{const w=this.widgets.get(c.getId());w&&(w.dispose(),this.widgets.delete(c.getId()))}}}attachEvents(c){const y=new o.DisposableCollection;return y.push(c.onMouseDown(b=>{this.scmPreferences["scm.alwaysShowDiffWidget"]&&this._doMouseDown(c,b)})),y.push(c.onDidChangeModel(({oldModelUrl:b})=>{if(b){const A=this.widgets.get(c.getId());A&&A.dispose()}})),y.push(c.onDidDispose(()=>{y.dispose()})),y}getModel(c){const y=this.items[c.id];return y?y.model:null}dispose(){this.disable(),this.widgets.forEach(c=>c.dispose()),this.widgets.clear(),super.dispose()}};t.DirtyDiffWorkbenchController=E,n.__decorate([(0,r.Autowired)(g.SCMPreferences),n.__metadata("design:type",Object)],E.prototype,"scmPreferences",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(v.IEditorFeatureRegistry),n.__metadata("design:type",Object)],E.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],E.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),t.DirtyDiffWorkbenchController=E=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],E)},31435:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(64964),_=e(71972),v=e(7114),m=e(38672),p=e(73018),s=e(75756);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[s.SCMContribution,l.SCMService,v.SCMBadgeController,v.SCMStatusBarController,{token:l.ISCMMenus,useClass:m.SCMMenus},{token:l.IDirtyDiffWorkbenchController,useClass:_.DirtyDiffWorkbenchController}],this.preferences=p.bindSCMPreference}};t.SCMModule=g,t.SCMModule=g=n.__decorate([(0,r.Injectable)()],g)},7114:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMStatusBarController=t.SCMBadgeController=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(43718),v=e(54414),m=e(63067),p=e(64964);let s=class{constructor(){this.disposables=[]}start(){for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables),this.render()}onDidAddRepository(h){const d=h.provider,E=o.Event.any(d.onDidChange,d.onDidChangeResources)(()=>this.render()),c=o.Event.filter(this.scmService.onDidRemoveRepository,b=>b===h)(()=>{y.dispose(),this.disposables=this.disposables.filter(b=>b!==c),this.render()}),y=(0,o.combinedDisposable)([E,c]);this.disposables.push(y)}render(){const h=this.scmService.repositories.reduce((d,u)=>typeof u.provider.count=="number"?d+u.provider.count:d+u.provider.groups.elements.reduce((E,f)=>E+f.elements.length,0),0);h>0?this.setSCMTarbarBadge(`${h}`):this.setSCMTarbarBadge("")}setSCMTarbarBadge(h){const d=this.layoutService.getTabbarHandler(p.scmContainerId);d&&d.setBadge(h)}dispose(){this.disposables=(0,o.dispose)(this.disposables)}};t.SCMBadgeController=s,n.__decorate([(0,r.Autowired)(p.SCMService),n.__metadata("design:type",p.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),t.SCMBadgeController=s=n.__decorate([(0,r.Injectable)()],s);let g=class{constructor(){this.focusDisposable=o.Disposable.None,this.focusedRepository=void 0,this.disposables=[]}start(){this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables);for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.workbenchEditorService.onActiveResourceChange(this.onDidActiveResouceChange,this,this.disposables)}onDidAddRepository(h){const d=h.onDidFocus(()=>this.onDidFocusRepository(h)),E=o.Event.filter(this.scmService.onDidRemoveRepository,c=>c===h)(()=>{f.dispose(),this.disposables=this.disposables.filter(c=>c!==E),this.scmService.repositories.length===0?this.onDidFocusRepository(void 0):this.focusedRepository===h&&this.scmService.repositories[0].focus()}),f=(0,o.combinedDisposable)([d,E]);this.disposables.push(f),this.focusedRepository||this.onDidFocusRepository(h)}onDidActiveResouceChange(){const h=this.workbenchEditorService.currentResource;if(!h||h.uri.scheme!==_.Schemes.file)return;let d=null,u=Number.NEGATIVE_INFINITY;for(const E of this.scmService.repositories){const f=E.provider.rootUri;if(!f)continue;const c=f.fsPath,y=o.strings.commonPrefixLength(c,h.uri.codeUri.fsPath);y===c.length&&y>u&&(d=E,u=y)}d&&this.onDidFocusRepository(d)}onDidFocusRepository(h){this.focusedRepository!==h&&(this.focusedRepository=h,this.focusDisposable.dispose(),h&&h.provider.onDidChangeStatusBarCommands&&(this.focusDisposable=h.provider.onDidChangeStatusBarCommands(()=>this.render(h))),this.render(h))}render(h){if(!h)return;const d=h.provider.statusBarCommands||[];if(!d.length)return;const u=this.getRepoLabel(h);d.forEach((E,f)=>{this.disposables.push(this.statusbarService.addElement(`status.scm.repo.${f}`,{id:"status.scm",text:E.title,name:(0,_.localize)("status-bar.scm"),priority:1e4,alignment:l.StatusBarAlignment.LEFT,command:E.id,arguments:E.arguments,tooltip:`${u} - ${E.tooltip||E.title}`}))})}getRepoLabel(h){return h.provider.rootUri?`${o.path.basename(h.provider.rootUri.path)} (${h.provider.label})`:h.provider.label}dispose(){this.focusDisposable.dispose(),this.disposables=(0,o.dispose)(this.disposables)}};t.SCMStatusBarController=g,n.__decorate([(0,r.Autowired)(p.SCMService),n.__metadata("design:type",p.SCMService)],g.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],g.prototype,"statusbarService",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),t.SCMStatusBarController=g=n.__decorate([(0,r.Injectable)()],g)},7168:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.overviewRulerDeletedForeground=t.overviewRulerAddedForeground=t.overviewRulerModifiedForeground=t.minimapGutterDeletedBackground=t.minimapGutterAddedBackground=t.minimapGutterModifiedBackground=t.editorGutterDeletedBackground=t.editorGutterAddedBackground=t.editorGutterModifiedBackground=void 0;const n=e(43718),r=e(52416);t.editorGutterModifiedBackground=(0,r.registerColor)("editorGutter.modifiedBackground",{dark:new r.Color(new r.RGBA(27,129,168)),light:new r.Color(new r.RGBA(32,144,211)),hcDark:new r.Color(new r.RGBA(27,128,168)),hcLight:new r.Color(new r.RGBA(32,144,211))},(0,n.localize)("editorGutterModifiedBackground","Editor gutter background color for lines that are modified.")),t.editorGutterAddedBackground=(0,r.registerColor)("editorGutter.addedBackground",{dark:new r.Color(new r.RGBA(72,126,2)),light:new r.Color(new r.RGBA(72,152,93)),hcDark:new r.Color(new r.RGBA(72,126,2)),hcLight:new r.Color(new r.RGBA(72,152,93))},(0,n.localize)("editorGutterAddedBackground","Editor gutter background color for lines that are added.")),t.editorGutterDeletedBackground=(0,r.registerColor)("editorGutter.deletedBackground",{dark:r.editorErrorForeground,light:r.editorErrorForeground,hcDark:r.editorErrorForeground,hcLight:r.editorErrorForeground},(0,n.localize)("editorGutterDeletedBackground","Editor gutter background color for lines that are deleted.")),t.minimapGutterModifiedBackground=(0,r.registerColor)("minimapGutter.modifiedBackground",{dark:t.editorGutterModifiedBackground,light:t.editorGutterModifiedBackground,hcDark:t.editorGutterModifiedBackground,hcLight:t.editorGutterModifiedBackground},(0,n.localize)("minimapGutterModifiedBackground","Minimap gutter background color for lines that are modified.")),t.minimapGutterAddedBackground=(0,r.registerColor)("minimapGutter.addedBackground",{dark:t.editorGutterAddedBackground,light:t.editorGutterAddedBackground,hcDark:t.editorGutterAddedBackground,hcLight:t.editorGutterAddedBackground},(0,n.localize)("minimapGutterAddedBackground","Minimap gutter background color for lines that are added.")),t.minimapGutterDeletedBackground=(0,r.registerColor)("minimapGutter.deletedBackground",{dark:t.editorGutterDeletedBackground,light:t.editorGutterDeletedBackground,hcDark:t.editorGutterDeletedBackground,hcLight:t.editorGutterDeletedBackground},(0,n.localize)("minimapGutterDeletedBackground","Minimap gutter background color for lines that are deleted.")),t.overviewRulerModifiedForeground=(0,r.registerColor)("editorOverviewRuler.modifiedForeground",{dark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),light:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterModifiedBackground,.6)},(0,n.localize)("overviewRulerModifiedForeground","Overview ruler marker color for modified content.")),t.overviewRulerAddedForeground=(0,r.registerColor)("editorOverviewRuler.addedForeground",{dark:(0,r.transparent)(t.editorGutterAddedBackground,.6),light:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterAddedBackground,.6)},(0,n.localize)("overviewRulerAddedForeground","Overview ruler marker color for added content.")),t.overviewRulerDeletedForeground=(0,r.registerColor)("editorOverviewRuler.deletedForeground",{dark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),light:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterDeletedBackground,.6)},(0,n.localize)("overviewRulerDeletedForeground","Overview ruler marker color for deleted content."))},38672:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMMenus=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(43718),v=e(64964),m=e(36367);let p=class extends _.Disposable{constructor(h){super(),this.contextKeyService=h}get resourceGroupMenu(){return this._resourceGroupMenu||(this._resourceGroupMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceGroupContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceGroupMenu}get resourceFolderMenu(){return this._resourceFolderMenu||(this._resourceFolderMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceFolderContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceFolderMenu}getResourceMenu(h){const d=h.contextValue;if(typeof d>"u")return this.resourceMenu||(this.resourceMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this.resourceMenu;this.contextualResourceMenu||(this.contextualResourceMenu=new Map);let u=this.contextualResourceMenu.get(d);if(!u){const E=this.contextKeyService.createScoped();(0,m.isSCMResource)(h)&&E.createKey("scmResourceState",d),u=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:E,config:{separator:"inline"}})),this.addDispose(E),this.contextualResourceMenu.set(d,u)}return u}dispose(){var h,d;super.dispose(),(h=this.resourceGroupMenu)===null||h===void 0||h.dispose(),(d=this.resourceMenu)===null||d===void 0||d.dispose(),this.contextualResourceMenu&&(this.contextualResourceMenu.clear(),this.contextualResourceMenu=void 0)}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],p.prototype,"menuService",void 0),p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],p);let s=class extends _.Disposable{constructor(h){var d;super(),this.resourceGroups=[],this.resourceGroupMenusItems=new Map;const u=this.injector.get(o.IContextKeyService);this.scopedContextKeyService=this.registerDispose(u.createScoped()),this.scopedContextKeyService.createKey("scmProvider",h.contextValue),this.scopedContextKeyService.createKey("scmProviderRootUri",(d=h.rootUri)===null||d===void 0?void 0:d.toString()),this.scopedContextKeyService.createKey("scmProviderHasRootUri",!!h.rootUri),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:h.groups.elements}),h.groups.onDidSplice(this.onDidSpliceGroups,this,this.disposables)}onDidSpliceGroups({start:h,deleteCount:d,toInsert:u}){const E=this.resourceGroups.splice(h,d,...u);for(const f of E){const c=this.resourceGroupMenusItems.get(f);c?.dispose(),this.resourceGroupMenusItems.delete(f)}}dispose(){super.dispose(),this.resourceGroupMenusItems.forEach(h=>h.dispose())}getResourceGroupMenu(h){return this.getResourceGroupMenus(h).resourceGroupMenu}getResourceMenu(h){return this.getResourceGroupMenus(h.resourceGroup).getResourceMenu(h)}getResourceFolderMenu(h){return this.getResourceGroupMenus(h).resourceFolderMenu}getResourceGroupMenus(h){let d=this.resourceGroupMenusItems.get(h);if(!d){const u=this.registerDispose(this.scopedContextKeyService.createScoped());u.createKey("scmResourceGroup",h.id),d=this.registerDispose(this.injector.get(p,[u])),this.resourceGroupMenusItems.set(h,d)}return d}get titleMenu(){return this._titleMenu||(this._titleMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMTitle,contextKeyService:this.scopedContextKeyService}))),this._titleMenu}get inputMenu(){return this._inputMenu||(this._inputMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMInput,contextKeyService:this.scopedContextKeyService}))),this._inputMenu}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],s.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],s);let g=class extends _.Disposable{constructor(){super(),this.menus=new Map,this.scmService.onDidRemoveRepository(this.onDidRemoveRepository,this,this.disposables)}onDidRemoveRepository(h){const d=this.menus.get(h.provider);d?.dispose(),this.menus.delete(h.provider)}getRepositoryMenus(h){let d=this.menus.get(h);if(!d){const u=this.injector.get(s,[h]);d={menus:u,dispose:()=>{u.dispose(),this.menus.delete(h)}},this.menus.set(h,d)}return d.menus}};t.SCMMenus=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],g.prototype,"scmService",void 0),t.SCMMenus=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},49914:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelContext=t.ResourceGroupSplicer=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(28423),v=e(64964);class m{constructor(a){this.repository=a,this.items=[],this.disposables=[],this._onDidSplice=new l.Emitter,this.onDidSplice=this._onDidSplice.event}run(){const a=this.repository.provider.groups;a.onDidSplice(this.onDidSpliceGroups,this,this.disposables),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:a.elements})}onDidSpliceGroups({start:a,deleteCount:h,toInsert:d}){let u=0;for(let b=0;b<a;b++){const A=this.items[b];u+=(A.visible?1:0)+A.group.elements.length}let E=0;for(let b=0;b<h;b++){const A=this.items[a+b];E+=(A.visible?1:0)+A.group.elements.length}const f=[],c=[];for(const b of d){const A=p(b);A&&c.push(b);for(const D of b.elements)c.push(D);const S=(0,l.combinedDisposable)([b.onDidChange(()=>this.onDidChangeGroup(b)),b.onDidSplice(D=>this.onDidSpliceGroup(b,D))]);f.push({group:b,visible:A,disposable:S})}const y=this.items.splice(a,h,...f);for(const b of y)b.disposable.dispose();this._onDidSplice.fire({target:this.repository,index:u,deleteCount:E,elements:c})}onDidChangeGroup(a){const h=this.items.findIndex(f=>f.group===a);if(h<0)return;const d=this.items[h],u=p(a);if(d.visible===u)return;let E=0;for(let f=0;f<h;f++){const c=this.items[f];E+=(c.visible?1:0)+c.group.elements.length}u?this._onDidSplice.fire({target:this.repository,index:E,deleteCount:0,elements:[a,...a.elements]}):this._onDidSplice.fire({target:this.repository,index:E,deleteCount:1+a.elements.length,elements:[]}),d.visible=u}onDidSpliceGroup(a,{start:h,deleteCount:d,toInsert:u}){const E=this.items.findIndex(b=>b.group===a);if(E<0)return;const f=this.items[E],c=p(a);if(!f.visible&&!c)return;let y=h;for(let b=0;b<E;b++){const A=this.items[b];y+=(A.visible?1:0)+A.group.elements.length}f.visible&&!c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:1+d,elements:u}):!f.visible&&c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:d,elements:[a,...u]}):this._onDidSplice.fire({target:this.repository,index:y+1,deleteCount:d,elements:u}),f.visible=c}dispose(){this.onDidSpliceGroups({start:0,deleteCount:this.items.length,toInsert:[]}),this.disposables=(0,l.dispose)(this.disposables)}}t.ResourceGroupSplicer=m;function p(g){return g.elements.length>0||!g.hideWhenEmpty}let s=class extends l.Disposable{get onDidSelectedRepoChange(){return this.onDidSelectedRepoChangeEmitter.event}get onAlwaysShowActionsChange(){return this.onAlwaysShowActionsChangeEmitter.event}get menus(){return this._menus}constructor(){super(),this.onDidSelectedRepoChangeEmitter=new l.Emitter,this.onAlwaysShowActionsChangeEmitter=new l.Emitter,this.onDidSCMListChangeEmitter=new l.Emitter,this.onDidSCMListChange=this.onDidSCMListChangeEmitter.event,this.onDidSCMRepoListChangeEmitter=new l.Emitter,this.onDidSCMRepoListChange=this.onDidSCMRepoListChangeEmitter.event,this.repoList=[],this.scmList=new Array,this.selectedRepos=(0,_.observableValue)(this,[]),this.spliceSCMList=(a,h,d,...u)=>{!this._currentWorkspace||this._currentWorkspace.toString()===a.toString()?this.scmList.splice(h,d,...u):this.scmList=[...u],this._currentWorkspace=a,this.onDidSCMListChangeEmitter.fire()},this.start(),this.initTreeAlwaysShowActions(),this.scmService.onDidChangeSelectedRepositories(this._handleSelectedRepoChanged,this,this.disposables),this._handleSelectedRepoChanged(this.scmService.selectedRepositories)}_handleSelectedRepoChanged(a){const[h]=a;h&&(this.toDisposableListener&&(this.toDisposableListener.dispose(),this.toDisposableListener=null),this.toDisposableListener=this.listenToCurrentRepo(h))}listenToCurrentRepo(a){const h=new l.DisposableStore,d=new m(a),u=l.Event.filter(d.onDidSplice,E=>E.target===a);return h.add(u(({index:E,deleteCount:f,elements:c})=>{if(c.some(y=>y.id==="merge")){const y=[],b={};c.forEach(A=>{Array.isArray(A.elements)&&A.elements.forEach(S=>{y.push(S.sourceUri),b[S.sourceUri.toString()]=!0})}),this.commandService.executeCommand("setContext","git.mergeChanges",y),this.commandService.executeCommand("setContext","git.mergeChangesObj",b)}a.provider.rootUri&&this.spliceSCMList(a.provider.rootUri,E,f,...c)})),d.run(),h.add(d),(0,l.toDisposable)(()=>{h.clear()})}initTreeAlwaysShowActions(){this.alwaysShowActions=!!this.preferenceService.get("scm.alwaysShowActions"),this.disposables.push(this.preferenceService.onSpecificPreferenceChange("scm.alwaysShowActions",a=>{this.alwaysShowActions!==a.newValue&&this.updateAlwaysShowActions(a.newValue)}))}start(){this.scmService.onDidAddRepository(a=>{this.addRepo(a)},this,this.disposables),this.scmService.onDidRemoveRepository(a=>{this.deleteRepo(a)},this,this.disposables),this.scmService.onDidChangeSelectedRepositories(a=>{this.changeSelectedRepos(a)},this,this.disposables),this.scmService.repositories.forEach(a=>{this.addRepo(a)})}updateAlwaysShowActions(a){this.alwaysShowActions=a,this.onAlwaysShowActionsChangeEmitter.fire(a)}addRepo(a){if(this.repoList.find(h=>{var d,u;return((d=h.provider.rootUri)===null||d===void 0?void 0:d.toString())===((u=a.provider.rootUri)===null||u===void 0?void 0:u.toString())})){this.logger.warn("duplicate scm repo",a);return}this.repoList.push(a),a.selected&&this.repoList.length===1&&this.changeSelectedRepos([a]),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}deleteRepo(a){const h=this.repoList.indexOf(a);if(h<0){this.logger.warn("no such scm repo",a);return}this.repoList.splice(h,1),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}changeSelectedRepos(a){(0,_.transaction)(d=>{this.selectedRepos.set(a,d)});const h=a[0];this.selectedRepo=h,this.onDidSelectedRepoChangeEmitter.fire(h)}};t.ViewModelContext=s,n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(v.ISCMMenus),n.__metadata("design:type",Object)],s.prototype,"_menus",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.ViewModelContext=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},73018:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMPreferences=t.scmPreferenceSchema=void 0,t.bindSCMPreference=o;const n=e(41869),r=e(64964);t.scmPreferenceSchema={id:"scm",order:5,title:(0,n.localize)("scmConfigurationTitle","SCM"),type:"object",properties:{"scm.alwaysShowProviders":{type:"boolean",description:(0,n.localize)("alwaysShowProviders","Controls whether to always show the Source Control Provider section."),default:!1},"scm.providers.visible":{type:"number",description:(0,n.localize)("providersVisible","Controls how many providers are visible in the Source Control Provider section. Set to `0` to be able to manually resize the view."),default:10},"scm.diffDecorations":{type:"string",enum:["all","gutter","overview","none"],default:"all",description:(0,n.localize)("diffDecorations","Controls diff decorations in the editor.")},"scm.alwaysShowDiffWidget":{type:"boolean",description:(0,n.localize)("alwaysShowDiffWidget","Controls whether to always click to show the Dirty Diff Widget."),default:!0},"scm.diffDecorationsGutterWidth":{type:"number",enum:[1,2,3,4,5],default:3,description:(0,n.localize)("diffGutterWidth","Controls the width(px) of diff decorations in gutter (added & modified).")},"scm.alwaysShowActions":{type:"boolean",description:(0,n.localize)("alwaysShowActions","Controls whether inline actions are always visible in the Source Control view."),default:!1},"scm.defaultViewMode":{type:"string",enum:[r.SCMViewModelMode.Tree,r.SCMViewModelMode.List],description:(0,n.localize)("scm.defaultViewMode","Controls the default Source Control repository view mode."),default:r.SCMViewModelMode.List},"scm.listView.compactFolders":{type:"boolean",description:(0,n.localize)("scmListViewCompactFolders","Controls whether the source control view should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element."),default:!0}}},t.SCMPreferences=Symbol("SCMPreferences");function o(l){l.addProviders({token:t.SCMPreferences,useFactory:_=>{const v=_.get(n.PreferenceService);return(0,n.createPreferenceProxy)(v,t.scmPreferenceSchema)}})}},36367:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSCMResource=o,t.isSCMResourceGroup=l,t.getSCMResourceGroupContextValue=_,t.getSCMRepositoryDesc=v;const n=e(41869),{basename:r}=n.path;function o(m){return!!m.sourceUri&&l(m.resourceGroup)}function l(m){return!!m.provider&&!!m.elements}function _(m){return o(m)?m.resourceGroup.id:m.id}function v(m){const p=m.provider.rootUri,s=p?r(m.provider.rootUri.path):m.provider.label,g=p?m.provider.label:"";return{title:s,type:g}}},94556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMViewContainer=t.SCMProvidersView=t.SCMResourcesViewWrapper=t.SCMResourcesView=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),_=e(1149),v=e(93899),m=e(43718),p=e(70936),s=e(91527),g=e(24429),a=e(64964),h=e(57492),d=e(37751),u=e(24748),E=e(49914),f=e(36367),c=n.__importDefault(e(41373)),y=38,b=38,A=10,S=({repository:w,viewState:T})=>{const R=(0,o.useInjectable)(o.IContextKeyService),M=(0,o.useInjectable)(v.IMenuRegistry),O=(0,o.useInjectable)(E.ViewModelContext),x=(0,r.useRef)(null),k=(0,r.useRef)(),F=(0,r.useRef)({}),[L,N]=(0,r.useState)();(0,r.useEffect)(()=>{x&&x.current&&(F.current.ctx=R.createScoped(x.current))},[]),(0,r.useEffect)(()=>{F.current.ctx&&F.current.ctx.createKey("scmRepository",w),U();const Q=w.provider.onDidChange(()=>{U()});return()=>{Q.dispose()}},[w]);const U=(0,r.useCallback)(()=>{var Q;if((Q=k.current)===null||Q===void 0||Q.dispose(),k.current=new m.DisposableCollection,!!w.provider.actionButton){if(k.current.push(M.registerMenuItem(v.MenuId.SCMInput,{command:{id:w.provider.actionButton.command.id,label:w.provider.actionButton.command.title},extraTailArgs:w.provider.actionButton.command.arguments,group:"navigation",type:"primary",enabledWhen:w.provider.actionButton.enabled?"true":"false"})),Array.isArray(w.provider.actionButton.secondaryCommands))for(let $=0;$<w.provider.actionButton.secondaryCommands.length;$++)for(const Z of w.provider.actionButton.secondaryCommands[$])k.current.push(M.registerMenuItem(v.MenuId.SCMInput,{command:{id:Z.id,label:Z.title},extraTailArgs:Z.arguments,group:`${$}_secondary`,enabledWhen:w.provider.actionButton.enabled?"true":"false"}));W()}},[w,k.current]),W=(0,r.useCallback)(()=>{const Q=O.menus.getRepositoryMenus(w.provider);Q&&N(Q.inputMenu)},[w,L]),j=w&&w.provider&&L;return r.default.createElement("div",{className:c.default.view,ref:x},r.default.createElement("div",{className:c.default.scm,style:{paddingTop:A}},r.default.createElement(d.SCMResourceInput,{repository:w,menus:L}),r.default.createElement(u.SCMResourceTree,{height:T.height-y-A-(j?b:0)})))};t.SCMResourcesView=S,t.SCMResourcesView.displayName="SCMResourcesView";const D=w=>{const T=(0,o.useInjectable)(E.ViewModelContext),R=(0,o.useAutorun)(T.selectedRepos);if(!R.length)return r.default.createElement(g.WelcomeView,{viewId:a.SCM_WELCOME_ID});const M=R[0];return!M||!M.provider?null:r.default.createElement(t.SCMResourcesView,{repository:M,viewState:w.viewState})};t.SCMResourcesViewWrapper=D,t.SCMResourcesViewWrapper.displayName="SCMResourcesViewWrapper",t.SCMProvidersView=(0,r.memo)(({viewState:w,repoList:T,selectedRepo:R})=>r.default.createElement("div",{className:c.default.view},T.length>1&&r.default.createElement(h.SCMProviderList,{viewState:w,repositoryList:T,selectedRepository:R}))),t.SCMProvidersView.displayName="SCMProvidersView";const I=w=>{const T=(0,o.useInjectable)(E.ViewModelContext),R=T.selectedRepo,M=(0,o.useInjectable)(_.LayoutViewSizeConfig),[O,x]=(0,r.useState)([]),k=(0,r.useCallback)(()=>{x([...T.repoList])},[O,T]);(0,r.useEffect)(()=>{const j=new m.DisposableCollection;return j.push(T.onDidSCMListChange(k)),j.push(T.onDidSCMRepoListChange(k)),()=>{j.dispose()}},[T]);const F=O.length>1,L=(0,r.useMemo)(()=>O.length===1&&R?`${(0,m.localize)("scm.title")}: ${R.provider.label}`:(0,m.localize)("scm.title"),[O,R]),N=(0,r.useMemo)(()=>{let j=(0,m.localize)("scm.title");if(F&&R){const{title:Q,type:$}=(0,f.getSCMRepositoryDesc)(R);j=Q+"-"+$}return j},[F,R]),U=(0,r.useMemo)(()=>{if(R)return T.menus.getRepositoryMenus(R?.provider).titleMenu},[R]),W=(0,r.useMemo)(()=>{const j={component:t.SCMProvidersView,id:a.scmProviderViewId,name:(0,m.localize)("scm.provider.title"),initialProps:{viewState:w.viewState,repoList:O,selectedRepo:R},priority:0},Q={component:t.SCMResourcesViewWrapper,id:a.scmResourceViewId,name:N,titleMenu:F&&U||void 0,titleMenuContext:R&&R.provider&&[R.provider],priority:1};return(F?[j]:[]).concat(Q)},[F,N,R,O]);return r.default.createElement("div",{className:c.default.view},r.default.createElement(s.TitleBar,{title:L,height:M.panelTitleBarHeight,menubar:!F&&U?r.default.createElement(l.InlineMenuBar,{menus:U,context:R&&R.provider&&[R.provider],moreTitle:(0,m.localize)("scm.action.git.more","More Actions")}):null}),r.default.createElement(p.AccordionContainer,{views:W,containerId:a.scmContainerId,style:{height:`calc(100% - ${M.panelTitleBarHeight}px)`}}))};t.SCMViewContainer=I,t.SCMViewContainer.displayName="SCMViewContainer"},75756:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMContribution=t.SCM_ACCEPT_INPUT=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(21634),_=e(68456),v=e(93899),m=e(43718),p=e(98295),s=e(23418),g=e(63067),a=e(64964),h=e(38563),d=e(63451),u=e(71972),E=e(7114),f=e(73018),c=e(94556);t.SCM_ACCEPT_INPUT={id:"scm.acceptInput"};let y=class{constructor(){this.toDispose=new o.Disposable,this.schema=f.scmPreferenceSchema,this.diffChangesIndex=new Map}onStart(){this.viewsRegistry.registerViewWelcomeContent(a.scmResourceViewId,{content:(0,m.localize)("welcome-view.noOpenRepo","No source control providers registered."),when:"default"}),this.extensionsPointService.appendExtensionPoint(["browserViews","properties"],{extensionPoint:a.scmContainerId,frameworkKind:["opensumi"],jsonSchema:{...l.browserViews.properties,description:(0,m.formatLocalize)("sumiContributes.browserViews.location.custom",(0,m.localize)("status-bar.scm"))}})}onDidRender(){[this.statusUpdater,this.statusBarController,this.dirtyDiffWorkbenchController].forEach(A=>{A.start(),this.toDispose.addDispose(A)})}onStop(){this.toDispose.dispose()}registerCommands(A){A.registerCommand(a.OPEN_DIRTY_DIFF_WIDGET,{execute:async S=>{const D=this.editorService.currentEditor;if(D){const I=D.monacoEditor;this.dirtyDiffWorkbenchController.toggleDirtyDiffWidget(I,{lineNumber:S,column:1}),setTimeout(()=>{I.revealLineInCenter(S)},0)}}}),A.registerCommand(a.CLOSE_DIRTY_DIFF_WIDGET,{execute:async()=>{const S=this.editorService.currentEditor;if(S){const D=S.monacoEditor;this.dirtyDiffWorkbenchController.closeDirtyDiffWidget(D)}}}),A.registerCommand(a.GOTO_PREVIOUS_CHANGE,{execute:()=>{var S;const D=this.editorService.currentEditor;if(D&&D.currentUri){const I=this.getDiffChangeLineNumber(D.currentUri,D,"previous");D.monacoEditor.focus();const w=(S=D.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(I,0);D.monacoEditor.setPosition(w),D.monacoEditor.revealLineInCenter(I)}}}),A.registerCommand(a.GOTO_NEXT_CHANGE,{execute:()=>{var S;const D=this.editorService.currentEditor;if(D&&D.currentUri){const I=this.getDiffChangeLineNumber(D.currentUri,D,"next");D.monacoEditor.focus();const w=(S=D.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(I,0);D.monacoEditor.setPosition(w),D.monacoEditor.revealLineInCenter(I)}}}),A.registerCommand(a.TOGGLE_DIFF_SIDE_BY_SIDE,{execute:()=>{const S=!this.preferenceService.get("diffEditor.renderSideBySide");this.preferenceService.set("diffEditor.renderSideBySide",S,m.PreferenceScope.User)}}),A.registerCommand(a.SET_SCM_TREE_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!0)}}),A.registerCommand(a.SET_SCM_LIST_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!1)}}),A.registerCommand(o.SCM_COMMANDS.GetSCMResource,{execute:async S=>this.scmTreeAPI.getSCMResource(S)})}registerComponent(A){A.register("@opensumi/ide-scm",[],{iconClass:(0,o.getIcon)("scm"),title:(0,m.localize)("scm.title"),priority:8,containerId:a.scmContainerId,component:c.SCMViewContainer,activateKeyBinding:"ctrlcmd+shift+g"})}registerMenus(A){A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_PREVIOUS_CHANGE.id,label:(0,m.localize)("scm.diff.change.previous")},when:"isInDiffEditor",iconClass:(0,o.getIcon)("arrowup"),group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_NEXT_CHANGE.id,label:(0,m.localize)("scm.diff.change.next")},iconClass:(0,o.getIcon)("arrowdown"),when:"isInDiffEditor",group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.TOGGLE_DIFF_SIDE_BY_SIDE.id,label:(0,m.localize)("scm.diff.toggle.renderSideBySide")},when:"isInDiffEditor",group:"1_internal"}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_TREE_VIEW_MODE.id,label:(0,m.localize)("setTreeViewMode","View as Tree")},iconClass:(0,o.getExternalIcon)("list-tree"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.List}`,group:"navigation",order:-1}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_LIST_VIEW_MODE.id,label:(0,m.localize)("setListViewMode","View as List")},iconClass:(0,o.getExternalIcon)("list-flat"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.Tree}`,group:"navigation",order:-1})}getDiffChangesIndex(A,S){return this.diffChangesIndex.has(A)||(S.onDispose(()=>{this.diffChangesIndex.delete(A)}),this.diffChangesIndex.set(A,0)),this.diffChangesIndex.get(A)}getDiffEditor(A){const S=A.getId(),[D]=this.editorCollectionService.listDiffEditors().filter(I=>I.modifiedEditor.getId()===S||I.originalEditor.getId()===S);return D}getDiffChangeLineNumber(A,S,D){const I=this.getDiffChangesIndex(A,S),T=this.getDiffEditor(S).getLineChanges()||[];if(!T||T.length===0)return 0;let R=0;return D==="previous"?R=I-1<0?T.length-1:I-1:R=I>=T.length-1?0:I+1,this.diffChangesIndex.set(A,R),T[R][2]}};t.SCMContribution=y,n.__decorate([(0,r.Autowired)(E.SCMBadgeController),n.__metadata("design:type",E.SCMBadgeController)],y.prototype,"statusUpdater",void 0),n.__decorate([(0,r.Autowired)(E.SCMStatusBarController),n.__metadata("design:type",E.SCMStatusBarController)],y.prototype,"statusBarController",void 0),n.__decorate([(0,r.Autowired)(s.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorService)],y.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(a.IDirtyDiffWorkbenchController),n.__metadata("design:type",u.DirtyDiffWorkbenchController)],y.prototype,"dirtyDiffWorkbenchController",void 0),n.__decorate([(0,r.Autowired)(s.EditorCollectionService),n.__metadata("design:type",s.EditorCollectionService)],y.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(g.IMainLayoutService),n.__metadata("design:type",Object)],y.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",d.SCMTreeService)],y.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",h.SCMTreeAPI)],y.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(g.IViewsRegistry),n.__metadata("design:type",Object)],y.prototype,"viewsRegistry",void 0),n.__decorate([(0,r.Autowired)(m.IExtensionsSchemaService),n.__metadata("design:type",Object)],y.prototype,"extensionsPointService",void 0),t.SCMContribution=y=n.__decorate([(0,p.Domain)(o.ClientAppContribution,m.CommandContribution,_.ComponentContribution,o.PreferenceContribution,g.MainLayoutContribution,v.MenuContribution)],y)},49814:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GOTO_PREVIOUS_CHANGE=t.GOTO_NEXT_CHANGE=t.CLOSE_DIRTY_DIFF_WIDGET=t.OPEN_DIRTY_DIFF_WIDGET=t.IDirtyDiffWorkbenchController=void 0,t.IDirtyDiffWorkbenchController=Symbol("DirtyDiffWorkbenchController"),t.OPEN_DIRTY_DIFF_WIDGET={id:"OPEN_DIRTY_DIFF_WIDGET"},t.CLOSE_DIRTY_DIFF_WIDGET={id:"CLOSE_DIRTY_DIFF_WIDGET"},t.GOTO_NEXT_CHANGE={id:"workbench.action.compareEditor.nextChange"},t.GOTO_PREVIOUS_CHANGE={id:"workbench.action.compareEditor.previousChange"}},64964:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelSortKey=t.SCMViewModelMode=t.SET_SCM_LIST_VIEW_MODE=t.SET_SCM_TREE_VIEW_MODE=t.TOGGLE_DIFF_SIDE_BY_SIDE=t.scmItemLineHeight=t.SCM_WELCOME_ID=t.scmResourceViewId=t.scmProviderViewId=t.scmContainerId=void 0;const n=e(85608),r=e(30144);t.scmContainerId=r.SCM_CONTAINER_ID,t.scmProviderViewId="scm_provider",t.scmResourceViewId="scm_view",t.SCM_WELCOME_ID="scm-welcome",t.scmItemLineHeight=22,t.TOGGLE_DIFF_SIDE_BY_SIDE={id:"toggle.diff.renderSideBySide"},t.SET_SCM_TREE_VIEW_MODE={id:"workbench.scm.action.setTreeViewMode"},t.SET_SCM_LIST_VIEW_MODE={id:"workbench.scm.action.setListViewMode"};var o;(function(_){_.List="list",_.Tree="tree"})(o||(t.SCMViewModelMode=o={}));var l;(function(_){_.Path="path",_.Name="name",_.Status="status"})(l||(t.ViewModelSortKey=l={})),n.__exportStar(e(49697),t),n.__exportStar(e(66224),t),n.__exportStar(e(95588),t),n.__exportStar(e(49814),t),n.__exportStar(e(480),t)},480:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95588:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMMenus=void 0,t.ISCMMenus=Symbol("ISCMMenus")},49697:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMService=void 0;class e{}t.ISCMService=e},66224:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMService=void 0;const n=e(85608),r=e(76003),o=e(43718),{equals:l}=o.arrays;class _{constructor(){this._disposables=new o.DisposableStore,this._value="",this._onDidChange=this._disposables.add(new o.Emitter),this.onDidChange=this._onDidChange.event,this._placeholder="",this._onDidChangePlaceholder=this._disposables.add(new o.Emitter),this.onDidChangePlaceholder=this._onDidChangePlaceholder.event,this._visible=!0,this._props={},this._onDidChangeProps=this._disposables.add(new o.Emitter),this.onDidChangeProps=this._onDidChangeProps.event,this._onDidChangeVisibility=this._disposables.add(new o.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._enabled=!0,this._onDidChangeEnablement=this._disposables.add(new o.Emitter),this.onDidChangeEnablement=this._onDidChangeEnablement.event,this._validateInput=()=>Promise.resolve(void 0),this._onDidChangeValidateInput=this._disposables.add(new o.Emitter),this.onDidChangeValidateInput=this._onDidChangeValidateInput.event,this._onDidChangeActionButton=this._disposables.add(new o.Emitter),this.onDidChangeActionButton=this._onDidChangeActionButton.event}get value(){return this._value}set value(s){this._value=s,this._onDidChange.fire(s)}get placeholder(){return this._placeholder}set placeholder(s){this._placeholder=s,this._onDidChangePlaceholder.fire(s)}get visible(){return this._visible}set visible(s){this._visible=s,this._onDidChangeVisibility.fire(s)}get props(){return this._props}set props(s){this._props=s,this._onDidChangeProps.fire(this._props)}appendProps(s){this._props={...this._props,...s},this._onDidChangeProps.fire(this._props)}get enabled(){return this._enabled}set enabled(s){this._enabled=s,this._onDidChangeEnablement.fire(s)}get validateInput(){return this._validateInput}set validateInput(s){this._validateInput=s,this._onDidChangeValidateInput.fire()}get actionButton(){return this._actionButton}set actionButton(s){this._actionButton=s,this._onDidChangeActionButton.fire()}dispose(){this._disposables.dispose()}}class v{get selected(){return this._selected}constructor(s,g){this.provider=s,this.disposable=g,this._disposables=new o.DisposableStore,this._onDidFocus=this._disposables.add(new o.Emitter),this.onDidFocus=this._onDidFocus.event,this._selected=!1,this._onDidChangeSelection=this._disposables.add(new o.Emitter),this.onDidChangeSelection=this._onDidChangeSelection.event,this.input=new _}focus(){this._onDidFocus.fire()}setSelected(s){this._selected=s,this._onDidChangeSelection.fire(this)}dispose(){this._disposables.dispose(),this.disposable.dispose(),this.provider.dispose(),this.input.dispose()}}let m=class{constructor(){this._disposables=new o.DisposableStore,this._selectedRepositories=[],this._providerIds=new Set,this._repositories=[],this._onDidChangeSelectedRepositories=this._disposables.add(new o.Emitter),this.onDidChangeSelectedRepositories=this._onDidChangeSelectedRepositories.event,this._onDidAddProvider=this._disposables.add(new o.Emitter),this.onDidAddRepository=this._onDidAddProvider.event,this._onDidRemoveProvider=this._disposables.add(new o.Emitter),this.onDidRemoveRepository=this._onDidRemoveProvider.event,this.logger=(0,o.getDebugLogger)()}get selectedRepositories(){return[...this._selectedRepositories]}get repositories(){return[...this._repositories]}registerSCMProvider(s){if(this.logger.log("SCMService#registerSCMProvider"),this._providerIds.has(s.id))throw new Error(`SCM Provider ${s.id} already exists.`);this._providerIds.add(s.id);const g=(0,o.toDisposable)(()=>{const d=this._repositories.indexOf(a);d<0||(h.dispose(),this._providerIds.delete(s.id),this._repositories.splice(d,1),this._onDidRemoveProvider.fire(a),a.selected&&this._repositories.length>0&&this._repositories[0].setSelected(!0))}),a=new v(s,g),h=o.Event.filter(a.onDidChangeSelection,d=>d.selected)(this.onDidChangeSelection,this);return this._repositories.push(a),this._onDidAddProvider.fire(a),this._repositories.length===1&&a.setSelected(!0),a}setInputProps(s){this._repositories.forEach(g=>{g.input.props=s})}appendInputProps(s){this._repositories.forEach(g=>{g.input.appendProps(s)})}onDidChangeSelection(s){l(this._selectedRepositories,[s])||(this._repositories.filter(g=>g!==s).forEach(g=>{g.setSelected(!1)}),this._selectedRepositories=this._repositories.filter(g=>g.selected),this._onDidChangeSelectedRepositories.fire(this.selectedRepositories))}dispose(){this._disposables.dispose()}};t.SCMService=m,t.SCMService=m=n.__decorate([(0,r.Injectable)()],m)},61656:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(64964),t)},6556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52925),_=e(50845),v=e(33301),m=e(86952),p=e(51495),s=e(5439);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:_.SearchContextKey,useClass:_.SearchContextKey},{token:l.IContentSearchClientService,useClass:p.ContentSearchClientService},{token:l.ISearchTreeService,useClass:s.SearchTreeService},m.SearchContribution],this.backServices=[{servicePath:l.ContentSearchServerPath,clientToken:l.IContentSearchClientService}],this.preferences=v.bindSearchPreference}};t.SearchModule=g,t.SearchModule=g=n.__decorate([(0,r.Injectable)()],g)},3956:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceAll=_,t.getSelection=v,t.replace=m;const n=e(85608),r=e(41869),o=e(43718),l=n.__importStar(e(20868));async function _(p,s,g,a,h,d,u,E,f){if(g.size<1)return!1;const c=Object.assign({},f);if(u&&c){const y={[(0,r.localize)("search.replace.buttonCancel")]:!1,[(0,r.localize)("search.replace.buttonOK")]:!0},b=await u.open({message:(0,o.formatLocalize)("search.removeAll.occurrences.files.confirmation.message",String(c.resultNum),String(c.fileNum),a),type:o.MessageType.Warning,buttons:Object.keys(y)});if(!y[b])return y[b]}for(const y of g){const b=y[1];await m(p,s,b,a,h,d)}return E&&c&&E.info((0,o.formatLocalize)("search.replaceAll.occurrencesMessage",String(c.resultNum),String(c.fileNum),a)),!0}function v(p){return[new l.Selection(p.line,p.matchStart,p.line,p.matchStart+p.matchLength)]}async function m(p,s,g,a,h,d){var u;const E=g.map(c=>p.getModelReference(new o.URI(c.fileUri))).filter(c=>c?.instance&&!c.instance.dirty),f=[];for(const c of g){let y=a;if(d&&a){let b;try{b=new RegExp(h)}catch{continue}const A=(u=c.renderLineText)===null||u===void 0?void 0:u.slice(c.matchStart-1,c.matchStart+c.matchLength-1);A&&(y=A.replace(b,a))}f.push({options:{dirtyIfInEditor:!0},resource:new o.URI(c.fileUri),textEdit:{range:new l.Range(c.line,c.matchStart,c.line,c.matchStart+c.matchLength),text:y}})}await s.apply({edits:f}),await Promise.all(E.map(async c=>{await c?.instance.save(),c?.dispose()}))}},50845:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(67386);let _=class{initScopedContext(m){this._contextKeyService=this.globalContextkeyService.createScoped(m),this.searchViewFocusedKey=l.SearchViewFocusedKey.bind(this._contextKeyService),this.searchInputBoxFocusedKey=l.SearchInputBoxFocusedKey.bind(this._contextKeyService),this.hasSearchResults=l.HasSearchResults.bind(this._contextKeyService),this.searchViewVisibleKey=l.SearchViewVisibleKey.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.SearchContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextkeyService",void 0),t.SearchContextKey=_=n.__decorate([(0,r.Injectable)()],_)},96895:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchHistory=t.SEARCH_WORD_SCOPE=void 0;const n=e(41869);t.SEARCH_WORD_SCOPE="SEARCH_WORD";class r{constructor(l,_){this.searchHistoryList=[],this.currentIndex=-1,this.searchServiceClient=l,this.recentStorage=_}setRecentSearchWord(){this.currentIndex===-1&&(this.currentIndex=this.searchHistoryList.length),this.currentIndex=this.currentIndex-1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex<0)return this.currentIndex=0,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setRecentSearchWord();this.setSearchValue(l)}}setBackRecentSearchWord(){this.currentIndex=this.currentIndex+1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex>=this.searchHistoryList.length)return this.currentIndex=this.searchHistoryList.length-1,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setBackRecentSearchWord();this.setSearchValue(l)}}async initSearchHistory(){if(this.searchHistoryList.length>0)return;const l=await this.getMostRecentlySearchWord();this.searchHistoryList=this.searchHistoryList.concat(l||[])}async setSearchHistory(l){this.searchHistoryList.some(_=>_===l)||(this.searchHistoryList.push(l),await this.setMostRecentlySearchWord(l))}async getMostRecentlySearchWord(){return await(await this.recentStorage.getScopeStorage()).get(t.SEARCH_WORD_SCOPE)||[]}async setMostRecentlySearchWord(l){const _=await this.recentStorage.getScopeStorage();let v=[];const m=await this.getMostRecentlySearchWord()||[];(0,n.isArray)(l)?v=v.concat(l):v.push(l),v=m.concat(v),v=Array.from(new Set(v)),v=v.slice(v.length-10,v.length),_.set(t.SEARCH_WORD_SCOPE,v)}setSearchValue(l){this.searchServiceClient.searchValue=l,this.searchServiceClient.searchDebounce()}reset(){this.currentIndex=-1}}t.SearchHistory=r},33301:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSearchPreferencesProvider=t.SearchPreferences=t.searchPreferenceSchema=void 0,t.bindSearchPreference=o;const n=e(41869);t.searchPreferenceSchema={id:"search",order:5,title:(0,n.localize)("Search","\u641C\u7D22"),type:"object",properties:{"search.exclude":{type:"object",markdownDescription:"%preference.search.exclude%",default:{"**/node_modules":!0,"**/bower_components":!0,"**/.git":!0,"**/.svn":!0,"**/.hg":!0,"**/CVS":!0,"**/.DS_Store":!0,"**/Thumbs.db":!0}},"search.include":{type:"object",description:"%preference.search.include%",default:{}},"search.useReplacePreview":{type:"boolean",description:"%preference.search.useReplacePreview%",default:!0},"search.searchOnType":{type:"boolean",description:"%preference.search.searchOnType%",default:!0},"search.searchOnTypeDebouncePeriod":{type:"number",description:"%preference.search.searchOnTypeDebouncePeriod%",default:300}}},t.SearchPreferences=Symbol("SearchPreferences");const r=l=>({token:t.SearchPreferences,useFactory:()=>{const _=l.get(n.PreferenceService);return(0,n.createPreferenceProxy)(_,t.searchPreferenceSchema)}});t.createSearchPreferencesProvider=r;function o(l){l.addProviders((0,t.createSearchPreferencesProvider)(l))}},9767:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResultCollection=void 0;const n=e(52925);class r{constructor(){this.list=[],this.maxLength=5}pushAndGetResultList(l){const{id:_,data:v,searchState:m}=l,p=[];if(m===n.SEARCH_STATE.error||m===n.SEARCH_STATE.done){const s=this.getTempResult();return s&&p.push(s),p.push(l),p}if(v.length<1)return p.push(l),p;if(this.list.length>0)if(_===this.list[0].id)this.pushTempResult(l);else{const s=this.getTempResult();s&&p.push(s),this.pushTempResult(l)}else this.pushTempResult(l);return this.list.length>=this.maxLength&&p.push(this.getTempResult()),p}getTempResult(){let l;return this.list.length<1||(this.list.forEach((_,v)=>{v!==0&&(this.list[0].data=this.list[0].data.concat(_.data))}),l=this.list[0],this.list=[]),l}pushTempResult(l){this.list.push(l)}}t.SearchResultCollection=r},86952:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),_=e(67386),v=e(68456),m=e(93899),p=e(43718),s=e(98295),g=e(57517),a=e(63067),h=e(17793),d=e(72665),u=e(26199),E=e(52925),f=e(3956),c=e(33301),y=e(14851),b=e(5439),A=e(13072),S=e(86109);let D=class{constructor(){this.schema=c.searchPreferenceSchema,this.toDispose=new p.DisposableCollection}registerCommands(w){w.registerCommand(o.SEARCH_COMMANDS.OPEN_SEARCH,{execute:T=>{const R=this.mainLayoutService.getTabbarHandler(l.SEARCH_CONTAINER_ID);if(R){if(R.activate(),T&&T.includeValue){this.searchBrowserService.includeValue=T.includeValue,this.searchBrowserService.updateUIState({isDetailOpen:!0}),this.searchBrowserService.search();return}this.searchBrowserService.searchEditorSelection(),this.searchBrowserService.focus(),this.searchBrowserService.search()}}}),w.registerCommand(o.SEARCH_COMMANDS.REFRESH,{execute:()=>{this.searchBrowserService.search()}}),w.registerCommand(o.SEARCH_COMMANDS.CLEAN,{execute:()=>{this.searchBrowserService.clean()}}),w.registerCommand(o.SEARCH_COMMANDS.GET_RECENT_SEARCH_WORD,{execute:T=>{this.searchBrowserService.setRecentSearchWord()}}),w.registerCommand(o.SEARCH_COMMANDS.GET_BACK_RECENT_SEARCH_WORD,{execute:()=>{this.searchBrowserService.setBackRecentSearchWord()}}),w.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE,{execute:async T=>{if(!S.SearchFileNode.is(T)){const R=new Map;R.set(T.resource.toString(),[T.contentResult]),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)}},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),w.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE_ALL,{execute:async T=>{if(!S.SearchFileNode.is(T))return;const R=new Map;if(!T.children)return;const M=T.children.map(k=>k.contentResult),O={[(0,o.localize)("search.replace.buttonCancel")]:!1,[(0,o.localize)("search.replace.buttonOK")]:!0},x=await this.dialogService.open({message:(0,p.formatLocalize)("search.removeAll.occurrences.file.confirmation.message",String(M.length)),type:p.MessageType.Warning,buttons:Object.keys(O)});if(x&&!O[x])return O[x];R.set(T.resource.toString(),M),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),w.registerCommand(o.SEARCH_COMMANDS.MENU_HIDE,{execute:T=>{var R,M;S.SearchFileNode.is(T)?(this.searchBrowserService.resultTotal.fileNum-=1,this.searchBrowserService.resultTotal.resultNum-=T.branchSize,this.searchModelService.treeModel.root.unlinkItem(T)):(this.searchBrowserService.resultTotal.resultNum-=1,((M=(R=T.parent)===null||R===void 0?void 0:R.children)===null||M===void 0?void 0:M.length)===1&&(this.searchBrowserService.resultTotal.fileNum-=1,this.searchModelService.treeModel.root.unlinkItem(T.parent)),T.parent.unlinkItem(T)),this.searchBrowserService.fireTitleChange()}}),w.registerCommand(o.SEARCH_COMMANDS.MENU_COPY,{execute:T=>{var R;if(S.SearchFileNode.is(T)){let O=`${T.resource.codeUri.fsPath.toString()}
33720
+ }`)}return u}get onFocus(){return this._onFocus.event}focusInput(){this._onFocus.fire()}};t.PreferenceSettingsService=a,a.EXTENSION_SETTINGS_PREFIX="@ext:",a.EXTENSION_SETTINGS_REGX=/^@ext:(\S+)(.+)?/,a.DEFAULT_CHANGE_DELAY=200,r.__decorate([(0,o.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],a.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceSchemaProvider),r.__metadata("design:type",_.PreferenceSchemaProvider)],a.prototype,"schemaProvider",void 0),r.__decorate([(0,o.Autowired)(_.PreferenceProviderProvider),r.__metadata("design:type",Function)],a.prototype,"providerProvider",void 0),r.__decorate([(0,o.Autowired)(v.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(_.CommandService),r.__metadata("design:type",Object)],a.prototype,"commandService",void 0),t.PreferenceSettingsService=a=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],a),t.defaultSettingGroup=[{id:m.PreferenceSettingId.General,title:"%settings.group.general%",iconClass:(0,_.getIcon)("setting")},{id:m.PreferenceSettingId.Terminal,title:"%settings.group.terminal%",iconClass:(0,_.getIcon)("terminal")},{id:m.PreferenceSettingId.Editor,title:"%settings.group.editor%",iconClass:(0,_.getIcon)("editor")},{id:m.PreferenceSettingId.View,title:"%settings.group.view%",iconClass:(0,_.getIcon)("detail")},{id:m.PreferenceSettingId.Feature,title:"%settings.group.feature%",iconClass:(0,_.getIcon)("file-text")}],t.defaultSettingSections={[m.PreferenceSettingId.General]:[{preferences:[{id:"general.theme",localized:"preference.general.theme"},{id:"general.icon",localized:"preference.general.icon"},{id:"general.productIconTheme",localized:"preference.general.productIconTheme"},{id:"general.language",localized:"preference.general.language",hiddenInScope:[_.PreferenceScope.Workspace]}]}],[m.PreferenceSettingId.Editor]:[{title:"Editor",preferences:[{id:"editor.previewMode"},{id:"editor.enablePreviewFromCodeNavigation"},{id:"editor.autoSave",localized:"preference.editor.autoSave"},{id:"editor.autoSaveDelay",localized:"preference.editor.autoSaveDelay"},{id:"workbench.refactoringChanges.showPreviewStrategy",localized:"preference.workbench.refactoringChanges.showPreviewStrategy.title"},{id:"editor.askIfDiff",localized:"preference.editor.askIfDiff"},{id:"editor.cursorStyle",localized:"preference.editor.cursorStyle"},{id:"editor.fontSize",localized:"preference.editor.fontSize"},{id:"editor.fontWeight",localized:"preference.editor.fontWeight"},{id:"editor.fontFamily",localized:"preference.editor.fontFamily"},{id:"editor.lineHeight",localized:"preference.editor.lineHeight"},{id:"editor.trimAutoWhitespace"},{id:"editor.quickSuggestionsDelay",localized:"preference.editor.quickSuggestionsDelay"},{id:"editor.suggestOnTriggerCharacters"},{id:"editor.acceptSuggestionOnEnter"},{id:"editor.acceptSuggestionOnCommitCharacter"},{id:"editor.snippetSuggestions"},{id:"editor.wordBasedSuggestions"},{id:"editor.suggestSelection"},{id:"editor.suggestFontSize"},{id:"editor.suggestLineHeight"},{id:"editor.tabCompletion"},{id:"editor.suggest.filteredTypes"},{id:"editor.suggest.insertMode"},{id:"editor.suggest.filterGraceful"},{id:"editor.suggest.localityBonus"},{id:"editor.suggest.shareSuggestSelections"},{id:"editor.suggest.snippetsPreventQuickSuggestions"},{id:"editor.suggest.showIcons"},{id:"editor.suggest.maxVisibleSuggestions"},{id:"editor.suggest.showMethods"},{id:"editor.suggest.showFunctions"},{id:"editor.suggest.showConstructors"},{id:"editor.suggest.showFields"},{id:"editor.suggest.showVariables"},{id:"editor.suggest.showClasses"},{id:"editor.suggest.showStructs"},{id:"editor.suggest.showInterfaces"},{id:"editor.suggest.showModules"},{id:"editor.suggest.showProperties"},{id:"editor.suggest.showEvents"},{id:"editor.suggest.showOperators"},{id:"editor.suggest.showUnits"},{id:"editor.suggest.showValues"},{id:"editor.suggest.showConstants"},{id:"editor.suggest.showEnums"},{id:"editor.suggest.showEnumMembers"},{id:"editor.suggest.showKeywords"},{id:"editor.suggest.showWords"},{id:"editor.suggest.showColors"},{id:"editor.suggest.showFiles"},{id:"editor.suggest.showReferences"},{id:"editor.suggest.showCustomcolors"},{id:"editor.suggest.showFolders"},{id:"editor.suggest.showTypeParameters"},{id:"editor.suggest.showSnippets"},{id:"editor.suggest.showUsers"},{id:"editor.suggest.showIssues"},{id:"editor.suggest.preview"},{id:"editor.suggest.details.visible"},{id:"editor.inlineSuggest.enabled",localized:"preference.editor.inlineSuggest.enabled"},{id:"editor.inlineSuggest.showToolbar"},{id:"editor.experimental.stickyScroll.enabled",localized:"preference.editor.experimental.stickyScroll.enabled"},{id:"editor.hover.enabled"},{id:"editor.hover.delay"},{id:"editor.hover.sticky"},{id:"editor.hover.hidingDelay"},{id:"editor.hover.above"},{id:"editor.guides.bracketPairs",localized:"preference.editor.guides.bracketPairs"},{id:"editor.guides.indentation",localized:"preference.editor.guides.indentation"},{id:"editor.guides.highlightActiveIndentation",localized:"preference.editor.guides.highlightActiveIndentation"},{id:"editor.detectIndentation",localized:"preference.editor.detectIndentation"},{id:"editor.tabSize",localized:"preference.editor.tabSize"},{id:"editor.insertSpaces",localized:"preference.editor.insertSpace"},{id:"editor.wrapTab",localized:"preference.editor.wrapTab"},{id:"editor.wordWrap",localized:"preference.editor.wordWrap"},{id:"editor.renderLineHighlight",localized:"preference.editor.renderLineHighlight"},{id:"editor.renderWhitespace",localized:"preference.editor.renderWhitespace"},{id:"editor.minimap",localized:"preference.editor.minimap"},{id:"editor.preferredFormatter",localized:"preference.editor.preferredFormatter"},{id:"editor.formatOnSave",localized:"preference.editor.formatOnSave"},{id:"editor.formatOnSaveTimeout",localized:"preference.editor.formatOnSaveTimeout"},{id:"editor.formatOnPaste",localized:"preference.editor.formatOnPaste"},{id:"editor.codeActionsOnSave",localized:"preference.editor.saveCodeActions"},{id:"editor.codeActionsOnSaveNotification",localized:"preference.editor.saveCodeActionsNotification"},{id:"editor.gotoLocation.multiple"},{id:"editor.maxTokenizationLineLength",localized:"preference.editor.maxTokenizationLineLength"},{id:"editor.largeFile",localized:"preference.editor.largeFile"},{id:"editor.readonlyFiles",localized:"preference.editor.readonlyFiles"},{id:"editor.bracketPairColorization.enabled",localized:"preference.editor.bracketPairColorization.enabled"},{id:"workbench.editorAssociations"},{id:"editor.unicodeHighlight.ambiguousCharacters"},{id:"editor.unicodeHighlight.allowedCharacters"},{id:"editor.unicodeHighlight.allowedLocales"}]},{title:"Diff Editor",preferences:[{id:"diffEditor.renderSideBySide",localized:"preference.diffEditor.renderSideBySide"},{id:"diffEditor.ignoreTrimWhitespace",localized:"preference.diffEditor.ignoreTrimWhitespace"}]},{title:"Merge Editor",preferences:[{id:"mergeEditor.autoApplyNonConflictChanges",localized:"preference.mergeEditor.autoApplyNonConflictChanges"}]},{title:"Files",preferences:[{id:"files.autoGuessEncoding",localized:"preference.files.autoGuessEncoding.title"},{id:"files.encoding",localized:"preference.files.encoding.title"},{id:"files.eol",localized:"preference.files.eol"},{id:"files.trimFinalNewlines",localized:"preference.files.trimFinalNewlines"},{id:"files.trimTrailingWhitespace",localized:"preference.files.trimTrailingWhitespace"},{id:"files.insertFinalNewline",localized:"preference.files.insertFinalNewline"},{id:"files.exclude",localized:"preference.files.exclude.title"},{id:"files.watcherExclude",localized:"preference.files.watcherExclude.title"},{id:"files.associations",localized:"preference.files.associations.title"}]}],[m.PreferenceSettingId.View]:[{title:"MenuBar",preferences:[{id:"menubar.compactMode",localized:"preference.menubar.mode.compact"}]},{title:"Layout",preferences:[{id:"view.saveLayoutWithWorkspace",localized:"preference.view.saveLayoutWithWorkspace.title"}]},{title:"File Tree",preferences:[]},{title:"Explorer",preferences:[{id:"explorer.fileTree.baseIndent",localized:"preference.explorer.fileTree.baseIndent.title"},{id:"explorer.fileTree.indent",localized:"preference.explorer.fileTree.indent.title"},{id:"explorer.compactFolders",localized:"preference.explorer.compactFolders.title"},{id:"explorer.autoReveal",localized:"preference.explorer.autoReveal"}]},{title:"QuickOpen",preferences:[{id:"workbench.quickOpen.preserveInput"}]},{title:"Search",preferences:[{id:"search.include"},{id:"search.exclude",localized:"preference.search.exclude.title"},{id:"search.useReplacePreview"},{id:"search.searchOnType"},{id:"search.searchOnTypeDebouncePeriod"}]},{title:"Output",preferences:[{id:"output.maxChannelLine",localized:"output.maxChannelLine"},{id:"output.enableLogHighlight",localized:"output.enableLogHighlight"},{id:"output.enableSmartScroll",localized:"output.enableSmartScroll"}]},{title:"Debug",preferences:[{id:"debug.console.wordWrap",localized:"preference.debug.console.wordWrap"},{id:"debug.inline.values",localized:"preference.debug.inline.values"},{id:"debug.toolbar.float",localized:"preference.debug.toolbar.float.title"},{id:"debug.breakpoint.editorHint",localized:"preference.debug.breakpoint.editorHint.title"},{id:"debug.breakpoint.showBreakpointsInOverviewRuler",localized:"preference.debug.breakpoint.showBreakpointsInOverviewRuler"}]}],[m.PreferenceSettingId.Terminal]:[{preferences:[{id:"terminal.type",localized:"preference.terminal.type"},{id:"terminal.fontFamily",localized:"preference.terminal.fontFamily"},{id:"terminal.fontSize",localized:"preference.terminal.fontSize"},{id:"terminal.fontWeight",localized:"preference.terminal.fontWeight"},{id:"terminal.lineHeight",localized:"preference.terminal.lineHeight"},{id:"terminal.cursorBlink",localized:"preference.terminal.cursorBlink"},{id:"terminal.scrollback",localized:"preference.terminal.scrollback"},{id:"terminal.integrated.shellArgs.linux",localized:"preference.terminal.integrated.shellArgs.linux"},{id:"terminal.integrated.copyOnSelection",localized:"preference.terminal.integrated.copyOnSelection"},{id:"terminal.integrated.localEchoEnabled",localized:"preference.terminal.integrated.localEchoEnabled"},{id:"terminal.integrated.localEchoLatencyThreshold",localized:"preference.terminal.integrated.localEchoLatencyThreshold"},{id:"terminal.integrated.localEchoExcludePrograms",localized:"preference.terminal.integrated.localEchoExcludePrograms"},{id:"terminal.integrated.cursorStyle",localized:"preference.terminal.integrated.cursorStyle"},{id:"terminal.integrated.localEchoStyle",localized:"preference.terminal.integrated.localEchoStyle"},{id:"terminal.integrated.xtermRenderType",localized:"preference.terminal.integrated.xtermRenderType"}]}],[m.PreferenceSettingId.Feature]:[{title:"Misc",preferences:[]},{title:"Tree Component",preferences:[{id:"workbench.list.openMode",localized:"preference.workbench.list.openMode.title"}]}]}},26551:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditPreferenceDecorationsContribution=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(93899),v=e(43718),m=e(57517),p=e(14951),s=n.__importStar(e(20868)),g=e(90684),a=e(19582),h=e(60295),d=e(90184),u=e(76773);let E=class{constructor(c){this.editor=c,this.disposer=new v.Disposable,this._preferences=[],this._currentLine=0,this._editPreferenceDecoration=this.editor.monacoEditor.createDecorationsCollection()}verifyEditor(){var c;return((c=this.editor.currentUri)===null||c===void 0?void 0:c.toString())===u.USER_PREFERENCE_URI.toString()}async getPreferenceUrl(){const c=await this.preferenceSettingsService.getPreferenceUrl(v.PreferenceScope.User);if(c){const y=await this.fileServiceClient.getFileStat(c);return y?v.URI.parse(y.uri):void 0}}async getDocumentModelRef(c){const y=this.editorDocumentModelService.getModelReference(c);return y||this.editorDocumentModelService.createModelReference(c)}contribute(){return this.disposer.addDispose(this.editor.monacoEditor.onMouseDown(async c=>{var y;((y=c.target.range)===null||y===void 0?void 0:y.startLineNumber)!==this.currentLine&&!this.verifyEditor()||c.target.type!==a.MouseTargetType.GUTTER_GLYPH_MARGIN||c.target.detail.isAfterLines||!this.isVisible()||(this.registerMenuItems(this.preferences),this.showContextMenu(c))})),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeCursorPosition(c=>{this.verifyEditor()&&this.onPositionChanged(c)})),this.disposer.addDispose(this.editor.monacoEditor.onContextMenu(c=>(c.event.preventDefault(),c.event.stopPropagation(),!1))),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeConfiguration(()=>{this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)||this.hide()})),this.disposer.addDispose(v.Disposable.create(()=>{this.hide(),this.menuRegistry.unregisterMenuId(_.MenuId.SettingJSONGlyphMarginContext)})),this.disposer.addDispose(this.commandRegistry.registerCommand(h.SettingJSONGlyphMarginEdit,{execute:(c,y)=>{c&&y&&(y==="true"&&(y=!0),y==="false"&&(y=!1),this.preferenceSettingsService.setPreference(c,y,v.PreferenceScope.User))}})),this.disposer}get preferences(){return this._preferences}get currentLine(){return this._currentLine}show(c,y,b){this._preferences=b;const A=[];A.push({options:{description:"edit-preference-widget-decoration",glyphMarginClassName:(0,o.getIcon)("edit")+" setting-edit-glyph",glyphMarginHoverMessage:new g.MarkdownString().appendText(y),stickiness:s.editor.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges},range:{startLineNumber:c,startColumn:1,endLineNumber:c,endColumn:1}}),this._editPreferenceDecoration.set(A)}hide(){this._editPreferenceDecoration.clear()}isVisible(){return this._editPreferenceDecoration.length>0}async getPreferencesKeyAtLineNumber(c){const y=new RegExp(/\"((?!,).)*\"+((\s+?)?)\:/g),b=await this.getPreferenceUrl();if(!b)return[];const A=await this.getDocumentModelRef(b),D=A.instance.getMonacoModel().getLineContent(c);A.dispose();const w=(D.match(y)||[]).map(R=>{const M=/\"(.*?)\"/g.exec(R);return M&&M[1]||""}),T=this.preferenceSchemaProvider.getCombinedSchema().properties;return w.filter(R=>{const M=T[R];return M?M.type==="boolean"||M.enum:!1})}async onPositionChanged(c){this.hide();const{position:{lineNumber:y}}=c;this._currentLine=y;const b=await this.getPreferencesKeyAtLineNumber(y);b.length>0?this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)&&this.marginFreeFromOtherDecorations(y)&&this.show(y,(0,v.localize)("editTtile"),b):this.hide()}marginFreeFromOtherDecorations(c){const y=this.editor.monacoEditor.getLineDecorations(c);if(y){for(const{options:b}of y)if(b.glyphMarginClassName&&b.glyphMarginClassName.indexOf((0,o.getIcon)("edit"))===-1)return!1}return!0}async registerMenuItems(c){if(c.length===1){const y=this.getActions(c[0]);this.disposer.addDispose(this.menuRegistry.registerMenuItems(_.MenuId.SettingJSONGlyphMarginContext,y.map(b=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:b},group:"navigation",extraTailArgs:[c[0],b]}))))}else c.forEach(y=>{const b=`${_.MenuId.SubSettingJSONGlyphMarginContext}_${y}`;this.disposer.addDispose(this.menuRegistry.registerMenuItem(_.MenuId.SettingJSONGlyphMarginContext,{submenu:b,label:y,group:"navigation"}));const A=this.getActions(y);this.disposer.addDispose(this.menuRegistry.registerMenuItems(b,A.map(S=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:S},group:"navigation",extraTailArgs:[y,S]}))))})}getActions(c){const b=this.preferenceSchemaProvider.getCombinedSchema().properties[c];return b.type==="boolean"?["true","false"]:b.enum?b.enum.map(A=>A.toString()):[]}showContextMenu(c){c.event.preventDefault(),c.event.stopPropagation();const y=this.menuService.createMenu({id:_.MenuId.SettingJSONGlyphMarginContext,config:{separator:"inline"}}),b=y.getMergedMenuNodes();y.dispose(),setTimeout(()=>{this.ctxMenuRenderer.show({anchor:c.event.browserEvent,menuNodes:b,onHide:()=>{const A=(S,D="menu")=>this.menuRegistry.getMenuItems(S).map(I=>D==="sub"?I.submenu:I.command).filter(Boolean);A(_.MenuId.SettingJSONGlyphMarginContext,"sub").forEach(S=>{this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,S),A(S).forEach(D=>{this.menuRegistry.unregisterMenuItem(S,D.id)})}),A(_.MenuId.SettingJSONGlyphMarginContext).forEach(S=>{this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,S.id)}),this.menuRegistry.unregisterMenuItem(_.MenuId.SettingJSONGlyphMarginContext,_.MenuId.SubSettingJSONGlyphMarginContext)}})},10)}};t.EditPreferenceDecorationsContribution=E,n.__decorate([(0,r.Autowired)(l.IPreferenceSettingsService),n.__metadata("design:type",d.PreferenceSettingsService)],E.prototype,"preferenceSettingsService",void 0),n.__decorate([(0,r.Autowired)(_.ICtxMenuRenderer),n.__metadata("design:type",_.ICtxMenuRenderer)],E.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],E.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],E.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(_.AbstractContextMenuService),n.__metadata("design:type",_.AbstractContextMenuService)],E.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(_.IMenuRegistry),n.__metadata("design:type",_.IMenuRegistry)],E.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(v.CommandRegistry),n.__metadata("design:type",Object)],E.prototype,"commandRegistry",void 0),t.EditPreferenceDecorationsContribution=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],E)},15789:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.NextPreferenceItem=void 0;const r=e(85608),o=r.__importDefault(e(53373)),l=r.__importDefault(e(12784)),_=r.__importStar(e(14041)),v=e(76003),m=e(97267),p=e(56849),s=e(41869),g=e(83569),a=e(90184),h=r.__importDefault(e(80881)),d=/`#(.+)#`/gi,u="none",E=({preferenceId:R,localizedName:M,preference:O,scope:x})=>{var k;const F=(0,s.useInjectable)(s.PreferenceService),L=(0,s.useInjectable)(s.IPreferenceSettingsService),N=(0,s.useInjectable)(s.PreferenceSchemaProvider),U=F.getProvider(x),{value:W,effectingScope:j}=L.getPreference(R,x),[Q,$]=(0,_.useState)(U.get(R)),[Z,G]=(0,_.useState)(),[V,H]=(0,_.useState)(()=>L.getEnumLabels(R));(0,_.useEffect)(()=>{const oe=N.getPreferenceProperty(R);G(oe);const he=new s.DisposableCollection;return he.push(U.onDidPreferencesChanged(me=>{if(me.default&&Object.prototype.hasOwnProperty.call(me.default,R)&&me.default[R].scope===x){const q=me.default[R].newValue;$(q)}})),he.push(L.onDidEnumLabelsChange(R)((0,l.default)(()=>{G(N.getPreferenceProperty(R)),H(L.getEnumLabels(R))},a.PreferenceSettingsService.DEFAULT_CHANGE_DELAY))),()=>{he.dispose()}},[]);let K=Z;if(K||(K=N.getPreferenceProperty(R)),!K)return _.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0})},R," schema not found.");const Y=(k=F.resolve(R,void 0,void 0,void 0,s.PreferenceScope.Default).value)!==null&&k!==void 0?k:K.default,X=_.default.useMemo(()=>Q!==void 0&&String(Q)!==String(Y),[Q,Y]),re=()=>{if(K){const oe={preferenceName:R,scope:x,effectingScope:j,schema:K,labels:V,currentValue:Q===void 0?W:Q,defaultValue:Y,localizedName:M,localizedDescription:{description:O.description,markdownDescription:O.markdownDescription},renderedDescription:b({name:M,description:O.description,markdownDescription:O.markdownDescription}),hasValueInScope:Q!==void 0,isModified:X};switch(K.type){case"boolean":return _.default.createElement(D,{...oe});case"integer":case"number":return K.enum?_.default.createElement(I,{...oe}):_.default.createElement(S,{...oe,isNumber:!0});case"string":return K.enum?_.default.createElement(I,{...oe}):_.default.createElement(S,{...oe});case"array":return K.items&&K.items.type==="string"?_.default.createElement(T,{...oe}):_.default.createElement(w,{...oe});default:return _.default.createElement(w,{...oe})}}};return _.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0,[h.default.modified]:X}),"data-id":R},re())};t.NextPreferenceItem=E;const f=R=>{var M;const O=(0,s.useInjectable)(s.IPreferenceSettingsService);if(!R)return null;const x=R.match(d);if(!x)return R;let k=R;const F=[];for(const L of x){if(!k)continue;const N=L.slice(2,L.length-2),U=(M=g.knownPrefIdMappings[N])!==null&&M!==void 0?M:N,W=O.getPreferenceViewDesc(U);if(W){const j=(0,g.getPreferenceItemLabel)(W),[Q,$]=k.split(L,2);Q&&F.push(_.default.createElement("span",{key:F.length},Q)),k=$;const Z=_.default.createElement("a",{onClick:()=>{O.search(j)},key:U},j);F.push(Z)}}return k&&F.push(_.default.createElement("span",{key:F.length},k)),F};let c=n=class extends p.DefaultMarkedRenderer{codespan({text:M}){var O;if(M.startsWith("#")&&M.endsWith("#")){const x=M.slice(1,M.length-1),k=(O=g.knownPrefIdMappings[x])!==null&&O!==void 0?O:x,F=this.preferenceSettingService.getPreferenceViewDesc(k);if(F){const L=(0,g.getPreferenceItemLabel)(F);return(0,p.linkify)(`${n.openerScheme}${L}`,k,L)}return super.codespan({text:k})}return super.codespan({text:M})}};c.openerScheme="prefTitle://",r.__decorate([(0,v.Autowired)(s.IPreferenceSettingsService),r.__metadata("design:type",a.PreferenceSettingsService)],c.prototype,"preferenceSettingService",void 0),c=n=r.__decorate([(0,v.Injectable)()],c);const y=R=>{const M=(0,s.useInjectable)(s.IOpenerService),O=(0,s.useInjectable)(c),x=(0,s.useInjectable)(s.IPreferenceSettingsService);return _.default.createElement(p.Markdown,{opener:{open(k){if(k.startsWith(c.openerScheme)){const F=k.slice(c.openerScheme.length);return x.search(F),!0}return M.open(k)}},value:R,renderer:O})},b=R=>{var M;const O=(0,s.replaceLocalizePlaceholder)((M=R.description)!==null&&M!==void 0?M:R.markdownDescription);return O?_.default.createElement("div",{className:h.default.desc},R.markdownDescription?y(O):f(O)):_.default.createElement("div",{className:h.default.desc},R.name)},A=({preferenceName:R,scope:M,effectingScope:O,showReset:x})=>{const k=(0,s.useInjectable)(s.IPreferenceSettingsService);return _.default.createElement("span",{className:h.default.preference_status},O===s.PreferenceScope.Workspace&&M===s.PreferenceScope.User?_.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.Workspace),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInWorkspace")):void 0,O===s.PreferenceScope.User&&M===s.PreferenceScope.Workspace?_.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.User),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInUser")):void 0,x?_.default.createElement("span",{className:(0,o.default)(h.default.preference_reset,(0,s.getIcon)("rollback")),onClick:()=>{k.reset(R,M)}}):void 0)};function S({preferenceName:R,localizedName:M,currentValue:O,renderedDescription:x,isNumber:k,effectingScope:F,scope:L,isModified:N}){const U=(0,s.useInjectable)(s.PreferenceService),W=(0,s.useInjectable)(s.PreferenceSchemaProvider),[j,Q]=(0,_.useState)();(0,_.useEffect)(()=>{Q(O)},[O]);const $=G=>{Z(k&&/^[0-9]+$/.test(G)?Number(G):G)||U.set(R,G,L)};function Z(G){const V=W.validate(R,G);if(!V.valid)return{type:2,message:V.reason}}return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:(0,o.default)(h.default.key,h.default.item)},M," ",_.default.createElement(A,{preferenceName:R,scope:L,effectingScope:F,showReset:N})),x,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("div",{className:h.default.text_control},_.default.createElement(m.ValidateInput,{type:k?"number":"text",validate:Z,onBlur:()=>{$(j)},onValueChange:G=>{Q(G)},value:j}))))}function D({preferenceName:R,localizedName:M,renderedDescription:O,currentValue:x,effectingScope:k,scope:F,isModified:L}){const N=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,_.useState)();(0,_.useEffect)(()=>{W(x)},[x]);const j=Q=>{W(Q),N.set(R,Q,F)};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:(0,o.default)(h.default.key)},M," ",_.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),_.default.createElement("div",{className:h.default.check},_.default.createElement(m.CheckBox,{checked:U,onChange:Q=>{j(Q.target.checked)}}),O))}function I({preferenceName:R,localizedName:M,renderedDescription:O,currentValue:x,defaultValue:k,schema:F,labels:L,effectingScope:N,scope:U,isModified:W}){const j=(0,s.useInjectable)(s.PreferenceService),Q=(0,s.useInjectable)(s.ILogger),$=x??k,Z=(0,_.useMemo)(()=>F.enumDescriptions&&F.enum&&F.enumDescriptions[F.enum.indexOf(x)]||"",[F]),[G,V]=(0,_.useState)(Z),H=(0,_.useCallback)(oe=>{j.set(R,oe,U)},[j]),K=(0,_.useCallback)(()=>{const oe=F.enum?[...F.enum]:[];return k&&!oe.includes(k)&&(Q.warn(`default value(${k}) of ${R} not found in its enum field`),oe.push(k)),oe.map((he,me)=>{typeof he=="boolean"&&(he=String(he));const q=(0,s.replaceLocalizePlaceholder)(String(L[he]||he));return _.default.createElement(m.Option,{value:he,label:q,key:`${me}-${q}`,className:h.default.select_option},q,String(he)===String(k)&&_.default.createElement("div",{className:h.default.select_default_option_tips},(0,s.localize)("preference.enum.default")))})},[F.enum,L]),Y=()=>_.default.createElement(m.Option,{value:(0,s.localize)("preference.stringArray.none"),key:u,label:(0,s.localize)("preference.stringArray.none"),disabled:!0},(0,s.localize)("preference.stringArray.none")),X=F.enum&&F.enum.length>0?K():Y(),re=(0,_.useCallback)((oe,he)=>{if(F.enumDescriptions){const me=F.enumDescriptions[he];V(me||"")}},[F.enumDescriptions,V]);return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:U,effectingScope:N,showReset:W})),O,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement(m.Select,{dropdownRenderType:"absolute",maxHeight:"200",onChange:H,value:$,className:h.default.select_control,description:G,onMouseEnter:re,notMatchWarning:W?(0,s.formatLocalize)("preference.item.notValid",$):""},X)))}function w({preferenceName:R,localizedName:M,renderedDescription:O,effectingScope:x,scope:k,hasValueInScope:F}){const L=(0,s.useInjectable)(s.IPreferenceSettingsService),N=async()=>{L.openJSON(k,R)};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:k,effectingScope:x,showReset:F})),O,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("a",{onClick:N},(0,s.localize)("preference.editSettingsJson"))))}function T({preferenceName:R,localizedName:M,currentValue:O,renderedDescription:x,effectingScope:k,scope:F,isModified:L}){const N=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,_.useState)([]),[j,Q]=(0,_.useState)(),[$,Z]=(0,_.useState)(),[G,V]=(0,_.useState)(-1);(0,_.useEffect)(()=>{W(O||[])},[O]),(0,_.useEffect)(()=>{G>=0?Z(U[G]):Z("")},[G]);const H=me=>{W(me),N.set(R,me,F)},K=()=>{if(j){const me=U.slice(0);if(me.indexOf(j)>-1)return;me.push(j),Q(""),H(me)}},Y=me=>{const q=U.slice(0);q.splice(me,1),q.length?H(q):H([])},X=me=>{V(me)},re=me=>{Q(me)},oe=U.map((me,q)=>{const Ae=JSON.stringify(me);return G>=0&&G===q?_.default.createElement("li",{className:h.default.array_items,key:`${q}-${Ae}`}):_.default.createElement("li",{className:h.default.array_items,key:`${q}-${Ae}`},_.default.createElement("div",{className:h.default.array_item},typeof me=="string"?me:Ae),_.default.createElement("div",{className:h.default.operate},_.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.edit"),onClick:()=>{X(q)},className:(0,o.default)((0,s.getIcon)("edit"),h.default.array_item)}),_.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.delete"),onClick:()=>{Y(q)},className:(0,o.default)((0,s.getIcon)("delete"),h.default.array_item)})))}),he=()=>{const me=()=>{const Ae=U.slice(0);$?Ae[G]=$:Ae.splice(G,1),W(Ae),N.set(R,Ae,F),V(-1)},q=Ae=>{Z(Ae)};if(G>=0)return _.default.createElement("div",{className:h.default.array_edit_wrapper,style:{top:G*24}},_.default.createElement(m.Input,{type:"text",className:h.default.array_edit_input,value:$,onValueChange:q,onPressEnter:me,addonAfter:[_.default.createElement("div",{className:h.default.array_edit_input_tip},(0,s.localize)("preference.stringArray.operate.editTip"))]}))};return _.default.createElement(_.default.Fragment,null,_.default.createElement("div",{className:h.default.key},M," ",_.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),x,_.default.createElement("div",{className:h.default.control_wrap},_.default.createElement("ul",{className:h.default.array_items_wrapper},oe,he()),_.default.createElement("div",{className:h.default.preferences_flex_row},_.default.createElement(m.Input,{type:"text",className:h.default.text_control,value:j,onValueChange:re}),_.default.createElement(m.Button,{className:h.default.add_button,onClick:K},(0,s.localize)("preference.array.additem","Add")))))}},99187:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceItem=t.PreferenceView=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=n.__importDefault(e(19686)),_=e(97267),v=e(91802),m=e(41869),p=e(99333),s=n.__importDefault(e(39572)),g=e(83569),a=e(15789),h=n.__importDefault(e(80881)),d="preferenceViewIndexTree",u=8,E=()=>{const A=(0,m.useInjectable)(m.IPreferenceSettingsService),[S,D]=(0,o.useState)([]),[I,w]=(0,o.useState)([]),T=(0,s.default)(()=>{const N=A.currentScope,U=A.currentSearch,W=A.getSettingGroups(N,U),j=[],Q=[];for(let G=0;G<W.length;G++){const V=W[G],H=A.getResolvedSections(V.id,N,U);j.push(...$(V,H)),Q.push(Z(G,V,H))}D(j),w(Q);function $(G,V){const H=[],K=(Y,X="")=>{let re=X;Y.title&&(re=X+"/"+Y.title);const oe=[];return Y.component?oe.push({component:Y.component,scope:N}):Y.preferences?oe.push(...Y.preferences.map(he=>({id:"preference:"+he.id,preference:he,scope:N,_path:re}))):Y.subSections&&Y.subSections.forEach(he=>{const me=K(he,re);oe.push(...me)}),oe.length>0&&Y.title&&oe.unshift({id:"section:"+Y.title,title:Y.title,scope:N,_path:re}),oe};for(const Y of V){const X=K(Y,G.title);H.push(...X)}return H.length>0&&G.title&&H.unshift({title:G.title,id:"group:"+G.id,scope:N,_path:G.title}),H}function Z(G,V,H){const{id:K,title:Y,iconClass:X}=V,re={label:(0,g.toNormalCase)(Y),iconClassName:X,groupId:K,order:G,className:h.default.group_item},oe=[];return H.forEach((he,me)=>{const q=c(K,he,me,1);q&&oe.push(q)}),re.children=oe,oe.length>0?re.expandable=!0:re.expandable=!1,re}},16);(0,o.useEffect)(()=>{const N=new m.Disposable(A.emitter.on("settingsGroupsChange",()=>{T.run()}),A.emitter.on("currentSearchChange",()=>{T.run()}),A.emitter.on("currentScopeChange",()=>{T.run()}),A.emitter.on("settingsSectionsChange",()=>{T.run()}));return T.run(),()=>{N.dispose()}},[]);const R=(0,m.useInjectable)(m.LabelService),M=(0,o.useCallback)((N,U)=>R.getIcon(m.URI.parse(N),U),[]),O=(0,o.useRef)(null),x=(0,r.default)(N=>{A.search(N)},100,{maxWait:300});(0,o.useEffect)(()=>{const N=A.onFocus(()=>{O&&O.current&&(O.current.focus(),O.current.select())});return()=>{N.dispose()}},[]);const k=(0,m.useEventDrivenState)(A.emitter,"currentSearchChange",()=>A.currentSearch),F=(0,m.useEventDrivenState)(A.emitter,"tabListChange",()=>A.tabList),L=(0,m.useEventDrivenState)(A.emitter,"tabIndexChange",()=>A.tabIndex);return o.default.createElement(_.ComponentContextProvider,{value:{getIcon:m.getIcon,localize:m.localize,getResourceIcon:M}},o.default.createElement("div",{className:h.default.preferences},o.default.createElement("div",{className:h.default.preferences_header},o.default.createElement(_.Tabs,{className:h.default.tabs,value:L,onChange:N=>{A.updateTabIndex(N)},tabs:F.map(N=>(0,m.localize)(N.label))}),o.default.createElement("div",{className:h.default.search_pref},o.default.createElement(_.Input,{autoFocus:!0,value:k,placeholder:(0,m.localize)("preference.searchPlaceholder"),onValueChange:x,ref:O,hasClear:!0}))),S.length>0?o.default.createElement(p.SplitPanel,{id:"preference-panel",resizeHandleClassName:h.default.devider,className:h.default.preferences_body,direction:"left-to-right"},o.default.createElement(y,{treeData:I,"data-sp-defaultSize":180,"data-sp-minSize":150}),o.default.createElement(b,{tabIndex:L,items:S,"data-sp-flex":1})):o.default.createElement("div",{className:h.default.preference_noResults},k?(0,m.formatLocalize)("preference.noResults",k):(0,m.formatLocalize)("preference.empty"))))};t.PreferenceView=E;const f=({data:A,index:S})=>{var D;if(A.title)return!((D=A.id)===null||D===void 0)&&D.startsWith("group:")?o.default.createElement("div",{className:h.default.group_title,id:A.id},A.title):o.default.createElement("div",{className:h.default.section_title,id:A.id},A.title);if(A.component)return o.default.createElement(A.component,{scope:A.scope});if(A.preference)return o.default.createElement(a.NextPreferenceItem,{key:`${S} - ${A.preference.id} - ${A.scope}`,preference:A.preference,preferenceId:A.preference.id,localizedName:A.preference.label,scope:A.scope})};t.PreferenceItem=f;const c=(A,S,D,I)=>{let w;S.title&&(w={label:S.title,section:S.title,groupId:A,order:D,indentOffset:I===1?-u:-(u>>1),className:h.default.index_item});const T=[];return S.subSections&&S.subSections.forEach((R,M)=>{const O=c(A,R,M,I+1);O&&T.push(O)}),w&&T&&T.length>0&&(w.children=T,w.expandable=!0),w},y=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),{treeData:D}=A;return o.default.createElement(l.default,{className:h.default.preferences_indexes},({width:I,height:w})=>o.default.createElement(_.BasicRecycleTree,{treeName:d,sortComparator:(T,R)=>{if(typeof T.order<"u"&&typeof R.order<"u")return T.order>R.order?1:T.order<R.order?-1:0},height:w,width:I,itemHeight:26,baseIndent:u,indent:12,treeData:D,onClick:(T,R)=>{const M=R&&R._raw;M&&(M.section?S.scrollToSection(M.section):M.groupId&&S.scrollToGroup(M.groupId))},onReady:T=>{S.handleTreeHandler(T)}}))},b=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),[D,I]=(0,o.useState)(void 0),{items:w}=A;(0,o.useEffect)(()=>{var O;D&&(!((O=S.treeHandler)===null||O===void 0)&&O.focusItem)&&S.treeHandler.focusItem(D)},[A.tabIndex,S.treeHandler,D]);const T=O=>{var x;if(O){const k=w.findIndex(F=>F.id===O);k>=0&&((x=S.listHandler)===null||x===void 0||x.scrollToIndex({index:k,behavior:"auto",align:"start"}))}},R=(0,s.default)(O=>{const x=w[O.startIndex+1];x&&x._path&&I(x._path)},m.FRAME_THREE,{leading:!0,trailing:!0}),M=(0,m.useEventDrivenState)(S.emitter,"currentSelectIdChange",()=>S.currentSelectId);return(0,o.useEffect)(()=>{M&&T(M)},[w,M]),o.default.createElement("div",{className:h.default.preferences_items},o.default.createElement(v.VirtualList,{data:w,template:t.PreferenceItem,className:h.default.preference_section,refSetter:S.handleListHandler,onRangeChanged:R.run}))}},76773:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserPreferenceProvider=t.USER_PREFERENCE_URI=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),_=e(11461);t.USER_PREFERENCE_URI=new o.URI().withScheme(o.Schemes.userStorage).withPath("settings.json");let v=class extends _.AbstractResourcePreferenceProvider{getUri(){return t.USER_PREFERENCE_URI}getScope(){return l.PreferenceScope.User}};t.UserPreferenceProvider=v,t.UserPreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},25947:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(84017),t),n.__exportStar(e(57506),t)},57506:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(14951),_=e(2156),v=e(83569);let m=class{initialize(){this.fileSystem.registerProvider(o.Schemes.userStorage,this.userStorageService)}};t.UserStorageContribution=m,n.__decorate([(0,r.Autowired)(v.IUserStorageService),n.__metadata("design:type",Object)],m.prototype,"userStorageService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",_.FileServiceClient)],m.prototype,"fileSystem",void 0),t.UserStorageContribution=m=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],m)},84017:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageServiceImpl=t.DEFAULT_USER_STORAGE_FOLDER=void 0;const r=e(85608),o=r.__importDefault(e(82451)),l=e(76003),_=e(41869),v=e(43718),m=e(42933);t.DEFAULT_USER_STORAGE_FOLDER=".sumi";const p={recursive:!1,excludes:["**/logs/**"]};let s=n=class{static toUserStorageUri(a,h){const d=this.getRelativeUserStoragePath(a,h);return new _.URI("").withScheme(v.Schemes.userStorage).withPath(d).withFragment(h.fragment).withQuery(h.query)}static getRelativeUserStoragePath(a,h){return h.toString().slice(a.toString().length+1)}static toFilesystemURI(a,h){return a.withPath(a.path.join(h.path.toString()))}constructor(){this.capabilities=2,this.onDidChangeCapabilities=v.Event.None,this.toDispose=new _.DisposableCollection,this.onDidChangeFileEmitter=new _.Emitter,this._whenReady=this.init()}get whenReady(){return this._whenReady}get onDidChangeFile(){return this.onDidChangeFileEmitter.event}async init(){const a=await this.fileServiceClient.getCurrentUserHome();if(a){const h=new _.URI(a.uri).resolve(this.appConfig.userPreferenceDirName||this.appConfig.preferenceDirName||t.DEFAULT_USER_STORAGE_FOLDER);await this.fileServiceClient.access(h.toString())||await this.fileServiceClient.createFolder(h.toString()),this.userStorageFolder=h}this.toDispose.push(this.onDidChangeFileEmitter)}readDirectory(a){throw new Error("Method not implemented.")}createDirectory(a){throw new Error("Method not implemented.")}async watch(a,h){await this.whenReady;const d=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a)),u=(0,o.default)(p,h),E=await this.fileServiceClient.watchFileChanges(d.parent,u.excludes);return this.toDispose.push(E),this.toDispose.push(E.onFilesChanged(f=>{const c=[];for(const y of f)y.uri===d.toString()&&c.push(y);c.length>0&&this.onDidChangeFileEmitter.fire(c.map(y=>({uri:n.toUserStorageUri(this.userStorageFolder,new _.URI(y.uri)).toString(),type:y.type})))})),E.watchId}async readFile(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));try{const{content:d}=await this.fileServiceClient.readFile(h.toString());return d.buffer}catch(d){throw new Error(d)}}async writeFile(a,h,d){await this.whenReady;const u=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));try{let E=await this.fileServiceClient.getFileStat(u.toString());E?await this.fileServiceClient.setContent(E,h,d):(E=await this.fileServiceClient.createFile(u.toString()),await this.fileServiceClient.setContent(E,h,d))}catch(E){throw new Error(E)}}delete(a,h){throw new Error("Method not implemented.")}rename(a,h,d){throw new Error("Method not implemented.")}copy(a,h,d){throw new Error("Method not implemented.")}async stat(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a)),d=await this.fileServiceClient.getFileStat(h.toString());if(d)return d}async access(a,h){await this.whenReady;const d=n.toFilesystemURI(this.userStorageFolder,_.URI.from(a));return this.fileServiceClient.access(d.toString(),h)}};t.UserStorageServiceImpl=s,r.__decorate([(0,l.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],s.prototype,"fileServiceClient",void 0),r.__decorate([(0,l.Autowired)(_.ILogger),r.__metadata("design:type",Object)],s.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(_.AppConfig),r.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),t.UserStorageServiceImpl=s=n=r.__decorate([(0,l.Injectable)(),r.__metadata("design:paramtypes",[])],s)},46392:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFilePreferenceProvider=t.WorkspaceFilePreferenceProviderFactory=t.WorkspaceFilePreferenceProviderOptions=void 0;const n=e(85608),r=e(76003),o=e(78132),l=e(51500),_=e(84435),v=e(11461);let m=class{};t.WorkspaceFilePreferenceProviderOptions=m,t.WorkspaceFilePreferenceProviderOptions=m=n.__decorate([(0,r.Injectable)()],m),t.WorkspaceFilePreferenceProviderFactory=Symbol("WorkspaceFilePreferenceProviderFactory");let p=class extends v.AbstractResourcePreferenceProvider{getUri(){return this.options.workspaceUri}parse(g){const a=super.parse(g);return _.WorkspaceData.is(a)?a.settings||{}:{}}getPath(g){return["settings",g]}getScope(){return o.PreferenceScope.Workspace}getDomain(){return this.workspaceService.tryGetRoots().map(g=>g.uri)}};t.WorkspaceFilePreferenceProvider=p,n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],p.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(m),n.__metadata("design:type",m)],p.prototype,"options",void 0),t.WorkspaceFilePreferenceProvider=p=n.__decorate([(0,r.Injectable)()],p)},58705:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspacePreferenceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),_=e(51500),v=e(46392);let m=class extends l.PreferenceProvider{constructor(){super(),this.toDisposeOnEnsureDelegateUpToDate=new o.DisposableCollection,this.init()}async init(){this._ready.resolve(),this.ensureDelegateUpToDate(),this.workspaceService.onWorkspaceLocationChanged(()=>this.ensureDelegateUpToDate())}getConfigUri(s=this.ensureResourceUri()){const g=this.delegate;return g&&g.getConfigUri(s)}get delegate(){return this._delegate||this.ensureDelegateUpToDate(),this._delegate}ensureDelegateUpToDate(){const s=this.createDelegate();this._delegate!==s&&(this.toDisposeOnEnsureDelegateUpToDate.dispose(),this.toDispose.push(this.toDisposeOnEnsureDelegateUpToDate),this._delegate=s,s&&this.toDisposeOnEnsureDelegateUpToDate.pushAll([s,s.onDidPreferencesChanged(g=>{this.emitPreferencesChangedEvent(g)})]))}createDelegate(){const s=this.workspaceService.workspace;if(s)return this.workspaceService.isMultiRootWorkspaceOpened?this.workspaceFileProviderFactory({workspaceUri:new o.URI(s.uri)}):this.foldersPreferenceProvider}doGet(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.get(s,g,a):void 0}doResolve(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.resolve(s,g,a):{}}getPreferences(s=this.ensureResourceUri(),g){const a=this.delegate;return a?a.getPreferences(s,g):void 0}getLanguagePreferences(s=this.ensureResourceUri()){const g=this.delegate;return g?g.getLanguagePreferences(s):void 0}async doSetPreference(s,g,a=this.ensureResourceUri(),h){const d=this.delegate;return d?d.setPreference(s,g,a,h):!1}ensureResourceUri(){if(this.workspaceService.workspace&&!this.workspaceService.isMultiRootWorkspaceOpened)return this.workspaceService.workspace.uri}};t.WorkspacePreferenceProvider=m,n.__decorate([(0,r.Autowired)(_.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.WorkspaceFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"workspaceFileProviderFactory",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceProvider,{tag:l.PreferenceScope.Folder}),n.__metadata("design:type",l.PreferenceProvider)],m.prototype,"foldersPreferenceProvider",void 0),t.WorkspacePreferenceProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},60295:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingJSONGlyphMarginEdit=void 0,t.SettingJSONGlyphMarginEdit={id:"preference.setting.glyphMargin.edit"}},83569:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(99112),t),n.__exportStar(e(36858),t),n.__exportStar(e(49132),t),n.__exportStar(e(29728),t)},49132:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownPrefIdMappings=t.PreferenceSettingId=void 0;var e;(function(n){n.General="general",n.Editor="editor",n.Terminal="terminal",n.Feature="feature",n.View="view"})(e||(t.PreferenceSettingId=e={})),t.knownPrefIdMappings={"workbench.editor.enablePreview":"editor.previewMode"}},99112:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownTermMappings=t.PREF_SCHEME=void 0,t.toPreferenceReadableName=o,t.getPreferenceItemLabel=l,t.toNormalCase=_;const n=e(41869);t.PREF_SCHEME="pref",t.knownTermMappings=new Map,t.knownTermMappings.set("power shell","PowerShell"),t.knownTermMappings.set("powershell","PowerShell"),t.knownTermMappings.set("javascript","JavaScript"),t.knownTermMappings.set("typescript","TypeScript"),["css","html","scss","less","json","js","ts","ie","id","php","scm","npm"].forEach(v=>{t.knownTermMappings.set(v,v.toUpperCase())});function r(v){const m=v.toLowerCase();return t.knownTermMappings.has(m)?t.knownTermMappings.get(m):_(v)}function o(v){const m=v.split(".");let p=r(m[0]);return m[1]&&(p+=" > "+_(m[1])),m[2]&&(p+=" : "+_(m[2])),m.slice(3).length>0&&(p+=". "+m.slice(3).join(" ")),p}function l(v){let m;return v.localized&&(m=(0,n.localize)(v.localized)),m||(m=o(v.id)),m}function _(v){return v.substr(0,1).toUpperCase()+v.substr(1).replace(/([^A-Z])([A-Z])/g,"$1 $2")}},29728:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingContribution=void 0,t.SettingContribution=Symbol("SettingContribution")},36858:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IUserStorageService=void 0,t.IUserStorageService=Symbol("IUserStorageService")},46507:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(83569),t)},70716:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HighlightLabel=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(48560),_=e(52416),v=({text:m="",highlights:p=[],className:s="",labelClassName:g="",labelIconClassName:a="",hightLightClassName:h="",OutElementType:d="span"})=>{const u=(0,l.useInjectable)(_.IIconService),E=r.default.useMemo(()=>{const f=[];let c=0;for(const y of p){if(y.end===y.start)continue;if(c<y.start){const A=m.substring(c,y.start);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${A}`},(0,o.transformLabelWithCodicon)(A,a,u.fromString.bind(u)))),c=y.end}const b=m.substring(y.start,y.end);f.push(r.default.createElement("span",{className:h,key:`${f.length}-${b}`},(0,o.transformLabelWithCodicon)(b,a,u.fromString.bind(u)))),c=y.end}if(c<m.length){const y=m.substring(c);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${y}`},(0,o.transformLabelWithCodicon)(y,a,u.fromString.bind(u))))}return f},[m,p]);return r.default.createElement(d,{title:m,className:s},E)};t.HighlightLabel=v},52644:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeybindingView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=n.__importDefault(e(26739)),v=({keybinding:m,className:p,sequenceClassName:s,keyClassName:g})=>{const a=(0,l.useInjectable)(l.KeybindingRegistry),h=o.default.useMemo(()=>a.acceleratorFor(m," "),[m]);return o.default.createElement("div",{className:(0,r.default)(_.default.keybinding,p)},h?h.map((d,u)=>{const E=d.split(" ");return o.default.createElement("div",{key:`${d}_${u}`,title:d,className:(0,r.default)(_.default.key_sequence,s)},E.map((f,c)=>o.default.createElement("span",{className:(0,r.default)(_.default.key,g),key:`${f}_${u}_${c}`},f)))}):null)};t.KeybindingView=v},47005:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenTabs=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),_=e(63373),v=e(52644),m=n.__importDefault(e(78539)),p=({tabs:s,activePrefix:g,onChange:a,toggleTab:h})=>{const d=(0,l.useInjectable)(l.KeybindingRegistry),u=E=>{const f=d.getKeybindingsForCommand(E);return f?f[0]:void 0};return o.default.createElement("div",{id:_.VIEW_CONTAINERS.QUICKPICK_TABS,className:m.default.quickopen_tabs},o.default.createElement("div",{className:m.default.quickopen_tabs_left},s.map(({title:E,prefix:f,commandId:c,order:y},b)=>{const A=u(c);return o.default.createElement("div",{key:f,className:m.default.quickopen_tabs_left_item,onMouseDown:S=>S.preventDefault(),onClick:()=>{f!==g&&a(f)}},o.default.createElement("div",{className:(0,r.default)(m.default.quickopen_tabs_left_item_text,{[m.default.selected]:g===f})},E),A&&o.default.createElement(v.KeybindingView,{keybinding:A,className:m.default.keybinding,keyClassName:m.default.tab_key}))})),o.default.createElement("div",{style:{flex:1}}),o.default.createElement("div",{className:m.default.quickopen_tabs_tip,onClick:()=>{h?.()}},(0,l.localize)("quickopen.tab.tip.prefix"),o.default.createElement("span",{className:m.default.tab_key},"Tab"),(0,l.localize)("quickopen.tab.tip.suffix")))};t.QuickOpenTabs=p},96534:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenModule=t.CoreQuickOpenModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(80490),v=e(99066),m=e(65028),p=e(43131),s=e(13978);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.PrefixQuickOpenService,useClass:_.PrefixQuickOpenServiceImpl},{token:o.QuickOpenService,useClass:p.MonacoQuickOpenService},{token:l.QuickPickService,useClass:s.QuickPickServiceImpl},{token:l.IQuickInputService,useClass:v.QuickInputService},m.CoreQuickOpenContribution],this.contributionProvider=_.QuickOpenContribution}};t.CoreQuickOpenModule=g,t.CoreQuickOpenModule=g=n.__decorate([(0,r.Injectable)()],g);let a=class extends g{constructor(){super(...arguments),this.providers=this.providers.concat(m.QuickOpenFeatureContribution)}};t.QuickOpenModule=a,t.QuickOpenModule=a=n.__decorate([(0,r.Injectable)()],a)},80490:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixQuickOpenServiceImpl=t.QuickOpenHandlerRegistry=t.QuickOpenContribution=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),_=e(18193),v=e(74404),m=e(43718),p=e(47005),s=e(50426);var g=e(74404);Object.defineProperty(t,"QuickOpenContribution",{enumerable:!0,get:function(){return g.QuickOpenContribution}});let a=class extends m.Disposable{constructor(){super(...arguments),this.handlers=new Map,this.tabs=[],this.sortedTabs=null,this.handlerTabMap=new Map}registerHandler(u,E){if(this.handlers.has(u.prefix))return this.logger.warn(`The handler function of the \`${u.prefix}\` is already registered`),m.Disposable.NULL;this.handlers.set(u.prefix,u);const f={dispose:()=>this.handlers.delete(u.prefix)};if(this.addDispose(f),u.default&&(this.defaultHandler=u),E&&!E.hideTab){const c=[],{sub:y,...b}=E;y&&Object.keys(y).forEach(A=>{c.push({prefix:`${u.prefix}${A}`,...y[A]})}),c.push({prefix:u.prefix,...b}),this.handlerTabMap.set(u,c),this.tabs.push(...c),this.sortedTabs=null,this.addDispose({dispose:()=>{const A=this.handlerTabMap.get(u);A&&(this.handlerTabMap.delete(u),this.tabs=this.tabs.filter(S=>!A.includes(S)),this.sortedTabs=null)}})}return f}getDefaultHandler(){return this.defaultHandler}isDefaultHandler(u){return u===this.getDefaultHandler()}getHandlers(){return[...this.handlers.values()]}getHandlerOrDefault(u){for(const E of this.handlers.values())if(u.startsWith(E.prefix))return E;return this.getDefaultHandler()}getSortedTabs(){return this.sortedTabs||(this.sortedTabs=this.tabs.slice().sort((u,E)=>u.order-E.order)),this.sortedTabs}getTabByHandler(u,E){if(this.handlerTabMap.has(u)){let f=E;return this.isDefaultHandler(u)&&!E.startsWith(u.prefix)&&(f=`${u.prefix}${E}`),this.handlerTabMap.get(u).find(c=>f.startsWith(c.prefix))}}};t.QuickOpenHandlerRegistry=a,n.__decorate([(0,o.Autowired)(m.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.QuickOpenHandlerRegistry=a=n.__decorate([(0,o.Injectable)()],a);let h=class{constructor(){this.activePrefix="",this.currentLookFor="",this.toDisposeCurrent=new m.DisposableCollection}open(u,E){const f=this.handlers.getHandlerOrDefault(u);let c=!1;E?u=`${u}${E}`:this.corePreferences["workbench.quickOpen.preserveInput"]&&f&&f===this.currentHandler&&this.currentLookFor&&this.handlers.getTabByHandler(f,this.currentLookFor)===this.handlers.getTabByHandler(f,u)?(u=this.currentLookFor,c=!0):this.currentLookFor="",this.setCurrentHandler(u,f,c)}async setCurrentHandler(u,E,f){var c,y;if(E!==this.currentHandler&&(this.toDisposeCurrent.dispose(),this.currentHandler=E,this.toDisposeCurrent.push(m.Disposable.create(()=>{const I=E&&E.getOptions().onClose;I&&I(!0)}))),!E){this.doOpen();return}E.init&&await E.init(),this.setActivePrefix(E,u);let b=u;this.handlers.isDefaultHandler(E)&&u.startsWith(E.prefix)&&(b=u.substring(E.prefix.length));const A=this.handlers.isDefaultHandler(E)?0:((y=(c=this.handlers.getTabByHandler(E,u))===null||c===void 0?void 0:c.prefix)!==null&&y!==void 0?y:E.prefix).length,S=E.getOptions(),D=()=>{var I;(I=E.onToggle)===null||I===void 0||I.call(E);const w=this.handlers.getSortedTabs();let T=null;if(this.activePrefix){let R=w.findIndex(M=>M.prefix===this.activePrefix);R=R===w.length-1?0:R+1,T=w[R]}else T=w[0];T&&this.open(T.prefix)};this.doOpen({prefix:b,skipPrefix:A,valueSelection:f?[A,u.length]:void 0,...S,onClose:I=>{S.onClose&&S.onClose(I),E.onClose&&E.onClose(I),this.commandService.executeCommand(l.EDITOR_COMMANDS.FOCUS.id)},renderTab:()=>r.default.createElement(p.QuickOpenTabs,{tabs:this.handlers.getSortedTabs(),activePrefix:this.activePrefix,onChange:I=>{var w;(w=E.onToggle)===null||w===void 0||w.call(E),this.open(I)},toggleTab:()=>{D()}}),toggleTab:()=>{D()}})}doOpen(u){this.quickTitleBar.isAttached.get()&&this.quickTitleBar.hide(),this.quickOpenService.open({onType:(E,f)=>this.onType(E,f)},u)}onType(u,E){this.currentLookFor=u;const f=this.handlers.getHandlerOrDefault(u);if(f===void 0){const c=[];c.push(new v.QuickOpenItem({label:(0,l.localize)("quickopen.command.nohandler")})),E(c)}else if(f!==this.currentHandler)this.setCurrentHandler(u,f);else{const c=f.getModel(),y=this.handlers.isDefaultHandler(f)?u:u.substr(f.prefix.length);c.onType(y,(b,A)=>E(b,A)),this.setActivePrefix(f,u)}}setActivePrefix(u,E){var f,c;this.activePrefix=(c=(f=this.handlers.getTabByHandler(u,E))===null||f===void 0?void 0:f.prefix)!==null&&c!==void 0?c:""}};t.PrefixQuickOpenServiceImpl=h,n.__decorate([(0,o.Autowired)(a),n.__metadata("design:type",a)],h.prototype,"handlers",void 0),n.__decorate([(0,o.Autowired)(v.QuickOpenService),n.__metadata("design:type",Object)],h.prototype,"quickOpenService",void 0),n.__decorate([(0,o.Autowired)(s.QuickTitleBar),n.__metadata("design:type",s.QuickTitleBar)],h.prototype,"quickTitleBar",void 0),n.__decorate([(0,o.Autowired)(_.CorePreferences),n.__metadata("design:type",Object)],h.prototype,"corePreferences",void 0),n.__decorate([(0,o.Autowired)(m.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),t.PrefixQuickOpenServiceImpl=h=n.__decorate([(0,o.Injectable)()],h)},99066:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickInputService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(74404),_=e(43718),v=e(44854);let m=class{constructor(){this.onDidAcceptEmitter=new _.Emitter,this.onDidChangeValueEmitter=new _.Emitter}open(s){this.inputBox&&this.inputBox.hide();const g=new _.Deferred,a=s&&s.validateInput;s.hideOnDidAccept===void 0&&(s.hideOnDidAccept=!0);const h=this.injector.get(v.InputBoxImpl,[s]);return this.inputBox=h,h.onDidAccept(d=>{g.resolve(d),this.onDidAcceptEmitter.fire()}),h.getDerivedOptionsFromValue=async d=>{var u;const E=a&&d!==void 0?(0,_.withNullAsUndefined)(await a(d)):void 0;return{validationMessage:typeof E=="string"?E:E?.message,validationType:typeof E=="string"?o.VALIDATE_TYPE.ERROR:(u=E?.type)!==null&&u!==void 0?u:o.VALIDATE_TYPE.ERROR}},h.onDidChangeValue(async d=>{this.onDidChangeValueEmitter.fire(d)}),h.onDidHide(()=>{g.resolve(void 0)}),h.open(),g.promise}refresh(){var s;(s=this.inputBox)===null||s===void 0||s.refresh()}hide(){var s;(s=this.inputBox)===null||s===void 0||s.hide()}dispose(){var s;(s=this.inputBox)===null||s===void 0||s.dispose()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}};t.QuickInputService=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),t.QuickInputService=m=n.__decorate([(0,r.Injectable)()],m)},11143:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenBaseAction=void 0;class e{constructor(r){this.options=r}get id(){return this.options.id}get label(){return this.options.label||""}set label(r){this.options.label=r}get tooltip(){return this.options.tooltip||""}set tooltip(r){this.options.tooltip=r}get class(){return this.options.class||""}set class(r){this.options.class=r}get enabled(){return this.options.enabled||!0}set enabled(r){this.options.enabled=r}get checked(){return this.options.checked||!1}set checked(r){this.options.checked=r}get radio(){return this.options.radio||!1}set radio(r){this.options.radio=r}dispose(){}}t.QuickOpenBaseAction=e},78245:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenItemService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40827),_=e(43718),v=e(52416),m=e(89802);let p=class{constructor(){this.onDidTriggerItemButtonEmitter=new _.Emitter}get onDidTriggerItemButton(){return this.onDidTriggerItemButtonEmitter.event}fireDidTriggerItemButton(g,a){this.onDidTriggerItemButtonEmitter.fire({button:a,item:{handle:g}})}getButtons(g){return g.length===0?[]:g.map((a,h)=>{if(_.ThemeIcon.isThemeIcon(a.iconPath))return{...a,iconClass:(0,o.getExternalIcon)(a.iconPath.id),handle:h};const d=(0,m.iconPath2URI)(a.iconPath,this.themeService.getCurrentThemeSync().type),u=d&&this.staticResourceService.resolveStaticResource(d).toString(),E=u&&this.iconService.fromIcon("",u,v.IconType.Background);return{...a,iconClass:E,handle:h}})}getIconClass(g){const{iconClass:a,iconPath:h}=g;if(a)return a;if(!h)return;if(_.ThemeIcon.isThemeIcon(h))return(0,o.getExternalIcon)(h.id);const d=(0,m.iconPath2URI)(h,this.themeService.getCurrentThemeSync().type),u=d&&this.staticResourceService.resolveStaticResource(d).toString();return h&&this.iconService.fromIcon("",u,v.IconType.Background)}};t.QuickOpenItemService=p,n.__decorate([(0,r.Autowired)(v.IThemeService),n.__metadata("design:type",Object)],p.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.StaticResourceService)],p.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],p.prototype,"iconService",void 0),t.QuickOpenItemService=p=n.__decorate([(0,r.Injectable)()],p)},90404:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandQuickOpenItem=t.QuickCommandHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(18193),_=e(93899),v=e(74404),m=e(43718),p=e(77714),s=e(51500);let g=class{constructor(){this.prefix=">",this.description=(0,o.localize)("quickopen.command.description"),this.initDeferred=new m.Deferred,this.initRecentlyUsedCommands()}async init(){await this.initDeferred.promise,this.items=this.getItems()}async initRecentlyUsedCommands(){const u=(await this.workspaceService.getMostRecentlyUsedCommands()).map(E=>this.commandRegistry.getCommand(E)).filter(E=>!!E).reverse();this.commandRegistry.setRecentCommands(u),this.initDeferred.resolve()}getModel(){return{onType:(d,u)=>{u(this.items),this.reporterService.point(m.REPORT_NAME.QUICK_OPEN_MEASURE,"command",{lookFor:d})}}}getOptions(){return{placeholder:(0,o.localize)("quickopen.command.placeholder"),fuzzyMatchLabel:{enableSeparateSubstringMatching:!0},fuzzyMatchDetail:{enableSeparateSubstringMatching:!0},fuzzySort:!1,getPlaceholderItem:()=>new v.QuickOpenItem({label:(0,o.localize)("quickopen.commands.notfound"),run:()=>!1})}}getItems(){const d=[],{recent:u,other:E}=this.getCommands();return d.push(...u.map((f,c)=>this.injector.get(a,[f,{groupLabel:c===0?(0,o.localize)("quickopen.recent-commands"):"",showBorder:!1}])),...E.map((f,c)=>this.injector.get(a,[f,{groupLabel:u.length<=0?"":c===0?(0,o.localize)("quickopen.other-commands"):"",showBorder:u.length<=0?!1:c===0}]))),d}getCommands(){const d=this.menuService.createMenu(_.MenuId.CommandPalette,this.contextKeyService),u=this.getValidCommands(this.commandRegistry.getRecentCommands()),E=this.corePreferences["workbench.commandPalette.history"],f=u.slice(0,E),c=new Set(f.map(S=>S.id)),y=new Set,b=[],A=[];for(const[,S]of d.getMenuNodes())for(const D of S){if(!(D instanceof _.MenuItemNode)||D.disabled||y.has(D.id)||(y.add(D.id),c.has(D.id)))continue;b.push(D);const I=this.commandRegistry.getCommand(D.id);I&&A.push({...I,label:D.label})}for(let S=f.length-1;S>=0;S--){const D=f[S];y.has(D.id)||f.splice(S,1)}return d.dispose(),{recent:f,other:A.sort((S,D)=>m.Command.compareCommands(S,D))}}getValidCommands(d){return d.filter(u=>u.label&&this.commandRegistry.isVisible(u.id)&&this.commandRegistry.isEnabled(u.id))}};t.QuickCommandHandler=g,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],g.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],g.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],g.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(_.AbstractMenuService),n.__metadata("design:type",_.AbstractMenuService)],g.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],g.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(m.IReporterService),n.__metadata("design:type",Object)],g.prototype,"reporterService",void 0),t.QuickCommandHandler=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g);let a=class extends v.QuickOpenItem{constructor(d,u){super(u),this.command=d,this.commandOptions=u}getLabel(){return this.command.category?`${(0,p.uppercaseFirstLetter)(this.command.category)}: `+this.command.label:this.command.label}isHidden(){return super.isHidden()}getDetail(){var d,u;if(!this.command.labelLocalized)return;let E;const{alias:f,localized:c}=this.command.labelLocalized;if(f!==c){const y=(u=(d=this.command.categoryLocalized)===null||d===void 0?void 0:d.alias)!==null&&u!==void 0?u:this.command.category;y?E=`${(0,p.uppercaseFirstLetter)(y)}: ${f}`:E=f}return E}getKeybinding(){const d=this.keybindings.getKeybindingsForCommand(this.command.id);return d?d[0]:void 0}run(d){return d!==v.Mode.OPEN?!1:(setTimeout(()=>{this.commandService.executeCommand(this.command.id),this.commandRegistry.setRecentCommands([this.command]),this.workspaceService.setMostRecentlyUsedCommand(this.command.id)},50),!0)}};t.CommandQuickOpenItem=a,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],a.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],a.prototype,"keybindings",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),t.CommandQuickOpenItem=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],a)},65028:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenFeatureContribution=t.CoreQuickOpenContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(74404),v=e(80490),m=e(90404),p=e(77116);let s=class{onStart(){for(const h of this.quickOpenContributionProvider.getContributions())h.registerQuickOpenHandlers(this.quickOpenHandlerRegistry)}};t.CoreQuickOpenContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.QuickOpenHandlerRegistry)],s.prototype,"quickOpenHandlerRegistry",void 0),n.__decorate([(0,r.Autowired)(v.QuickOpenContribution),n.__metadata("design:type",Object)],s.prototype,"quickOpenContributionProvider",void 0),t.CoreQuickOpenContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],s);let g=class{registerCommands(h){h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN,{execute:()=>this.prefixQuickOpenService.open(">")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_OUTLINE,{execute:()=>this.prefixQuickOpenService.open("@")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_VIEW,{execute:()=>this.prefixQuickOpenService.open("view ")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_WITH_COMMAND,{execute:d=>this.prefixQuickOpenService.open(">",d)})}registerKeybindings(h){h.registerKeybinding({command:o.QUICK_OPEN_COMMANDS.OPEN.id,keybinding:"ctrlcmd+shift+p"})}registerMenus(h){h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.QUICK_OPEN_COMMANDS.OPEN.id,label:(0,o.localize)("menu-bar.view.quick.command")},group:"0_primary"}),h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.LAYOUT_COMMANDS.OPEN_VIEW.id,label:o.LAYOUT_COMMANDS.OPEN_VIEW.label},group:"0_primary"})}registerQuickOpenHandlers(h){h.registerHandler(this.quickCommandHandler,{title:(0,o.localize)("quickopen.tab.command"),commandId:o.QUICK_OPEN_COMMANDS.OPEN.id,order:4}),h.registerHandler(this.helpQuickOpenHandler)}};t.QuickOpenFeatureContribution=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(_.PrefixQuickOpenService),n.__metadata("design:type",Object)],g.prototype,"prefixQuickOpenService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.QuickCommandHandler)],g.prototype,"quickCommandHandler",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.HelpQuickOpenHandler)],g.prototype,"helpQuickOpenHandler",void 0),t.QuickOpenFeatureContribution=g=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,l.MenuContribution,v.QuickOpenContribution)],g)},77116:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HelpQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(80490);let v=class{constructor(){this.prefix="?",this.description=""}init(){this.items=this.handlers.getHandlers().filter(p=>p.prefix!==this.prefix).sort((p,s)=>this.comparePrefix(p.prefix,s.prefix)).map(p=>new l.QuickOpenItem({label:p.prefix,description:p.description,run:s=>(s!==l.Mode.OPEN||this.quickOpenService.open(p.prefix),!1)}))}getModel(){return{onType:(p,s)=>{s(this.items)}}}getOptions(){return{}}comparePrefix(p,s){return p.toLowerCase().localeCompare(s.toLowerCase())}};t.HelpQuickOpenHandler=v,n.__decorate([(0,r.Autowired)(_.QuickOpenHandlerRegistry),n.__metadata("design:type",_.QuickOpenHandlerRegistry)],v.prototype,"handlers",void 0),n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],v.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),t.HelpQuickOpenHandler=v=n.__decorate([(0,r.Injectable)()],v)},43131:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KaitianQuickOpenControllerOpts=t.MonacoQuickOpenService=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(25873)),l=e(76003),_=e(41869),v=e(63373),m=e(68969),p=e(74404),s=e(70238),g=e(52596),a=e(65694),h=e(6399),d=e(98462);let u=class{constructor(){this.preLookFor=""}get inQuickOpenContextKey(){return this.contextKeyService.createKey("inQuickOpen",!1)}appendQuickOpenContainer(){const c=document.querySelector("#ide-overlay");if(!c)throw new Error("ide-overlay is requried");const y=document.createElement("div");y.classList.add("quick-open-overlay"),c.appendChild(y);const b=this.container=document.createElement("quick-open-container");b.style.position="fixed",b.style.top="0px",b.style.right="50%",b.style.zIndex="1000000",y.appendChild(b)}open(c,y){this.previousActiveElement=document.activeElement;const b=new E(c,this.keybindingRegistry,y);this.progressDispose=this.progressService.registerProgressIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS),this.hideDecoration(),this.internalOpen(b)}hide(c){this.widget.hide(c),this.progressDispose.dispose()}internalOpen(c){var y;this.opts=c,this.widget.show(this.opts.prefix||"",{placeholder:c.inputAriaLabel,password:c.password,inputEnable:(y=c.enabled)!==null&&y!==void 0?y:!0,valueSelection:c.valueSelection,canSelectMany:c.canSelectMany,keepScrollPosition:c.keepScrollPosition,busy:c.busy,renderTab:c.renderTab,toggleTab:c.toggleTab}),this.inQuickOpenContextKey.set(!0)}updateOptions(c){this.opts.updateOptions(c),this.widget.updateOptions(c)}refresh(){this.onType(this.widget.inputValue.get())}get widget(){return this._widget?this._widget:(this.appendQuickOpenContainer(),this._widget=this.injector.get(d.QuickOpenWidget,[{onOk:()=>{this.previousActiveElement=void 0,this.onClose(!1)},onCancel:()=>{this.previousActiveElement instanceof HTMLElement&&this.previousActiveElement.focus(),this.previousActiveElement=void 0,this.onClose(!0)},onType:c=>this.onType(c||""),onFocusLost:()=>this.opts&&this.opts.ignoreFocusOut!==void 0?(this.opts.ignoreFocusOut===!1&&this.onClose(!0),this.opts.ignoreFocusOut):!1,onHide:()=>{this.inQuickOpenContextKey.set(!1)},onSelect:(c,y)=>{this.opts.onSelect&&this.opts.onSelect(c,y)},onConfirm:c=>{this.opts.onConfirm&&this.opts.onConfirm(c)},onKeyMods:c=>{this.opts.onKeyMods&&this.opts.onKeyMods(c)}}]),this.initWidgetView(this._widget),this._widget)}initWidgetView(c){o.default.createRoot(this.container).render(r.default.createElement(_.ConfigProvider,{value:this.appConfig},r.default.createElement(a.QuickOpenContext.Provider,{value:{widget:c}},r.default.createElement(h.QuickOpenView,null))))}onClose(c){var y,b;(b=(y=this.opts).onClose)===null||b===void 0||b.call(y,c)}async onType(c){const y=this.opts;this.widget&&y.onType&&y.onType(c,b=>(this.preLookFor!==c&&this.opts.onChangeValue(c),this.preLookFor=c,this.widget.setInput(b,y.getAutoFocus(c),y.inputAriaLabel)))}onFocusLost(){return!!this.opts.ignoreFocusOut}showDecoration(c){this.widget.validateType.set(c,void 0)}hideDecoration(){this.widget.validateType.set(void 0,void 0)}};t.MonacoQuickOpenService=u,n.__decorate([(0,l.Autowired)(_.KeybindingRegistry),n.__metadata("design:type",Object)],u.prototype,"keybindingRegistry",void 0),n.__decorate([(0,l.Autowired)(s.MonacoContextKeyService),n.__metadata("design:type",s.MonacoContextKeyService)],u.prototype,"monacoContextKeyService",void 0),n.__decorate([(0,l.Autowired)(_.IContextKeyService),n.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),n.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),n.__metadata("design:type",l.Injector)],u.prototype,"injector",void 0),n.__decorate([(0,l.Autowired)(_.AppConfig),n.__metadata("design:type",Object)],u.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(m.IProgressService),n.__metadata("design:type",Object)],u.prototype,"progressService",void 0),t.MonacoQuickOpenService=u=n.__decorate([(0,l.Injectable)()],u);class E{constructor(c,y,b){this.model=c,this.keybindingRegistry=y,this.model=c,this.options=p.QuickOpenOptions.resolve(b)}get prefix(){return this.options.prefix}get inputAriaLabel(){return this.options.placeholder||""}get ignoreFocusOut(){return this.options.ignoreFocusOut}get password(){return this.options.password}get enabled(){return this.options.enabled}get valueSelection(){return this.options.valueSelection}get keepScrollPosition(){return this.options.keepScrollPosition}get busy(){return this.options.busy}get renderTab(){return this.options.renderTab}get toggleTab(){return this.options.toggleTab}get canSelectMany(){return this.options.canPickMany}onClose(c){this.options.onClose(c)}onSelect(c,y){this.options.onSelect(c,y)}onConfirm(c){this.options.onConfirm(c)}onType(c,y){this.model.onType(c,(b,A)=>{const S=this.toOpenModel(c,b,A);y(S)})}onKeyMods(c){this.options.onKeyMods&&this.options.onKeyMods(c)}onChangeValue(c){this.options.onChangeValue&&this.options.onChangeValue(c)}updateOptions(c){this.options=p.QuickOpenOptions.resolve(c,this.options)}compareEntries(c,y,b){const A=c.getHighlights()[0]||[],S=y.getHighlights()[0]||[];if(A.length&&!S.length)return-1;if(!A.length&&S.length)return 1;const D=c.getLabel(),I=y.getLabel();return(0,_.compareAnything)(D,I,b)}toOpenModel(c,y,b){const A=c;this.options.skipPrefix&&(c=c.substring(this.options.skipPrefix).trim()),b&&b.getValidateInput&&(c=b.getValidateInput(c));const S=y.filter(I=>!!this.fuzzyQuickOpenItem(I,c));this.options.fuzzySort&&S.sort((I,w)=>this.compareEntries(I,w,c));const{getPlaceholderItem:D}=this.options;return!S.length&&D&&S.push(D(c,A)),{items:S,actionProvider:b}}fuzzyQuickOpenItem(c,y){const{fuzzyMatchLabel:b,fuzzyMatchDescription:A,fuzzyMatchDetail:S}=this.options,D=b?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getLabel()||""),typeof b=="object"&&b.enableSeparateSubstringMatching):c.getLabelHighlights(),I=this.options.fuzzyMatchDescription?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDescription()||""),typeof A=="object"&&A.enableSeparateSubstringMatching):c.getDescriptionHighlights(),w=this.options.fuzzyMatchDetail?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDetail()||""),typeof S=="object"&&S.enableSeparateSubstringMatching):c.getDetailHighlights();if(!(y&&!D&&!I&&(!w||w.length===0)&&!this.options.showItemsWithoutHighlight))return c.setHighlights(D||[],I||[],w||[]),c}getAutoFocus(c){if(this.options.selectIndex){const y=this.options.selectIndex(c);if(y>=0)return{autoFocusIndex:y}}return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:c}}}t.KaitianQuickOpenControllerOpts=E},65694:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenContext=void 0;const r=e(85608).__importDefault(e(14041));t.QuickOpenContext=r.default.createContext({widget:null})},6399:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenView=t.QuickOpenProgress=t.QuickOpenList=t.QuickOpenInput=t.QuickOpenHeader=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(63373),m=e(68969),p=e(68974),s=e(74404),g=e(89647),a=e(28423),h=e(85139),d=e(70716),u=e(52644),E=e(78245),f=e(65694),c=e(50426),y=n.__importDefault(e(91449)),b=({button:R,...M})=>o.default.createElement(l.Button,{...M,key:R.tooltip,type:"icon",iconClass:R.iconClass,title:R.tooltip}),A=()=>{const R=(0,_.useInjectable)(c.QuickTitleBar),M=(0,_.useAutorun)(R.title),O=(0,_.useAutorun)(R.isAttached),x=(0,_.useAutorun)(R.step),k=(0,_.useAutorun)(R.totalSteps),F=(0,_.useAutorun)(R.leftButtons),L=(0,_.useAutorun)(R.rightButtons),N=o.default.useMemo(()=>{const j=()=>x&&k?`${x}/${k}`:x?String(x):"";return M&&x?`${M} (${j()})`:M||(x?j():"")},[M,x,k]),U=o.default.useCallback((j,Q)=>{j.stopPropagation(),R.fireDidTriggerButton(Q)},[R.fireDidTriggerButton]),W=o.default.useMemo(()=>F.length>0||N||L.length>0?o.default.createElement("div",{className:y.default.title_bar},o.default.createElement("div",{className:y.default.title_bar_button},F.map(j=>o.default.createElement(b,{onMouseDown:Q=>U(Q,j),button:j}))),o.default.createElement("div",null,N),o.default.createElement("div",{className:y.default.title_bar_button},L.map(j=>o.default.createElement(b,{onMouseDown:Q=>U(Q,j),button:j})))):null,[F,N,L]);return O?W:null};t.QuickOpenHeader=A;const S=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),M=(0,_.useAutorun)(R.valueSelection),O=(0,_.useAutorun)(R.items),x=(0,_.useAutorun)(R.selectAll),k=(0,_.useAutorun)(R.validateType),F=(0,_.useAutorun)(R.inputPlaceholder),L=(0,_.useAutorun)(R.inputEnable),N=(0,_.useAutorun)(R.inputValue),U=(0,_.useAutorun)(R.isPassword),W=(0,_.useAutorun)(R.canSelectMany),j=o.default.useRef(null),Q=o.default.useCallback(H=>{const K=H.target.value;R.setInputValue(K),R.callbacks.onType(K)},[R]),$=o.default.useMemo(()=>U?"password":"text",[U]);o.default.useEffect(()=>{setTimeout(()=>{var H;(H=j.current)===null||H===void 0||H.focus()},0)},[O]),o.default.useEffect(()=>{var H;if(N&&M){const[K,Y]=M;(H=j.current)===null||H===void 0||H.setSelectionRange(K,Y)}},[M]);const Z=o.default.useMemo(()=>{if(!(0,_.isUndefined)(k))return{type:k,message:""}},[k]),G=o.default.useCallback(H=>{const K=H.target.checked;for(const Y of O)(0,a.transaction)(X=>{Y.checked.set(K,X)})},[O]),V=o.default.useCallback(()=>{R.callbacks.onConfirm(O.filter(H=>H.checked.get())),R.hide(s.HideReason.ELEMENT_SELECTED)},[O]);return o.default.createElement("div",{tabIndex:0,className:y.default.input},W&&o.default.createElement(l.CheckBox,{checked:x,wrapTabIndex:0,onChange:G}),o.default.createElement(l.ValidateInput,{validateMessage:Z,ref:j,type:$,"aria-label":F,placeholder:F,value:N,readOnly:!L,onChange:Q,id:v.VIEW_CONTAINERS.QUICKPICK_INPUT}),W&&o.default.createElement(l.Button,{className:y.default.input_button,onClick:V},(0,_.localize)("ButtonOK")))};t.QuickOpenInput=S;const D=({data:R,index:M})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),x=(0,_.useAutorun)(O.actionProvider),k=(0,_.useAutorun)(O.selectIndex),F=(0,_.useAutorun)(O.canSelectMany),L=(0,_.useAutorun)(R.checked),N=(0,_.useInjectable)(E.QuickOpenItemService),U=o.default.useMemo(()=>R.getLabel(),[R]),W=o.default.useMemo(()=>R.getDescription(),[R]),j=o.default.useMemo(()=>R.getDetail(),[R]),Q=o.default.useMemo(()=>R.getIconClass(),[R]),$=o.default.useMemo(()=>R.getKeybinding(),[R]),Z=o.default.useMemo(()=>R.getGroupLabel(),[R]),G=o.default.useMemo(()=>R.showBorder(),[R]),V=o.default.useMemo(()=>R.getIconPath(),[R]),H=o.default.useMemo(()=>N.getIconClass({iconPath:V,iconClass:Q}),[Q,V]),K=o.default.useMemo(()=>N.getButtons(R.getButtons()),[R]),[Y,X,re]=o.default.useMemo(()=>R.getHighlights(),[R]),[oe,he]=o.default.useState(!1),me=o.default.useMemo(()=>{if(x&&x.hasActions(R))return x.getActions(R)},[x,R]),q=o.default.useCallback(te=>{F?((0,a.transaction)(fe=>{R.checked.set(!L,fe)}),te.stopPropagation()):(te.button===1?R.run(s.QuickOpenMode.OPEN_IN_BACKGROUND):R.run(s.QuickOpenMode.OPEN))&&O.hide(s.HideReason.ELEMENT_SELECTED)},[R,F]),Ae=o.default.useCallback(te=>{te.run(R),O.hide(s.HideReason.ELEMENT_SELECTED)},[R]),ge=o.default.useCallback((te,fe)=>{te.stopPropagation(),N.fireDidTriggerItemButton(M,fe)},[R]);return o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_ITEM,tabIndex:0,className:(0,r.default)({[y.default.item_selected]:k===M,[y.default.item_border]:G},y.default.item),onMouseEnter:()=>he(!0),onMouseLeave:()=>he(!1),"aria-label":U},F&&o.default.createElement(l.CheckBox,{wrapTabIndex:0,checked:L,onChange:te=>{(0,a.transaction)(fe=>{R.checked.set(te.target.checked,fe)})}}),o.default.createElement("div",{tabIndex:0,className:y.default.item_label_container,onMouseDown:q},o.default.createElement("div",{className:y.default.item_label},H&&o.default.createElement("span",{className:(0,r.default)(y.default.item_icon,H)}),o.default.createElement(d.HighlightLabel,{className:y.default.item_label_name,labelClassName:y.default.label_icon_container,labelIconClassName:y.default.item_label_name_icon,hightLightClassName:(0,r.default)(y.default.item_label_highlight),text:U,highlights:Y}),W&&o.default.createElement(d.HighlightLabel,{className:y.default.item_label_description,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_description_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:W,highlights:X})),j&&o.default.createElement(d.HighlightLabel,{OutElementType:"div",className:y.default.item_label_detail,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_detail_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:j,highlights:re})),$&&o.default.createElement(u.KeybindingView,{keybinding:$}),Z&&o.default.createElement("span",{title:Z,className:y.default.item_group_label},Z),me?.map(te=>o.default.createElement("span",{key:te.id,onMouseDown:()=>Ae(te),title:te.tooltip||te.label,className:(0,r.default)(y.default.item_action,te.class)})),(oe||k===M)&&K?.map(te=>o.default.createElement(b,{onMouseDown:fe=>ge(fe,te),button:te})))},I=({onReady:R,onScroll:M})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),x=(0,_.useAutorun)(O.items),k=(0,_.useAutorun)(O.validateType),F=(0,_.useDesignStyles)(y.default.quickopen_list,"quickopen_list"),L=o.default.useCallback(N=>{const U=x[N];return U?.getDetail()?44:22},[x]);return x.length>0?o.default.createElement(l.RecycleList,{onReady:R,onScroll:M,className:(0,r.default)(F,{[y.default.validate_error]:k===l.VALIDATE_TYPE.ERROR,[y.default.validate_warning]:k===l.VALIDATE_TYPE.WARNING}),data:x,template:D,getSize:L,maxHeight:x.length?O.MAX_HEIGHT:0,hiddenHorizontalScrollbar:!0}):null};t.QuickOpenList=I;const w=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),M=(0,_.useAutorun)(R.busy),x=(0,_.useInjectable)(m.IProgressService).getIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS);return x?(o.default.useEffect(()=>{R.updateProgressStatus(!!M)},[M]),o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_PROGRESS,className:y.default.progress_bar},o.default.createElement(p.ProgressBar,{progressModel:x.progressModel}))):null};t.QuickOpenProgress=w;const T=()=>{var R;const{widget:M}=o.default.useContext(f.QuickOpenContext),O=(0,_.useAutorun)(M.items),x=(0,_.useAutorun)(M.autoFocus),k=(0,_.useAutorun)(M.selectIndex),F=(0,_.useAutorun)(M.keepScrollPosition),L=(0,_.useAutorun)(M.isShow),N=o.default.useRef(),U=o.default.useRef(0),W=o.default.useCallback(({relatedTarget:G,currentTarget:V})=>{if(G===null)return!1;let H=G.parentNode;for(;H!==null;){if(H===V)return!0;H=H.parentNode}return!1},[]),j=o.default.useCallback(G=>{W(G)||M.blur()},[M]),Q=o.default.useCallback(G=>{N.current=G},[M]),$=o.default.useCallback(G=>{U.current=G.scrollOffset},[M]);o.default.useEffect(()=>{if(x){if(x.autoFocusPrefixMatch){let G,V;const H=x.autoFocusPrefixMatch,K=H.toLowerCase();for(const X of O){const re=X.getLabel()||"";if(!G&&re.indexOf(H)===0?G=X:!V&&re.toLowerCase().indexOf(K)===0&&(V=X),G&&V)break}const Y=G||V;if(Y){const X=O.indexOf(Y);M.setSelectIndex(X);return}}x.autoFocusFirstEntry?M.setSelectIndex(0):typeof x.autoFocusIndex=="number"?O.length>x.autoFocusIndex&&M.setSelectIndex(x.autoFocusIndex):x.autoFocusSecondEntry?O.length>1&&M.setSelectIndex(1):x.autoFocusLastEntry&&O.length>1&&M.setSelectIndex(O.length-1)}},[O,x]),o.default.useEffect(()=>{var G,V;if(F?(G=N.current)===null||G===void 0||G.scrollTo(U.current):(V=N.current)===null||V===void 0||V.scrollToIndex(k,"smart"),O.length===0)return;const H=O[k];H&&(H.run(s.QuickOpenMode.PREVIEW),M.callbacks.onSelect(H,k))},[O,k,F]);const Z=o.default.useCallback(G=>{if(g.KEY_CODE_MAP[G.nativeEvent.keyCode]===h.KeyCode.KEY_IN_COMPOSITION)return;const{key:V}=_.KeyCode.createKeyCode(G.nativeEvent);if(!V)return;const H=O.length;switch(V.keyCode){case _.Key.ARROW_UP.keyCode:{G.preventDefault(),G.stopPropagation();const K=k-1;M.setSelectIndex((H+K%H)%H);break}case _.Key.ARROW_DOWN.keyCode:{G.preventDefault(),G.stopPropagation();const K=k+1;M.setSelectIndex(K%H);break}case _.Key.ESCAPE.keyCode:{G.preventDefault(),G.stopPropagation(),M.hide(s.HideReason.CANCELED);break}case _.Key.ENTER.keyCode:{G.preventDefault(),G.stopPropagation();const K=O[k];if(!K)return;K.run(s.QuickOpenMode.OPEN)&&M.hide(s.HideReason.ELEMENT_SELECTED);break}case _.Key.TAB.keyCode:{M.toggleTab&&(G.preventDefault(),G.stopPropagation(),M.toggleTab());break}}},[O,M,k]);return L?o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK,tabIndex:0,className:y.default.container,onKeyDown:Z,onBlur:j},o.default.createElement(t.QuickOpenHeader,null),o.default.createElement(t.QuickOpenInput,null),o.default.createElement(t.QuickOpenProgress,null),(R=M.renderTab)===null||R===void 0?void 0:R.call(M),o.default.createElement(t.QuickOpenList,{onReady:Q,onScroll:$})):null};t.QuickOpenView=T},98462:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenWidget=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63373),_=e(68969),v=e(28423);let m=class{constructor(s){this.callbacks=s,this.MAX_HEIGHT=440,this.inputValue=(0,v.observableValue)(this,""),this.validateType=(0,v.observableValue)(this,void 0),this.isShow=(0,v.observableValue)(this,!1),this.items=(0,v.observableValue)(this,[]),this.actionProvider=(0,v.observableValue)(this,null),this.autoFocus=(0,v.observableValue)(this,null),this.selectAll=(0,v.derived)(this,g=>this.items.read(g).every(a=>a.checked.read(g))),this.isPassword=(0,v.observableValue)(this,!1),this.selectIndex=(0,v.observableValue)(this,0),this.keepScrollPosition=(0,v.observableValue)(this,!1),this.busy=(0,v.observableValue)(this,!1),this.valueSelection=(0,v.observableValue)(this,void 0),this.canSelectMany=(0,v.observableValue)(this,!1),this.inputPlaceholder=(0,v.observableValue)(this,""),this.inputEnable=(0,v.observableValue)(this,!1),this.isAlreadyOpen=!1,this.modifierListeners=new o.DisposableCollection}setSelectIndex(s){(0,v.transaction)(g=>{const a=(0,o.isNumber)(s)?s:0;this.selectIndex.set(a,g)})}setInputValue(s){(0,v.transaction)(g=>{this.inputValue.set(s,g)})}show(s,g){(0,v.transaction)(a=>{this.isShow.get()?this.isAlreadyOpen||(this.isAlreadyOpen=!0,this.callbacks.onType(s)):this.callbacks.onType(s),this.isShow.set(!0,a),this.inputValue.set(s,a),this.inputPlaceholder.set(g.placeholder,a),this.isPassword.set(!!g.password,a),this.inputEnable.set(g.inputEnable,a),this.valueSelection.set(g.valueSelection,a),this.canSelectMany.set(g.canSelectMany,a),this.keepScrollPosition.set(!!g.keepScrollPosition,a),this.busy.set(!!g.busy,a),this.renderTab=g.renderTab,this.toggleTab=g.toggleTab,this.registerKeyModsListeners()})}hide(s){this.isAlreadyOpen=!1,this.modifierListeners.disposed||this.modifierListeners.dispose(),this.isShow.get()&&((0,v.transaction)(g=>{this.isShow.set(!1,g),this.items.set([],g)}),s===o.HideReason.ELEMENT_SELECTED?this.callbacks.onOk():this.callbacks.onCancel(),this.callbacks.onHide(s))}blur(){if(!this.isShow.get())return;this.callbacks.onFocusLost()||this.hide(o.HideReason.FOCUS_LOST)}setInput(s,g,a){(0,v.transaction)(h=>{this.items.set(s.items,h),this.actionProvider.set(s.actionProvider||null,h),this.autoFocus.set(g,h)})}updateOptions(s){(0,v.transaction)(g=>{const a={placeholder:h=>this.inputPlaceholder.set(h,g),password:h=>this.isPassword.set(!!h,g),inputEnable:h=>this.inputEnable.set(!!h,g),valueSelection:h=>this.valueSelection.set(h,g),canSelectMany:h=>this.canSelectMany.set(!!h,g),keepScrollPosition:h=>this.keepScrollPosition.set(!!h,g),busy:h=>this.busy.set(!!h,g),enabled:h=>this.inputEnable.set(!!h,g)};Object.entries(s).forEach(([h,d])=>{h in a&&a[h](d)})})}updateProgressStatus(s){s===!0?this.progressService.withProgress({location:l.VIEW_CONTAINERS.QUICKPICK_PROGRESS},()=>new Promise(g=>this.progressResolve=g)):this.progressResolve&&(this.progressResolve(),this.progressResolve=void 0)}registerKeyModsListeners(){const s=g=>{const a={ctrlCmd:g.ctrlKey||g.metaKey,alt:g.altKey};this.callbacks.onKeyMods(a)};this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_DOWN,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_UP,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.MOUSE_DOWN,s,!0))}};t.QuickOpenWidget=m,n.__decorate([(0,r.Autowired)(_.IProgressService),n.__metadata("design:type",Object)],m.prototype,"progressService",void 0),t.QuickOpenWidget=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},13978:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickPickServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(43718),v=e(50426);let m=class{constructor(){this.isAlwaysOpen=!1,this.onDidAcceptEmitter=new _.Emitter,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActiveItemsEmitter=new _.Emitter,this.onDidChangeActiveItems=this.onDidChangeActiveItemsEmitter.event}async show(s,g){return this.isAlwaysOpen=!!g?.alwaysOpen,new Promise(a=>{const h=this.toItems(s,a);g&&this.quickTitleBar.shouldShowTitleBar(g.title,g.step,g.buttons)&&this.quickTitleBar.attachTitleBar(g.title,g.step,g.totalSteps,g.buttons);const d=g&&g.value?g.value:"";this.quickOpenService.open({onType:(u,E)=>{E(h),this.onDidChangeActiveItemsEmitter.fire(h)}},Object.assign({onClose:()=>{this.quickTitleBar.hide(),a(void 0)},onConfirm:u=>{this.quickTitleBar.hide(),a(u.map(E=>E.getValue()))},fuzzyMatchLabel:!0,fuzzyMatchDescription:!0,prefix:d},g))})}updateOptions(s){this.quickOpenService.updateOptions(s)}hide(s){this.quickOpenService.hide(s)}toItems(s,g){const a=[];for(const h of s){const d=this.toItemOptions(h,g);a.push(new l.QuickOpenItem(d))}return a}toItemOptions(s,g){let a=typeof s=="string"?s:s.label,h=typeof s=="string"?void 0:s.iconClass;const d=typeof s=="string"?s:s.value,u=typeof s=="string"?void 0:s.description,E=typeof s=="string"?void 0:s.detail,f=typeof s=="string"?void 0:s.groupLabel,c=typeof s=="string"?void 0:s.showBorder,y=typeof s=="string"?void 0:s.buttons,b=typeof s=="string"?void 0:s.iconPath,[A,S]=(0,o.getIconClass)(a);return A&&(h=(0,o.getIcon)(A)||(0,o.getExternalIcon)(A),a=` ${S}`),{label:a,description:u,detail:E,iconClass:h,groupLabel:f,showBorder:c,buttons:y,iconPath:b,run:D=>D!==l.Mode.OPEN?!1:(g(d),this.fireOnDidAccept(),!this.isAlwaysOpen),value:d}}fireOnDidAccept(){this.onDidAcceptEmitter.fire(void 0)}};t.QuickPickServiceImpl=m,n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),t.QuickPickServiceImpl=m=n.__decorate([(0,r.Injectable)()],m)},50426:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickTitleBar=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),_=e(40827),v=e(43718),m=e(28423),p=e(52416);e(50279);const s=e(89802);let g=class{constructor(){this.onDidTriggerButtonEmitter=new v.Emitter,this.isAttached=(0,m.observableValue)(this,!1),this.title=(0,m.observableValue)(this,void 0),this.step=(0,m.observableValue)(this,void 0),this.totalSteps=(0,m.observableValue)(this,void 0),this.buttons=(0,m.observableValue)(this,[]),this.leftButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(d=>d.side===l.QuickTitleButtonSide.LEFT)),this.rightButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(d=>d.side===l.QuickTitleButtonSide.RIGHT||typeof d.side>"u"))}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}fireDidTriggerButton(h){this.onDidTriggerButtonEmitter.fire(h)}attachTitleBar(h,d,u,E){(0,m.transaction)(f=>{this.title.set(h,f),this.step.set(d,f),this.totalSteps.set(u,f),E&&this.buttons.set(E.map((c,y)=>{if(v.ThemeIcon.isThemeIcon(c.iconPath))return{...c,iconClass:(0,o.getExternalIcon)(c.iconPath.id),handle:y};const b=(0,s.iconPath2URI)(c.iconPath,this.themeService.getCurrentThemeSync().type),A=b&&this.staticResourceService.resolveStaticResource(b).toString(),S=A&&this.iconService.fromIcon("",A,p.IconType.Background);return{...c,iconClass:S,handler:y}}),f),this.isAttached.set(!0,f)})}hide(){(0,m.transaction)(h=>{this.title.set(void 0,h),this.buttons.set([],h),this.step.set(void 0,h),this.totalSteps.set(void 0,h),this.isAttached.set(!1,h)})}shouldShowTitleBar(h,d,u){return!(0,v.isUndefined)(h)||!(0,v.isUndefined)(d)||!(0,v.isUndefined)(u)&&!!u.length}};t.QuickTitleBar=g,n.__decorate([(0,r.Autowired)(p.IThemeService),n.__metadata("design:type",Object)],g.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.StaticResourceService)],g.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(p.IIconService),n.__metadata("design:type",Object)],g.prototype,"iconService",void 0),t.QuickTitleBar=g=n.__decorate([(0,r.Injectable)()],g)},44854:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputBoxImpl=void 0;const n=e(85608),r=e(76003),o=e(81878),l=e(74404),_=e(43718),v=e(50426);let m=class{constructor(s){this._options=s,this.onDidAcceptEmitter=new _.Emitter,this.onDidChangeValueEmitter=new _.Emitter,this.onDidTriggerButtonEmitter=new _.Emitter,this.onDidHideEmitter=new _.Emitter}shouldUpdate(s,g){return g.value!==s.value||g.prompt!==s.prompt||g.placeHolder!==s.placeHolder||g.password!==s.password||g.ignoreFocusOut!==s.ignoreFocusOut||g.enabled!==s.enabled||g.valueSelection!==s.valueSelection||g.title!==s.title||g.step!==s.step||g.totalSteps!==s.totalSteps||g.buttons!==s.buttons||g.validationMessage!==s.validationMessage||g.validationType!==s.validationType||g.busy!==s.busy}updateOptions(s,g=!1){if(!s)return;const a=Object.assign({},this._options);this._options={...this._options,...s},!g&&this.shouldUpdate(s,a)&&(this.quickOpenService.updateOptions(s),this.refresh())}refresh(){this.quickOpenService.refresh()}get options(){return this._options}set options(s){this._options=s}open(){let s="",g=!1;this.quickTitleBar.onDidTriggerButton(a=>{this.onDidTriggerButtonEmitter.fire(a.handler)}),this.quickOpenService.open({onType:async(a,h)=>{var d;if(s!==a){if(s=a,this.getDerivedOptionsFromValue){const y=await this.getDerivedOptionsFromValue(a);this.updateOptions(y,!0)}this.onDidChangeValueEmitter.fire(a),g=!0}let u=this.options.prompt;const E=(0,_.localize)("quickopen.quickinput.prompt");this.options&&this.quickTitleBar.shouldShowTitleBar(this.options.title,this.options.step,this.options.buttons)&&this.quickTitleBar.attachTitleBar(this.options.title,this.options.step,this.options.totalSteps,this.options.buttons);const f=this.options.validationMessage;f?this.quickOpenService.showDecoration((d=this.options.validationType)!==null&&d!==void 0?d:o.VALIDATE_TYPE.ERROR):this.quickOpenService.hideDecoration(),u=f||u;const c={run:y=>g&&!f&&y===l.Mode.OPEN&&(this.onDidAcceptEmitter.fire(a),this.options.hideOnDidAccept)?(this.quickTitleBar.hide(),!0):!1};u?(c.label=u,c.detail=E):c.label=E,h([new l.QuickOpenItem(c)])}},{prefix:this.options.value,placeholder:this.options.placeHolder,password:this.options.password,ignoreFocusOut:this.options.ignoreFocusOut,enabled:this.options.enabled,valueSelection:this.options.valueSelection,busy:this.options.busy,onClose:a=>{a&&this.onDidHideEmitter.fire(),this.quickTitleBar.hide()}})}dispose(){this.onDidAcceptEmitter.dispose(),this.onDidChangeValueEmitter.dispose(),this.onDidHideEmitter.dispose(),this.onDidTriggerButtonEmitter.dispose()}hide(){this.quickOpenService.hideDecoration(),this.quickOpenService.hide()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}get onDidHide(){return this.onDidHideEmitter.event}};t.InputBoxImpl=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),t.InputBoxImpl=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},89802:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.iconPath2URI=r;const n=e(43718);function r(o,l){if(n.URI.isUri(o))return"codeUri"in o?o:new n.URI(o.toString());if((o?.dark||o?.light)&&l)return l==="dark"?new n.URI(o.dark.toString()):new n.URI(o.light.toString())}},74435:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(74404),t),n.__exportStar(e(11143),t)},97821:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(74435),t)},57492:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMProviderList=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(93899),m=e(40293),p=e(92237),s=e(36367),g=n.__importDefault(e(38201)),a=({repository:d,selected:u,...E})=>{const{provider:f}=d,{title:c,type:y}=(0,s.getSCMRepositoryDesc)(d),b=(0,_.useInjectable)(m.IStatusBarService),A=(f.statusBarCommands||[]).map((S,D)=>b.getElementConfig(`scm.repo.${D}`,{text:S.title,command:S.id,arguments:S.arguments,tooltip:S.tooltip,iconset:"octicon"}));return o.default.createElement("div",{className:(0,r.default)(g.default.provider,{[g.default.selected]:u}),...E},o.default.createElement("div",{className:g.default.info},o.default.createElement("div",{className:g.default.title},c,"\xA0"),o.default.createElement("div",{className:g.default.type},y,"\xA0"),f.count&&f.count>0?o.default.createElement(l.Badge,null,f.count):null),o.default.createElement("div",{className:g.default.toolbar},A.map(S=>o.default.createElement(p.StatusBarItem,{key:S.id,entryId:S.id,className:g.default.status,...S}))))},h=({repositoryList:d,selectedRepository:u})=>{if(!u)return null;const E=(0,_.useInjectable)(v.ICtxMenuRenderer),f=(0,_.useInjectable)(v.AbstractContextMenuService),c=(0,o.useCallback)(b=>{b.setSelected(!0),b.focus()},[]),y=(0,o.useCallback)((b,A)=>{A.preventDefault(),A.stopPropagation();const{x:S,y:D}=A.nativeEvent,I=f.createMenu({id:v.MenuId.SCMSourceControl}),w=I.getMergedMenuNodes();I.dispose(),E.show({anchor:{x:S,y:D},menuNodes:w,args:[b.provider.toJSON()]})},[]);return o.default.createElement("div",{className:g.default.scmSelect},d.map(b=>o.default.createElement(a,{key:b.provider.id,selected:b.provider.id===u.provider.id,onClick:c.bind(null,b),onContextMenu:y.bind(null,b),repository:b})))};t.SCMProviderList=h,t.SCMProviderList.displayName="SCMProviderList"},37751:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceInput=void 0,t.convertValidationType=a;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),_=e(40525),v=e(43718),m=e(5567),p=e(52416),s=e(64964),g=n.__importDefault(e(87906));function a(u){return["info","warning","error"][u]}function h(u){return o.strings.format(u.input.placeholder,o.isMacintosh?"\u2318Enter":"Ctrl+Enter")}const d=({repository:u,menus:E})=>{const f=(0,o.useInjectable)(v.CommandService),c=(0,o.useInjectable)(p.IIconService),y=(0,o.useDesignStyles)(g.default.scmMenu,"scmMenu"),[b,A]=(0,r.useState)(""),[S,D]=(0,r.useState)(""),[I,w]=(0,r.useState)(!0),[T,R]=(0,r.useState)({}),M=(0,r.useCallback)(N=>{u.input.value=N},[u]),O=(0,r.useCallback)(N=>{const{addonAfter:U,addonBefore:W}=N,j=U,Q=W;R({...N,...U?{addonAfter:(0,v.isFunction)(j)?r.default.createElement(j,null):U}:{},...W?{addonBefore:(0,v.isFunction)(Q)?r.default.createElement(Q,null):W}:{}})},[u.input.props]);(0,r.useEffect)(()=>{u.input.props&&O(u.input.props)},[u.input.props]),(0,r.useEffect)(()=>{const N=new o.DisposableStore;return N.add(u.input.onDidChangeProps(U=>{O(U)})),N.add(u.input.onDidChange(U=>{A(U)})),N.add(u.input.onDidChangePlaceholder(()=>{D(h(u))})),N.add(u.input.onDidChangeEnablement(U=>{w(U)})),D(h(u)),()=>{N.dispose()}},[u]);const x=(0,r.useCallback)(()=>{if(!u||!u.provider.acceptInputCommand)return;const{id:N,arguments:U=[]}=u.provider.acceptInputCommand;N&&f.executeCommand(N,...U)},[u]),{onKeyDown:k,onKeyUp:F}=(0,_.useHotKey)([o.isMacintosh?"command":"ctrl","enter"],x),L=u&&u.provider&&E;return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:g.default.scmHeader},r.default.createElement(m.AutoFocusedInput,{containerId:s.scmContainerId,className:g.default.scmInput,placeholder:S,value:b,disabled:!I,onKeyDown:N=>k(N.keyCode),onKeyUp:F,onValueChange:M,...T})),L&&r.default.createElement(l.InlineMenuBar,{className:y,context:[u.provider,b],type:"button",moreIcon:"down",iconService:c,regroup:(N,U)=>[[N[0]].filter(Boolean),[...N.slice(1),...U]],menus:E}))};t.SCMResourceInput=d,t.SCMResourceInput.displayName="SCMResourceInput"},24748:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceTree=t.TREE_FIELD_NAME=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(48560),m=e(49914),p=n.__importDefault(e(91873)),s=e(11579),g=e(74568),a=e(63451);t.TREE_FIELD_NAME="SCM_TREE_TREE_FIELD",t.SCMResourceTree=(0,o.memo)(({height:u})=>{const[E,f]=(0,o.useState)(!1),[c,y]=(0,o.useState)(),b=(0,o.useRef)(!1),A=(0,o.useRef)(null),S=(0,v.useInjectable)(s.SCMTreeModelService),D=(0,v.useInjectable)(m.ViewModelContext),[I,w]=(0,o.useState)(D.alwaysShowActions),T=(0,o.useCallback)(async()=>{S.init(),await S.whenReady,S.treeModel&&await S.treeModel.ensureReady,!b.current&&f(!0)},[E,S]);(0,o.useEffect)(()=>{const N=D.onAlwaysShowActionsChange(U=>{w(U)});return T(),()=>{b.current=!0,N.dispose()}},[]),(0,o.useEffect)(()=>{let N;return E&&(y(S.treeModel),N=S.onDidTreeModelChange(async U=>{U&&await U.ensureReady,y(U)})),()=>{N?.dispose()}},[E]),(0,o.useEffect)(()=>{var N;const U=()=>{S.handleTreeBlur()};return(N=A.current)===null||N===void 0||N.addEventListener("blur",U,!0),()=>{var W;(W=A.current)===null||W===void 0||W.removeEventListener("blur",U,!0),S.handleTreeBlur()}},[A.current]);const R=(0,o.useCallback)(N=>{S.handleTreeHandler({...N,getModel:()=>S.treeModel,hasDirectFocus:()=>A.current===document.activeElement})},[]),M=(0,o.useCallback)(N=>O(N)?!1:N.shiftKey,[]),O=(0,o.useCallback)(N=>{const{metaKey:U,ctrlKey:W}=N;return _.isOSX&&U||W},[]),x=(0,o.useCallback)((N,U,W)=>{if(N.stopPropagation(),!U)return;const j=M(N),Q=O(N);j?S.handleItemRangeClick(U,W):Q?S.handleItemToggleClick(U,W):S.handleItemClick(U,W)},[]),k=(0,o.useCallback)((N,U)=>{N.stopPropagation(),S.toggleDirectory(U)},[]),F=(0,o.useCallback)((N,U,W)=>{N.stopPropagation(),U&&S.handleItemDoubleClick(U,W)},[]),L=(0,o.useCallback)((N,U,W)=>{N.preventDefault(),S.handleContextMenu(N,U,W)},[]);return o.default.createElement("div",{className:(0,r.default)(p.default.scm_tree_container,{"scm-show-actions":I}),tabIndex:-1,ref:A,"data-name":t.TREE_FIELD_NAME},o.default.createElement(d,{isReady:E,model:c,height:u,onTreeReady:R,onItemClick:x,onItemDoubleClick:F,onTwistierClick:k,onContextMenu:L}))}),t.SCMResourceTree.displayName="SCMResourceTree";function h(u,E){return u.isReady===E.isReady&&u.model===E.model&&u.height===E.height}const d=(0,o.memo)(({isReady:u,model:E,height:f,onTreeReady:c,onItemClick:y,onItemDoubleClick:b,onTwistierClick:A,onContextMenu:S})=>{const D=(0,v.useInjectable)(s.SCMTreeModelService),I=(0,_.useAutorun)(D.iconThemeDesc),w=(0,v.useInjectable)(a.SCMTreeService),T=(0,o.useCallback)(R=>o.default.createElement(g.SCMTreeNode,{item:R.item,itemType:R.itemType,decorationService:D.decorationService,labelService:D.labelService,commandService:D.commandService,decorations:D.decorations.getDecorations(R.item),onClick:y,onDoubleClick:b,onTwistierClick:A,onContextMenu:S,defaultLeftPadding:w.isTreeMode?-4:4,leftPadding:w.isTreeMode?8:0,iconTheme:I}),[E,w,D,I]);return u&&E?o.default.createElement(l.RecycleTree,{height:f,itemHeight:g.SCM_TREE_NODE_HEIGHT,onReady:c,model:E,overScanCount:100},T):o.default.createElement("span",{className:p.default.scm_tree_empty_text})},h);d.displayName="SCMResourceTreeView"},38563:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeAPI=void 0,t.collectSCMResourceDesc=s;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(64964),v=e(49914),m=e(36367),{Path:p}=l.path;function s(a,h){a.type==="file"&&h.push(a.resource);for(const d of a.children)s(d,h);return h}let g=class extends l.Disposable{constructor(){super(),this.shouldCompactFolders=!1,this.shouldCompactFolders=this.preferenceService.get("scm.listView.compactFolders",!1),this.addDispose(this.preferenceService.onSpecificPreferenceChange("scm.listView.compactFolders",h=>{this.shouldCompactFolders=h.newValue}))}getSCMResource(h){const d=this.getSCMResourceGroups(),u=h.toString();for(const E of d)for(const f of E.elements)if(f.sourceUri.toString()===u)return f}getSCMResourceGroups(){return this.viewModel.scmList.filter(m.isSCMResourceGroup)}get providerId(){var h;return(h=this.viewModel.selectedRepo)===null||h===void 0?void 0:h.provider.id}init(h=_.SCMViewModelMode.Tree){return this.getSCMResourceGroups().map(u=>({id:this.providerId+"_"+u.id,name:u.id,children:h===_.SCMViewModelMode.Tree?this.pathToTree(u.elements):this.pathToList(u.elements),resource:u,type:"group"}))}pathToList(h){return h.map(d=>{const u=this._getPathDesc(d);return{id:`${this.providerId}_${d.resourceGroup.id}_${u}`,name:u,pathname:u,children:[],resource:d,type:"file"}})}pathToTree(h){const d=[],u=Symbol("result"),E=this._initPlainCounterObject(u,d);return h.forEach(f=>{this._getPathDesc(f).split(p.separator).filter(Boolean).reduce((y,b,A,S)=>{if(!y[b]){y[b]=this._initPlainCounterObject(u,[]);const D=S.slice(0,A+1).join(p.separator),I=A===S.length-1?"file":"folder",w={id:`${this.providerId}_${f.resourceGroup.id}_${D}`,name:b,pathname:D,children:y[b][u],resource:I==="file"?f:{...f,sourceUri:o.URI.from(f.sourceUri).parent.codeUri},type:I};y[u].push(w)}return y[b]},E)}),this.shouldCompactFolders&&this.walkTreeToFold(d),d}_initPlainCounterObject(h,d){const u=Object.create(null);return u[h]=d,u}walkTreeToFold(h){const d=[...h];for(;d.length;){const u=d.pop();u&&(this.foldOnlyChild(u),d.push(...u.children))}}foldOnlyChild(h){for(;h.children.length===1&&h.children[0].children.length;){const d=h.children[0];h.name=`${h.name}${p.separator}${d.name}`,h.pathname=d.pathname,h.children=d.children,h.id=d.id,h.isCompact=!0}}_getPathDesc(h){return l.path.relative(h.resourceGroup.provider.rootUri.path,h.sourceUri.path)}};t.SCMTreeAPI=g,n.__decorate([(0,r.Autowired)(v.ViewModelContext),n.__metadata("design:type",v.ViewModelContext)],g.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),t.SCMTreeAPI=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},36556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),_=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableStore,this.onDidChangeEmitter=this.disposeCollection.add(new o.Emitter),this.disposeCollection.addAll([this.decorationsService.onDidChangeDecorations(()=>{this.onDidChangeEmitter.fire()}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(p,s=!1){p instanceof o.URI&&(p=o.Uri.parse(p.toString()));const g=this.decorationsService.getDecoration(p,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.SCMTreeDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.SCMTreeDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},12466:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModel=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(36556);let _=class extends o.TreeModel{constructor(m){super(),this.init(m)}init(m){this.root=m,this.root.watcher.on(o.TreeNodeEvent.BranchDidUpdate,()=>{this.dispatchChange()}),this.decorationService.onDidChange(this.dispatchChange)}};t.SCMTreeModel=_,n.__decorate([(0,r.Autowired)(l.SCMTreeDecorationService),n.__metadata("design:type",l.SCMTreeDecorationService)],_.prototype,"decorationService",void 0),t.SCMTreeModel=_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],_)},11579:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModelService=t.SCMTreeTypes=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(77661),v=e(68969),m=e(26542),p=e(54414),s=e(28423),g=e(52416),a=e(51500),h=e(64964),d=e(49914),u=e(36556),E=e(12466),f=e(28087),c=n.__importDefault(e(87440)),y=e(63451);var b;(function(D){D[D.List=1]="List",D[D.Tree=2]="Tree"})(b||(t.SCMTreeTypes=b={}));const A={hasFolderIcons:!0,hasFileIcons:!0,hidesExplorerArrows:!0};let S=class{constructor(){this._selectedFiles=[],this.disposableCollection=new l.DisposableStore,this.onDidRefreshedEmitter=this.disposableCollection.add(new l.Emitter),this.onDidTreeModelChangeEmitter=this.disposableCollection.add(new l.Emitter),this.treeModelCache=new Map,this.iconThemeDesc=(0,s.observableValue)(this,A),this.clearFileSelectedDecoration=()=>{this._selectedFiles.forEach(I=>{this.selectedDecoration.removeTarget(I)}),this._selectedFiles=[]},this.activeFileDecoration=I=>{if(this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),I){if(this.selectedFiles.length>0)for(const w of this.selectedFiles)this.selectedDecoration.removeTarget(w);this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(I),this.focusedDecoration.addTarget(I),this._focusedFile=I,this._selectedFiles=[I],this.treeModel.dispatchChange()}},this.selectFileDecoration=I=>{this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),I&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(w=>{this.selectedDecoration.removeTarget(w)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(I),this._selectedFiles=[I],this.treeModel.dispatchChange())},this.activeFileFocusedDecoration=(I,w=!1)=>{I!==this.treeModel.root&&(this.focusedFile!==I&&(w?(this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this._contextMenuFile=I):this.focusedFile&&(this._contextMenuFile=void 0,this.focusedDecoration.removeTarget(this.focusedFile)),I&&(this._selectedFiles.indexOf(I)<0&&(this.selectedDecoration.addTarget(I),this._selectedFiles.push(I)),this.focusedDecoration.addTarget(I),this._focusedFile=I)),this.treeModel.dispatchChange())},this.activeFileSelectedDecoration=I=>{this._selectedFiles.indexOf(I)>-1||(this._selectedFiles.push(I),this.selectedDecoration.addTarget(I),this.treeModel.dispatchChange())},this.toggleFileSelectedDecoration=I=>{const w=this._selectedFiles.indexOf(I);w>-1?(this.focusedFile===I&&(this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this._selectedFiles.splice(w,1),this.selectedDecoration.removeTarget(I)):(this._selectedFiles.push(I),this.selectedDecoration.addTarget(I),this.focusedFile&&this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=I,this.focusedDecoration.addTarget(I)),this.treeModel.dispatchChange()},this.enactiveFileDecoration=()=>{var I;this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(I=this.treeModel)===null||I===void 0||I.dispatchChange()},this.activeFileActivedDecoration=I=>{this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuDecoration.addTarget(I),this._contextMenuFile=I,this.treeModel.dispatchChange()},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this._isMutiSelected=!1,this.handleItemRangeClick=(I,w)=>{if(!this.focusedFile)this.handleItemClick(I,w);else if(this.focusedFile&&this.focusedFile!==I){this._isMutiSelected=!0;const T=this.treeModel.root.getIndexAtTreeNode(I),R=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);R>T?this.activeFileDecorationByRange(T,R,T):R<T&&this.activeFileDecorationByRange(R,T,T)}},this.handleItemToggleClick=(I,w)=>{this._isMutiSelected=!0,!(w!==o.TreeNodeType.CompositeTreeNode&&w!==o.TreeNodeType.TreeNode)&&this.toggleFileSelectedDecoration(I)},this.handleContextMenu=(I,w,T)=>{const{x:R,y:M}=I.nativeEvent;if(!w)return;const O=f.SCMResourceGroup.is(w)?w.resource:w.resource.resourceGroup,x=this.viewModel.menus.getRepositoryMenus(O.provider);if(!x)return;w?this.activeFileActivedDecoration(w):this.enactiveFileDecoration();let k;if(f.SCMResourceFolder.is(w)?k=w.arguments:k=this._isMutiSelected?this._getSelectedFiles().map(F=>F.resource.toJSON()):[w.resource.toJSON()],T===o.TreeNodeType.TreeNode){const F=w.resource;this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceMenu(F).getGroupedMenuNodes()[1],args:k})}else f.SCMResourceGroup.is(w)?this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceGroupMenu(O).getGroupedMenuNodes()[1],args:k}):this.ctxMenuRenderer.show({anchor:{x:R,y:M},menuNodes:x.getResourceFolderMenu(O).getGroupedMenuNodes()[1],args:k})},this.activeFileDecorationByRange=(I,w,T)=>{this.clearFileSelectedDecoration();for(const R of this.focusedDecoration.appliedTargets.keys())this.focusedDecoration.removeTarget(R);for(;I<=w;I++){const R=this.treeModel.root.getTreeNodeAtIndex(I);R&&(I===T?this.focusedDecoration.addTarget(R):this.focusedDecoration.hasTarget(R)&&this.focusedDecoration.removeTarget(R),this._selectedFiles.push(R),this.selectedDecoration.addTarget(R))}this.treeModel.dispatchChange()},this.handleItemDoubleClick=(I,w)=>{if(this.listOpenMode==="doubleClick"&&(w===o.TreeNodeType.TreeNode?this.openFile(I):this.toggleDirectory(I)),w===o.TreeNodeType.TreeNode){const{currentEditorGroup:T,currentEditor:R}=this.workbenchEditorService;T&&R&&R.currentUri&&l.URI.from(I.resource.sourceUri).isEqual(R.currentUri)&&T.pin(R.currentUri)}},this.handleItemClick=(I,w)=>{this._isMutiSelected=!1,this.activeFileDecoration(I),this.listOpenMode==="singleClick"&&(w===o.TreeNodeType.TreeNode?this.openFile(I):this.toggleDirectory(I))},this.openFile=I=>{var w,T;const R=I,M=(w=R.resource.command)===null||w===void 0?void 0:w.id;M===l.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID||M===l.EDITOR_COMMANDS.API_OPEN_DIFF_EDITOR_COMMAND_ID?this.commandService.executeCommand(M,...((T=R.resource.command)===null||T===void 0?void 0:T.arguments)||[]).catch(O=>this.logger.error("Failed to execute command:",O,M)):I.resource.open(!0)},this.toggleDirectory=I=>{I.expanded?this.scmTreeHandle.collapseNode(I):this.scmTreeHandle.expandNode(I)}}init(){this.showProgress(this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode)),this._whenReady.then(()=>{this.disposableCollection.add(this.scmTreeService.onDidTreeModeChange(w=>{this.showProgress(this._whenReady=this.initTreeModel(w))}))}),this.disposableCollection.add(this.viewModel.onDidSelectedRepoChange(w=>{var T;this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode,(T=w.provider.rootUri)===null||T===void 0?void 0:T.toString())}));const I=l.Event.any(l.Event.map(this.labelService.onDidChange,()=>{}),this.viewModel.onDidSCMListChange,l.Event.map(l.Event.filter(this.preferenceService.onPreferenceChanged,w=>w.preferenceName==="scm.listView.compactFolders"&&this.scmTreeService.isTreeMode),()=>{}));this.disposableCollection.add(I(()=>{this.refresh()})),this.setIconThemeDesc(this.iconService.currentTheme||A),this.disposableCollection.add(this.iconService.onThemeChange(w=>{this.setIconThemeDesc(w)}))}setIconThemeDesc(I){(0,s.transaction)(w=>{this.iconThemeDesc.set({hasFolderIcons:!!I.hasFolderIcons,hasFileIcons:!!I.hasFileIcons,hidesExplorerArrows:!!I.hidesExplorerArrows},w)})}showProgress(I){this.progressService.withProgress({location:h.scmResourceViewId},()=>I)}get scmTreeHandle(){return this._scmTreeHandle}get contextMenuFile(){return this._contextMenuFile}get selectedDecoration(){return this._selectedDecoration}get focusedDecoration(){return this._focusedDecoration}get contextMenuDecoration(){return this._contextMenuDecoration}get decorations(){return this._activeDecorations}get treeModel(){return this._activeTreeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get selectedFiles(){return this._selectedFiles}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}get onDidTreeModelChange(){return this.onDidTreeModelChangeEmitter.event}async collapseAll(){await this.treeModel.root.collapsedAll()}async getCacheKey(I=b.List,w){var T;return w||(w=(T=(await this.workspaceService.roots)[0])===null||T===void 0?void 0:T.uri),`${w}_git_${I===b.List?"list":"tree"}`}async initTreeModel(I,w){this.treeModelDisposableCollection&&this.treeModelDisposableCollection.dispose();const T=I?b.Tree:b.List,R=await this.getCacheKey(T,w);if(this.treeModelCache.has(R)){const{treeModel:M,decorations:O,selectedDecoration:x,focusedDecoration:k,contextMenuDecoration:F}=this.treeModelCache.get(R);this._activeTreeModel=M,this._activeDecorations=O,this._selectedDecoration=x,this._focusedDecoration=k,this._contextMenuDecoration=F,await this.refresh()}else{const M=(await this.scmTreeService.resolveChildren())[0];if(!M)return;this._activeTreeModel=this.injector.get(E.SCMTreeModel,[M]),this._activeDecorations=this.initDecorations(M),this.disposableCollection.add(this._activeDecorations),this.treeModelCache.set(R,{treeModel:this._activeTreeModel,decorations:this._activeDecorations,selectedDecoration:this._selectedDecoration,focusedDecoration:this._focusedDecoration,contextMenuDecoration:this._contextMenuDecoration})}this.treeModelDisposableCollection=new l.DisposableCollection,this.onDidTreeModelChangeEmitter.fire(this._activeTreeModel)}dispose(){this.disposableCollection.dispose()}initDecorations(I){return this._activeDecorations=new o.DecorationsManager(I),this._selectedDecoration=new o.Decoration(c.default.mod_selected),this._focusedDecoration=new o.Decoration(c.default.mod_focused),this._contextMenuDecoration=new o.Decoration(c.default.mod_actived),this._activeDecorations.addDecoration(this.selectedDecoration),this._activeDecorations.addDecoration(this.focusedDecoration),this._activeDecorations.addDecoration(this.contextMenuDecoration),this._activeDecorations}handleTreeHandler(I){this._scmTreeHandle=I}_getSelectedFiles(){return this._selectedFiles.filter(I=>!!I&&!f.SCMResourceGroup.is(I))}get listOpenMode(){return this.corePreferences["workbench.list.openMode"]}async refresh(I){var w;I===void 0&&(I=(w=this.treeModel)===null||w===void 0?void 0:w.root),I&&(this.refreshCancelToken&&!this.refreshCancelToken.token.isCancellationRequested&&this.refreshCancelToken.cancel(),this.refreshCancelToken=new l.CancellationTokenSource,await I.refresh(this.refreshCancelToken),this.refreshCancelToken=null)}};t.SCMTreeModelService=S,n.__decorate([(0,r.Autowired)(m.LabelService),n.__metadata("design:type",m.LabelService)],S.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(u.SCMTreeDecorationService),n.__metadata("design:type",u.SCMTreeDecorationService)],S.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],S.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(v.IProgressService),n.__metadata("design:type",Object)],S.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(g.IIconService),n.__metadata("design:type",Object)],S.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],S.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(y.SCMTreeService),n.__metadata("design:type",y.SCMTreeService)],S.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(d.ViewModelContext),n.__metadata("design:type",d.ViewModelContext)],S.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(_.ICtxMenuRenderer),n.__metadata("design:type",_.ICtxMenuRenderer)],S.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],S.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],S.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],S.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.IWorkspaceService),n.__metadata("design:type",Object)],S.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],S.prototype,"logger",void 0),t.SCMTreeModelService=S=n.__decorate([(0,r.Injectable)()],S)},28087:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceFile=t.SCMResourceFolder=t.SCMResourceGroup=t.SCMResourceRoot=void 0;const n=e(85608),r=e(97267),o=e(41869),l=e(36367),_=e(38563);class v extends r.CompositeTreeNode{static is(a){return!!a&&!a.parent}constructor(a,h){super(a,void 0),this.isTree=h}get name(){return`SCMTree_${this.isTree?"Tree":"List"}_${this.id}`}get expanded(){return!0}dispose(){super.dispose()}}t.SCMResourceRoot=v;class m extends r.CompositeTreeNode{static is(a){return r.CompositeTreeNode.is(a)&&!!a.resource&&(0,l.isSCMResourceGroup)(a.resource)}constructor(a,h,d,u){super(a,h),this.raw=d,this.resource=u,this.isExpanded=!0}get displayName(){return this.resource.label}get uri(){return new o.URI(`scm-group://${this.resource.id}`)}}t.SCMResourceGroup=m,n.__decorate([o.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],m.prototype,"uri",null);class p extends r.CompositeTreeNode{constructor(a,h,d,u,E){super(a,h,void 0,{name:E?d.name:d.pathname}),this.raw=d,this.resource=u,this.description="",this.isExpanded=!0}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get tooltip(){const a=this.resource;return o.path.join(a.resourceGroup.provider.rootUri.path,this.raw.pathname)}get arguments(){return(0,_.collectSCMResourceDesc)(this.raw,[])}}t.SCMResourceFolder=p,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],p.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],p.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],p.prototype,"tooltip",null);class s extends r.TreeNode{constructor(a,h,d,u,E){super(a,h,void 0,{name:E?d.name:d.pathname}),this.raw=d,this.resource=u,this.isTree=E}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get description(){if(this.isTree)return"";const a=this.resource,h=o.path.parse(a.sourceUri.path);return o.path.relative(a.resourceGroup.provider.rootUri.path,h.dir)}get tooltip(){return this.resource.sourceUri.path}}t.SCMResourceFile=s,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],s.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"description",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"tooltip",null)},74568:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeNode=t.SCMResourceNode=t.SCMResourceGroupNode=t.SCM_BADGE_LIMIT=t.SCM_TREE_NODE_HEIGHT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(25918),m=e(52416),p=e(49914),s=e(28087),g=n.__importDefault(e(87440));t.SCM_TREE_NODE_HEIGHT=22,t.SCM_BADGE_LIMIT=99;const a=({item:u,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onContextMenu:b,itemType:A,decorations:S,onTwistierClick:D})=>{const I=(0,_.useInjectable)(p.ViewModelContext),w=`${E+(u.depth||0)*(f||0)}px`,T=(0,_.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),R=(0,_.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),M=u.resource,O=o.default.useCallback(()=>{const W=I.menus.getRepositoryMenus(M.provider).getResourceGroupMenu(M);return o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{context:[M],menus:W,separator:"inline"}))},[M]),x=(0,o.useCallback)(U=>{U.nativeEvent.button===_.MouseEventButton.Right&&b(U,u,A)},[b]),k=(0,o.useCallback)(U=>{c(U,u,A)},[c]),F=(0,o.useCallback)(U=>{y(U,u,A)},[y]),L=(0,o.useCallback)((U,W)=>S&&S?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:W,className:(0,r.default)(g.default.scm_tree_node_segment,T,(0,_.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!U.expanded})}),[S]),N=(0,o.useCallback)(U=>{(A===l.TreeNodeType.TreeNode||A===l.TreeNodeType.CompositeTreeNode)&&(D?D(U,u,A):c(U,u,A))},[D,c]);return o.default.createElement("div",{key:u.id,onClick:k,onDoubleClick:F,onContextMenu:x,className:(0,r.default)(R,S?S.classlist:null),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`,paddingLeft:w},"data-id":u.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},L(u,N),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},u.displayName)),O(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},o.default.createElement(l.Badge,null,u.resource.elements.length))))};t.SCMResourceGroupNode=a;const h=({item:u,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onTwistierClick:b,onContextMenu:A,itemType:S,decorationService:D,labelService:I,decorations:w,iconTheme:T})=>{const R=(0,_.useInjectable)(p.ViewModelContext),M=s.SCMResourceGroup.is(u)?null:D.getDecoration(u.uri,!1),O=(0,_.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),x=(0,_.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),k=u.resource,F=(0,o.useCallback)(()=>{const oe=R.menus.getRepositoryMenus(k.resourceGroup.provider);let he,me;return S===l.TreeNodeType.TreeNode?(he=oe.getResourceMenu(k),me=[k]):(he=oe.getResourceFolderMenu(k.resourceGroup),me=u.arguments),o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{menus:he,context:me,separator:"inline"}))},[S,k.resourceGroup]),L=(0,o.useCallback)(oe=>{c(oe,u,S)},[c]),N=(0,o.useCallback)(oe=>{y(oe,u,S)},[y]),U=(0,o.useCallback)(oe=>{oe.nativeEvent.button===_.MouseEventButton.Right&&A(oe,u,S)},[A]),W=s.SCMResourceFolder.is(u),{hidesExplorerArrows:j,hasFolderIcons:Q}=T,$=`${E+(u.depth||0)*(f||0)+(W?0:Q?j?0:20:0)}px`,Z=oe=>{const he=I.getIcon(oe.uri,{isDirectory:s.SCMResourceFolder.is(oe)});return o.default.createElement("div",{className:(0,r.default)(g.default.file_icon,he),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`}})},G=(0,o.useCallback)(oe=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},s.SCMResourceFolder.is(oe)?oe.displayName:I.getName(oe.uri)),[I]),V=(0,o.useCallback)(oe=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment_grow,g.default.scm_tree_node_description)},oe.description),[]),H=(0,_.useInjectable)(m.IThemeService),K=()=>{if(!M)return null;const oe=M.badge||u.resource.decorations.letter||"",he=M.color||u.resource.decorations.color,me=he&&H.getColor({id:he});return o.default.createElement("div",{className:g.default.scm_tree_node_status,style:{color:me}},oe.slice())},Y=(0,o.useCallback)(()=>{let oe=u.tooltip;return M&&M.badge&&(oe+=` \u2022 ${M.tooltip||u.resource.decorations.tooltip||""}`),oe},[u]),X=(0,o.useCallback)(oe=>{(S===l.TreeNodeType.TreeNode||S===l.TreeNodeType.CompositeTreeNode)&&(b?b(oe,u,S):c(oe,u,S))},[b,c]),re=(0,o.useCallback)((oe,he)=>s.SCMResourceFolder.is(oe)?w&&w?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:he,className:(0,r.default)(g.default.scm_tree_node_segment,O,(0,_.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!oe.expanded})}):null,[w]);return o.default.createElement("div",{key:u.id,onClick:L,onDoubleClick:N,onContextMenu:U,title:Y(),className:(0,r.default)(x,w?w.classlist:null),style:{color:M?M.color:"",paddingLeft:$,height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`},"data-id":u.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},re(u,X),Z(u),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap,style:{textDecoration:M&&M.badge==="D"?"line-through":"none"}},G(u),V(u)),F(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},K())))};t.SCMResourceNode=h;const d=u=>{const{item:E,...f}=u;return s.SCMResourceGroup.is(E)?o.default.createElement(t.SCMResourceGroupNode,{item:E,...f}):o.default.createElement(t.SCMResourceNode,{...u,item:E})};t.SCMTreeNode=d},63451:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),_=e(43718),v=e(64964),m=e(38563),p=e(28087);let s=class extends o.Tree{get isTreeMode(){return this._isTreeMode}get onDidTreeModeChange(){return this.onDidTreeModeChangeEmitter.event}constructor(){super(),this.onDidTreeModeChangeEmitter=new l.Emitter,this._isTreeMode=this.preferenceService.get("scm.defaultViewMode")===v.SCMViewModelMode.Tree,this.toDispose.push(this.preferenceService.onSpecificPreferenceChange("scm.defaultViewMode",a=>{const h=a.newValue===v.SCMViewModelMode.Tree;h!==this._isTreeMode&&(this._isTreeMode=h,this.onDidTreeModeChangeEmitter.fire(this._isTreeMode))}))}changeTreeMode(a){this.preferenceService.set("scm.defaultViewMode",a?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List,_.PreferenceScope.User)}async resolveChildren(a){let h=[];if(!a)this._root=new p.SCMResourceRoot(this,this._isTreeMode),h=[this._root];else if(p.SCMResourceRoot.is(a)){const d=this.scmTreeAPI.init(this._isTreeMode?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List);h.push(...d.map(u=>this.toNode(u,a,this._isTreeMode)))}else if(a.raw){const d=a.raw.children;h.push(...d.map(u=>this.toNode(u,a,this._isTreeMode)))}return h}toNode(a,h,d){if(a.type==="group"){const E=a;return new p.SCMResourceGroup(this,h,E,E.resource)}const u=a;return a.type==="file"?new p.SCMResourceFile(this,h,u,u.resource,d):new p.SCMResourceFolder(this,h,u,u.resource,d)}sortComparator(a,h){if(p.SCMResourceGroup.is(a)&&p.SCMResourceGroup.is(h)){const d={merge:3,index:2,workingTree:1};return d[h.resource.id]-d[a.resource.id]}return super.sortComparator(a,h)}dispose(){super.dispose(),this.onDidTreeModeChangeEmitter.dispose()}};t.SCMTreeService=s,n.__decorate([(0,r.Autowired)(m.SCMTreeAPI),n.__metadata("design:type",m.SCMTreeAPI)],s.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),t.SCMTreeService=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},42126:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffDecorator=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(54414),v=e(52416),m=r.__importStar(e(43255)),p=r.__importStar(e(24347)),s=e(7168),g=e(73018),a=e(24870),h=e(84416);let d=n=class extends l.Disposable{static createDecoration(E,f){const c={description:"dirty-diff-decoration",isWholeLine:f.isWholeLine};return f.gutter&&(c.linesDecorationsClassName=`dirty-diff-glyph ${E}`),f.overview.active&&(c.overviewRuler={color:(0,v.themeColorFromId)(f.overview.color),position:_.OverviewRulerLane.Left}),f.minimap.active&&(c.minimap={color:(0,v.themeColorFromId)(f.minimap.color),position:m.MinimapPosition.Gutter}),p.ModelDecorationOptions.createDynamic(c)}constructor(E,f){super(),this.model=f,this.decorations=[],this.editorModel=E;const c=this.scmPreferences["scm.diffDecorations"],y=c==="all"||c==="gutter",b=c==="all"||c==="overview",A=c==="all"||c==="minimap";this.modifiedOptions=n.createDecoration("dirty-diff-modified",{gutter:y,overview:{active:b,color:s.overviewRulerModifiedForeground},minimap:{active:A,color:s.minimapGutterModifiedBackground},isWholeLine:!0}),this.addedOptions=n.createDecoration("dirty-diff-added",{gutter:y,overview:{active:b,color:s.overviewRulerAddedForeground},minimap:{active:A,color:s.minimapGutterAddedBackground},isWholeLine:!0}),this.deletedOptions=n.createDecoration("dirty-diff-deleted",{gutter:y,overview:{active:b,color:s.overviewRulerDeletedForeground},minimap:{active:A,color:s.minimapGutterDeletedBackground},isWholeLine:!1}),this.addDispose(f.onDidChange(this.onDidChange,this))}onDidChange(){if(!this.editorModel)return;const E=this.model.changes.map(f=>{const c=(0,h.getChangeType)(f),y=f[2],b=f[3]-1||y-1;switch(c){case h.ChangeType.Add:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.addedOptions};case h.ChangeType.Delete:return{range:{startLineNumber:y-1,startColumn:Number.MAX_VALUE,endLineNumber:y>0?y-1:y,endColumn:Number.MAX_VALUE},options:this.deletedOptions};case h.ChangeType.Modify:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.modifiedOptions}}});this.decorations=this.editorModel.getMonacoModel().deltaDecorations(this.decorations,E)}dispose(){super.dispose(),this.editorModel&&!this.editorModel.getMonacoModel().isDisposed()&&this.editorModel.getMonacoModel().deltaDecorations(this.decorations,[]),this.editorModel=null,this.decorations=[]}};t.DirtyDiffDecorator=d,r.__decorate([(0,o.Autowired)(g.SCMPreferences),r.__metadata("design:type",Object)],d.prototype,"scmPreferences",void 0),t.DirtyDiffDecorator=d=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__param(1,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object,a.DirtyDiffModel])],d)},24870:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffModel=t.isDirtyDiffVisible=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(40191),v=e(54414),m=e(57517),p=r.__importStar(e(20868)),s=e(28240),g=e(16781),a=e(64964),h=e(84416),{sortedDiff:d}=l.arrays;t.isDirtyDiffVisible=new _.RawContextKey("dirtyDiffVisible",!1);let u=n=class extends l.Disposable{get original(){return this._originalModel}get modified(){return this._editorModel}get changes(){return this._changes}get editorWorkerService(){return g.StandaloneServices.get(s.IEditorWorkerService)}constructor(f){super(),this.repositoryDisposables=new Set,this._onDidChange=new l.Emitter,this.onDidChange=this._onDidChange.event,this._changes=[],this._editorModel=f,this.diffDelayer=new l.ThrottledDelayer(200),this.addDispose(l.Disposable.create(()=>{this.diffDelayer&&(this.diffDelayer.isTriggered()||this.diffDelayer.cancel(),this.diffDelayer=null)})),this.addDispose(f.getMonacoModel().onDidChangeContent(()=>this.triggerDiff())),this.addDispose(f.onDidChangeEncoding(()=>{var c;(c=this.diffDelayer)===null||c===void 0||c.cancel(),this._originalModel=null,this._originalURIPromise=void 0,this._changes=[],this.triggerDiff()})),this.addDispose(this.scmService.onDidAddRepository(this.onDidAddRepository,this)),this.scmService.repositories.forEach(c=>this.onDidAddRepository(c)),this.triggerDiff(),this.originalModelDisposables=new l.DisposableStore,this.addDispose(this.originalModelDisposables),this.isDirtyDiffVisible=t.isDirtyDiffVisible.bind(this.contextKeyService)}onDidAddRepository(f){const c=new l.DisposableStore;this.repositoryDisposables.add(c),c.add((0,l.toDisposable)(()=>this.repositoryDisposables.delete(c)));const y=l.Event.any(f.provider.onDidChange,f.provider.onDidChangeResources);c.add(y(this.triggerDiff,this));const b=l.Event.filter(this.scmService.onDidRemoveRepository,A=>A===f);c.add(b(()=>(0,l.dispose)(c),null)),this.triggerDiff()}triggerDiff(){return this.diffDelayer?this.diffDelayer.trigger(()=>this.diff()).then(f=>{if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!this._originalModel||this._originalModel.getMonacoModel().isDisposed())return;(!f||this._originalModel.getMonacoModel().getValueLength()===0)&&(f=[]);const c=d(this.changes,f,h.compareChanges);this._changes=f,c.length>0&&this._onDidChange.fire(c)}):Promise.resolve(null)}canSyncModelForDiff(f){if(!f)return!1;const c=n.maxFileSize*1024*1024,y=f.getValueLength();return c===0||y<=c}async diff(){var f;const c=await this.getOriginalURIPromise();if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!c)return[];if(!this.canSyncModelForDiff((f=this._originalModel)===null||f===void 0?void 0:f.getMonacoModel())||!this.canSyncModelForDiff(this._editorModel.getMonacoModel()))return[];const y=await this.editorWorkerService.computeDiff(c,this._editorModel.getMonacoModel().uri,{ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3,computeMoves:!1},"advanced");return y&&this.getLineChanges(y.changes)}getLineChanges(f){return f.map(c=>{var y;return[c.original.startLineNumber,c.original.endLineNumberExclusive,c.modified.startLineNumber,c.modified.endLineNumberExclusive,(y=c.innerChanges)===null||y===void 0?void 0:y.map(b=>[b.originalRange.startLineNumber,b.originalRange.startColumn,b.originalRange.endLineNumber,b.originalRange.endColumn,b.modifiedRange.startLineNumber,b.modifiedRange.startColumn,b.modifiedRange.endLineNumber,b.modifiedRange.endColumn])]})}getOriginalURIPromise(){return this._originalURIPromise?this._originalURIPromise:(this._originalURIPromise=this.getOriginalResource().then(f=>this._editorModel?f?this._originalModel&&this._originalModel.uri.toString()===f.toString()?f:this.documentModelManager.createModelReference(new l.URI(f)).then(c=>{if(!this._editorModel||!c)return null;this._originalModel=c.instance,this._originalModel.updateEncoding(this._editorModel.encoding);const y=this._originalModel.getMonacoModel();return this.originalModelDisposables.clear(),this.originalModelDisposables.add(c),this.originalModelDisposables.add(y.onDidChangeContent(()=>this.triggerDiff())),f}):(this._originalModel=null,null):null),this._originalURIPromise.finally(()=>{this._originalURIPromise=void 0}))}getOriginalResource(){if(!this._editorModel)return Promise.resolve(null);const f=this._editorModel.getMonacoModel().uri;return(0,l.first)(this.scmService.repositories.map(c=>()=>c.provider.getOriginalResource(f)))}findNextClosestChange(f,c=!0){for(let y=0;y<this.changes.length;y++){const b=this.changes[y];if(c){if((0,h.getModifiedEndLineNumber)(b)>=f)return y}else if(b[2]>f)return y}return 0}findNextClosestChangeLineNumber(f,c=!0){const y=this.findNextClosestChange(f,c);return this.changes[y][2]}findPreviousClosestChange(f,c=!0){for(let y=this.changes.length-1;y>=0;y--){const b=this.changes[y];if(c){if(b[2]<=f)return y}else if((0,h.getModifiedEndLineNumber)(b)<f)return y}return this.changes.length-1}findPreviousClosestChangeLineNumber(f,c=!0){const y=this.findPreviousClosestChange(f,c);return this.changes[y][2]}getChangeFromRange(f){const c=this.findNextClosestChange(f.startLineNumber);return{change:this.changes[c],count:c+1}}async onClickDecoration(f,c){if(this._widget)if(this._widget===f){this._widget.dispose();return}else this._widget.dispose();if(this._widget=f,this._originalModel&&this._editorModel){let R=function(M,O){f.updateCurrent(M),f.show(p.positionToRange(O[3]-1),n.heightInLines),I.isDirtyDiffVisible.set(!0)};const y=this._originalModel.uri,b=this._editorModel.uri,A=this.editorService.createDiffEditor(f.getContentNode(),{automaticLayout:!0,renderSideBySide:!1,hideUnchangedRegions:{enabled:!1}}),S=await this.documentModelManager.createModelReference(y),D=await this.documentModelManager.createModelReference(b);A.compare(S,D),A.modifiedEditor.monacoEditor.updateOptions({readOnly:!0}),A.originalEditor.monacoEditor.updateOptions({readOnly:!0}),A.modifiedEditor.monacoEditor.revealLineInCenter(c.startLineNumber-Math.round(n.heightInLines/2)),f.addDispose(A.originalEditor.monacoEditor.onDidChangeModelContent(()=>{f.relayout(n.heightInLines)}));const I=this;f.addDispose(this.onDidChange(()=>{const{change:M,count:O}=this.getChangeFromRange(c)||{};R(O,M)}));const{change:w,count:T}=this.getChangeFromRange(c)||{};T&&w&&R(T,w),f.onDispose(()=>{this._widget=null,I.isDirtyDiffVisible.set(!1)})}}dispose(){super.dispose(),this._editorModel=null,this._originalModel=null,this.repositoryDisposables.forEach(f=>(0,l.dispose)(f)),this.repositoryDisposables.clear()}};t.DirtyDiffModel=u,u.heightInLines=10,u.maxFileSize=50,r.__decorate([(0,o.Autowired)(l.IContextKeyService),r.__metadata("design:type",Object)],u.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(a.SCMService),r.__metadata("design:type",a.SCMService)],u.prototype,"scmService",void 0),r.__decorate([(0,o.Autowired)(m.IEditorDocumentModelService),r.__metadata("design:type",Object)],u.prototype,"documentModelManager",void 0),r.__decorate([(0,o.Autowired)(v.EditorCollectionService),r.__metadata("design:type",v.EditorCollectionService)],u.prototype,"editorService",void 0),t.DirtyDiffModel=u=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object])],u)},84416:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChangeType=void 0,t.compareChanges=e,t.getModifiedEndLineNumber=n,t.getChangeType=o,t.toChange=l;function e(_,v){let m=_[2]-v[2];return m!==0||(m=_[3]-v[3],m!==0)||(m=_[0]-v[0],m!==0)?m:_[1]-v[1]}function n(_){return _[3]===0?_[2]===0?1:_[2]:_[3]}var r;(function(_){_.Modify="Modify",_.Add="Add",_.Delete="Delete"})(r||(t.ChangeType=r={}));function o(_){return _[1]-_[0]===0?r.Add:_[1]>_[0]&&_[2]===_[3]?r.Delete:r.Modify}function l(_){switch(o(_)){case r.Add:return{originalStartLineNumber:_[0],originalEndLineNumber:0,modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]};case r.Modify:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]};case r.Delete:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:0};default:return{originalStartLineNumber:_[0],originalEndLineNumber:_[1],modifiedStartLineNumber:_[2],modifiedEndLineNumber:_[3]}}}},54595:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWidget=t.DirtyDiffWidgetActionType=void 0;const n=e(41869),r=e(87308),o=e(31324),l=e(64964),_=e(84416);var v;(function(p){p[p.close=0]="close",p[p.save=1]="save",p[p.reset=2]="reset",p[p.next=3]="next",p[p.previous=4]="previous"})(v||(t.DirtyDiffWidgetActionType=v={}));class m extends r.ZoneWidget{_fillContainer(s){}get uri(){return n.URI.from(this.editor.getModel().uri)}constructor(s,g,a){super(s),this.commandService=a,this._currentChangeIndex=0,this._model=g,this._wrapper=document.createElement("div"),this._head=document.createElement("div"),this._content=document.createElement("div"),this._container.appendChild(this._wrapper),this._wrapper.appendChild(this._head),this._wrapper.appendChild(this._content)}get currentIndex(){return this._currentChangeIndex}updateCurrent(s){this._currentChangeIndex=s}applyStyle(){if(!this._title)return;this._title.children[0]&&this._title.removeChild(this._title.children[0]);const s=document.createElement("span");s.className="dirty-diff-widget-title-detail",s.innerText=(0,n.formatLocalize)("scm.dirtyDiff.changes",this._currentChangeIndex,this._model.changes.length),this._title.appendChild(s)}getBorderColor(s){switch(s){case _.ChangeType.Add:return"var(--editorGutter-addedBackground)";case _.ChangeType.Modify:return"var(--editorGutter-modifiedBackground)";case _.ChangeType.Delete:return"var(--editorGutter-deletedBackground)"}}applyClass(){this._wrapper.className="dirty-diff-widget-wrapper",this._head.className="dirty-diff-widget-header",this._content.className="dirty-diff-widget-content";const s=this._model.changes[this._currentChangeIndex-1],g=(0,_.getChangeType)(s),a=this.getBorderColor(g);this._head.style.borderTopColor=a,this._head.style.borderBottomColor=a,this._content.style.borderBottomColor=a;const h=this.editor.getOption(o.EditorOption.lineHeight),d=Math.ceil(h*1.2);this._head.style.height=`${d}px`,this._renderTitle();const u=this.editor.getModel();if(!u)throw new Error("Not found model");this._title.innerText=n.path.basename(u.uri.path),this._title.className="file-name",this._actions.className="file-actions",this._renderActions()}getContentNode(){return this._content}_renderTitle(){this._head.children.length===0&&(this._title=document.createElement("div"),this._actions=document.createElement("div"),this._head.appendChild(this._title),this._head.appendChild(this._actions))}_addAction(s,g){const a=document.createElement("div");return a.className=`kt-icon codicon codicon-${s}`,this._actions.appendChild(a),a.onclick=()=>this.handleAction(g),a}_renderActions(){this._actions.children.length===0&&(this._addAction("add",v.save),this._addAction("discard",v.reset),this._addAction("arrow-up",v.next),this._addAction("arrow-down",v.previous),this._addAction("close",v.close))}relayout(s){this._relayout(s)}handleAction(s){let g;const a=this.currentRange,h=[this.uri,this._model.changes.map(_.toChange),this._currentChangeIndex-1];switch(s){case v.next:g=this._model.findNextClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.previous:g=this._model.findPreviousClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.save:this.commandService.executeCommand("git.stageChange",...h),this.dispose();break;case v.reset:this.commandService.executeCommand("git.revertChange",...h),this.dispose();break;case v.close:this.dispose();break;default:break}}}t.DirtyDiffWidget=m},71972:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWorkbenchController=t.DirtyDiffItem=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(54414),v=e(57517),m=n.__importStar(e(20868)),p=e(62663),s=e(64964),g=e(73018),a=e(42126),h=e(24870),d=e(54595);e(22861);class u{constructor(c,y){this.model=c,this.decorator=y}dispose(){this.decorator.dispose(),this.model.dispose()}}t.DirtyDiffItem=u;let E=class extends o.Disposable{constructor(){super(),this.enabled=!1,this.models=[],this.widgets=new Map,this.items=Object.create(null),this.transientDisposables=new o.DisposableStore,this.keybindingRegistry.registerKeybinding({command:s.CLOSE_DIRTY_DIFF_WIDGET.id,keybinding:"esc",when:h.isDirtyDiffVisible.equalsTo(!0)})}start(){const c=o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorations"));this.addDispose(c(this.onDidChangeConfiguration,this)),this.onDidChangeConfiguration(),o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorationsGutterWidth"))(this.onDidChangeDiffWidthConfiguration,this),this.onDidChangeDiffWidthConfiguration(),this.addDispose(this.editorFeatureRegistry.registerEditorFeatureContribution({contribute:b=>this.attachEvents(b.monacoEditor)})),this.addDispose(this.scmPreferences.onPreferenceChanged(b=>{b.preferenceName==="scm.alwaysShowDiffWidget"&&b.newValue===!1&&this.widgets.forEach(A=>{A.dispose()})}))}onDidChangeConfiguration(){this.scmPreferences["scm.diffDecorations"]!=="none"?this.enable():this.disable()}onDidChangeDiffWidthConfiguration(){let c=this.scmPreferences["scm.diffDecorationsGutterWidth"];(isNaN(c)||c<=0||c>5)&&(c=3)}enable(){this.enabled&&this.disable(),this.transientDisposables.add(this.eventBus.on(v.EditorGroupChangeEvent,()=>{this.onEditorsChanged()})),this.onEditorsChanged(),this.enabled=!0}disable(){this.enabled&&(this.transientDisposables.clear(),this.models.forEach(c=>{const y=this.items[c.id];y&&y.dispose()}),this.models=[],this.items=Object.create(null),this.enabled=!1)}onEditorsChanged(){const c=this.editorService.editorGroups.filter(A=>A.currentOpenType&&A.currentOpenType.type===v.EditorOpenType.code).map(A=>{const S=A.currentEditor;return S?S.currentDocumentModel:null}).filter((A,S,D)=>!!A&&!!A.uri&&D.indexOf(A,S+1)===-1),y=c.filter(A=>this.models.every(S=>A!==S));this.models.filter(A=>c.every(S=>S!==A)).forEach(A=>this.onModelInvisible(A)),y.forEach(A=>this.onModelVisible(A)),this.models=c}onModelVisible(c){const y=this.injector.get(h.DirtyDiffModel,[c]),b=this.injector.get(a.DirtyDiffDecorator,[c,y]);this.items[c.id]=new u(y,b)}onModelInvisible(c){this.items[c.id].dispose(),delete this.items[c.id]}closeDirtyDiffWidget(c){const y=this.widgets.get(c.getId());y&&y.dispose()}toggleDirtyDiffWidget(c,y){const b=c.getModel();if(b&&y){let A=this.widgets.get(c.getId());const S=this.getModel(b);if(S){if(A){const{currentIndex:D}=A,{count:I}=S.getChangeFromRange(m.positionToRange(y));if(A.dispose(),D===I)return}A=new d.DirtyDiffWidget(c,S,this.commandService),A.onDispose(()=>{this.widgets.delete(c.getId())}),S.onClickDecoration(A,m.positionToRange(y)),this.widgets.set(c.getId(),A)}}}_doMouseDown(c,{target:y}){if(!y)return;const{position:b,type:A,element:S}=y;if(A===p.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&S&&S.className.indexOf("dirty-diff-glyph")>-1&&b){const D=S.offsetLeft;if(y.detail.offsetX-D<5)this.toggleDirtyDiffWidget(c,b);else{const w=this.widgets.get(c.getId());w&&(w.dispose(),this.widgets.delete(c.getId()))}}}attachEvents(c){const y=new o.DisposableCollection;return y.push(c.onMouseDown(b=>{this.scmPreferences["scm.alwaysShowDiffWidget"]&&this._doMouseDown(c,b)})),y.push(c.onDidChangeModel(({oldModelUrl:b})=>{if(b){const A=this.widgets.get(c.getId());A&&A.dispose()}})),y.push(c.onDidDispose(()=>{y.dispose()})),y}getModel(c){const y=this.items[c.id];return y?y.model:null}dispose(){this.disable(),this.widgets.forEach(c=>c.dispose()),this.widgets.clear(),super.dispose()}};t.DirtyDiffWorkbenchController=E,n.__decorate([(0,r.Autowired)(g.SCMPreferences),n.__metadata("design:type",Object)],E.prototype,"scmPreferences",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(v.IEditorFeatureRegistry),n.__metadata("design:type",Object)],E.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],E.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),t.DirtyDiffWorkbenchController=E=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],E)},31435:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(64964),_=e(71972),v=e(7114),m=e(38672),p=e(73018),s=e(75756);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[s.SCMContribution,l.SCMService,v.SCMBadgeController,v.SCMStatusBarController,{token:l.ISCMMenus,useClass:m.SCMMenus},{token:l.IDirtyDiffWorkbenchController,useClass:_.DirtyDiffWorkbenchController}],this.preferences=p.bindSCMPreference}};t.SCMModule=g,t.SCMModule=g=n.__decorate([(0,r.Injectable)()],g)},7114:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMStatusBarController=t.SCMBadgeController=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(43718),v=e(54414),m=e(63067),p=e(64964);let s=class{constructor(){this.disposables=[]}start(){for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables),this.render()}onDidAddRepository(h){const d=h.provider,E=o.Event.any(d.onDidChange,d.onDidChangeResources)(()=>this.render()),c=o.Event.filter(this.scmService.onDidRemoveRepository,b=>b===h)(()=>{y.dispose(),this.disposables=this.disposables.filter(b=>b!==c),this.render()}),y=(0,o.combinedDisposable)([E,c]);this.disposables.push(y)}render(){const h=this.scmService.repositories.reduce((d,u)=>typeof u.provider.count=="number"?d+u.provider.count:d+u.provider.groups.elements.reduce((E,f)=>E+f.elements.length,0),0);h>0?this.setSCMTarbarBadge(`${h}`):this.setSCMTarbarBadge("")}setSCMTarbarBadge(h){const d=this.layoutService.getTabbarHandler(p.scmContainerId);d&&d.setBadge(h)}dispose(){this.disposables=(0,o.dispose)(this.disposables)}};t.SCMBadgeController=s,n.__decorate([(0,r.Autowired)(p.SCMService),n.__metadata("design:type",p.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),t.SCMBadgeController=s=n.__decorate([(0,r.Injectable)()],s);let g=class{constructor(){this.focusDisposable=o.Disposable.None,this.focusedRepository=void 0,this.disposables=[]}start(){this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables);for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.workbenchEditorService.onActiveResourceChange(this.onDidActiveResouceChange,this,this.disposables)}onDidAddRepository(h){const d=h.onDidFocus(()=>this.onDidFocusRepository(h)),E=o.Event.filter(this.scmService.onDidRemoveRepository,c=>c===h)(()=>{f.dispose(),this.disposables=this.disposables.filter(c=>c!==E),this.scmService.repositories.length===0?this.onDidFocusRepository(void 0):this.focusedRepository===h&&this.scmService.repositories[0].focus()}),f=(0,o.combinedDisposable)([d,E]);this.disposables.push(f),this.focusedRepository||this.onDidFocusRepository(h)}onDidActiveResouceChange(){const h=this.workbenchEditorService.currentResource;if(!h||h.uri.scheme!==_.Schemes.file)return;let d=null,u=Number.NEGATIVE_INFINITY;for(const E of this.scmService.repositories){const f=E.provider.rootUri;if(!f)continue;const c=f.fsPath,y=o.strings.commonPrefixLength(c,h.uri.codeUri.fsPath);y===c.length&&y>u&&(d=E,u=y)}d&&this.onDidFocusRepository(d)}onDidFocusRepository(h){this.focusedRepository!==h&&(this.focusedRepository=h,this.focusDisposable.dispose(),h&&h.provider.onDidChangeStatusBarCommands&&(this.focusDisposable=h.provider.onDidChangeStatusBarCommands(()=>this.render(h))),this.render(h))}render(h){if(!h)return;const d=h.provider.statusBarCommands||[];if(!d.length)return;const u=this.getRepoLabel(h);d.forEach((E,f)=>{this.disposables.push(this.statusbarService.addElement(`status.scm.repo.${f}`,{id:"status.scm",text:E.title,name:(0,_.localize)("status-bar.scm"),priority:1e4,alignment:l.StatusBarAlignment.LEFT,command:E.id,arguments:E.arguments,tooltip:`${u} - ${E.tooltip||E.title}`}))})}getRepoLabel(h){return h.provider.rootUri?`${o.path.basename(h.provider.rootUri.path)} (${h.provider.label})`:h.provider.label}dispose(){this.focusDisposable.dispose(),this.disposables=(0,o.dispose)(this.disposables)}};t.SCMStatusBarController=g,n.__decorate([(0,r.Autowired)(p.SCMService),n.__metadata("design:type",p.SCMService)],g.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],g.prototype,"statusbarService",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),t.SCMStatusBarController=g=n.__decorate([(0,r.Injectable)()],g)},7168:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.overviewRulerDeletedForeground=t.overviewRulerAddedForeground=t.overviewRulerModifiedForeground=t.minimapGutterDeletedBackground=t.minimapGutterAddedBackground=t.minimapGutterModifiedBackground=t.editorGutterDeletedBackground=t.editorGutterAddedBackground=t.editorGutterModifiedBackground=void 0;const n=e(43718),r=e(52416);t.editorGutterModifiedBackground=(0,r.registerColor)("editorGutter.modifiedBackground",{dark:new r.Color(new r.RGBA(27,129,168)),light:new r.Color(new r.RGBA(32,144,211)),hcDark:new r.Color(new r.RGBA(27,128,168)),hcLight:new r.Color(new r.RGBA(32,144,211))},(0,n.localize)("editorGutterModifiedBackground","Editor gutter background color for lines that are modified.")),t.editorGutterAddedBackground=(0,r.registerColor)("editorGutter.addedBackground",{dark:new r.Color(new r.RGBA(72,126,2)),light:new r.Color(new r.RGBA(72,152,93)),hcDark:new r.Color(new r.RGBA(72,126,2)),hcLight:new r.Color(new r.RGBA(72,152,93))},(0,n.localize)("editorGutterAddedBackground","Editor gutter background color for lines that are added.")),t.editorGutterDeletedBackground=(0,r.registerColor)("editorGutter.deletedBackground",{dark:r.editorErrorForeground,light:r.editorErrorForeground,hcDark:r.editorErrorForeground,hcLight:r.editorErrorForeground},(0,n.localize)("editorGutterDeletedBackground","Editor gutter background color for lines that are deleted.")),t.minimapGutterModifiedBackground=(0,r.registerColor)("minimapGutter.modifiedBackground",{dark:t.editorGutterModifiedBackground,light:t.editorGutterModifiedBackground,hcDark:t.editorGutterModifiedBackground,hcLight:t.editorGutterModifiedBackground},(0,n.localize)("minimapGutterModifiedBackground","Minimap gutter background color for lines that are modified.")),t.minimapGutterAddedBackground=(0,r.registerColor)("minimapGutter.addedBackground",{dark:t.editorGutterAddedBackground,light:t.editorGutterAddedBackground,hcDark:t.editorGutterAddedBackground,hcLight:t.editorGutterAddedBackground},(0,n.localize)("minimapGutterAddedBackground","Minimap gutter background color for lines that are added.")),t.minimapGutterDeletedBackground=(0,r.registerColor)("minimapGutter.deletedBackground",{dark:t.editorGutterDeletedBackground,light:t.editorGutterDeletedBackground,hcDark:t.editorGutterDeletedBackground,hcLight:t.editorGutterDeletedBackground},(0,n.localize)("minimapGutterDeletedBackground","Minimap gutter background color for lines that are deleted.")),t.overviewRulerModifiedForeground=(0,r.registerColor)("editorOverviewRuler.modifiedForeground",{dark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),light:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterModifiedBackground,.6)},(0,n.localize)("overviewRulerModifiedForeground","Overview ruler marker color for modified content.")),t.overviewRulerAddedForeground=(0,r.registerColor)("editorOverviewRuler.addedForeground",{dark:(0,r.transparent)(t.editorGutterAddedBackground,.6),light:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterAddedBackground,.6)},(0,n.localize)("overviewRulerAddedForeground","Overview ruler marker color for added content.")),t.overviewRulerDeletedForeground=(0,r.registerColor)("editorOverviewRuler.deletedForeground",{dark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),light:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterDeletedBackground,.6)},(0,n.localize)("overviewRulerDeletedForeground","Overview ruler marker color for deleted content."))},38672:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMMenus=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(43718),v=e(64964),m=e(36367);let p=class extends _.Disposable{constructor(h){super(),this.contextKeyService=h}get resourceGroupMenu(){return this._resourceGroupMenu||(this._resourceGroupMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceGroupContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceGroupMenu}get resourceFolderMenu(){return this._resourceFolderMenu||(this._resourceFolderMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceFolderContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceFolderMenu}getResourceMenu(h){const d=h.contextValue;if(typeof d>"u")return this.resourceMenu||(this.resourceMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this.resourceMenu;this.contextualResourceMenu||(this.contextualResourceMenu=new Map);let u=this.contextualResourceMenu.get(d);if(!u){const E=this.contextKeyService.createScoped();(0,m.isSCMResource)(h)&&E.createKey("scmResourceState",d),u=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:E,config:{separator:"inline"}})),this.addDispose(E),this.contextualResourceMenu.set(d,u)}return u}dispose(){var h,d;super.dispose(),(h=this.resourceGroupMenu)===null||h===void 0||h.dispose(),(d=this.resourceMenu)===null||d===void 0||d.dispose(),this.contextualResourceMenu&&(this.contextualResourceMenu.clear(),this.contextualResourceMenu=void 0)}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],p.prototype,"menuService",void 0),p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],p);let s=class extends _.Disposable{constructor(h){var d;super(),this.resourceGroups=[],this.resourceGroupMenusItems=new Map;const u=this.injector.get(o.IContextKeyService);this.scopedContextKeyService=this.registerDispose(u.createScoped()),this.scopedContextKeyService.createKey("scmProvider",h.contextValue),this.scopedContextKeyService.createKey("scmProviderRootUri",(d=h.rootUri)===null||d===void 0?void 0:d.toString()),this.scopedContextKeyService.createKey("scmProviderHasRootUri",!!h.rootUri),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:h.groups.elements}),h.groups.onDidSplice(this.onDidSpliceGroups,this,this.disposables)}onDidSpliceGroups({start:h,deleteCount:d,toInsert:u}){const E=this.resourceGroups.splice(h,d,...u);for(const f of E){const c=this.resourceGroupMenusItems.get(f);c?.dispose(),this.resourceGroupMenusItems.delete(f)}}dispose(){super.dispose(),this.resourceGroupMenusItems.forEach(h=>h.dispose())}getResourceGroupMenu(h){return this.getResourceGroupMenus(h).resourceGroupMenu}getResourceMenu(h){return this.getResourceGroupMenus(h.resourceGroup).getResourceMenu(h)}getResourceFolderMenu(h){return this.getResourceGroupMenus(h).resourceFolderMenu}getResourceGroupMenus(h){let d=this.resourceGroupMenusItems.get(h);if(!d){const u=this.registerDispose(this.scopedContextKeyService.createScoped());u.createKey("scmResourceGroup",h.id),d=this.registerDispose(this.injector.get(p,[u])),this.resourceGroupMenusItems.set(h,d)}return d}get titleMenu(){return this._titleMenu||(this._titleMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMTitle,contextKeyService:this.scopedContextKeyService}))),this._titleMenu}get inputMenu(){return this._inputMenu||(this._inputMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMInput,contextKeyService:this.scopedContextKeyService}))),this._inputMenu}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],s.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],s);let g=class extends _.Disposable{constructor(){super(),this.menus=new Map,this.scmService.onDidRemoveRepository(this.onDidRemoveRepository,this,this.disposables)}onDidRemoveRepository(h){const d=this.menus.get(h.provider);d?.dispose(),this.menus.delete(h.provider)}getRepositoryMenus(h){let d=this.menus.get(h);if(!d){const u=this.injector.get(s,[h]);d={menus:u,dispose:()=>{u.dispose(),this.menus.delete(h)}},this.menus.set(h,d)}return d.menus}};t.SCMMenus=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],g.prototype,"scmService",void 0),t.SCMMenus=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},49914:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelContext=t.ResourceGroupSplicer=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(28423),v=e(64964);class m{constructor(a){this.repository=a,this.items=[],this.disposables=[],this._onDidSplice=new l.Emitter,this.onDidSplice=this._onDidSplice.event}run(){const a=this.repository.provider.groups;a.onDidSplice(this.onDidSpliceGroups,this,this.disposables),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:a.elements})}onDidSpliceGroups({start:a,deleteCount:h,toInsert:d}){let u=0;for(let b=0;b<a;b++){const A=this.items[b];u+=(A.visible?1:0)+A.group.elements.length}let E=0;for(let b=0;b<h;b++){const A=this.items[a+b];E+=(A.visible?1:0)+A.group.elements.length}const f=[],c=[];for(const b of d){const A=p(b);A&&c.push(b);for(const D of b.elements)c.push(D);const S=(0,l.combinedDisposable)([b.onDidChange(()=>this.onDidChangeGroup(b)),b.onDidSplice(D=>this.onDidSpliceGroup(b,D))]);f.push({group:b,visible:A,disposable:S})}const y=this.items.splice(a,h,...f);for(const b of y)b.disposable.dispose();this._onDidSplice.fire({target:this.repository,index:u,deleteCount:E,elements:c})}onDidChangeGroup(a){const h=this.items.findIndex(f=>f.group===a);if(h<0)return;const d=this.items[h],u=p(a);if(d.visible===u)return;let E=0;for(let f=0;f<h;f++){const c=this.items[f];E+=(c.visible?1:0)+c.group.elements.length}u?this._onDidSplice.fire({target:this.repository,index:E,deleteCount:0,elements:[a,...a.elements]}):this._onDidSplice.fire({target:this.repository,index:E,deleteCount:1+a.elements.length,elements:[]}),d.visible=u}onDidSpliceGroup(a,{start:h,deleteCount:d,toInsert:u}){const E=this.items.findIndex(b=>b.group===a);if(E<0)return;const f=this.items[E],c=p(a);if(!f.visible&&!c)return;let y=h;for(let b=0;b<E;b++){const A=this.items[b];y+=(A.visible?1:0)+A.group.elements.length}f.visible&&!c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:1+d,elements:u}):!f.visible&&c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:d,elements:[a,...u]}):this._onDidSplice.fire({target:this.repository,index:y+1,deleteCount:d,elements:u}),f.visible=c}dispose(){this.onDidSpliceGroups({start:0,deleteCount:this.items.length,toInsert:[]}),this.disposables=(0,l.dispose)(this.disposables)}}t.ResourceGroupSplicer=m;function p(g){return g.elements.length>0||!g.hideWhenEmpty}let s=class extends l.Disposable{get onDidSelectedRepoChange(){return this.onDidSelectedRepoChangeEmitter.event}get onAlwaysShowActionsChange(){return this.onAlwaysShowActionsChangeEmitter.event}get menus(){return this._menus}constructor(){super(),this.onDidSelectedRepoChangeEmitter=new l.Emitter,this.onAlwaysShowActionsChangeEmitter=new l.Emitter,this.onDidSCMListChangeEmitter=new l.Emitter,this.onDidSCMListChange=this.onDidSCMListChangeEmitter.event,this.onDidSCMRepoListChangeEmitter=new l.Emitter,this.onDidSCMRepoListChange=this.onDidSCMRepoListChangeEmitter.event,this.repoList=[],this.scmList=new Array,this.selectedRepos=(0,_.observableValue)(this,[]),this.spliceSCMList=(a,h,d,...u)=>{!this._currentWorkspace||this._currentWorkspace.toString()===a.toString()?this.scmList.splice(h,d,...u):this.scmList=[...u],this._currentWorkspace=a,this.onDidSCMListChangeEmitter.fire()},this.start(),this.initTreeAlwaysShowActions(),this.scmService.onDidChangeSelectedRepositories(this._handleSelectedRepoChanged,this,this.disposables),this._handleSelectedRepoChanged(this.scmService.selectedRepositories)}_handleSelectedRepoChanged(a){const[h]=a;h&&(this.toDisposableListener&&(this.toDisposableListener.dispose(),this.toDisposableListener=null),this.toDisposableListener=this.listenToCurrentRepo(h))}listenToCurrentRepo(a){const h=new l.DisposableStore,d=new m(a),u=l.Event.filter(d.onDidSplice,E=>E.target===a);return h.add(u(({index:E,deleteCount:f,elements:c})=>{if(c.some(y=>y.id==="merge")){const y=[],b={};c.forEach(A=>{Array.isArray(A.elements)&&A.elements.forEach(S=>{y.push(S.sourceUri),b[S.sourceUri.toString()]=!0})}),this.commandService.executeCommand("setContext","git.mergeChanges",y),this.commandService.executeCommand("setContext","git.mergeChangesObj",b)}a.provider.rootUri&&this.spliceSCMList(a.provider.rootUri,E,f,...c)})),d.run(),h.add(d),(0,l.toDisposable)(()=>{h.clear()})}initTreeAlwaysShowActions(){this.alwaysShowActions=!!this.preferenceService.get("scm.alwaysShowActions"),this.disposables.push(this.preferenceService.onSpecificPreferenceChange("scm.alwaysShowActions",a=>{this.alwaysShowActions!==a.newValue&&this.updateAlwaysShowActions(a.newValue)}))}start(){this.scmService.onDidAddRepository(a=>{this.addRepo(a)},this,this.disposables),this.scmService.onDidRemoveRepository(a=>{this.deleteRepo(a)},this,this.disposables),this.scmService.onDidChangeSelectedRepositories(a=>{this.changeSelectedRepos(a)},this,this.disposables),this.scmService.repositories.forEach(a=>{this.addRepo(a)})}updateAlwaysShowActions(a){this.alwaysShowActions=a,this.onAlwaysShowActionsChangeEmitter.fire(a)}addRepo(a){if(this.repoList.find(h=>{var d,u;return((d=h.provider.rootUri)===null||d===void 0?void 0:d.toString())===((u=a.provider.rootUri)===null||u===void 0?void 0:u.toString())})){this.logger.warn("duplicate scm repo",a);return}this.repoList.push(a),a.selected&&this.repoList.length===1&&this.changeSelectedRepos([a]),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}deleteRepo(a){const h=this.repoList.indexOf(a);if(h<0){this.logger.warn("no such scm repo",a);return}this.repoList.splice(h,1),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}changeSelectedRepos(a){(0,_.transaction)(d=>{this.selectedRepos.set(a,d)});const h=a[0];this.selectedRepo=h,this.onDidSelectedRepoChangeEmitter.fire(h)}};t.ViewModelContext=s,n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(v.ISCMMenus),n.__metadata("design:type",Object)],s.prototype,"_menus",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.ViewModelContext=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},73018:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMPreferences=t.scmPreferenceSchema=void 0,t.bindSCMPreference=o;const n=e(41869),r=e(64964);t.scmPreferenceSchema={id:"scm",order:5,title:(0,n.localize)("scmConfigurationTitle","SCM"),type:"object",properties:{"scm.alwaysShowProviders":{type:"boolean",description:(0,n.localize)("alwaysShowProviders","Controls whether to always show the Source Control Provider section."),default:!1},"scm.providers.visible":{type:"number",description:(0,n.localize)("providersVisible","Controls how many providers are visible in the Source Control Provider section. Set to `0` to be able to manually resize the view."),default:10},"scm.diffDecorations":{type:"string",enum:["all","gutter","overview","none"],default:"all",description:(0,n.localize)("diffDecorations","Controls diff decorations in the editor.")},"scm.alwaysShowDiffWidget":{type:"boolean",description:(0,n.localize)("alwaysShowDiffWidget","Controls whether to always click to show the Dirty Diff Widget."),default:!0},"scm.diffDecorationsGutterWidth":{type:"number",enum:[1,2,3,4,5],default:3,description:(0,n.localize)("diffGutterWidth","Controls the width(px) of diff decorations in gutter (added & modified).")},"scm.alwaysShowActions":{type:"boolean",description:(0,n.localize)("alwaysShowActions","Controls whether inline actions are always visible in the Source Control view."),default:!1},"scm.defaultViewMode":{type:"string",enum:[r.SCMViewModelMode.Tree,r.SCMViewModelMode.List],description:(0,n.localize)("scm.defaultViewMode","Controls the default Source Control repository view mode."),default:r.SCMViewModelMode.List},"scm.listView.compactFolders":{type:"boolean",description:(0,n.localize)("scmListViewCompactFolders","Controls whether the source control view should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element."),default:!0}}},t.SCMPreferences=Symbol("SCMPreferences");function o(l){l.addProviders({token:t.SCMPreferences,useFactory:_=>{const v=_.get(n.PreferenceService);return(0,n.createPreferenceProxy)(v,t.scmPreferenceSchema)}})}},36367:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSCMResource=o,t.isSCMResourceGroup=l,t.getSCMResourceGroupContextValue=_,t.getSCMRepositoryDesc=v;const n=e(41869),{basename:r}=n.path;function o(m){return!!m.sourceUri&&l(m.resourceGroup)}function l(m){return!!m.provider&&!!m.elements}function _(m){return o(m)?m.resourceGroup.id:m.id}function v(m){const p=m.provider.rootUri,s=p?r(m.provider.rootUri.path):m.provider.label,g=p?m.provider.label:"";return{title:s,type:g}}},94556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMViewContainer=t.SCMProvidersView=t.SCMResourcesViewWrapper=t.SCMResourcesView=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),_=e(1149),v=e(93899),m=e(43718),p=e(70936),s=e(91527),g=e(24429),a=e(64964),h=e(57492),d=e(37751),u=e(24748),E=e(49914),f=e(36367),c=n.__importDefault(e(41373)),y=38,b=38,A=10,S=({repository:w,viewState:T})=>{const R=(0,o.useInjectable)(o.IContextKeyService),M=(0,o.useInjectable)(v.IMenuRegistry),O=(0,o.useInjectable)(E.ViewModelContext),x=(0,r.useRef)(null),k=(0,r.useRef)(),F=(0,r.useRef)({}),[L,N]=(0,r.useState)();(0,r.useEffect)(()=>{x&&x.current&&(F.current.ctx=R.createScoped(x.current))},[]),(0,r.useEffect)(()=>{F.current.ctx&&F.current.ctx.createKey("scmRepository",w),U();const Q=w.provider.onDidChange(()=>{U()});return()=>{Q.dispose()}},[w]);const U=(0,r.useCallback)(()=>{var Q;if((Q=k.current)===null||Q===void 0||Q.dispose(),k.current=new m.DisposableCollection,!!w.provider.actionButton){if(k.current.push(M.registerMenuItem(v.MenuId.SCMInput,{command:{id:w.provider.actionButton.command.id,label:w.provider.actionButton.command.title},extraTailArgs:w.provider.actionButton.command.arguments,group:"navigation",type:"primary",enabledWhen:w.provider.actionButton.enabled?"true":"false"})),Array.isArray(w.provider.actionButton.secondaryCommands))for(let $=0;$<w.provider.actionButton.secondaryCommands.length;$++)for(const Z of w.provider.actionButton.secondaryCommands[$])k.current.push(M.registerMenuItem(v.MenuId.SCMInput,{command:{id:Z.id,label:Z.title},extraTailArgs:Z.arguments,group:`${$}_secondary`,enabledWhen:w.provider.actionButton.enabled?"true":"false"}));W()}},[w,k.current]),W=(0,r.useCallback)(()=>{const Q=O.menus.getRepositoryMenus(w.provider);Q&&N(Q.inputMenu)},[w,L]),j=w&&w.provider&&L;return r.default.createElement("div",{className:c.default.view,ref:x},r.default.createElement("div",{className:c.default.scm,style:{paddingTop:A}},r.default.createElement(d.SCMResourceInput,{repository:w,menus:L}),r.default.createElement(u.SCMResourceTree,{height:T.height-y-A-(j?b:0)})))};t.SCMResourcesView=S,t.SCMResourcesView.displayName="SCMResourcesView";const D=w=>{const T=(0,o.useInjectable)(E.ViewModelContext),R=(0,o.useAutorun)(T.selectedRepos);if(!R.length)return r.default.createElement(g.WelcomeView,{viewId:a.SCM_WELCOME_ID});const M=R[0];return!M||!M.provider?null:r.default.createElement(t.SCMResourcesView,{repository:M,viewState:w.viewState})};t.SCMResourcesViewWrapper=D,t.SCMResourcesViewWrapper.displayName="SCMResourcesViewWrapper",t.SCMProvidersView=(0,r.memo)(({viewState:w,repoList:T,selectedRepo:R})=>r.default.createElement("div",{className:c.default.view},T.length>1&&r.default.createElement(h.SCMProviderList,{viewState:w,repositoryList:T,selectedRepository:R}))),t.SCMProvidersView.displayName="SCMProvidersView";const I=w=>{const T=(0,o.useInjectable)(E.ViewModelContext),R=T.selectedRepo,M=(0,o.useInjectable)(_.LayoutViewSizeConfig),[O,x]=(0,r.useState)([]),k=(0,r.useCallback)(()=>{x([...T.repoList])},[O,T]);(0,r.useEffect)(()=>{const j=new m.DisposableCollection;return j.push(T.onDidSCMListChange(k)),j.push(T.onDidSCMRepoListChange(k)),()=>{j.dispose()}},[T]);const F=O.length>1,L=(0,r.useMemo)(()=>O.length===1&&R?`${(0,m.localize)("scm.title")}: ${R.provider.label}`:(0,m.localize)("scm.title"),[O,R]),N=(0,r.useMemo)(()=>{let j=(0,m.localize)("scm.title");if(F&&R){const{title:Q,type:$}=(0,f.getSCMRepositoryDesc)(R);j=Q+"-"+$}return j},[F,R]),U=(0,r.useMemo)(()=>{if(R)return T.menus.getRepositoryMenus(R?.provider).titleMenu},[R]),W=(0,r.useMemo)(()=>{const j={component:t.SCMProvidersView,id:a.scmProviderViewId,name:(0,m.localize)("scm.provider.title"),initialProps:{viewState:w.viewState,repoList:O,selectedRepo:R},priority:0},Q={component:t.SCMResourcesViewWrapper,id:a.scmResourceViewId,name:N,titleMenu:F&&U||void 0,titleMenuContext:R&&R.provider&&[R.provider],priority:1};return(F?[j]:[]).concat(Q)},[F,N,R,O]);return r.default.createElement("div",{className:c.default.view},r.default.createElement(s.TitleBar,{title:L,height:M.panelTitleBarHeight,menubar:!F&&U?r.default.createElement(l.InlineMenuBar,{menus:U,context:R&&R.provider&&[R.provider],moreTitle:(0,m.localize)("scm.action.git.more","More Actions")}):null}),r.default.createElement(p.AccordionContainer,{views:W,containerId:a.scmContainerId,style:{height:`calc(100% - ${M.panelTitleBarHeight}px)`}}))};t.SCMViewContainer=I,t.SCMViewContainer.displayName="SCMViewContainer"},75756:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMContribution=t.SCM_ACCEPT_INPUT=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(21634),_=e(68456),v=e(93899),m=e(43718),p=e(98295),s=e(23418),g=e(63067),a=e(64964),h=e(38563),d=e(63451),u=e(71972),E=e(7114),f=e(73018),c=e(94556);t.SCM_ACCEPT_INPUT={id:"scm.acceptInput"};let y=class{constructor(){this.toDispose=new o.Disposable,this.schema=f.scmPreferenceSchema,this.diffChangesIndex=new Map}onStart(){this.viewsRegistry.registerViewWelcomeContent(a.scmResourceViewId,{content:(0,m.localize)("welcome-view.noOpenRepo","No source control providers registered."),when:"default"}),this.extensionsPointService.appendExtensionPoint(["browserViews","properties"],{extensionPoint:a.scmContainerId,frameworkKind:["opensumi"],jsonSchema:{...l.browserViews.properties,description:(0,m.formatLocalize)("sumiContributes.browserViews.location.custom",(0,m.localize)("status-bar.scm"))}})}onDidRender(){[this.statusUpdater,this.statusBarController,this.dirtyDiffWorkbenchController].forEach(A=>{A.start(),this.toDispose.addDispose(A)})}onStop(){this.toDispose.dispose()}registerCommands(A){A.registerCommand(a.OPEN_DIRTY_DIFF_WIDGET,{execute:async S=>{const D=this.editorService.currentEditor;if(D){const I=D.monacoEditor;this.dirtyDiffWorkbenchController.toggleDirtyDiffWidget(I,{lineNumber:S,column:1}),setTimeout(()=>{I.revealLineInCenter(S)},0)}}}),A.registerCommand(a.CLOSE_DIRTY_DIFF_WIDGET,{execute:async()=>{const S=this.editorService.currentEditor;if(S){const D=S.monacoEditor;this.dirtyDiffWorkbenchController.closeDirtyDiffWidget(D)}}}),A.registerCommand(a.GOTO_PREVIOUS_CHANGE,{execute:()=>{var S;const D=this.editorService.currentEditor;if(D&&D.currentUri){const I=this.getDiffChangeLineNumber(D.currentUri,D,"previous");D.monacoEditor.focus();const w=(S=D.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(I,0);D.monacoEditor.setPosition(w),D.monacoEditor.revealLineInCenter(I)}}}),A.registerCommand(a.GOTO_NEXT_CHANGE,{execute:()=>{var S;const D=this.editorService.currentEditor;if(D&&D.currentUri){const I=this.getDiffChangeLineNumber(D.currentUri,D,"next");D.monacoEditor.focus();const w=(S=D.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(I,0);D.monacoEditor.setPosition(w),D.monacoEditor.revealLineInCenter(I)}}}),A.registerCommand(a.TOGGLE_DIFF_SIDE_BY_SIDE,{execute:()=>{const S=!this.preferenceService.get("diffEditor.renderSideBySide");this.preferenceService.set("diffEditor.renderSideBySide",S,m.PreferenceScope.User)}}),A.registerCommand(a.SET_SCM_TREE_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!0)}}),A.registerCommand(a.SET_SCM_LIST_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!1)}}),A.registerCommand(o.SCM_COMMANDS.GetSCMResource,{execute:async S=>this.scmTreeAPI.getSCMResource(S)})}registerComponent(A){A.register("@opensumi/ide-scm",[],{iconClass:(0,o.getIcon)("scm"),title:(0,m.localize)("scm.title"),priority:8,containerId:a.scmContainerId,component:c.SCMViewContainer,activateKeyBinding:"ctrlcmd+shift+g"})}registerMenus(A){A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_PREVIOUS_CHANGE.id,label:(0,m.localize)("scm.diff.change.previous")},when:"isInDiffEditor",iconClass:(0,o.getIcon)("arrowup"),group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_NEXT_CHANGE.id,label:(0,m.localize)("scm.diff.change.next")},iconClass:(0,o.getIcon)("arrowdown"),when:"isInDiffEditor",group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.TOGGLE_DIFF_SIDE_BY_SIDE.id,label:(0,m.localize)("scm.diff.toggle.renderSideBySide")},when:"isInDiffEditor",group:"1_internal"}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_TREE_VIEW_MODE.id,label:(0,m.localize)("setTreeViewMode","View as Tree")},iconClass:(0,o.getExternalIcon)("list-tree"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.List}`,group:"navigation",order:-1}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_LIST_VIEW_MODE.id,label:(0,m.localize)("setListViewMode","View as List")},iconClass:(0,o.getExternalIcon)("list-flat"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.Tree}`,group:"navigation",order:-1})}getDiffChangesIndex(A,S){return this.diffChangesIndex.has(A)||(S.onDispose(()=>{this.diffChangesIndex.delete(A)}),this.diffChangesIndex.set(A,0)),this.diffChangesIndex.get(A)}getDiffEditor(A){const S=A.getId(),[D]=this.editorCollectionService.listDiffEditors().filter(I=>I.modifiedEditor.getId()===S||I.originalEditor.getId()===S);return D}getDiffChangeLineNumber(A,S,D){const I=this.getDiffChangesIndex(A,S),T=this.getDiffEditor(S).getLineChanges()||[];if(!T||T.length===0)return 0;let R=0;return D==="previous"?R=I-1<0?T.length-1:I-1:R=I>=T.length-1?0:I+1,this.diffChangesIndex.set(A,R),T[R][2]}};t.SCMContribution=y,n.__decorate([(0,r.Autowired)(E.SCMBadgeController),n.__metadata("design:type",E.SCMBadgeController)],y.prototype,"statusUpdater",void 0),n.__decorate([(0,r.Autowired)(E.SCMStatusBarController),n.__metadata("design:type",E.SCMStatusBarController)],y.prototype,"statusBarController",void 0),n.__decorate([(0,r.Autowired)(s.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorService)],y.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(a.IDirtyDiffWorkbenchController),n.__metadata("design:type",u.DirtyDiffWorkbenchController)],y.prototype,"dirtyDiffWorkbenchController",void 0),n.__decorate([(0,r.Autowired)(s.EditorCollectionService),n.__metadata("design:type",s.EditorCollectionService)],y.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(g.IMainLayoutService),n.__metadata("design:type",Object)],y.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",d.SCMTreeService)],y.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",h.SCMTreeAPI)],y.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(g.IViewsRegistry),n.__metadata("design:type",Object)],y.prototype,"viewsRegistry",void 0),n.__decorate([(0,r.Autowired)(m.IExtensionsSchemaService),n.__metadata("design:type",Object)],y.prototype,"extensionsPointService",void 0),t.SCMContribution=y=n.__decorate([(0,p.Domain)(o.ClientAppContribution,m.CommandContribution,_.ComponentContribution,o.PreferenceContribution,g.MainLayoutContribution,v.MenuContribution)],y)},49814:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GOTO_PREVIOUS_CHANGE=t.GOTO_NEXT_CHANGE=t.CLOSE_DIRTY_DIFF_WIDGET=t.OPEN_DIRTY_DIFF_WIDGET=t.IDirtyDiffWorkbenchController=void 0,t.IDirtyDiffWorkbenchController=Symbol("DirtyDiffWorkbenchController"),t.OPEN_DIRTY_DIFF_WIDGET={id:"OPEN_DIRTY_DIFF_WIDGET"},t.CLOSE_DIRTY_DIFF_WIDGET={id:"CLOSE_DIRTY_DIFF_WIDGET"},t.GOTO_NEXT_CHANGE={id:"workbench.action.compareEditor.nextChange"},t.GOTO_PREVIOUS_CHANGE={id:"workbench.action.compareEditor.previousChange"}},64964:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelSortKey=t.SCMViewModelMode=t.SET_SCM_LIST_VIEW_MODE=t.SET_SCM_TREE_VIEW_MODE=t.TOGGLE_DIFF_SIDE_BY_SIDE=t.scmItemLineHeight=t.SCM_WELCOME_ID=t.scmResourceViewId=t.scmProviderViewId=t.scmContainerId=void 0;const n=e(85608),r=e(30144);t.scmContainerId=r.SCM_CONTAINER_ID,t.scmProviderViewId="scm_provider",t.scmResourceViewId="scm_view",t.SCM_WELCOME_ID="scm-welcome",t.scmItemLineHeight=22,t.TOGGLE_DIFF_SIDE_BY_SIDE={id:"toggle.diff.renderSideBySide"},t.SET_SCM_TREE_VIEW_MODE={id:"workbench.scm.action.setTreeViewMode"},t.SET_SCM_LIST_VIEW_MODE={id:"workbench.scm.action.setListViewMode"};var o;(function(_){_.List="list",_.Tree="tree"})(o||(t.SCMViewModelMode=o={}));var l;(function(_){_.Path="path",_.Name="name",_.Status="status"})(l||(t.ViewModelSortKey=l={})),n.__exportStar(e(49697),t),n.__exportStar(e(66224),t),n.__exportStar(e(95588),t),n.__exportStar(e(49814),t),n.__exportStar(e(480),t)},480:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95588:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMMenus=void 0,t.ISCMMenus=Symbol("ISCMMenus")},49697:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMService=void 0;class e{}t.ISCMService=e},66224:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMService=void 0;const n=e(85608),r=e(76003),o=e(43718),{equals:l}=o.arrays;class _{constructor(){this._disposables=new o.DisposableStore,this._value="",this._onDidChange=this._disposables.add(new o.Emitter),this.onDidChange=this._onDidChange.event,this._placeholder="",this._onDidChangePlaceholder=this._disposables.add(new o.Emitter),this.onDidChangePlaceholder=this._onDidChangePlaceholder.event,this._visible=!0,this._props={},this._onDidChangeProps=this._disposables.add(new o.Emitter),this.onDidChangeProps=this._onDidChangeProps.event,this._onDidChangeVisibility=this._disposables.add(new o.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._enabled=!0,this._onDidChangeEnablement=this._disposables.add(new o.Emitter),this.onDidChangeEnablement=this._onDidChangeEnablement.event,this._validateInput=()=>Promise.resolve(void 0),this._onDidChangeValidateInput=this._disposables.add(new o.Emitter),this.onDidChangeValidateInput=this._onDidChangeValidateInput.event,this._onDidChangeActionButton=this._disposables.add(new o.Emitter),this.onDidChangeActionButton=this._onDidChangeActionButton.event}get value(){return this._value}set value(s){this._value=s,this._onDidChange.fire(s)}get placeholder(){return this._placeholder}set placeholder(s){this._placeholder=s,this._onDidChangePlaceholder.fire(s)}get visible(){return this._visible}set visible(s){this._visible=s,this._onDidChangeVisibility.fire(s)}get props(){return this._props}set props(s){this._props=s,this._onDidChangeProps.fire(this._props)}appendProps(s){this._props={...this._props,...s},this._onDidChangeProps.fire(this._props)}get enabled(){return this._enabled}set enabled(s){this._enabled=s,this._onDidChangeEnablement.fire(s)}get validateInput(){return this._validateInput}set validateInput(s){this._validateInput=s,this._onDidChangeValidateInput.fire()}get actionButton(){return this._actionButton}set actionButton(s){this._actionButton=s,this._onDidChangeActionButton.fire()}dispose(){this._disposables.dispose()}}class v{get selected(){return this._selected}constructor(s,g){this.provider=s,this.disposable=g,this._disposables=new o.DisposableStore,this._onDidFocus=this._disposables.add(new o.Emitter),this.onDidFocus=this._onDidFocus.event,this._selected=!1,this._onDidChangeSelection=this._disposables.add(new o.Emitter),this.onDidChangeSelection=this._onDidChangeSelection.event,this.input=new _}focus(){this._onDidFocus.fire()}setSelected(s){this._selected=s,this._onDidChangeSelection.fire(this)}dispose(){this._disposables.dispose(),this.disposable.dispose(),this.provider.dispose(),this.input.dispose()}}let m=class{constructor(){this._disposables=new o.DisposableStore,this._selectedRepositories=[],this._providerIds=new Set,this._repositories=[],this._onDidChangeSelectedRepositories=this._disposables.add(new o.Emitter),this.onDidChangeSelectedRepositories=this._onDidChangeSelectedRepositories.event,this._onDidAddProvider=this._disposables.add(new o.Emitter),this.onDidAddRepository=this._onDidAddProvider.event,this._onDidRemoveProvider=this._disposables.add(new o.Emitter),this.onDidRemoveRepository=this._onDidRemoveProvider.event,this.logger=(0,o.getDebugLogger)()}get selectedRepositories(){return[...this._selectedRepositories]}get repositories(){return[...this._repositories]}registerSCMProvider(s){if(this.logger.log("SCMService#registerSCMProvider"),this._providerIds.has(s.id))throw new Error(`SCM Provider ${s.id} already exists.`);this._providerIds.add(s.id);const g=(0,o.toDisposable)(()=>{const d=this._repositories.indexOf(a);d<0||(h.dispose(),this._providerIds.delete(s.id),this._repositories.splice(d,1),this._onDidRemoveProvider.fire(a),a.selected&&this._repositories.length>0&&this._repositories[0].setSelected(!0))}),a=new v(s,g),h=o.Event.filter(a.onDidChangeSelection,d=>d.selected)(this.onDidChangeSelection,this);return this._repositories.push(a),this._onDidAddProvider.fire(a),this._repositories.length===1&&a.setSelected(!0),a}setInputProps(s){this._repositories.forEach(g=>{g.input.props=s})}appendInputProps(s){this._repositories.forEach(g=>{g.input.appendProps(s)})}onDidChangeSelection(s){l(this._selectedRepositories,[s])||(this._repositories.filter(g=>g!==s).forEach(g=>{g.setSelected(!1)}),this._selectedRepositories=this._repositories.filter(g=>g.selected),this._onDidChangeSelectedRepositories.fire(this.selectedRepositories))}dispose(){this._disposables.dispose()}};t.SCMService=m,t.SCMService=m=n.__decorate([(0,r.Injectable)()],m)},61656:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(64964),t)},6556:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52925),_=e(50845),v=e(33301),m=e(86952),p=e(51495),s=e(5439);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:_.SearchContextKey,useClass:_.SearchContextKey},{token:l.IContentSearchClientService,useClass:p.ContentSearchClientService},{token:l.ISearchTreeService,useClass:s.SearchTreeService},m.SearchContribution],this.backServices=[{servicePath:l.ContentSearchServerPath,clientToken:l.IContentSearchClientService}],this.preferences=v.bindSearchPreference}};t.SearchModule=g,t.SearchModule=g=n.__decorate([(0,r.Injectable)()],g)},3956:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceAll=_,t.getSelection=v,t.replace=m;const n=e(85608),r=e(41869),o=e(43718),l=n.__importStar(e(20868));async function _(p,s,g,a,h,d,u,E,f){if(g.size<1)return!1;const c=Object.assign({},f);if(u&&c){const y={[(0,r.localize)("search.replace.buttonCancel")]:!1,[(0,r.localize)("search.replace.buttonOK")]:!0},b=await u.open({message:(0,o.formatLocalize)("search.removeAll.occurrences.files.confirmation.message",String(c.resultNum),String(c.fileNum),a),type:o.MessageType.Warning,buttons:Object.keys(y)});if(!y[b])return y[b]}for(const y of g){const b=y[1];await m(p,s,b,a,h,d)}return E&&c&&E.info((0,o.formatLocalize)("search.replaceAll.occurrencesMessage",String(c.resultNum),String(c.fileNum),a)),!0}function v(p){return[new l.Selection(p.line,p.matchStart,p.line,p.matchStart+p.matchLength)]}async function m(p,s,g,a,h,d){var u;const E=g.map(c=>p.getModelReference(new o.URI(c.fileUri))).filter(c=>c?.instance&&!c.instance.dirty),f=[];for(const c of g){let y=a;if(d&&a){let b;try{b=new RegExp(h)}catch{continue}const A=(u=c.renderLineText)===null||u===void 0?void 0:u.slice(c.matchStart-1,c.matchStart+c.matchLength-1);A&&(y=A.replace(b,a))}f.push({options:{dirtyIfInEditor:!0},resource:new o.URI(c.fileUri),textEdit:{range:new l.Range(c.line,c.matchStart,c.line,c.matchStart+c.matchLength),text:y}})}await s.apply({edits:f}),await Promise.all(E.map(async c=>{await c?.instance.save(),c?.dispose()}))}},50845:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(67386);let _=class{initScopedContext(m){this._contextKeyService=this.globalContextkeyService.createScoped(m),this.searchViewFocusedKey=l.SearchViewFocusedKey.bind(this._contextKeyService),this.searchInputBoxFocusedKey=l.SearchInputBoxFocusedKey.bind(this._contextKeyService),this.hasSearchResults=l.HasSearchResults.bind(this._contextKeyService),this.searchViewVisibleKey=l.SearchViewVisibleKey.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.SearchContextKey=_,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],_.prototype,"globalContextkeyService",void 0),t.SearchContextKey=_=n.__decorate([(0,r.Injectable)()],_)},96895:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchHistory=t.SEARCH_WORD_SCOPE=void 0;const n=e(41869);t.SEARCH_WORD_SCOPE="SEARCH_WORD";class r{constructor(l,_){this.searchHistoryList=[],this.currentIndex=-1,this.searchServiceClient=l,this.recentStorage=_}setRecentSearchWord(){this.currentIndex===-1&&(this.currentIndex=this.searchHistoryList.length),this.currentIndex=this.currentIndex-1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex<0)return this.currentIndex=0,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setRecentSearchWord();this.setSearchValue(l)}}setBackRecentSearchWord(){this.currentIndex=this.currentIndex+1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex>=this.searchHistoryList.length)return this.currentIndex=this.searchHistoryList.length-1,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setBackRecentSearchWord();this.setSearchValue(l)}}async initSearchHistory(){if(this.searchHistoryList.length>0)return;const l=await this.getMostRecentlySearchWord();this.searchHistoryList=this.searchHistoryList.concat(l||[])}async setSearchHistory(l){this.searchHistoryList.some(_=>_===l)||(this.searchHistoryList.push(l),await this.setMostRecentlySearchWord(l))}async getMostRecentlySearchWord(){return await(await this.recentStorage.getScopeStorage()).get(t.SEARCH_WORD_SCOPE)||[]}async setMostRecentlySearchWord(l){const _=await this.recentStorage.getScopeStorage();let v=[];const m=await this.getMostRecentlySearchWord()||[];(0,n.isArray)(l)?v=v.concat(l):v.push(l),v=m.concat(v),v=Array.from(new Set(v)),v=v.slice(v.length-10,v.length),_.set(t.SEARCH_WORD_SCOPE,v)}setSearchValue(l){this.searchServiceClient.searchValue=l,this.searchServiceClient.searchDebounce()}reset(){this.currentIndex=-1}}t.SearchHistory=r},33301:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSearchPreferencesProvider=t.SearchPreferences=t.searchPreferenceSchema=void 0,t.bindSearchPreference=o;const n=e(41869);t.searchPreferenceSchema={id:"search",order:5,title:(0,n.localize)("Search","\u641C\u7D22"),type:"object",properties:{"search.exclude":{type:"object",markdownDescription:"%preference.search.exclude%",default:{"**/node_modules":!0,"**/bower_components":!0,"**/.git":!0,"**/.svn":!0,"**/.hg":!0,"**/CVS":!0,"**/.DS_Store":!0,"**/Thumbs.db":!0}},"search.include":{type:"object",description:"%preference.search.include%",default:{}},"search.useReplacePreview":{type:"boolean",description:"%preference.search.useReplacePreview%",default:!0},"search.searchOnType":{type:"boolean",description:"%preference.search.searchOnType%",default:!0},"search.searchOnTypeDebouncePeriod":{type:"number",description:"%preference.search.searchOnTypeDebouncePeriod%",default:300}}},t.SearchPreferences=Symbol("SearchPreferences");const r=l=>({token:t.SearchPreferences,useFactory:()=>{const _=l.get(n.PreferenceService);return(0,n.createPreferenceProxy)(_,t.searchPreferenceSchema)}});t.createSearchPreferencesProvider=r;function o(l){l.addProviders((0,t.createSearchPreferencesProvider)(l))}},9767:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResultCollection=void 0;const n=e(52925);class r{constructor(){this.list=[],this.maxLength=5}pushAndGetResultList(l){const{id:_,data:v,searchState:m}=l,p=[];if(m===n.SEARCH_STATE.error||m===n.SEARCH_STATE.done){const s=this.getTempResult();return s&&p.push(s),p.push(l),p}if(v.length<1)return p.push(l),p;if(this.list.length>0)if(_===this.list[0].id)this.pushTempResult(l);else{const s=this.getTempResult();s&&p.push(s),this.pushTempResult(l)}else this.pushTempResult(l);return this.list.length>=this.maxLength&&p.push(this.getTempResult()),p}getTempResult(){let l;return this.list.length<1||(this.list.forEach((_,v)=>{v!==0&&(this.list[0].data=this.list[0].data.concat(_.data))}),l=this.list[0],this.list=[]),l}pushTempResult(l){this.list.push(l)}}t.SearchResultCollection=r},86952:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),_=e(67386),v=e(68456),m=e(93899),p=e(43718),s=e(98295),g=e(57517),a=e(63067),h=e(17793),d=e(72665),u=e(26199),E=e(52925),f=e(3956),c=e(33301),y=e(14851),b=e(5439),A=e(13072),S=e(86109);let D=class{constructor(){this.schema=c.searchPreferenceSchema,this.toDispose=new p.DisposableCollection}registerCommands(w){w.registerCommand(o.SEARCH_COMMANDS.OPEN_SEARCH,{execute:T=>{const R=this.mainLayoutService.getTabbarHandler(l.SEARCH_CONTAINER_ID);if(R){if(R.activate(),T&&T.includeValue){this.searchBrowserService.includeValue=T.includeValue,this.searchBrowserService.updateUIState({isDetailOpen:!0}),this.searchBrowserService.search();return}this.searchBrowserService.searchEditorSelection(),this.searchBrowserService.focus(),this.searchBrowserService.search()}}}),w.registerCommand(o.SEARCH_COMMANDS.REFRESH,{execute:()=>{this.searchBrowserService.search()}}),w.registerCommand(o.SEARCH_COMMANDS.CLEAN,{execute:()=>{this.searchBrowserService.clean()}}),w.registerCommand(o.SEARCH_COMMANDS.GET_RECENT_SEARCH_WORD,{execute:T=>{this.searchBrowserService.setRecentSearchWord()}}),w.registerCommand(o.SEARCH_COMMANDS.GET_BACK_RECENT_SEARCH_WORD,{execute:()=>{this.searchBrowserService.setBackRecentSearchWord()}}),w.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE,{execute:async T=>{if(!S.SearchFileNode.is(T)){const R=new Map;R.set(T.resource.toString(),[T.contentResult]),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)}},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),w.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE_ALL,{execute:async T=>{if(!S.SearchFileNode.is(T))return;const R=new Map;if(!T.children)return;const M=T.children.map(k=>k.contentResult),O={[(0,o.localize)("search.replace.buttonCancel")]:!1,[(0,o.localize)("search.replace.buttonOK")]:!0},x=await this.dialogService.open({message:(0,p.formatLocalize)("search.removeAll.occurrences.file.confirmation.message",String(M.length)),type:p.MessageType.Warning,buttons:Object.keys(O)});if(x&&!O[x])return O[x];R.set(T.resource.toString(),M),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),w.registerCommand(o.SEARCH_COMMANDS.MENU_HIDE,{execute:T=>{var R,M;S.SearchFileNode.is(T)?(this.searchBrowserService.resultTotal.fileNum-=1,this.searchBrowserService.resultTotal.resultNum-=T.branchSize,this.searchModelService.treeModel.root.unlinkItem(T)):(this.searchBrowserService.resultTotal.resultNum-=1,((M=(R=T.parent)===null||R===void 0?void 0:R.children)===null||M===void 0?void 0:M.length)===1&&(this.searchBrowserService.resultTotal.fileNum-=1,this.searchModelService.treeModel.root.unlinkItem(T.parent)),T.parent.unlinkItem(T)),this.searchBrowserService.fireTitleChange()}}),w.registerCommand(o.SEARCH_COMMANDS.MENU_COPY,{execute:T=>{var R;if(S.SearchFileNode.is(T)){let O=`${T.resource.codeUri.fsPath.toString()}
33721
33721
  `;(R=T.children)===null||R===void 0||R.forEach(x=>{const k=x.contentResult;O=O+`${k.line},${k.matchStart}: ${k.renderLineText}
33722
33722
  `}),this.clipboardService.writeText(O)}else{const M=T.contentResult;this.clipboardService.writeText(`${M.line},${M.matchStart}: ${M.renderLineText}`)}}}),w.registerCommand(o.SEARCH_COMMANDS.MENU_COPY_ALL,{execute:T=>{var R;let M;if(T?S.SearchFileNode.is(T)?M=[T]:M=[T.parent]:M=this.searchModelService.treeModel.root.children,!M)return;let O="";for(let x=0,k=M.length;x<k;x++){let L=`${M[x].resource.codeUri.fsPath.toString()}
33723
33723
  `;(R=M[x].children)===null||R===void 0||R.forEach(N=>{const U=N.contentResult;L=L+`${U.line},${U.matchStart}: ${U.renderLineText}