@opensumi/cli-engine 3.6.5-next-1735877538.0 → 3.6.5-next-1736135639.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.
- package/lib/browser/browser.js +1 -1
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -28795,7 +28795,7 @@ ${(0,o.formatLocalize)("terminal.integrated.exitedWithCode",h)}`),!((u=this.pres
|
|
|
28795
28795
|
`)}warn(d){this._validationStatus.state=2,this._outputChannel.append(d+`
|
|
28796
28796
|
`)}error(d){this._validationStatus.state=3,this._outputChannel.append(d+`
|
|
28797
28797
|
`)}fatal(d){this._validationStatus.state=4,this._outputChannel.append(d+`
|
|
28798
|
-
`)}get status(){return this._validationStatus}}let h=class extends o.Disposable{constructor(){super(),this._onDidStateChange=new l.Emitter,this.onDidStateChange=this._onDidStateChange.event,this._onDidRegisterTaskProvider=new l.Emitter,this.onDidRegisterTaskProvider=this._onDidRegisterTaskProvider.event,this.providerHandler=0,this.runningTasks=new Map,this.toQuickOpenItem=d=>{var v;return new o.QuickOpenItem({label:d._label||"",detail:d instanceof _.ContributedTask?`${d.command.name||""} ${d.command.args?(v=d.command.args)===null||v===void 0?void 0:v.join(" "):""}`:void 0,run:f=>f===o.Mode.OPEN?(this.runTask(d),!0):!1})},this.providers=new Map,this.providerTypes=new Map,this.addDispose([this.taskSystem.onDidStateChange(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidBackgroundTaskBegin(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidBackgroundTaskEnded(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidProblemMatched(d=>this._onDidStateChange.fire(d))])}get outputChannel(){return this._outputChannel||(this._outputChannel=this.outputService.getChannel((0,o.localize)("task.outputchannel.name"))),this._outputChannel}get workspaceFolders(){return this._workspaceFolders||this.tryGetWorkspaceFolders(),this._workspaceFolders}tryGetWorkspaceFolders(){this._workspaceFolders=this.workspaceService.tryGetRoots().map(d=>o.Uri.parse(d.uri))}async runTaskCommand(){const d=await this.getGroupedTasks(),v=await this.getWorkspaceTasks(d),[f,a]=this.combineQuickItems(d,v);this.quickOpenService.open({onType:(b,y)=>y([...f,...a])},{placeholder:(0,o.formatLocalize)("TaskService.pickRunTask")})}run(d){return this.runTask(d)}async attach(d,v){if(this.runningTasks.has(d))return;const[,,,f]=d.split(",");if(f)if(this.providerTypes.has(f)){const a=await this.getTask(this.workspaceFolders[0],d);a&&(this.taskSystem.attach(a,v),this.runningTasks.set(d,a))}else{const a=this._onDidRegisterTaskProvider.event(async b=>{if(b===f){const y=await this.getTask(this.workspaceFolders[0],d);y&&(this.taskSystem.attach(y,v),this.runningTasks.set(d,y),a.dispose())}})}}async terminateTask(d){const v=this.taskSystem.getActiveTasks();for(const f of v)f._id===d&&await this.taskSystem.terminate(f)}getTask(d,v,f=!1){const a=(0,o.isString)(v)?v:this.taskDefinitionRegistry.createTaskIdentifier(v,console);return a===void 0?Promise.resolve(void 0):this.getWorkspaceGroupedTasks(d).then(b=>{if(!b)return Promise.resolve(void 0);const y=b.get(d.toString());if(!y)return Promise.resolve(void 0);for(const S of y)if(S.matches(a,f)||S._id===v||S._label===v)return S})}async runTask(d){const v=await this.taskSystem.run(d);return v.promise.then(f=>{this.runningTasks.has(d._id)&&this.runningTasks.delete(d._id),this.outputChannel.appendLine(`Task ${d._label} done, exit code ${f.exitCode}`)}),this.runningTasks.set(d._id,d),Promise.resolve(v.promise)}async tasks(d){var v;const f=await this.getWorkspaceGroupedTasks(),a=[];for(const b of f.values())for(const y of b)d&&d.type&&((v=y.getDefinition())===null||v===void 0?void 0:v.type)===d.type&&a.push(y);return a}async getWorkspaceGroupedTasks(d=this.workspaceFolders[0]){const v=await this.getGroupedTasks(),f=await this.getWorkspaceTasks(v),a=[];for(const S of v)S.tasks&&S.tasks.length>0&&a.push(...S.tasks);const b=f?.get(d.toString());b&&b.set&&a.push(...b.set.tasks);const y=new Map;return y.set(d.toString(),a),y}async getGroupedTasks(){const d={};for(const f of this.taskDefinitionRegistry.all())d[f.taskType]=!0;d.shell=!0,d.process=!0;const v=[];for(const[,f]of this.providers){const a=await f.provideTasks(d);v.push(a)}return v}toQuickOpenGroupItem(d,v,f){return new o.QuickOpenItem({groupLabel:d?(0,o.formatLocalize)("task.contribute"):void 0,run:v,showBorder:d,label:f,value:{type:f,grouped:!0},iconClass:(0,o.getIcon)("folder")})}combineQuickItems(d,v){var f,a;const b=[],y=[];let S=!0;for(const A of d){const T=D=>D===o.Mode.OPEN?(this.quickOpenService.open({onType:(I,O)=>A.tasks.length===0?O([new o.QuickOpenItem({value:"none",label:(0,o.formatLocalize)("task.cannotFindTask",A.type),run:P=>P===o.Mode.OPEN})]):O(A.tasks.map(this.toQuickOpenItem))}),!1):!0,w=this.toQuickOpenGroupItem(S,T,A.type);b.push(w),S=!1}if(v){for(const A of v.values())if(!((f=A.configurations)===null||f===void 0)&&f.byIdentifier&&Object.keys((a=A.configurations)===null||a===void 0?void 0:a.byIdentifier).forEach(T=>{var w;const D=(w=A.configurations)===null||w===void 0?void 0:w.byIdentifier[T];y.push(this.toQuickOpenItem(D))}),A.set&&A.set.tasks.length>0)for(const T of A.set.tasks)y.push(this.toQuickOpenItem(T))}return[y,b]}async getWorkspaceTasks(d){return this.updateWorkspaceTasks(d)}updateWorkspaceTasks(d){return this.workspaceFolders.length===0?Promise.resolve(new Map):this.workspaceFolders.length===1?this.computeWorkspaceFolderTasks(this.workspaceFolders[0],d).then(v=>{const f=new Map;return f.set(this.workspaceFolders[0].toString(),v),f}):Promise.resolve(void 0)}computeWorkspaceFolderTasks(d,v){return new Promise(async f=>{const a=this.preferences.get("tasks"),b=new Map;for(const y of v)for(const S of y.tasks)_.ContributedTask.is(S)&&b.set(S.defines._key,S);if(a&&a.tasks){let y;const S=[];let A=!1;const T=new c(this.outputChannel),w=(0,g.parse)({uri:d,name:d.path,index:0},l.platform,a,T,this.taskDefinitionRegistry,this.problemMatcher,this.problemPattern);if(w.validationStatus.isOK()||(A=!0,this.showOutput()),w.configured&&w.configured.length>0){y={byIdentifier:Object.create(null)};for(const D of w.configured)y.byIdentifier[D.configures._key]=D}S.push(...w.custom),y&&y.byIdentifier&&Object.keys(y.byIdentifier).forEach(D=>{if(b.has(D)){const I=(0,g.createCustomTask)(b.get(D),y.byIdentifier[D]);y.byIdentifier[D]=I}}),f({workspaceFolder:{uri:d,name:d.path,index:0},set:{tasks:S},configurations:y,hasErrors:A})}else f({workspaceFolder:{uri:d,name:d.path,index:0},set:{tasks:[]},configurations:{byIdentifier:{}},hasErrors:!1})})}showOutput(){this.outputChannel.appendLine("There are task errors. See the output for details.")}rerunLastTask(){return this.taskSystem.rerun()}registerTaskProvider(d,v){const f=this.providerHandler+=1;return this.providers.set(f,d),this.providerTypes.set(v,f),this._onDidRegisterTaskProvider.fire(v),{dispose:()=>{this.providers.delete(f),this.providerTypes.delete(v)}}}};t.TaskService=h,n.__decorate([(0,r.Autowired)(m.OutputService),n.__metadata("design:type",m.OutputService)],h.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],h.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],h.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],h.prototype,"preferences",void 0),n.__decorate([(0,r.Autowired)(p.ITaskSystem),n.__metadata("design:type",Object)],h.prototype,"taskSystem",void 0),n.__decorate([(0,r.Autowired)(l.ITaskDefinitionRegistry),n.__metadata("design:type",Object)],h.prototype,"taskDefinitionRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IProblemMatcherRegistry),n.__metadata("design:type",Object)],h.prototype,"problemMatcher",void 0),n.__decorate([(0,r.Autowired)(l.IProblemPatternRegistry),n.__metadata("design:type",Object)],h.prototype,"problemPattern",void 0),t.TaskService=h=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],h)},66893:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalTaskSystem=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(80907),m=e(1041),E=e(12968),p=e(95268),{deepClone:_}=o.objects,{Path:s}=o.path;let g=class extends o.Disposable{constructor(){super(...arguments),this.executorId=0,this.activeTaskExecutors=new Map,this._onDidStateChange=new o.Emitter,this._onDidBackgroundTaskBegin=new o.Emitter,this._onDidBackgroundTaskEnded=new o.Emitter,this._onDidProblemMatched=new o.Emitter,this.taskExecutors=[],this.onDidStateChange=this._onDidStateChange.event,this.onDidBackgroundTaskBegin=this._onDidBackgroundTaskBegin.event,this.onDidBackgroundTaskEnded=this._onDidBackgroundTaskEnded.event,this.onDidProblemMatched=this._onDidProblemMatched.event}run(h){return this.currentTask=h,this.executeTask(h)}attach(h,u){return this.currentTask=h,this.attachTask(h,u)}async buildShellConfig(h){let u="";const d=h.name,v=h.args,f=[],a=[];if(d&&(typeof d=="string"?u=d:u=d.value),f.push(u),v)for(const b of v)typeof b=="string"?f.push(b):f.push(b.value);for(const b of f)b.indexOf(s.separator)>-1?a.push(await this.resolveVariables(b.split(s.separator))):a.push(await this.resolveVariable(b));return{args:["-c",`${a.join(" ")}`]}}findAvailableExecutor(){return this.taskExecutors.find(h=>h.taskStatus===p.TaskStatus.PROCESS_EXITED)}async createTaskExecutor(h,u){const d=await this.resolveMatchers(h.configurationProperties.problemMatchers),v=new E.ProblemCollector(d),f=this.injector.get(p.TerminalTaskExecutor,[h,u,v,this.executorId]);return this.executorId+=1,this.taskExecutors.push(f),this.addDispose(f.onDidTerminalWidgetRemove(()=>{this.taskExecutors=this.taskExecutors.filter(a=>a.executorId!==f.executorId)})),f}async attachTask(h,u){const v=(await this.createTaskExecutor(h,u.launchConfig)).attach(u);return this.lastTask=h,{task:h,kind:1,promise:v}}async executeTask(h){var u,d,v;const f=h.command&&h.command.runtime===m.RuntimeType.CustomExecution,a=await this.resolveMatchers(h.configurationProperties.problemMatchers),b=new E.ProblemCollector(a),{args:y}=await this.buildShellConfig(h.command),S={name:this.createTerminalName(h),args:y,isExtensionOwnedTerminal:f,env:((u=h.command.options)===null||u===void 0?void 0:u.env)||{},cwd:!((d=h.command.options)===null||d===void 0)&&d.cwd?await this.resolveVariable((v=h.command.options)===null||v===void 0?void 0:v.cwd):await this.resolveVariable("${workspaceFolder}"),disablePreserveHistory:!0};let A=this.findAvailableExecutor(),T=!1;A?(T=!0,A.updateProblemCollector(b),A.updateLaunchConfig(S),A.reset()):A=await this.createTaskExecutor(h,S),T?this._onDidStateChange.fire(m.TaskEvent.create("start",h,A.terminalId)):this.addDispose(A.onDidTerminalCreated(I=>{this._onDidStateChange.fire(m.TaskEvent.create("start",h,I))})),T||(this.addDispose(A.onDidTaskProcessExit(I=>{this._onDidStateChange.fire(m.TaskEvent.create("processEnded",h,I)),this._onDidStateChange.fire(m.TaskEvent.create("end",h))})),this.addDispose(A.onDidBackgroundTaskBegin(()=>this._onDidBackgroundTaskBegin.fire(m.TaskEvent.create("backgroundTaskBegin",h)))),this.addDispose(A.onDidBackgroundTaskEnd(()=>this._onDidBackgroundTaskEnded.fire(m.TaskEvent.create("backgroundTaskEnded",h)))),this.addDispose(A.onDidProblemMatched(I=>this._onDidProblemMatched.fire(m.TaskEvent.create("problemMatched",h,I)))));const w=A.execute(h,T),D=h.getMapKey();return this.activeTaskExecutors.set(D,{promise:Promise.resolve(w),task:h,executor:A}),this._onDidStateChange.fire(m.TaskEvent.create("active",h)),await A.processReady.promise,this._onDidStateChange.fire(m.TaskEvent.create("processStarted",h,A.processId)),this.lastTask=h,{task:h,kind:1,promise:w}}createTerminalName(h){return(0,o.formatLocalize)("TerminalTaskSystem.terminalName",h.getQualifiedLabel()||h.configurationProperties.name)}async resolveVariables(h){const u=[];for(const d of h)u.push(await this.resolveVariable(d));return u.join(s.separator)}async resolveVariable(h){if((0,o.isString)(h))return await this.variableResolver.resolve(h);if(h!==void 0)return{value:await this.variableResolver.resolve(h.value),quoting:h.quoting};throw new Error("Should never try to resolve undefined.")}async resolveMatchers(h){if(h==null||h.length===0)return[];const u=[];for(const d of h){let v;if((0,o.isString)(d)?d[0].startsWith("$")?v=this.problemMatcher.get(d.substring(1)):v=this.problemMatcher.get(d):v=d,!v)continue;const f=v.filePrefix!==void 0;if(!f)u.push(v);else{const a=_(v);f&&(a.filePrefix=await this.resolveVariable(a.filePrefix)),u.push(a)}}return u}getActiveTasks(){return Array.from(this.activeTaskExecutors.values()).map(h=>h.task)}async terminate(h){const u=h.getMapKey(),d=this.activeTaskExecutors.get(u);if(!d)return Promise.resolve({task:void 0,success:!0});const{success:v}=await d.executor.terminate();return this.activeTaskExecutors.delete(u),{task:h,success:v}}async rerun(){return this.lastTask&&await this.executeTask(this.lastTask)}isActive(){throw new Error("Method not implemented.")}isActiveSync(){throw new Error("Method not implemented.")}getBusyTasks(){throw new Error("Method not implemented.")}canAutoTerminate(){throw new Error("Method not implemented.")}terminateAll(){throw new Error("Method not implemented.")}revealTask(h){throw new Error("Method not implemented.")}customExecutionComplete(h,u){throw new Error("Method not implemented.")}};t.TerminalTaskSystem=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)(o.IProblemMatcherRegistry),n.__metadata("design:type",Object)],g.prototype,"problemMatcher",void 0),n.__decorate([(0,r.Autowired)(l.IVariableResolverService),n.__metadata("design:type",Object)],g.prototype,"variableResolver",void 0),t.TerminalTaskSystem=g=n.__decorate([(0,r.Injectable)()],g)},93950:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITaskSystem=t.ITaskExecutor=t.ITaskService=void 0,t.ITaskService=Symbol("ITaskService"),t.ITaskExecutor=Symbol("ITaskExecutor"),t.ITaskSystem=Symbol("ITaskSystem")},1041:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaskEvent=t.TaskSorter=t.ExecutionEngine=t.InMemoryTask=t.ContributedTask=t.ConfiguringTask=t.CustomTask=t.CommonTask=t.RunOptions=t.RunOnOptions=t.TaskSourceKind=t.TaskGroup=t.CommandString=t.RuntimeType=t.PresentationOptions=t.PanelKind=t.RevealProblemKind=t.RevealKind=t.CommandOptions=t.CUSTOMIZED_TASK_TYPE=t.ShellQuoting=t.TASK_RUNNING_STATE=void 0;const n=e(40191),r=e(43718),{basename:o}=r.path;t.TASK_RUNNING_STATE=new n.RawContextKey("taskRunning",!1);var l;(function(D){D[D.Escape=1]="Escape",D[D.Strong=2]="Strong",D[D.Weak=3]="Weak"})(l||(t.ShellQuoting=l={})),t.CUSTOMIZED_TASK_TYPE="$customized",function(D){function I(O){if(!O)return D.Strong;switch(O.toLowerCase()){case"escape":return D.Escape;case"strong":return D.Strong;case"weak":return D.Weak;default:return D.Strong}}D.from=I}(l||(t.ShellQuoting=l={}));var m;(function(D){D.defaults={cwd:"${workspaceFolder}"}})(m||(t.CommandOptions=m={}));var E;(function(D){D[D.Always=1]="Always",D[D.Silent=2]="Silent",D[D.Never=3]="Never"})(E||(t.RevealKind=E={})),function(D){function I(O){switch(O.toLowerCase()){case"always":return D.Always;case"silent":return D.Silent;case"never":return D.Never;default:return D.Always}}D.fromString=I}(E||(t.RevealKind=E={}));var p;(function(D){D[D.Never=1]="Never",D[D.OnProblem=2]="OnProblem",D[D.Always=3]="Always"})(p||(t.RevealProblemKind=p={})),function(D){function I(O){switch(O.toLowerCase()){case"always":return D.Always;case"never":return D.Never;case"onproblem":return D.OnProblem;default:return D.OnProblem}}D.fromString=I}(p||(t.RevealProblemKind=p={}));var _;(function(D){D[D.Shared=1]="Shared",D[D.Dedicated=2]="Dedicated",D[D.New=3]="New"})(_||(t.PanelKind=_={})),function(D){function I(O){switch(O.toLowerCase()){case"shared":return D.Shared;case"dedicated":return D.Dedicated;case"new":return D.New;default:return D.Shared}}D.fromString=I}(_||(t.PanelKind=_={}));var s;(function(D){D.defaults={echo:!0,reveal:E.Always,revealProblems:p.Never,focus:!1,panel:_.Shared,showReuseMessage:!0,clear:!1}})(s||(t.PresentationOptions=s={}));var g;(function(D){D[D.Shell=1]="Shell",D[D.Process=2]="Process",D[D.CustomExecution=3]="CustomExecution",D[D.CustomExecution2=4]="CustomExecution2"})(g||(t.RuntimeType=g={})),function(D){function I(O){switch(O.toLowerCase()){case"shell":return D.Shell;case"process":return D.Process;case"customExecution":return D.CustomExecution;default:return D.Process}}D.fromString=I}(g||(t.RuntimeType=g={}));var c;(function(D){function I(O){return(0,r.isString)(O)?O:O.value}D.value=I})(c||(t.CommandString=c={}));var h;(function(D){D.Clean={_id:"clean",isDefault:!1},D.Build={_id:"build",isDefault:!1},D.Rebuild={_id:"rebuild",isDefault:!1},D.Test={_id:"test",isDefault:!1};function I(P){return P===D.Clean._id||P===D.Build._id||P===D.Rebuild._id||P===D.Test._id}D.is=I;function O(P){if(P!==void 0)return(0,r.isString)(P)?I(P)?{_id:P,isDefault:!1}:void 0:P}D.from=O})(h||(t.TaskGroup=h={}));var u;(function(D){D.Workspace="workspace",D.Extension="extension",D.InMemory="inMemory",D.WorkspaceFile="workspaceFile",D.User="user"})(u||(t.TaskSourceKind=u={}));var d;(function(D){D[D.default=1]="default",D[D.folderOpen=2]="folderOpen"})(d||(t.RunOnOptions=d={}));var v;(function(D){D.defaults={reevaluateOnRerun:!0,runOn:d.default}})(v||(t.RunOptions=v={}));class f{constructor(I,O,P,R,M,k){this._label="",this._id=I,O&&(this._label=O),P&&(this.type=P),this.runOptions=R,this.configurationProperties=M,this._source=k}getDefinition(I){}getMapKey(){return this._id}getRecentlyUsedKey(){}clone(){return this.fromObject(Object.assign({},this))}getWorkspaceFolder(){}getWorkspaceFileName(){}getTelemetryKind(){return"unknown"}matches(I,O=!1){if(I===void 0)return!1;if((0,r.isString)(I))return I===this._label||I===this.configurationProperties.identifier||O&&I===this._id;const P=this.getDefinition(!0);return P!==void 0&&P._key===I._key}getQualifiedLabel(){const I=this.getWorkspaceFolder();return I?`${this._label} (${I.name})`:this._label}getTaskExecution(){return{id:this._id,task:this}}addTaskLoadMessages(I){this._taskLoadMessages===void 0&&(this._taskLoadMessages=[]),I&&(this._taskLoadMessages=this._taskLoadMessages.concat(I))}get taskLoadMessages(){return this._taskLoadMessages}}t.CommonTask=f;class a extends f{constructor(I,O,P,R,M,k,B,x){super(I,P,void 0,B,x,O),this.command={},this._source=O,this.hasDefinedMatchers=k,M&&(this.command=M)}customizes(){if(this._source&&this._source.customizes)return this._source.customizes}getDefinition(I=!1){if(I&&this._source.customizes!==void 0)return this._source.customizes;{let O;switch(this.command?this.command.runtime:void 0){case g.Shell:O="shell";break;case g.Process:O="process";break;case g.CustomExecution:O="customExecution";break;case void 0:O="$composite";break;default:throw new Error("Unexpected task runtime")}return{type:O,_key:this._id,id:this._id}}}static is(I){return I instanceof a}getMapKey(){const I=this._source.config.workspaceFolder;return I?`${I.uri.toString()}|${this._id}`:this._id}getRecentlyUsedKey(){const I=this._source.config.workspaceFolder;if(!I)return;let O=this.configurationProperties.identifier;this._source.kind!==u.Workspace&&(O+=this._source.kind);const P={type:t.CUSTOMIZED_TASK_TYPE,folder:I.uri.toString(),id:O};return JSON.stringify(P)}getWorkspaceFolder(){return this._source.config.workspaceFolder}getWorkspaceFileName(){return this._source.config.workspace&&this._source.config.workspace.configuration?o(this._source.config.workspace.configuration.toString()):void 0}getTelemetryKind(){return this._source.customizes?"workspace>extension":"workspace"}fromObject(I){return new a(I._id,I._source,I._label,I.type,I.command,I.hasDefinedMatchers,I.runOptions,I.configurationProperties)}}t.CustomTask=a;class b extends f{constructor(I,O,P,R,M,k,B){super(I,P,R,k,B,O),this._source=O,this.configures=M}static is(I){return I instanceof b}fromObject(I){return I}getDefinition(){return this.configures}getWorkspaceFileName(){return this._source.config.workspace&&this._source.config.workspace.configuration?o(this._source.config.workspace.configuration.toString()):void 0}}t.ConfiguringTask=b;class y extends f{constructor(I,O,P,R,M,k,B,x,N){super(I,P,R,x,N,O),this.defines=M,this.hasDefinedMatchers=B,this.command=k}getDefinition(){return this.defines}static is(I){return I instanceof y}getMapKey(){const I=this._source.workspaceFolder;return I?`${this._source.scope.toString()}|${I.uri.toString()}|${this._id}`:`${this._source.scope.toString()}|${this._id}`}getRecentlyUsedKey(){const I={type:"contributed",scope:this._source.scope,id:this._id};return this._source.scope===3&&this._source.workspaceFolder&&(I.folder=this._source.workspaceFolder.uri.toString()),JSON.stringify(I)}getWorkspaceFolder(){return this._source.workspaceFolder}getTelemetryKind(){return"extension"}fromObject(I){return new y(I._id,I._source,I._label,I.type,I.defines,I.command,I.hasDefinedMatchers,I.runOptions,I.configurationProperties)}}t.ContributedTask=y;class S extends f{constructor(I,O,P,R,M,k){super(I,P,R,M,k,O),this._source=O}static is(I){return I instanceof S}getTelemetryKind(){return"composite"}fromObject(I){return new S(I._id,I._source,I._label,I.type,I.runOptions,I.configurationProperties)}}t.InMemoryTask=S;var A;(function(D){D[D.Process=1]="Process",D[D.Terminal=2]="Terminal"})(A||(t.ExecutionEngine=A={})),function(D){D._default=D.Terminal}(A||(t.ExecutionEngine=A={}));class T{constructor(I){this._order=new Map;for(let O=0;O<I.length;O++)this._order.set(I[O].uri.toString(),O)}compare(I,O){const P=I.getWorkspaceFolder(),R=O.getWorkspaceFolder();if(P&&R){let M=this._order.get(P.uri.toString());M=M===void 0?0:M+1;let k=this._order.get(R.uri.toString());return k=k===void 0?0:k+1,M===k?I._label.localeCompare(O._label):M-k}else return!P&&R?-1:P&&!R?1:0}}t.TaskSorter=T;var w;(function(D){function I(O,P,R){if(P){const M={kind:O,taskId:P._id,taskName:P.configurationProperties.name,runType:P.configurationProperties.isBackground?"background":"singleRun",group:P.configurationProperties.group,processId:void 0,exitCode:void 0,terminalId:void 0,__task:P};return O==="start"?M.terminalId=R:O==="processStarted"?M.processId=R:O==="processEnded"?M.exitCode=R:O==="problemMatched"&&(M.problems=R),Object.freeze(M)}else return Object.freeze({kind:"changed"})}D.create=I})(w||(t.TaskEvent=w={}))},90305:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(75655));let l=0,m=null;t.default=E=>{const{start:p,stop:_,self:s,left:g,right:c,wholeWidth:h,last:u}=E,d=a=>{l=a.clientX,m=s,p()},v=a=>{if(!l)return!1;const b=a.clientX,y=(b-l)/h*100;l=b,y<0?(s&&s.increase(y),c&&c.increase(-y)):m&&m===g&&(s&&s.increase(-y),g&&g.increase(y))},f=a=>{l=0,m=null,s.resize(),g&&g.resize(),c&&c.resize(),_()};return r.default.createElement("div",{className:o.default.resizeDelegetContainer,onMouseUp:f,onMouseMove:v},!u&&r.default.createElement("div",{className:o.default.resizeDelegateBar,onMouseDown:d,onMouseUp:f}))}},92699:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResizeDirection=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),m=e(7473),E=n.__importDefault(e(90305)),p=n.__importDefault(e(75655));var _;(function(c){c[c.vertical=0]="vertical",c[c.horizontal=1]="horizontal"})(_||(t.ResizeDirection=_={}));const s=({index:c,widget:h,wholeWidth:u,setEvent:d,self:v,left:f,right:a,last:b})=>{const y=(0,l.useAutorun)(h.shadowDynamic);return o.default.createElement("div",{key:`resize-item-${c}`,style:{width:`${y}%`},className:p.default.resizeHandler},o.default.createElement(E.default,{wholeWidth:u,start:()=>d(!0),stop:()=>d(!1),self:v,left:f,right:a,last:b}))},g=({widget:c,dynamic:h,draw:u,handleRemoveWidget:d,widgetsLength:v})=>{const f=(0,l.useAutorun)(h);return o.default.createElement("div",{key:c.id,style:{width:`${f}%`},className:p.default.resizeItem},u(c),v>1&&o.default.createElement("div",{className:(0,r.default)(p.default.closeBtn,(0,l.getIcon)("close")),onClick:()=>{d(c.id)}}))};t.default=c=>{const{group:h,shadow:u}=c,d=(0,l.useAutorun)(h.widgets),[v,f]=o.default.useState(!1),[a,b]=o.default.useState(1/0),y=(0,l.useInjectable)(m.ITerminalGroupViewService),S=o.default.useRef(null);o.default.useEffect(()=>{S.current&&S.current.clientHeight!==a&&b(S.current.clientWidth)});const A=o.default.useCallback(T=>{y.removeWidget(T)},[]);return o.default.createElement("div",{className:p.default.resizeWrapper,ref:S},o.default.createElement("div",{style:{pointerEvents:v?"all":"none"},className:p.default.resizeDelegate},d&&d.map((T,w)=>{const D=w-1>-1?d[w-1]:null,I=d[w],O=w+1<d.length?d[w+1]:null;return o.default.createElement(s,{index:w,widget:T,wholeWidth:a,setEvent:f,self:I,left:D,right:O,last:w===d.length-1})})),o.default.createElement("div",{style:{pointerEvents:v?"none":"all"},className:p.default.resizePanel},d&&d.map(T=>o.default.createElement(g,{widget:T,dynamic:u?T.dynamic:T.shadowDynamic,draw:c.draw,handleRemoveWidget:A,widgetsLength:d.length}))))}},65586:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderAddItem=t.renderInfoItem=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(12784)),l=n.__importStar(e(14041)),m=e(80564),E=e(41869),p=e(89897),_=e(1149),s=e(7443),g=e(26405),c=n.__importDefault(e(99886)),h=d=>{var v,f,a,b;const y=(0,E.useInjectable)(s.IconService),S=(0,o.default)(()=>d.onClick&&d.onClick(),20),A=(0,o.default)(()=>d.onClose&&d.onClose(),20),T=(0,E.useDesignStyles)(c.default.item_container,"item_container"),w=(0,E.useDesignStyles)(c.default.tab_item_selected,"tab_item_selected"),D=(0,E.useDesignStyles)(c.default.item_info_name,"item_info_name"),I=(0,E.useDesignStyles)(c.default.tab_close_icon,"tab_close_icon"),O=(0,E.useInjectable)(_.LayoutViewSizeConfig),P=(0,l.useRef)(null),{group:R}=d;if(!R)return null;const{options:M,id:k}=R,B=(0,E.useAutorun)(R.editable),x=(0,E.useAutorun)(R.snapshot),N=(0,l.useCallback)(K=>{K.key==="Enter"&&d.onInputEnter&&k&&d.onInputEnter(k,K.target.value)},[k,d.onInputEnter]);(0,l.useEffect)(()=>{var K;d.selected&&((K=P.current)===null||K===void 0||K.scrollIntoView())},[P,d.selected]);let j;return M?.icon&&(!((v=M.icon)===null||v===void 0)&&v.id?j=y.fromString(`$(${(f=M.icon)===null||f===void 0?void 0:f.id})`):M.icon instanceof E.URI?j=y.fromIcon(M?.icon.toString()):(!((a=M.icon)===null||a===void 0)&&a.light||!((b=M?.icon)===null||b===void 0)&&b.dark)&&(j=d.theme==="light"?y.fromIcon(M.icon.light.toString()):y.fromIcon(M.icon.dark.toString()))),l.default.createElement("div",{ref:P,className:(0,r.default)({[T]:!0,[w]:!!d.selected}),style:{height:O.panelTitleBarHeight},onClick:()=>S(),onContextMenu:K=>d.onContextMenu&&d.onContextMenu(K)},B?l.default.createElement("input",{autoFocus:!0,ref:K=>K&&K.select(),className:c.default.item_info_input,defaultValue:x,onClick:K=>K.stopPropagation(),onBlur:()=>d.onInputBlur&&R.id&&d.onInputBlur(R.id),onKeyDown:K=>N(K)}):l.default.createElement("div",{id:R.id,className:D,title:x},x!==""?l.default.createElement(l.default.Fragment,null,l.default.createElement(m.Icon,{iconClass:j||(0,E.getIcon)(x?.toLowerCase()||"terminal")||(0,E.getIcon)("terminal"),style:{marginRight:4,color:"inherit",fontSize:14}}),l.default.createElement("span",{className:c.default.item_title},x)):l.default.createElement(p.Loading,null)),B?l.default.createElement("div",null):l.default.createElement("div",{className:(0,r.default)([(0,E.getIcon)("close"),I]),onClick:K=>{K.stopPropagation(),A()}}))};t.renderInfoItem=h;const u=d=>{const v=(0,o.default)(()=>d.onClick&&d.onClick(),20),f=d.getKeybinding&&d.getKeybinding(E.TERMINAL_COMMANDS.ADD.id),a=f?`${(0,E.localize)("terminal.new")}(${f})`:(0,E.localize)("terminal.new"),b=(0,E.useDesignStyles)(c.default.tab_item_wrapper,"tab_item_wrapper");return l.default.createElement("div",{className:b},l.default.createElement("div",{title:a,className:(0,r.default)({[(0,E.getIcon)("plus")]:!0,[c.default.item_add]:!0}),onClick:()=>v()}),l.default.createElement("div",{title:(0,E.localize)("terminal.new.type"),className:(0,r.default)({[(0,E.getIcon)("down")]:!0,[c.default.item_more]:!0}),onClick:d.onDropdown}))};t.renderAddItem=u,t.default=d=>{switch(d.type||g.ItemType.info){case g.ItemType.info:return(0,l.createElement)(d.provider.infoItemRender,d);case g.ItemType.add:return(0,l.createElement)(d.provider.addItemRender,d);default:return null}}},17632:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),m=e(52416),E=e(26405),p=e(88023),_=n.__importDefault(e(65586)),s=n.__importDefault(e(99886));t.default=()=>{const g=(0,l.useInjectable)(E.ITerminalGroupViewService),c=(0,l.useInjectable)(E.ITerminalRenderProvider),h=(0,l.useInjectable)(p.TerminalContextMenuService),u=(0,l.useInjectable)(m.IThemeService),d=(0,l.useInjectable)(l.KeybindingRegistry),v=(0,r.useRef)(),[f,a]=(0,r.useState)("dark"),b=(0,l.useDesignStyles)(s.default.tab_contents,"tab_contents"),y=(0,l.useAutorun)(g.groups),S=(0,l.useAutorun)(g.currentGroup),A=(0,r.useCallback)(()=>(u.getCurrentTheme().then(T=>{a(T.type)}),u.onThemeChange(T=>{a(T.type)})),[f,u]);return(0,r.useEffect)(()=>{const T=A();return()=>{T.dispose()}},[]),r.default.createElement("div",{className:s.default.view_container},r.default.createElement("div",{className:s.default.tabs},r.default.createElement(o.Scrollbars,{forwardedRef:T=>T?v.current=T.ref:null},r.default.createElement("div",{className:b},y.filter(Boolean).map((T,w)=>r.default.createElement(_.default,{key:T.id,group:T,selected:S&&S.id===T.id,onInputBlur:()=>T.unedit(),onInputEnter:(D,I)=>T.rename(I),onClick:()=>g.selectGroup(w),onClose:()=>g.removeGroup(w),onContextMenu:D=>h.onTabContextMenu(D,w),provider:c,theme:f})),r.default.createElement("div",{className:s.default.button},r.default.createElement(_.default,{type:E.ItemType.add,onClick:()=>{const T=g.createGroup(),w=g.getGroup(T);g.createWidget(w),g.selectGroup(T)},getKeybinding:T=>{const w=d.getKeybindingsForCommand(T);return Array.isArray(w)&&w[0]&&d.acceleratorFor(w[0],"")[0]||""},onDropdown:T=>h.onDropDownContextMenu(T),provider:c,theme:f}))))))}},7066:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalVariable=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(43718),l=e(94620),m=n.__importDefault(e(74599));function E(_,s){_.forEach((g,c)=>{g.forEach(h=>{s.add((0,l.mutatorTypeLabel)(h.type,h.value,c))})})}const p=({diff:_})=>{const s=r.default.useMemo(()=>{const c=new Set;return _?.added&&_?.added.size>0&&E(_.added,c),_?.changed&&_.changed.size>0&&E(_.changed,c),Array.from(c.values())},[_]),g=r.default.useMemo(()=>{if(!_?.removed||_?.removed.size===0)return[];const c=new Set;return E(_.removed,c),Array.from(c.values())},[_]);return r.default.createElement("div",{className:m.default.variable_container},s.length>0&&r.default.createElement(r.default.Fragment,null,r.default.createElement("h3",null,(0,o.localize)("terminal.environment.changes")),s.map((c,h)=>r.default.createElement("p",{key:c+h,className:m.default.variable_change},c))),g.length>0&&r.default.createElement(r.default.Fragment,null,r.default.createElement("h3",null,(0,o.localize)("terminal.environment.removal")),g.map((c,h)=>r.default.createElement("p",{key:c+h,className:m.default.variable_change},c))))};t.TerminalVariable=p},48139:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(12784)),l=n.__importDefault(e(14041)),m=e(41869),E=e(26405),p=n.__importStar(e(92699)),_=n.__importDefault(e(73567)),s=n.__importDefault(e(76970));e(86650),t.default=()=>{const g=(0,m.useInjectable)(E.ITerminalController),c=(0,m.useInjectable)(E.ITerminalSearchService),h=(0,m.useInjectable)(E.ITerminalErrorService),u=(0,m.useInjectable)(E.ITerminalNetwork),d=l.default.useRef(null),v=l.default.useRef(null),f=(0,m.useInjectable)(E.ITerminalGroupViewService),a=(0,m.useAutorun)(f.currentGroupId),b=(0,m.useAutorun)(f.currentGroupIndex),y=(0,m.useAutorun)(f.groups);l.default.useEffect(()=>{const x=c.onVisibleChange(N=>{N&&d.current&&(d.current.focus(),d.current.value.length>0&&d.current.setSelectionRange(0,d.current.value.length))});return()=>x.dispose()},[c,d.current]);const[S,A]=l.default.useState(g.themeBackground);(0,m.useEventEffect)(g.onThemeBackgroundChange,x=>{A(x)});const[T,w]=l.default.useState(h.errors),D=(0,o.default)(()=>{w(h.errors)},m.FRAME_THREE);(0,m.useEventEffect)(h.onErrorsChange,D);const I=l.default.useCallback((x,N)=>{const j=g.findClientFromWidgetId(x.id);let K;return j?K=u.shouldReconnect(j.id)?void 0:T.get(j.id):K=T.get(x.id),l.default.createElement(s.default,{show:b===N,error:K,widget:x})},[b,g,T,u,f]),[O,P]=l.default.useState(c.isVisible);(0,m.useEventEffect)(c.onVisibleChange,x=>{P(x)});const[R,M]=l.default.useState(""),k=l.default.useCallback(x=>{c.text=x.target.value,c.search(),M(x.target.value)},[c]),B=l.default.useCallback(x=>{x.key==="Enter"&&c.search(),x.key==="Escape"&&(c.close(),c.clear())},[c]);return l.default.useEffect(()=>{v.current&&(g.initContextKey(v.current),g.viewReady.resolve())},[v.current]),l.default.createElement("div",{ref:v,className:_.default.terminalWrapper,style:{backgroundColor:S},"data-group-current":a},O&&l.default.createElement("div",{className:_.default.terminalSearch},l.default.createElement("div",{className:"kt-input-box"},l.default.createElement("input",{autoFocus:!0,ref:d,placeholder:(0,m.localize)("common.find"),value:R,onChange:k,onKeyDown:B})),l.default.createElement("div",{className:(0,r.default)(_.default.closeBtn,(0,m.getIcon)("close")),onClick:()=>c.close()})),y.map((x,N)=>{if(x.activated.get())return l.default.createElement("div",{"data-group-rendered":x.activated.get(),key:`terminal-${x.id}`,style:{display:b===N?"block":"none"},className:_.default.group,onFocus:g.focus.bind(g),onBlur:g.blur.bind(g),onContextMenu:g.onContextMenu.bind(g)},l.default.createElement(p.default,{shadow:!1,useFlex:!1,direction:p.ResizeDirection.horizontal,group:x,draw:j=>I(j,N)}))}))}},76970:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(26405),m=n.__importDefault(e(73567));function E(p,_,s){const g=()=>{s.removeWidget(p.id)},c=()=>{_.fix(p.id)};return p?.type===l.ETerminalErrorType.CREATE_FAIL?r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.can.not.create"),": ",p.message),r.default.createElement("div",null,r.default.createElement("a",{onClick:g},(0,o.localize)("terminal.stop")),(0,o.localize)("terminal.or"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.recreate")))):p.stopped?r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.disconnected")),r.default.createElement("div",null,(0,o.localize)("terminal.can.not.reconnect"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.reconnect")))):r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.disconnected")),r.default.createElement("div",null,r.default.createElement("a",{onClick:g},(0,o.localize)("terminal.stop")),(0,o.localize)("terminal.or"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.reconnect"))))}t.default=({widget:p,error:_,show:s})=>{const g=r.default.useRef(null),c=(0,o.useInjectable)(l.ITerminalErrorService),h=(0,o.useInjectable)(l.ITerminalGroupViewService);r.default.useEffect(()=>{g.current&&(p.element=g.current)},[]),r.default.useEffect(()=>{p.show=s},[s]),r.default.useEffect(()=>{p.error=!!_},[_]);const u=()=>{h.selectWidget(p.id)};return r.default.createElement("div",{className:m.default.terminalContainer},_?E(_,c,h):null,r.default.createElement("div",{"data-term-id":p.id,style:{display:_?"none":"block"},className:m.default.terminalContent,onFocus:u,ref:g}))}},21623:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(71852),t),n.__exportStar(e(43397),t),n.__exportStar(e(7082),t),n.__exportStar(e(11476),t),n.__exportStar(e(63341),t),n.__exportStar(e(96051),t),n.__exportStar(e(79404),t)},71852:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalCommandContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),m=e(26405),E=e(48520),p=e(35628),_=e(94620);let s=class{onReconnect(){this.terminalController.reconnect()}onDisposeSideEffects(){}setDefaultTerminalType(c){this.preference.update("terminal.type",c)}registerCommands(c){c.registerCommand({...o.TERMINAL_COMMANDS.OPEN_SEARCH,iconClass:(0,o.getIcon)("search")},{execute:()=>{if(this.search.isVisible){this.search.close();return}this.search.open()}}),c.registerCommand({...o.TERMINAL_COMMANDS.SPLIT,iconClass:(0,o.getIcon)("embed")},{execute:()=>{const h=this.view.currentGroup.get();if(!h)return;const u=this.view.createWidget(h);this.view.selectWidget(u.id)}}),c.registerCommand(o.TERMINAL_COMMANDS.CLEAR,{execute:()=>{this.view.clear()}}),c.registerCommand(o.TERMINAL_COMMANDS.ADD,{execute:async()=>{await this.terminalController.createTerminalWithWidget({}),this.terminalController.showTerminalPanel()}}),c.registerCommand(o.TERMINAL_COMMANDS.TOGGLE_TERMINAL,{execute:()=>{this.terminalController.toggleTerminalPanel()}}),c.registerCommand(o.TERMINAL_COMMANDS.SEARCH_NEXT,{execute:()=>{this.search.isVisible?this.search.search():this.search.open()}}),c.registerCommand({...o.TERMINAL_COMMANDS.REMOVE,iconClass:(0,o.getIcon)("delete")},{execute:async()=>{const h=this.view.currentWidgetId.get();h&&this.view.removeWidget(h)}}),c.registerCommand(o.TERMINAL_COMMANDS.OPEN_WITH_PATH,{execute:async h=>{h&&(await this.terminalApi.createTerminal({cwd:h.codeUri.fsPath})).show()}}),c.registerCommand(o.TERMINAL_COMMANDS.TAB_RENAME,{execute:async(h,u)=>{const d=this.view.getGroup(u);d&&d.edit()}}),c.registerCommand({...o.TERMINAL_COMMANDS.SELECT_ALL_CONTENT},{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.selectAll()}}),c.registerCommand({...o.TERMINAL_COMMANDS.CLEAR_CONTENT,iconClass:(0,o.getIcon)("clear")},{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.clear()}}),c.registerCommand({...o.TERMINAL_COMMANDS.CLEAR_ALL_CONTENT},{execute:()=>{this.terminalController.clearAllGroups()}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_ZSH,{execute:async()=>{this.setDefaultTerminalType("zsh")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_BASH,{execute:async()=>{this.setDefaultTerminalType("bash")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_SH,{execute:async()=>{this.setDefaultTerminalType("sh")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_POWERSHELL,{execute:async()=>{this.setDefaultTerminalType("powershell")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_CMD,{execute:async()=>{this.setDefaultTerminalType("cmd")}}),c.registerCommand(o.TERMINAL_COMMANDS.MORE_SETTINGS,{execute:async()=>{this.commands.executeCommand(o.COMMON_COMMANDS.OPEN_PREFERENCES.id,"terminal")}}),c.registerCommand(o.TERMINAL_COMMANDS.COPY,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&await this.clipboardService.writeText(u.getSelection())}}),c.registerCommand(o.TERMINAL_COMMANDS.PASTE,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.paste(await this.clipboardService.readText())}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_ALL,{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.selectAll()}}),c.registerCommand(o.TERMINAL_COMMANDS.RE_LAUNCH,{execute:()=>{const h=this.view.groups.get();for(const u of h)u.widgets.get().forEach(v=>{const f=this.terminalController.findClientFromWidgetId(v.id);f&&f.reset()})}}),c.registerCommand(o.COMMON_COMMANDS.ENVIRONMENT_VARIABLE,{execute:async()=>await this.terminalEnvironmentService.getProcessEnv()}),c.registerCommand(o.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL,{execute:()=>{const h=this.view.currentGroup.get();if(h&&h.widgets.get().length<=1)return;const u=this.getNextOrPrevTerminalClient("next");u?.focus()}}),c.registerCommand(o.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL,{execute:()=>{const h=this.view.currentGroup.get();if(h&&h.widgets.get().length<=1)return;const u=this.getNextOrPrevTerminalClient("prev");u?.focus()}}),c.registerCommand(o.TERMINAL_COMMANDS.KILL_PROCESS,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);if(u){const d=u.getSelection();d&&d.length>0?await this.clipboardService.writeText(u.getSelection()):await this.terminalApi.sendText(h,"")}}})}getNextOrPrevTerminalClient(c){const h=this.view.currentGroup.get();if(!h)return;const u=h.widgets.get(),d=u.findIndex(a=>a.id===this.view.currentWidgetId.get());let v;c==="next"?v=d===u.length-1?0:d+1:v=d===0?u.length-1:d-1;const f=u[v];return this.terminalController.findClientFromWidgetId(f.id)}};t.TerminalCommandContribution=s,n.__decorate([(0,r.Autowired)(m.ITerminalController),n.__metadata("design:type",Object)],s.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(_.EnvironmentVariableServiceToken),n.__metadata("design:type",E.TerminalEnvironmentService)],s.prototype,"terminalEnvironmentService",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalGroupViewService),n.__metadata("design:type",Object)],s.prototype,"view",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalSearchService),n.__metadata("design:type",Object)],s.prototype,"search",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalRestore),n.__metadata("design:type",Object)],s.prototype,"store",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalApiService),n.__metadata("design:type",Object)],s.prototype,"terminalApi",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],s.prototype,"settingService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],s.prototype,"commands",void 0),n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],s.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.TerminalKeyBoardInputService)],s.prototype,"terminalInput",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],s.prototype,"clipboardService",void 0),t.TerminalCommandContribution=s=n.__decorate([(0,o.Domain)(o.CommandContribution,o.ClientAppContribution)],s)},63341:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalKeybindingContribution=void 0;const n=e(85608),r=e(41869),o=e(66e3),l=e(40191),m=e(43718);let E=class{registerKeybindings(_){_.registerKeybinding({command:r.TERMINAL_COMMANDS.OPEN_SEARCH.id,keybinding:"ctrlcmd+f",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.CLEAR_CONTENT.id,keybinding:"ctrlcmd+k",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SEARCH_NEXT.id,keybinding:"ctrlcmd+g",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.COPY.id,keybinding:m.isWindows?"ctrlcmd+shift+c":"ctrlcmd+c",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.KILL_PROCESS.id,keybinding:"ctrlcmd+c",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http","isWindows")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.PASTE.id,keybinding:m.isWindows?"ctrlcmd+shift+v":"ctrlcmd+v",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SELECT_ALL.id,keybinding:"ctrlcmd+a",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SPLIT.id,keybinding:"ctrlcmd+\\",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.ADD.id,keybinding:"ctrl+shift+`"}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL.id,keybinding:"ctrlcmd+alt+right",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL.id,keybinding:"ctrlcmd+alt+down",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL.id,keybinding:"ctrlcmd+alt+left",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL.id,keybinding:"ctrlcmd+alt+up",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.TOGGLE_TERMINAL.id,keybinding:"ctrl+`"})}};t.TerminalKeybindingContribution=E,t.TerminalKeybindingContribution=E=n.__decorate([(0,m.Domain)(r.KeybindingContribution)],E)},43397:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLifeCycleContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),m=e(26405),E=e(94620),p=e(43395),_=e(35628);let s=class{initialize(){(0,p.registerTerminalColors)()}onStart(){this.terminalInput.listen(),this.environmentService.initEnvironmentVariableCollections()}onDidRender(){this.store.restore().then(()=>{this.terminalController.firstInitialize()})}onStop(){this.terminalController.disposeTerminalClients({isTaskExecutor:!0}),this.store.save()}};t.TerminalLifeCycleContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.TerminalKeyBoardInputService)],s.prototype,"terminalInput",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalController),n.__metadata("design:type",Object)],s.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalRestore),n.__metadata("design:type",Object)],s.prototype,"store",void 0),n.__decorate([(0,r.Autowired)(E.EnvironmentVariableServiceToken),n.__metadata("design:type",Object)],s.prototype,"environmentService",void 0),t.TerminalLifeCycleContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,l.MainLayoutContribution)],s)},7082:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalMenuContribution=t.more2=t.more1Sub=t.more1=t.group=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),m=e(93899),E=e(43718),p=e(26405);t.group="panel_menu",t.more1="more_1",t.more1Sub="more_1_sub",t.more2="more_2";let _=class{registerMenus(g){g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.TAB_RENAME.id,label:(0,o.localize)("terminal.menu.rename")},order:1,group:t.group}),g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.SPLIT.id,label:(0,o.localize)("terminal.menu.split")},order:2,group:t.group}),g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.REMOVE.id,label:(0,o.localize)("terminal.menu.stopGroup")},order:3,group:t.group}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.COPY,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.PASTE,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.SELECT_ALL,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.CLEAR_CONTENT,group:"1_modify"});const c=(0,o.getSlotLocation)("@opensumi/ide-terminal-next",this.config.layoutConfig),h=(0,o.getTabbarCtxKey)(c),u=(0,m.getTabbarCommonMenuId)(c),d=`${h} == ${l.TERMINAL_CONTAINER_ID}`;g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.CLEAR,order:1,group:t.more1,when:d}),g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.CLEAR_ALL_CONTENT,order:1,group:t.more1,when:d}),g.registerMenuItem(u,{label:(0,o.localize)("terminal.menu.selectType"),submenu:m.MenuId.TerminalDefaultTypeMenu,order:1,group:t.more2,when:d}),E.isWindows?g.registerMenuItems(m.MenuId.TerminalDefaultTypeMenu,[{command:o.TERMINAL_COMMANDS.SELECT_CMD,order:1,group:t.more1Sub,toggledWhen:"config.terminal.type == cmd",when:d},{command:o.TERMINAL_COMMANDS.SELECT_POWERSHELL,order:2,group:t.more1Sub,toggledWhen:"config.terminal.type == powershell",when:d}]):g.registerMenuItems(m.MenuId.TerminalDefaultTypeMenu,[{command:o.TERMINAL_COMMANDS.SELECT_ZSH,order:1,group:t.more1Sub,toggledWhen:"config.terminal.type == zsh",when:d},{command:o.TERMINAL_COMMANDS.SELECT_BASH,order:2,group:t.more1Sub,toggledWhen:"config.terminal.type == bash",when:d},{command:o.TERMINAL_COMMANDS.SELECT_SH,order:3,group:t.more1Sub,toggledWhen:"config.terminal.type == sh",when:d}]),g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.MORE_SETTINGS,order:1,group:t.more2,when:d})}};t.TerminalMenuContribution=_,n.__decorate([(0,r.Autowired)(p.ITerminalController),n.__metadata("design:type",Object)],_.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(p.ITerminalGroupViewService),n.__metadata("design:type",Object)],_.prototype,"view",void 0),n.__decorate([(0,r.Autowired)(p.ITerminalSearchService),n.__metadata("design:type",Object)],_.prototype,"search",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],_.prototype,"settingService",void 0),n.__decorate([(0,r.Autowired)(E.CommandService),n.__metadata("design:type",Object)],_.prototype,"commands",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],_.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preference",void 0),t.TerminalMenuContribution=_=n.__decorate([(0,E.Domain)(m.MenuContribution)],_)},96051:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalNetworkContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(26405);let E=class extends l.WithEventBus{onStart(){this.network.bindErrors()}handleBrowserConnectionOpen(_){this.network.setStatus(m.TerminalNetworkStatus.CONNECTED)}handleBrowserConnectionClose(_){this.network.setStatus(m.TerminalNetworkStatus.DISCONNECTED)}};t.TerminalNetworkContribution=E,n.__decorate([(0,r.Autowired)(m.ITerminalNetwork),n.__metadata("design:type",Object)],E.prototype,"network",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalInternalService),n.__metadata("design:type",Object)],E.prototype,"service",void 0),n.__decorate([(0,l.OnEvent)(l.BrowserConnectionOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.BrowserConnectionOpenEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"handleBrowserConnectionOpen",null),n.__decorate([(0,l.OnEvent)(l.BrowserConnectionCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.BrowserConnectionCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"handleBrowserConnectionClose",null),t.TerminalNetworkContribution=E=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],E)},79404:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalPreferenceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(26405),E=e(3276),p=e(91815);let _=class{constructor(){this.schema=E.terminalPreferenceSchema;const g=["git-bash","powershell","cmd","default"],{properties:{["terminal.type"]:c}}={...E.terminalPreferenceSchema};this.ptyTerminal.getOS().then(h=>{h===l.OperatingSystem.Windows&&this.preferenceSchemaProvider.setSchema({properties:{"terminal.type":{...c,enum:g}}},!0)})}};t.TerminalPreferenceContribution=_,n.__decorate([(0,r.Autowired)(m.ITerminalService),n.__metadata("design:type",p.NodePtyTerminalService)],_.prototype,"ptyTerminal",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceSchemaProvider),n.__metadata("design:type",o.PreferenceSchemaProvider)],_.prototype,"preferenceSchemaProvider",void 0),t.TerminalPreferenceContribution=_=n.__decorate([(0,l.Domain)(o.PreferenceContribution),n.__metadata("design:paramtypes",[])],_)},11476:(L,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalRenderContribution=void 0;const r=e(85608),o=e(41869),l=e(30144),m=r.__importDefault(e(17632)),E=r.__importDefault(e(48139));let p=n=class{registerToolbarItems(s){s.registerItem({id:o.TERMINAL_COMMANDS.OPEN_SEARCH.id,command:o.TERMINAL_COMMANDS.OPEN_SEARCH.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.search")}),s.registerItem({id:o.TERMINAL_COMMANDS.CLEAR_CONTENT.id,command:o.TERMINAL_COMMANDS.CLEAR_CONTENT.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.menu.clearCurrentContent")}),s.registerItem({id:o.TERMINAL_COMMANDS.SPLIT.id,command:o.TERMINAL_COMMANDS.SPLIT.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.split")}),s.registerItem({id:o.TERMINAL_COMMANDS.REMOVE.id,command:o.TERMINAL_COMMANDS.REMOVE.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.remove")})}registerComponent(s){s.register("@opensumi/ide-terminal-next",{component:E.default,id:n.viewId},{title:(0,o.localize)("terminal.name"),priority:1,activateKeyBinding:"ctrl+`",containerId:n.viewId,titleComponent:m.default})}};t.TerminalRenderContribution=p,p.viewId=l.TERMINAL_CONTAINER_ID,t.TerminalRenderContribution=p=n=r.__decorate([(0,o.Domain)(o.ComponentContribution,o.TabBarToolbarContribution)],p)},17236:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalNextModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26405),m=e(94620),E=e(3276),p=e(21623),_=e(98944),s=e(69061),g=e(7734),c=e(48520),h=e(102),u=e(53891),d=e(82022),v=e(12642),f=e(13663),a=e(89570),b=e(94486),y=e(46666),S=e(70406),A=e(12894),T=e(91815),w=e(29041),D=e(68611);let I=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[p.TerminalLifeCycleContribution,p.TerminalRenderContribution,p.TerminalCommandContribution,p.TerminalMenuContribution,p.TerminalKeybindingContribution,p.TerminalNetworkContribution,p.TerminalPreferenceContribution,{token:l.ITerminalApiService,useClass:_.TerminalApiService},{token:l.ITerminalController,useClass:g.TerminalController},{token:l.ITerminalTheme,useClass:w.TerminalTheme},{token:l.ITerminalSearchService,useClass:A.TerminalSearchService},{token:l.ITerminalHoverManagerService,useClass:u.TerminalHoverManagerService},{token:l.ITerminalGroupViewService,useClass:D.TerminalGroupViewService},{token:l.ITerminalErrorService,useClass:h.TerminalErrorService},{token:l.ITerminalService,useClass:T.NodePtyTerminalService},{token:l.ITerminalInternalService,useClass:d.TerminalInternalService},{token:l.ITerminalRestore,useClass:S.TerminalRestore},{token:E.ITerminalPreference,useClass:f.TerminalPreference},{token:l.ITerminalRenderProvider,useClass:y.TerminalRenderProvider},{token:l.ITerminalClientFactory2,useFactory:s.createTerminalClientFactory2},{token:l.ITerminalNetwork,useClass:v.TerminalNetworkService},{token:m.EnvironmentVariableServiceToken,useClass:c.TerminalEnvironmentService},{token:l.ITerminalProfileService,useClass:a.TerminalProfileService},{token:l.ITerminalProfileInternalService,useClass:b.TerminalProfileInternalService}],this.backServices=[{servicePath:l.ITerminalServicePath,clientToken:l.ITerminalService},{servicePath:l.ITerminalProcessPath,clientToken:m.EnvironmentVariableServiceToken}]}};t.TerminalNextModule=I,t.TerminalNextModule=I=n.__decorate([(0,r.Injectable)()],I)},67245:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalBaseLinkProvider=void 0;class e{async provideLinks(r,o){var l;(l=this._activeLinks)===null||l===void 0||l.forEach(m=>m.dispose),this._activeLinks=await this._provideLinks(r),o(this._activeLinks)}}t.TerminalBaseLinkProvider=e},52826:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalExternalLinkProviderAdapter=void 0;const n=e(85608),r=e(76003),o=e(67245),l=e(28247),m=e(97144);let E=class extends o.TerminalBaseLinkProvider{constructor(_,s,g,c,h){super(),this._xterm=_,this._instance=s,this._externalLinkProvider=g,this._wrapLinkHandler=c,this._tooltipCallback=h}async _provideLinks(_){var s,g;let c=_-1,h=c;const u=[this._xterm.buffer.active.getLine(c)];for(;c>=0&&(!((s=this._xterm.buffer.active.getLine(c))===null||s===void 0)&&s.isWrapped);)u.unshift(this._xterm.buffer.active.getLine(c-1)),c--;for(;h<this._xterm.buffer.active.length&&(!((g=this._xterm.buffer.active.getLine(h+1))===null||g===void 0)&&g.isWrapped);)u.push(this._xterm.buffer.active.getLine(h+1)),h++;const d=(0,l.getXtermLineContent)(this._xterm.buffer.active,c,h,this._xterm.cols);if(d.trim().length===0)return[];const v=await this._externalLinkProvider.provideLinks(this._instance,d);return v?v.map(f=>{const a=(0,l.convertLinkRangeToBuffer)(u,this._xterm.cols,{startColumn:f.startIndex+1,startLineNumber:1,endColumn:f.startIndex+f.length+1,endLineNumber:1},c),b=d.substr(f.startIndex,f.length)||"",y=this._wrapLinkHandler((S,A)=>f.activate(A));return this.injector.get(m.TerminalLink,[this._xterm,a,b,this._xterm.buffer.active.viewportY,y,this._tooltipCallback,!0,f.label])}):[]}};t.TerminalExternalLinkProviderAdapter=E,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),t.TerminalExternalLinkProviderAdapter=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Object,Object,Function,Function])],E)},28247:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertLinkRangeToBuffer=e,t.convertBufferRangeToViewport=n,t.getXtermLineContent=r,t.positionIsInRange=o;function e(l,m,E,p){const _={start:{x:E.startColumn,y:E.startLineNumber+p},end:{x:E.endColumn-1,y:E.endLineNumber+p}};let s=0;const g=Math.ceil(E.startColumn/m);for(let u=0;u<Math.min(g);u++){const d=Math.min(m,E.startColumn-u*m);let v=0;const f=l[u];if(!f)break;for(let a=0;a<Math.min(m,d+v);a++){const b=f.getCell(a);b.getWidth()===2&&v++;const S=b.getChars();S.length>1&&(v-=S.length-1)}s+=v}let c=0;const h=Math.ceil(E.endColumn/m);for(let u=Math.max(0,g-1);u<h;u++){const d=u===g-1?(E.startColumn+s)%m:0,v=Math.min(m,E.endColumn+s-u*m),f=u===g-1?s:0;let a=0;const b=l[u];if(!b)break;for(let y=d;y<Math.min(m,v+a+f);y++){const S=b.getCell(y);S.getWidth()===2&&a++,y===m-1&&S.getChars()===""&&a++}c+=a}for(_.start.x+=s,_.end.x+=s+c;_.start.x>m;)_.start.x-=m,_.start.y++;for(;_.end.x>m;)_.end.x-=m,_.end.y++;return _}function n(l,m){return{start:{x:l.start.x-1,y:l.start.y-m-1},end:{x:l.end.x-1,y:l.end.y-m-1}}}function r(l,m,E,p){let _="";for(let s=m;s<=E;s++){const g=l.getLine(s);g&&(_+=g.translateToString(!0,0,p))}return _}function o(l,m){return!(l.y<m.start.y||l.y>m.end.y||l.y===m.start.y&&l.x<m.start.x||l.y===m.end.y&&l.x>m.end.x)}},29970:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLinkManager=void 0;const n=e(85608),r=e(87083),o=e(76003),l=e(41869),m=e(43718),E=e(23418),p=e(14951),_=e(26405),s=e(69061),g=e(52826),c=e(11192),h=e(73481),{posix:u,win32:d}=m.path;let v=class extends m.Disposable{constructor(a,b){super(),this._xterm=a,this._client=b,this._standardLinkProviders=[],this._standardLinkProvidersDisposables=new m.DisposableCollection;const y=this._wrapLinkHandler((w,D)=>this._handleProtocolLink(D)),S=this.injector.get(c.TerminalProtocolLinkProvider,[this._xterm,y,this._tooltipCallback.bind(this)]);this._standardLinkProviders.push(S);const A=this._wrapLinkHandler((w,D)=>this._handleLocalLink(D)),T=this.injector.get(h.TerminalValidatedLocalLinkProvider,[this._xterm,this._client,A,this._wrapLinkHandler.bind(this),this._tooltipCallback.bind(this),async(w,D)=>D(await this._resolvePath(w))]);this._standardLinkProviders.push(T),this._registerStandardLinkProviders()}set processCwd(a){this._processCwd=a}async getTerminalCwd(){return await this.terminalService.getCwd(this._client.id)||this._processCwd}_registerStandardLinkProviders(){this._standardLinkProvidersDisposables.dispose(),this._standardLinkProvidersDisposables=new m.DisposableCollection;for(const a of this._standardLinkProviders)this._standardLinkProvidersDisposables.push(this._xterm.registerLinkProvider(a))}_tooltipCallback(a,b,y,S){const A=this._xterm._core,T={width:A._renderService.dimensions.actualCellWidth,height:A._renderService.dimensions.actualCellHeight},w={width:this._xterm.cols,height:this._xterm.rows},D=A.element.getBoundingClientRect();return this._showHover({viewportRange:b,cellDimensions:T,terminalDimensions:w,boundingClientRect:D,modifierDownCallback:y,modifierUpCallback:S},this._getLinkHoverString(a.text,a.label),I=>a.activate(void 0,I),a)}_showHover(a,b,y,S){const A=this._hoverManager.showHover(a,b,y);return S?.onInvalidated(()=>A.dispose()),m.Disposable.create(()=>A.dispose())}registerExternalLinkProvider(a,b){const y=this.injector.get(g.TerminalExternalLinkProviderAdapter,[this._xterm,a,b,this._wrapLinkHandler.bind(this),this._tooltipCallback.bind(this)]),S=this._xterm.registerLinkProvider(y);return this._registerStandardLinkProviders(),S}_wrapLinkHandler(a){return async(b,y)=>{b?.preventDefault(),!(b&&!this._isLinkActivationModifierDown(b))&&a(b,y)}}get _localLinkRegex(){const a=this._client.os===m.OperatingSystem.Windows?h.winLocalLinkClause:h.unixLocalLinkClause;return new RegExp(`${a}(${h.lineAndColumnClause})`)}async _handleLocalLink(a){const b=await this._resolvePath(a);if(!b)return;const y=this.extractLineColumnInfo(a),S={startLineNumber:y.lineNumber,endLineNumber:y.lineNumber,startColumn:y.columnNumber,endColumn:y.columnNumber};await this._editorService.open(b.uri,{range:S})}_handleHypertextLink(a){this._openerService.open(a)}async _handleProtocolLink(a){const b=m.URI.parse(a);if(b.scheme===m.Schemes.file){const y=m.FileUri.fsPath(b);this._handleLocalLink(this._client.os!==m.OperatingSystem.Windows&&m.isWindows?y.replace(/\\/g,u.sep):y);return}this._handleHypertextLink(a)}_isLinkActivationModifierDown(a){return m.isOSX?a.metaKey:a.ctrlKey}get osPath(){return this._client.os===m.OperatingSystem.Windows?d:u}_getLinkHoverString(a,b){const y=this.preferenceService.get("editor.multiCursorModifier");let S="";y==="ctrlCmd"?m.isMacintosh?S=(0,m.localize)("terminalLinkHandler.followLinkAlt.mac","option + click"):S=(0,m.localize)("terminalLinkHandler.followLinkAlt","alt + click"):m.isMacintosh?S=(0,m.localize)("terminalLinkHandler.followLinkCmd","cmd + click"):S=(0,m.localize)("terminalLinkHandler.followLinkCtrl","ctrl + click");const A=(0,m.localize)("followLink","Follow link");return b=b||A,`${b} (${S})`}async _getUserHomeDir(){const a=await this._fileSystem.getCurrentUserHome();if(!a)throw new Error("Unable to get user home directory");return await this._fileSystem.getFsPath(a.uri)}_getUserHomeDirOnce(){return this._getHomeDirPromise||(this._getHomeDirPromise=this._getUserHomeDir()),this._getHomeDirPromise}async _preprocessPath(a){if(a.charAt(0)==="~"){const b=await this._getUserHomeDirOnce();if(!b)return null;a=this.osPath.join(b,a.substring(1))}else if(a.charAt(0)!=="/"&&a.charAt(0)!=="~"){const b=await this.getTerminalCwd();if(this._client.os===m.OperatingSystem.Windows)if(!a.match("^"+h.winDrivePrefix)&&!a.startsWith("\\\\?\\")){if(!b)return null;a=this.osPath.join(b,a)}else a=a.replace(/^\\\\\?\\/,"");else{if(!b)return null;a=this.osPath.join(b,a)}}return a=this.osPath.normalize(a),a}async _resolvePath(a){const b=await this._preprocessPath(a);if(!b)return;const y=this.extractLinkUrl(b);if(y)try{const S=m.URI.file(y),A=await this._fileService.getFileStat(S.toString());if(A)return{uri:S,isDirectory:A.isDirectory}}catch{return}}extractLineColumnInfo(a){const b=this._localLinkRegex.exec(a),y={lineNumber:1,columnNumber:1};if(!b)return y;const S=this._client.os===m.OperatingSystem.Windows?h.winLineAndColumnMatchIndex:h.unixLineAndColumnMatchIndex;for(let A=0;A<h.lineAndColumnClause.length;A++){const T=S+h.lineAndColumnClauseGroupCount*A,w=b[T];if(w){y.lineNumber=parseInt(w,10);const D=b[T+2];D&&(y.columnNumber=parseInt(D,10));break}}return y}extractLinkUrl(a){const b=this._localLinkRegex.exec(a);return b?b[1]:null}};t.TerminalLinkManager=v,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],v.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(_.ITerminalService),n.__metadata("design:type",Object)],v.prototype,"terminalService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",E.WorkbenchEditorService)],v.prototype,"_editorService",void 0),n.__decorate([(0,o.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],v.prototype,"_openerService",void 0),n.__decorate([(0,o.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"_fileService",void 0),n.__decorate([(0,o.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"_fileSystem",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),n.__decorate([(0,o.Autowired)(_.ITerminalHoverManagerService),n.__metadata("design:type",Object)],v.prototype,"_hoverManager",void 0),t.TerminalLinkManager=v=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[r.Terminal,s.TerminalClient])],v)},97144:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLink=t.FOLDER_NOT_IN_WORKSPACE_LABEL=t.FOLDER_IN_WORKSPACE_LABEL=t.OPEN_FILE_LABEL=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(28247),E=500;t.OPEN_FILE_LABEL=(0,l.localize)("terminal.openFile","Open file in editor"),t.FOLDER_IN_WORKSPACE_LABEL=(0,l.localize)("terminal.focusFolder","Focus folder in explorer"),t.FOLDER_NOT_IN_WORKSPACE_LABEL=(0,l.localize)("terminal.openFolder","Open folder in new window");let p=class extends l.Disposable{get onInvalidated(){return this._onInvalidated.event}constructor(s,g,c,h,u,d,v,f){super(),this._xterm=s,this.range=g,this.text=c,this._viewportY=h,this._activateCallback=u,this._tooltipCallback=d,this._isHighConfidenceLink=v,this.label=f,this._onInvalidated=new l.Emitter,this.decorations={pointerCursor:!1,underline:this._isHighConfidenceLink}}dispose(){var s,g,c;super.dispose(),(s=this._hoverListeners)===null||s===void 0||s.dispose(),this._hoverListeners=void 0,(g=this._tooltipScheduler)===null||g===void 0||g.dispose(),this._tooltipScheduler=void 0,(c=this._tooltipDisposable)===null||c===void 0||c.dispose(),this._tooltipDisposable=void 0}activate(s,g){this._activateCallback(s,g)}hover(s,g){this._hoverListeners=new l.DisposableCollection,this._hoverListeners.push((0,o.addDisposableListener)(document,"keydown",h=>{!h.repeat&&this._isModifierDown(h)&&this._enableDecorations()})),this._hoverListeners.push((0,o.addDisposableListener)(document,"keyup",h=>{!h.repeat&&!this._isModifierDown(h)&&this._disableDecorations()})),this._hoverListeners.push(this._xterm.onRender(h=>{const u=this.range.start.y-this._viewportY;u>=h.start&&u<=h.end&&this._onInvalidated.fire()})),this._isHighConfidenceLink&&(this._tooltipScheduler=new l.RunOnceScheduler(()=>{var h;this._tooltipDisposable=this._tooltipCallback(this,(0,m.convertBufferRangeToViewport)(this.range,this._viewportY),this._isHighConfidenceLink?()=>this._enableDecorations():void 0,this._isHighConfidenceLink?()=>this._disableDecorations():void 0),(h=this._tooltipScheduler)===null||h===void 0||h.dispose(),this._tooltipScheduler=void 0},this.preferenceService.get("editor.hover.delay")||E),this._tooltipScheduler.schedule());const c={x:s.pageX,y:s.pageY};this._hoverListeners.push((0,o.addDisposableListener)(document,"mousemove",h=>{var u;this._isModifierDown(h)?this._enableDecorations():this._disableDecorations(),(Math.abs(h.pageX-c.x)>window.devicePixelRatio*2||Math.abs(h.pageY-c.y)>window.devicePixelRatio*2)&&(c.x=h.pageX,c.y=h.pageY,(u=this._tooltipScheduler)===null||u===void 0||u.schedule())}))}leave(){var s,g,c;(s=this._hoverListeners)===null||s===void 0||s.dispose(),this._hoverListeners=void 0,(g=this._tooltipScheduler)===null||g===void 0||g.dispose(),this._tooltipScheduler=void 0,(c=this._tooltipDisposable)===null||c===void 0||c.dispose(),this._tooltipDisposable=void 0}_enableDecorations(){this.decorations.pointerCursor||(this.decorations.pointerCursor=!0),this.decorations.underline||(this.decorations.underline=!0)}_disableDecorations(){this.decorations.pointerCursor&&(this.decorations.pointerCursor=!1),this.decorations.underline!==this._isHighConfidenceLink&&(this.decorations.underline=this._isHighConfidenceLink)}_isModifierDown(s){return l.isOSX?s.metaKey:s.ctrlKey}};t.TerminalLink=p,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),t.TerminalLink=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Object,String,Number,Function,Function,Boolean,Object])],p)},11192:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalProtocolLinkProvider=void 0;const n=e(85608),r=e(76003),o=e(26405),l=e(67245),m=e(28247),E=e(97144);let p=class extends l.TerminalBaseLinkProvider{constructor(g,c,h){super(),this._xterm=g,this._activateCallback=c,this._tooltipCallback=h}_provideLinks(g){var c,h;let u=g-1,d=u;const v=[this._xterm.buffer.active.getLine(u)];for(;u>=0&&(!((c=this._xterm.buffer.active.getLine(u))===null||c===void 0)&&c.isWrapped);)v.unshift(this._xterm.buffer.active.getLine(u-1)),u--;for(;d<this._xterm.buffer.active.length&&(!((h=this._xterm.buffer.active.getLine(d+1))===null||h===void 0)&&h.isWrapped);)v.push(this._xterm.buffer.active.getLine(d+1)),d++;return this._linkComputerTarget=new _(this._xterm,u,d),o.LinkComputer.computeLinks(this._linkComputerTarget).map(a=>{var b;const y=(0,m.convertLinkRangeToBuffer)(v,this._xterm.cols,a.range,u);return this.injector.get(E.TerminalLink,[this._xterm,y,((b=a.url)===null||b===void 0?void 0:b.toString())||"",this._xterm.buffer.active.viewportY,this._activateCallback,this._tooltipCallback,!0,void 0])})}};t.TerminalProtocolLinkProvider=p,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],p.prototype,"injector",void 0),t.TerminalProtocolLinkProvider=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Function,Function])],p);class _{constructor(g,c,h){this._xterm=g,this._lineStart=c,this._lineEnd=h}getLineCount(){return 1}getLineContent(){return(0,m.getXtermLineContent)(this._xterm.buffer.active,this._lineStart,this._lineEnd,this._xterm.cols)}}},73481:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalValidatedLocalLinkProvider=t.lineAndColumnClauseGroupCount=t.unixLineAndColumnMatchIndex=t.winLineAndColumnMatchIndex=t.lineAndColumnClause=t.winLocalLinkClause=t.winDrivePrefix=t.unixLocalLinkClause=void 0;const n=e(85608),r=e(76003),o=e(11050),l=e(66894),m=e(43718),E=e(97408),p=e(67245),_=e(28247),s=e(97144),g="(\\.\\.?|\\~)",c="\\/",h="[^\\0\\s!`&*()\\[\\]'\":;\\\\]";t.unixLocalLinkClause="(("+g+"|("+h+")+)?("+c+"("+h+")+)+)",t.winDrivePrefix="(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:";const u="("+t.winDrivePrefix+"|\\.\\.?|\\~)",d="(\\\\|\\/)",v="[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]'\":;]";t.winLocalLinkClause="(("+u+"|("+v+")+)?("+d+"("+v+")+)+)",t.lineAndColumnClause=[`((\\S*)['"], line ((\\d+)( column (\\d+))?))`,`((\\S*)['"],((\\d+)(:(\\d+))?))`,"((\\S*) on line ((\\d+)(, column (\\d+))?))","((\\S*):line ((\\d+)(, column (\\d+))?))","(([^\\s\\(\\)]*)(\\s?[\\(\\[](\\d+)(,\\s?(\\d+))?)[\\)\\]])",`(([^:\\s\\(\\)<>'"\\[\\]]*)(:(\\d+))?(:(\\d+))?)`].join("|").replace(/ /g,"[\xA0 ]"),t.winLineAndColumnMatchIndex=12,t.unixLineAndColumnMatchIndex=11,t.lineAndColumnClauseGroupCount=6;const f=2e3;let a=class extends p.TerminalBaseLinkProvider{constructor(y,S,A,T,w,D){super(),this._xterm=y,this._client=S,this._activateFileCallback=A,this._wrapLinkHandler=T,this._tooltipCallback=w,this._validationCallback=D}async _provideLinks(y){var S,A;const T=[];let w=y-1,D=w;const I=[this._xterm.buffer.active.getLine(w)];for(;w>=0&&(!((S=this._xterm.buffer.active.getLine(w))===null||S===void 0)&&S.isWrapped);)I.unshift(this._xterm.buffer.active.getLine(w-1)),w--;for(;D<this._xterm.buffer.active.length&&(!((A=this._xterm.buffer.active.getLine(D+1))===null||A===void 0)&&A.isWrapped);)I.push(this._xterm.buffer.active.getLine(D+1)),D++;const O=(0,_.getXtermLineContent)(this._xterm.buffer.active,w,D,this._xterm.cols);if(O.length>f)return[];const P=new RegExp(this._localLinkRegex,"g");let R,M=-1;for(;(R=P.exec(O))!==null;){let k=R[0];if(!k||(M=O.indexOf(k,M+1),P.lastIndex=M+k.length,M<0))break;((O.startsWith("--- a/")||O.startsWith("+++ b/"))&&M===4||O.startsWith("diff --git")&&(k.startsWith("a/")||k.startsWith("b/")))&&(k=k.substring(2),M+=2);const B=(0,_.convertLinkRangeToBuffer)(I,this._xterm.cols,{startColumn:M+1,startLineNumber:1,endColumn:M+k.length+1,endLineNumber:1},w),x=await new Promise(N=>{this._validationCallback(k,async j=>{if(j){const K=j.isDirectory?await this._isDirectoryInsideWorkspace(j.uri)?s.FOLDER_IN_WORKSPACE_LABEL:s.FOLDER_NOT_IN_WORKSPACE_LABEL:s.OPEN_FILE_LABEL,U=this._wrapLinkHandler((Y,z)=>{j.isDirectory?this._handleLocalFolderLink(j.uri):this._activateFileCallback(Y,z)});N(this.injector.get(s.TerminalLink,[this._xterm,B,k,this._xterm.buffer.active.viewportY,U,this._tooltipCallback,!0,K]))}else N(void 0)})});x&&T.push(x)}return T}get _localLinkRegex(){const y=this._client.os===m.OperatingSystem.Windows?t.winLocalLinkClause:t.unixLocalLinkClause;return new RegExp(`${y}(${t.lineAndColumnClause})`)}async _handleLocalFolderLink(y){if(await this._isDirectoryInsideWorkspace(y)){await this.commandService.executeCommand("revealInExplorer",y);return}this.appConfig.isElectronRenderer&&this.windowService.openWorkspace(y,{newWindow:!0})}async _isDirectoryInsideWorkspace(y){const S=await this.workspaceService.roots;for(const A of S)if(m.URI.parse(A.uri).isEqualOrParent(y))return!0;return!1}};t.TerminalValidatedLocalLinkProvider=a,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],a.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.IWindowService),n.__metadata("design:type",Object)],a.prototype,"windowService",void 0),n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],a.prototype,"appConfig",void 0),t.TerminalValidatedLocalLinkProvider=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Function,Function,Function,Function,Function])],a)},62810:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_COL=t.DEFAULT_ROW=t.AttachAddon=void 0;const n=e(43718);class r extends n.Disposable{constructor(){super(...arguments),this._onData=new n.Emitter,this.onData=this._onData.event,this._onExit=new n.Emitter,this.onExit=this._onExit.event,this._onTime=new n.Emitter,this.onTime=this._onTime.event,this._lastInputTime=0,this._onBeforeProcessData=new n.Emitter,this.onBeforeProcessData=this._onBeforeProcessData.event}setConnection(l){this._disposeConnection&&(this._disposeConnection.dispose(),this._disposeConnection=null),this.connection=l,l&&(this._disposeConnection=new n.Disposable(l.onData(m=>{let E=m;if(typeof m=="string"){const p={data:m};this._onBeforeProcessData.fire(p),p.data!==void 0&&(E=p.data)}if(this._onData.fire(E),this._terminal.write(typeof E=="string"?E:new Uint8Array(E,0,E.byteLength)),this._lastInputTime){const p=Date.now()-this._lastInputTime;this._lastInputTime=0,this._onTime.fire(p)}})),l.onExit&&this._disposeConnection.addDispose(l.onExit(m=>{this._onExit.fire(m)})))}async activate(l){this._terminal=l,this.addDispose(n.Disposable.create(()=>{var m;return(m=this._disposeConnection)===null||m===void 0?void 0:m.dispose()})),this.addDispose(l.onData(m=>this._sendData(m))),this.addDispose(l.onBinary(m=>this._sendBinary(m)))}_sendData(l){!this.connection||this.connection.readonly||(this._timeResponse(),this.connection.sendData(l))}_sendBinary(l){if(!this.connection||this.connection.readonly)return;const m=new Uint8Array(l.length);for(let E=0;E<l.length;++E)m[E]=l.charCodeAt(E)&255;this._timeResponse(),this.connection.sendData(m)}_timeResponse(){this._lastInputTime=Date.now()}}t.AttachAddon=r,t.DEFAULT_ROW=80,t.DEFAULT_COL=24},98944:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalApiService=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=e(76003),l=e(43718),m=e(28423),E=e(26405);let p=class{constructor(){this._onDidOpenTerminal=new l.Emitter,this._onDidCloseTerminal=new l.Emitter,this._onDidTerminalTitleChange=new l.Emitter,this._onDidChangeActiveTerminal=new l.Emitter,this.onDidOpenTerminal=this._onDidOpenTerminal.event,this.onDidCloseTerminal=this._onDidCloseTerminal.event,this.onDidTerminalTitleChange=this._onDidTerminalTitleChange.event,this.onDidChangeActiveTerminal=this._onDidChangeActiveTerminal.event,this.controller.onDidOpenTerminal(s=>{this._onDidOpenTerminal.fire(s)}),this.controller.onDidCloseTerminal(s=>{this._onDidCloseTerminal.fire(s)}),this.controller.onDidTerminalTitleChange(s=>{this._onDidTerminalTitleChange.fire(s)}),this.controller.onDidChangeActiveTerminal(s=>{this._onDidChangeActiveTerminal.fire(s)})}get terminals(){return Array.from(this.controller.clients.values()).map(s=>({id:s.id,name:s.name,isActive:this.view.currentWidgetId.get()===s.id}))}async createTerminal(s,g){const c=await this.controller.createTerminalWithWidgetByTerminalOptions({terminalOptions:s,id:g}),h={get id(){return c.id},get name(){return c.name},get processId(){return c.pid},show:(u=!0)=>{const d=c.widget;this.view.selectWidget(d.id),this.controller.showTerminalPanel(),u||setTimeout(()=>c.focus())},hide:()=>{this.controller.hideTerminalPanel()},dispose:()=>{this.view.removeWidget(c.widget.id),this.controller.clients.delete(c.id)}};return await c.attached.promise,h.show(),h}async getProcessId(s){const g=this.controller.clients.get(s);if(g)return g.pid}async getDefaultShellPath(){const s=await this.terminalProfileInternalService.resolveDefaultProfile();return s?.path||"/bin/bash"}sendText(s,g,c=!0){this.service.sendText(s,`${g}${c?"\r":""}`)}showTerm(s,g=!0){const c=this.controller.clients.get(s);if(!c)return;const h=c.widget;this.view.selectWidget(h.id),this.controller.showTerminalPanel(),g||setTimeout(()=>c.focus())}hideTerm(s){this.controller.clients.get(s)&&this.controller.hideTerminalPanel()}removeTerm(s){const g=this.controller.clients.get(s);g&&(this.view.removeWidget(g.widget.id),this.controller.clients.delete(s))}createWidget(s,g){const c=s,h=this.view.createGroup(),u=this.view.getGroup(h),d=this.view.createWidget(u,c,!1,!0);return(0,m.transaction)(v=>{d.name.set((0,r.default)(s),v)}),this.view.selectWidget(c),d.onRender(()=>{g(d.element)}),d}scheduleReconnection(){return this.network.scheduleReconnection()}};t.TerminalApiService=p,n.__decorate([(0,o.Autowired)(E.ITerminalController),n.__metadata("design:type",Object)],p.prototype,"controller",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalGroupViewService),n.__metadata("design:type",Object)],p.prototype,"view",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalInternalService),n.__metadata("design:type",Object)],p.prototype,"service",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalNetwork),n.__metadata("design:type",Object)],p.prototype,"network",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalProfileInternalService),n.__metadata("design:type",Object)],p.prototype,"terminalProfileInternalService",void 0),t.TerminalApiService=p=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],p)},69061:(L,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.createTerminalClientFactory2=t.TerminalClientFactory=t.TerminalClient=void 0;const r=e(85608),o=e(76003),l=e(41869),m=e(67889),E=e(43718),p=e(23418),_=e(42933),s=e(28423),g=e(72665),c=e(88913),h=e(10560),u=e(26405),d=e(94620),v=e(3276),f=e(29970),a=e(62810),b=e(90853),y=e(35628),S=e(70845),A=e(41685);let T=n=class extends E.Disposable{constructor(){super(),this.isTaskExecutor=!1,this._ready=!1,this._hasOutput=!1,this._areLinksReady=!1,this._onInput=new E.Emitter,this.onInput=this._onInput.event,this._onOutput=new E.Emitter,this.onOutput=this._onOutput.event,this._onExit=new E.Emitter,this.onExit=this._onExit.event,this._onTitleChange=new E.Emitter,this.onTitleChange=this._onTitleChange.event,this._onLinksReady=new E.Emitter,this.onLinksReady=this._onLinksReady.event,this._onResponseTime=new E.Emitter,this.onResponseTime=this._onResponseTime.event,this._onNameChangeEmitter=new E.Emitter,this.onNameChange=this._onNameChangeEmitter.event,this._name="",this.init()}async init(){this.xterm=this.injector.get(A.XTerm,[{xtermOptions:{theme:this.theme.terminalTheme,...this.internalService.getOptions(),...this.terminalPreference.toJSON()}}]),this.addDispose(this.xterm),this.addDispose(this.internalService.onError(O=>{var P;this.messageService.error(O.message),!((P=O.launchConfig)===null||P===void 0)&&P.executable?this.updateTerminalName({name:"error: "+O.launchConfig.executable}):this.updateTerminalName({name:"error"})})),this.addDispose(this.internalService.onProcessChange(O=>{O.sessionId===this.id&&(0,s.transaction)(P=>{this.widget.processName.set(O.processName,P)})}))}onWidgetShow(){this._show&&(this._show.resolve(),this._show=null),this._layout()}async setupWidget(O){this._widget=O,this._prepare(),this.addDispose(E.Disposable.create(()=>{n.WORKSPACE_PATH_CACHED.delete(O.group.id)})),this.addDispose(this.terminalPreference.onChange(async({name:P,value:R})=>{!O.show&&!this._show&&(this._show=new E.Deferred),this._show&&await this._show.promise,this._setOption(P,R),this.xterm.updatePreferences({[P]:R})})),O.show?this.onWidgetShow():this.addDispose(O.onShow(P=>{P&&this.onWidgetShow()})),this.addDispose(O.onError(P=>{var R;P||((R=this._error)===null||R===void 0||R.resolve(),this._layout())})),this.addDispose(O.onResize(async()=>{this._debounceResize()}))}async init2(O,P){var R,M,k,B;if(this._uid=P?.id||O.id,this.setupWidget(O),!P||Object.keys(P).length===0){const j=await this.terminalProfileInternalService.resolveDefaultProfile();P={id:this._uid,config:j}}if(!P.cwd){const K=O.group.widgets.get();if(K.length>1&&K[0]){const U=await this.internalService.getCwd(K[0].id);U&&(P.cwd=U)}}await this._checkWorkspace();const x=(k=(R=P.cwd)!==null&&R!==void 0?R:(M=P?.config)===null||M===void 0?void 0:M.cwd)!==null&&k!==void 0?k:this._workspacePath,N=this.controller.convertProfileToLaunchConfig(P.config,x);this._launchConfig=N,this._launchConfig.__fromTerminalOptions&&(this._terminalOptions=this._launchConfig.__fromTerminalOptions),this.name=N.name||"",N.initialText&&this.xterm.raw.writeln(N.initialText),N.env||(N.env={}),(B=this.environmentService.mergedCollection)===null||B===void 0||B.applyToProcessEnvironment(N.env,this.applicationService.backendOS,this.variableResolver.resolve.bind(this.variableResolver)),this.addDispose(this.environmentService.onDidChangeCollections(j=>{j.applyToProcessEnvironment(N.env,this.applicationService.backendOS,this.variableResolver.resolve.bind(this.variableResolver))})),this._attachXterm(),this._attachAfterRender()}get name(){return this._name}set name(O){this._name!==O&&(this._name=O,this._onNameChangeEmitter.fire(O))}get term(){return this.xterm.raw}get pid(){return this.internalService.getProcessId(this.id)}get launchConfig(){return this._launchConfig}get createOptions(){}get container(){return this.xterm.container}get id(){return this._uid}get widget(){return this._widget}get ready(){return this._ready}get attached(){return this._attached}get firstOutput(){return this._firstStdout}get show(){return this._show}get areLinksReady(){return this._areLinksReady}get os(){return this._os}_prepareAddons(){this._attachAddon=new a.AttachAddon;const O=this._attachAddon.onBeforeProcessData;if(this.preferenceService.get("terminal.integrated.localEchoEnabled")){const P=this.preferenceService.get("terminal.integrated.localEchoExcludePrograms",S.DEFAULT_LOCAL_ECHO_EXCLUDE),R=new S.TypeAheadAddon(O,{localEchoExcludePrograms:Array.isArray(P)?P:S.DEFAULT_LOCAL_ECHO_EXCLUDE,localEchoLatencyThreshold:this.preferenceService.get("terminal.integrated.localEchoLatencyThreshold",30),localEchoStyle:this.preferenceService.get("terminal.integrated.localEchoStyle","dim")},this.preferenceService.onPreferenceChanged);this.addDispose(R),this.xterm.raw.loadAddon(R)}this.addDispose([this._attachAddon,this._attachAddon.onData(P=>{this._onOutput.fire({id:this.id,data:P})}),this._attachAddon.onExit(P=>{var R,M;this.logger.warn(`${this.id} ${this.name} exit with ${P}`),P!==0&&this.messageService.error(`terminal ${this.name}(${(M=(R=this._attachAddon.connection)===null||R===void 0?void 0:R.ptyInstance)===null||M===void 0?void 0:M.shellPath}) exited with non-zero code ${P}`),this._onExit.fire({id:this.id,code:P})}),this._attachAddon.onTime(P=>{this._onResponseTime.fire(P),this.reporter.performance(E.REPORT_NAME.TERMINAL_MEASURE,{duration:P,msg:"terminal.response"})})]),this.xterm.raw.loadAddon(this._attachAddon)}_xtermEvents(){this.addDispose(this.xterm.raw.onResize(O=>{this._hasOutput&&this._doResize()}))}_attachXterm(){this._prepareAddons(),this._xtermEvents(),this._linkManager=this.injector.get(f.TerminalLinkManager,[this.xterm.raw,this]),this._linkManager.processCwd=this._workspacePath,this.addDispose(this._linkManager),this._areLinksReady=!0,this._onLinksReady.fire(this)}_doResize(){this.internalService.resize(this.id,this.xterm.raw.cols,this.xterm.raw.rows)}_prepare(){var O,P,R,M,k;(O=this._attached)===null||O===void 0||O.reject("TerminalClient is Re-initialization"),(P=this._firstStdout)===null||P===void 0||P.reject("TerminalClient is Re-initialization"),(R=this._error)===null||R===void 0||R.reject("TerminalClient is Re-initialization"),(M=this._show)===null||M===void 0||M.reject("TerminalClient is Re-initialization"),this._ready=!1,this._hasOutput=!1,this._attached=new E.Deferred,this._show=new E.Deferred,this._error=new E.Deferred,this._firstStdout=new E.Deferred,(k=this._attachAddon)===null||k===void 0||k.setConnection(void 0),this.internalService.getOS().then(x=>{this._os=x});const{dispose:B}=this.onOutput(()=>{B(),this._hasOutput=!0,this._firstStdout.resolve()})}_attachAfterRender(){queueMicrotask(()=>{var O;this._layout(),this.attach(),this.focus(),this.widget.show||(O=this._show)===null||O===void 0||O.promise.then(async()=>{this._show=new E.Deferred})})}async _pickWorkspace(){var O;if(this.workspace.isMultiRootWorkspaceOpened&&!this._widget.recovery){const P=this.workspace.tryGetRoots();return await this.quickPick.show(P.map(M=>new E.URI(M.uri).codeUri.fsPath),{placeholder:(0,l.localize)("terminal.selectCWDForNewTerminal")})}else return this.workspace.workspace?new E.URI((O=this.workspace.workspace)===null||O===void 0?void 0:O.uri).codeUri.fsPath:void 0}async _checkWorkspace(){const O=this._widget;if(n.WORKSPACE_PATH_CACHED.has(O.group.id))this._workspacePath=n.WORKSPACE_PATH_CACHED.get(O.group.id);else{const P=await this._pickWorkspace();P&&(this._workspacePath=P,n.WORKSPACE_PATH_CACHED.set(O.group.id,this._workspacePath))}}async checkHealthy(){return await this.internalService.check([this.id])}displayUnHealthyMessage(){const O=this.term,P=O.options.theme,R=(k,B,x)=>{const N=" ",j=k.split(`
|
|
28798
|
+
`)}get status(){return this._validationStatus}}let h=class extends o.Disposable{constructor(){super(),this._onDidStateChange=new l.Emitter,this.onDidStateChange=this._onDidStateChange.event,this._onDidRegisterTaskProvider=new l.Emitter,this.onDidRegisterTaskProvider=this._onDidRegisterTaskProvider.event,this.providerHandler=0,this.runningTasks=new Map,this.toQuickOpenItem=d=>{var v;return new o.QuickOpenItem({label:d._label||"",detail:d instanceof _.ContributedTask?`${d.command.name||""} ${d.command.args?(v=d.command.args)===null||v===void 0?void 0:v.join(" "):""}`:void 0,run:f=>f===o.Mode.OPEN?(this.runTask(d),!0):!1})},this.providers=new Map,this.providerTypes=new Map,this.addDispose([this.taskSystem.onDidStateChange(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidBackgroundTaskBegin(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidBackgroundTaskEnded(d=>this._onDidStateChange.fire(d)),this.taskSystem.onDidProblemMatched(d=>this._onDidStateChange.fire(d))])}get outputChannel(){return this._outputChannel||(this._outputChannel=this.outputService.getChannel((0,o.localize)("task.outputchannel.name"))),this._outputChannel}get workspaceFolders(){return this._workspaceFolders||this.tryGetWorkspaceFolders(),this._workspaceFolders}tryGetWorkspaceFolders(){this._workspaceFolders=this.workspaceService.tryGetRoots().map(d=>o.Uri.parse(d.uri))}async runTaskCommand(){const d=await this.getGroupedTasks(),v=await this.getWorkspaceTasks(d),[f,a]=this.combineQuickItems(d,v);this.quickOpenService.open({onType:(b,y)=>y([...f,...a])},{placeholder:(0,o.formatLocalize)("TaskService.pickRunTask")})}run(d){return this.runTask(d)}async attach(d,v){if(this.runningTasks.has(d))return;const[,,,f]=d.split(",");if(f)if(this.providerTypes.has(f)){const a=await this.getTask(this.workspaceFolders[0],d);a&&(this.taskSystem.attach(a,v),this.runningTasks.set(d,a))}else{const a=this._onDidRegisterTaskProvider.event(async b=>{if(b===f){const y=await this.getTask(this.workspaceFolders[0],d);y&&(this.taskSystem.attach(y,v),this.runningTasks.set(d,y),a.dispose())}})}}async terminateTask(d){const v=this.taskSystem.getActiveTasks();for(const f of v)f._id===d&&await this.taskSystem.terminate(f)}getTask(d,v,f=!1){const a=(0,o.isString)(v)?v:this.taskDefinitionRegistry.createTaskIdentifier(v,console);return a===void 0?Promise.resolve(void 0):this.getWorkspaceGroupedTasks(d).then(b=>{if(!b)return Promise.resolve(void 0);const y=b.get(d.toString());if(!y)return Promise.resolve(void 0);for(const S of y)if(S.matches(a,f)||S._id===v||S._label===v)return S})}async runTask(d){const v=await this.taskSystem.run(d);return v.promise.then(f=>{this.runningTasks.has(d._id)&&this.runningTasks.delete(d._id),this.outputChannel.appendLine(`Task ${d._label} done, exit code ${f.exitCode}`)}),this.runningTasks.set(d._id,d),Promise.resolve(v.promise)}async tasks(d){var v;const f=await this.getWorkspaceGroupedTasks(),a=[];for(const b of f.values())for(const y of b)d&&d.type&&((v=y.getDefinition())===null||v===void 0?void 0:v.type)===d.type&&a.push(y);return a}async getWorkspaceGroupedTasks(d=this.workspaceFolders[0]){const v=await this.getGroupedTasks(),f=await this.getWorkspaceTasks(v),a=[];for(const S of v)S.tasks&&S.tasks.length>0&&a.push(...S.tasks);const b=f?.get(d.toString());b&&b.set&&a.push(...b.set.tasks);const y=new Map;return y.set(d.toString(),a),y}async getGroupedTasks(){const d={};for(const f of this.taskDefinitionRegistry.all())d[f.taskType]=!0;d.shell=!0,d.process=!0;const v=[];for(const[,f]of this.providers){const a=await f.provideTasks(d);v.push(a)}return v}toQuickOpenGroupItem(d,v,f){return new o.QuickOpenItem({groupLabel:d?(0,o.formatLocalize)("task.contribute"):void 0,run:v,showBorder:d,label:f,value:{type:f,grouped:!0},iconClass:(0,o.getIcon)("folder")})}combineQuickItems(d,v){var f,a;const b=[],y=[];let S=!0;for(const A of d){const T=D=>D===o.Mode.OPEN?(this.quickOpenService.open({onType:(I,O)=>A.tasks.length===0?O([new o.QuickOpenItem({value:"none",label:(0,o.formatLocalize)("task.cannotFindTask",A.type),run:P=>P===o.Mode.OPEN})]):O(A.tasks.map(this.toQuickOpenItem))}),!1):!0,w=this.toQuickOpenGroupItem(S,T,A.type);b.push(w),S=!1}if(v){for(const A of v.values())if(!((f=A.configurations)===null||f===void 0)&&f.byIdentifier&&Object.keys((a=A.configurations)===null||a===void 0?void 0:a.byIdentifier).forEach(T=>{var w;const D=(w=A.configurations)===null||w===void 0?void 0:w.byIdentifier[T];y.push(this.toQuickOpenItem(D))}),A.set&&A.set.tasks.length>0)for(const T of A.set.tasks)y.push(this.toQuickOpenItem(T))}return[y,b]}async getWorkspaceTasks(d){return this.updateWorkspaceTasks(d)}updateWorkspaceTasks(d){return this.workspaceFolders.length===0?Promise.resolve(new Map):this.workspaceFolders.length===1?this.computeWorkspaceFolderTasks(this.workspaceFolders[0],d).then(v=>{const f=new Map;return f.set(this.workspaceFolders[0].toString(),v),f}):Promise.resolve(void 0)}computeWorkspaceFolderTasks(d,v){return new Promise(async f=>{const a=this.preferences.get("tasks"),b=new Map;for(const y of v)for(const S of y.tasks)_.ContributedTask.is(S)&&b.set(S.defines._key,S);if(a&&a.tasks){let y;const S=[];let A=!1;const T=new c(this.outputChannel),w=(0,g.parse)({uri:d,name:d.path,index:0},l.platform,a,T,this.taskDefinitionRegistry,this.problemMatcher,this.problemPattern);if(w.validationStatus.isOK()||(A=!0,this.showOutput()),w.configured&&w.configured.length>0){y={byIdentifier:Object.create(null)};for(const D of w.configured)y.byIdentifier[D.configures._key]=D}S.push(...w.custom),y&&y.byIdentifier&&Object.keys(y.byIdentifier).forEach(D=>{if(b.has(D)){const I=(0,g.createCustomTask)(b.get(D),y.byIdentifier[D]);y.byIdentifier[D]=I}}),f({workspaceFolder:{uri:d,name:d.path,index:0},set:{tasks:S},configurations:y,hasErrors:A})}else f({workspaceFolder:{uri:d,name:d.path,index:0},set:{tasks:[]},configurations:{byIdentifier:{}},hasErrors:!1})})}showOutput(){this.outputChannel.appendLine("There are task errors. See the output for details.")}rerunLastTask(){return this.taskSystem.rerun()}registerTaskProvider(d,v){const f=this.providerHandler+=1;return this.providers.set(f,d),this.providerTypes.set(v,f),this._onDidRegisterTaskProvider.fire(v),{dispose:()=>{this.providers.delete(f),this.providerTypes.delete(v)}}}};t.TaskService=h,n.__decorate([(0,r.Autowired)(m.OutputService),n.__metadata("design:type",m.OutputService)],h.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],h.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.QuickOpenService),n.__metadata("design:type",Object)],h.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],h.prototype,"preferences",void 0),n.__decorate([(0,r.Autowired)(p.ITaskSystem),n.__metadata("design:type",Object)],h.prototype,"taskSystem",void 0),n.__decorate([(0,r.Autowired)(l.ITaskDefinitionRegistry),n.__metadata("design:type",Object)],h.prototype,"taskDefinitionRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IProblemMatcherRegistry),n.__metadata("design:type",Object)],h.prototype,"problemMatcher",void 0),n.__decorate([(0,r.Autowired)(l.IProblemPatternRegistry),n.__metadata("design:type",Object)],h.prototype,"problemPattern",void 0),t.TaskService=h=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],h)},66893:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalTaskSystem=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(80907),m=e(1041),E=e(12968),p=e(95268),{deepClone:_}=o.objects,{Path:s}=o.path;let g=class extends o.Disposable{constructor(){super(...arguments),this.executorId=0,this.activeTaskExecutors=new Map,this._onDidStateChange=new o.Emitter,this._onDidBackgroundTaskBegin=new o.Emitter,this._onDidBackgroundTaskEnded=new o.Emitter,this._onDidProblemMatched=new o.Emitter,this.taskExecutors=[],this.onDidStateChange=this._onDidStateChange.event,this.onDidBackgroundTaskBegin=this._onDidBackgroundTaskBegin.event,this.onDidBackgroundTaskEnded=this._onDidBackgroundTaskEnded.event,this.onDidProblemMatched=this._onDidProblemMatched.event}run(h){return this.currentTask=h,this.executeTask(h)}attach(h,u){return this.currentTask=h,this.attachTask(h,u)}async buildShellConfig(h){let u="";const d=h.name,v=h.args,f=[],a=[];if(d&&(typeof d=="string"?u=d:u=d.value),f.push(u),v)for(const b of v)typeof b=="string"?f.push(b):f.push(b.value);for(const b of f)b.indexOf(s.separator)>-1?a.push(await this.resolveVariables(b.split(s.separator))):a.push(await this.resolveVariable(b));return{args:["-c",`${a.join(" ")}`]}}findAvailableExecutor(){return this.taskExecutors.find(h=>h.taskStatus===p.TaskStatus.PROCESS_EXITED)}async createTaskExecutor(h,u){const d=await this.resolveMatchers(h.configurationProperties.problemMatchers),v=new E.ProblemCollector(d),f=this.injector.get(p.TerminalTaskExecutor,[h,u,v,this.executorId]);return this.executorId+=1,this.taskExecutors.push(f),this.addDispose(f.onDidTerminalWidgetRemove(()=>{this.taskExecutors=this.taskExecutors.filter(a=>a.executorId!==f.executorId)})),f}async attachTask(h,u){const v=(await this.createTaskExecutor(h,u.launchConfig)).attach(u);return this.lastTask=h,{task:h,kind:1,promise:v}}async executeTask(h){var u,d,v;const f=h.command&&h.command.runtime===m.RuntimeType.CustomExecution,a=await this.resolveMatchers(h.configurationProperties.problemMatchers),b=new E.ProblemCollector(a),{args:y}=await this.buildShellConfig(h.command),S={name:this.createTerminalName(h),args:y,isExtensionOwnedTerminal:f,env:((u=h.command.options)===null||u===void 0?void 0:u.env)||{},cwd:!((d=h.command.options)===null||d===void 0)&&d.cwd?await this.resolveVariable((v=h.command.options)===null||v===void 0?void 0:v.cwd):await this.resolveVariable("${workspaceFolder}"),disablePreserveHistory:!0};let A=this.findAvailableExecutor(),T=!1;A?(T=!0,A.updateProblemCollector(b),A.updateLaunchConfig(S),A.reset()):A=await this.createTaskExecutor(h,S),T?this._onDidStateChange.fire(m.TaskEvent.create("start",h,A.terminalId)):this.addDispose(A.onDidTerminalCreated(I=>{this._onDidStateChange.fire(m.TaskEvent.create("start",h,I))})),T||(this.addDispose(A.onDidTaskProcessExit(I=>{this._onDidStateChange.fire(m.TaskEvent.create("processEnded",h,I)),this._onDidStateChange.fire(m.TaskEvent.create("end",h))})),this.addDispose(A.onDidBackgroundTaskBegin(()=>this._onDidBackgroundTaskBegin.fire(m.TaskEvent.create("backgroundTaskBegin",h)))),this.addDispose(A.onDidBackgroundTaskEnd(()=>this._onDidBackgroundTaskEnded.fire(m.TaskEvent.create("backgroundTaskEnded",h)))),this.addDispose(A.onDidProblemMatched(I=>this._onDidProblemMatched.fire(m.TaskEvent.create("problemMatched",h,I)))));const w=A.execute(h,T),D=h.getMapKey();return this.activeTaskExecutors.set(D,{promise:Promise.resolve(w),task:h,executor:A}),this._onDidStateChange.fire(m.TaskEvent.create("active",h)),await A.processReady.promise,this._onDidStateChange.fire(m.TaskEvent.create("processStarted",h,A.processId)),this.lastTask=h,{task:h,kind:1,promise:w}}createTerminalName(h){return(0,o.formatLocalize)("TerminalTaskSystem.terminalName",h.getQualifiedLabel()||h.configurationProperties.name)}async resolveVariables(h){const u=[];for(const d of h)u.push(await this.resolveVariable(d));return u.join(s.separator)}async resolveVariable(h){if((0,o.isString)(h))return await this.variableResolver.resolve(h);if(h!==void 0)return{value:await this.variableResolver.resolve(h.value),quoting:h.quoting};throw new Error("Should never try to resolve undefined.")}async resolveMatchers(h){if(h==null||h.length===0)return[];const u=[];for(const d of h){let v;if((0,o.isString)(d)?d[0].startsWith("$")?v=this.problemMatcher.get(d.substring(1)):v=this.problemMatcher.get(d):v=d,!v)continue;const f=v.filePrefix!==void 0;if(!f)u.push(v);else{const a=_(v);f&&(a.filePrefix=await this.resolveVariable(a.filePrefix)),u.push(a)}}return u}getActiveTasks(){return Array.from(this.activeTaskExecutors.values()).map(h=>h.task)}async terminate(h){const u=h.getMapKey(),d=this.activeTaskExecutors.get(u);if(!d)return Promise.resolve({task:void 0,success:!0});const{success:v}=await d.executor.terminate();return this.activeTaskExecutors.delete(u),{task:h,success:v}}async rerun(){return this.lastTask&&await this.executeTask(this.lastTask)}isActive(){throw new Error("Method not implemented.")}isActiveSync(){throw new Error("Method not implemented.")}getBusyTasks(){throw new Error("Method not implemented.")}canAutoTerminate(){throw new Error("Method not implemented.")}terminateAll(){throw new Error("Method not implemented.")}revealTask(h){throw new Error("Method not implemented.")}customExecutionComplete(h,u){throw new Error("Method not implemented.")}};t.TerminalTaskSystem=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)(o.IProblemMatcherRegistry),n.__metadata("design:type",Object)],g.prototype,"problemMatcher",void 0),n.__decorate([(0,r.Autowired)(l.IVariableResolverService),n.__metadata("design:type",Object)],g.prototype,"variableResolver",void 0),t.TerminalTaskSystem=g=n.__decorate([(0,r.Injectable)()],g)},93950:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITaskSystem=t.ITaskExecutor=t.ITaskService=void 0,t.ITaskService=Symbol("ITaskService"),t.ITaskExecutor=Symbol("ITaskExecutor"),t.ITaskSystem=Symbol("ITaskSystem")},1041:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaskEvent=t.TaskSorter=t.ExecutionEngine=t.InMemoryTask=t.ContributedTask=t.ConfiguringTask=t.CustomTask=t.CommonTask=t.RunOptions=t.RunOnOptions=t.TaskSourceKind=t.TaskGroup=t.CommandString=t.RuntimeType=t.PresentationOptions=t.PanelKind=t.RevealProblemKind=t.RevealKind=t.CommandOptions=t.CUSTOMIZED_TASK_TYPE=t.ShellQuoting=t.TASK_RUNNING_STATE=void 0;const n=e(40191),r=e(43718),{basename:o}=r.path;t.TASK_RUNNING_STATE=new n.RawContextKey("taskRunning",!1);var l;(function(D){D[D.Escape=1]="Escape",D[D.Strong=2]="Strong",D[D.Weak=3]="Weak"})(l||(t.ShellQuoting=l={})),t.CUSTOMIZED_TASK_TYPE="$customized",function(D){function I(O){if(!O)return D.Strong;switch(O.toLowerCase()){case"escape":return D.Escape;case"strong":return D.Strong;case"weak":return D.Weak;default:return D.Strong}}D.from=I}(l||(t.ShellQuoting=l={}));var m;(function(D){D.defaults={cwd:"${workspaceFolder}"}})(m||(t.CommandOptions=m={}));var E;(function(D){D[D.Always=1]="Always",D[D.Silent=2]="Silent",D[D.Never=3]="Never"})(E||(t.RevealKind=E={})),function(D){function I(O){switch(O.toLowerCase()){case"always":return D.Always;case"silent":return D.Silent;case"never":return D.Never;default:return D.Always}}D.fromString=I}(E||(t.RevealKind=E={}));var p;(function(D){D[D.Never=1]="Never",D[D.OnProblem=2]="OnProblem",D[D.Always=3]="Always"})(p||(t.RevealProblemKind=p={})),function(D){function I(O){switch(O.toLowerCase()){case"always":return D.Always;case"never":return D.Never;case"onproblem":return D.OnProblem;default:return D.OnProblem}}D.fromString=I}(p||(t.RevealProblemKind=p={}));var _;(function(D){D[D.Shared=1]="Shared",D[D.Dedicated=2]="Dedicated",D[D.New=3]="New"})(_||(t.PanelKind=_={})),function(D){function I(O){switch(O.toLowerCase()){case"shared":return D.Shared;case"dedicated":return D.Dedicated;case"new":return D.New;default:return D.Shared}}D.fromString=I}(_||(t.PanelKind=_={}));var s;(function(D){D.defaults={echo:!0,reveal:E.Always,revealProblems:p.Never,focus:!1,panel:_.Shared,showReuseMessage:!0,clear:!1}})(s||(t.PresentationOptions=s={}));var g;(function(D){D[D.Shell=1]="Shell",D[D.Process=2]="Process",D[D.CustomExecution=3]="CustomExecution",D[D.CustomExecution2=4]="CustomExecution2"})(g||(t.RuntimeType=g={})),function(D){function I(O){switch(O.toLowerCase()){case"shell":return D.Shell;case"process":return D.Process;case"customExecution":return D.CustomExecution;default:return D.Process}}D.fromString=I}(g||(t.RuntimeType=g={}));var c;(function(D){function I(O){return(0,r.isString)(O)?O:O.value}D.value=I})(c||(t.CommandString=c={}));var h;(function(D){D.Clean={_id:"clean",isDefault:!1},D.Build={_id:"build",isDefault:!1},D.Rebuild={_id:"rebuild",isDefault:!1},D.Test={_id:"test",isDefault:!1};function I(P){return P===D.Clean._id||P===D.Build._id||P===D.Rebuild._id||P===D.Test._id}D.is=I;function O(P){if(P!==void 0)return(0,r.isString)(P)?I(P)?{_id:P,isDefault:!1}:void 0:P}D.from=O})(h||(t.TaskGroup=h={}));var u;(function(D){D.Workspace="workspace",D.Extension="extension",D.InMemory="inMemory",D.WorkspaceFile="workspaceFile",D.User="user"})(u||(t.TaskSourceKind=u={}));var d;(function(D){D[D.default=1]="default",D[D.folderOpen=2]="folderOpen"})(d||(t.RunOnOptions=d={}));var v;(function(D){D.defaults={reevaluateOnRerun:!0,runOn:d.default}})(v||(t.RunOptions=v={}));class f{constructor(I,O,P,R,M,k){this._label="",this._id=I,O&&(this._label=O),P&&(this.type=P),this.runOptions=R,this.configurationProperties=M,this._source=k}getDefinition(I){}getMapKey(){return this._id}getRecentlyUsedKey(){}clone(){return this.fromObject(Object.assign({},this))}getWorkspaceFolder(){}getWorkspaceFileName(){}getTelemetryKind(){return"unknown"}matches(I,O=!1){if(I===void 0)return!1;if((0,r.isString)(I))return I===this._label||I===this.configurationProperties.identifier||O&&I===this._id;const P=this.getDefinition(!0);return P!==void 0&&P._key===I._key}getQualifiedLabel(){const I=this.getWorkspaceFolder();return I?`${this._label} (${I.name})`:this._label}getTaskExecution(){return{id:this._id,task:this}}addTaskLoadMessages(I){this._taskLoadMessages===void 0&&(this._taskLoadMessages=[]),I&&(this._taskLoadMessages=this._taskLoadMessages.concat(I))}get taskLoadMessages(){return this._taskLoadMessages}}t.CommonTask=f;class a extends f{constructor(I,O,P,R,M,k,B,x){super(I,P,void 0,B,x,O),this.command={},this._source=O,this.hasDefinedMatchers=k,M&&(this.command=M)}customizes(){if(this._source&&this._source.customizes)return this._source.customizes}getDefinition(I=!1){if(I&&this._source.customizes!==void 0)return this._source.customizes;{let O;switch(this.command?this.command.runtime:void 0){case g.Shell:O="shell";break;case g.Process:O="process";break;case g.CustomExecution:O="customExecution";break;case void 0:O="$composite";break;default:throw new Error("Unexpected task runtime")}return{type:O,_key:this._id,id:this._id}}}static is(I){return I instanceof a}getMapKey(){const I=this._source.config.workspaceFolder;return I?`${I.uri.toString()}|${this._id}`:this._id}getRecentlyUsedKey(){const I=this._source.config.workspaceFolder;if(!I)return;let O=this.configurationProperties.identifier;this._source.kind!==u.Workspace&&(O+=this._source.kind);const P={type:t.CUSTOMIZED_TASK_TYPE,folder:I.uri.toString(),id:O};return JSON.stringify(P)}getWorkspaceFolder(){return this._source.config.workspaceFolder}getWorkspaceFileName(){return this._source.config.workspace&&this._source.config.workspace.configuration?o(this._source.config.workspace.configuration.toString()):void 0}getTelemetryKind(){return this._source.customizes?"workspace>extension":"workspace"}fromObject(I){return new a(I._id,I._source,I._label,I.type,I.command,I.hasDefinedMatchers,I.runOptions,I.configurationProperties)}}t.CustomTask=a;class b extends f{constructor(I,O,P,R,M,k,B){super(I,P,R,k,B,O),this._source=O,this.configures=M}static is(I){return I instanceof b}fromObject(I){return I}getDefinition(){return this.configures}getWorkspaceFileName(){return this._source.config.workspace&&this._source.config.workspace.configuration?o(this._source.config.workspace.configuration.toString()):void 0}}t.ConfiguringTask=b;class y extends f{constructor(I,O,P,R,M,k,B,x,N){super(I,P,R,x,N,O),this.defines=M,this.hasDefinedMatchers=B,this.command=k}getDefinition(){return this.defines}static is(I){return I instanceof y}getMapKey(){const I=this._source.workspaceFolder;return I?`${this._source.scope.toString()}|${I.uri.toString()}|${this._id}`:`${this._source.scope.toString()}|${this._id}`}getRecentlyUsedKey(){const I={type:"contributed",scope:this._source.scope,id:this._id};return this._source.scope===3&&this._source.workspaceFolder&&(I.folder=this._source.workspaceFolder.uri.toString()),JSON.stringify(I)}getWorkspaceFolder(){return this._source.workspaceFolder}getTelemetryKind(){return"extension"}fromObject(I){return new y(I._id,I._source,I._label,I.type,I.defines,I.command,I.hasDefinedMatchers,I.runOptions,I.configurationProperties)}}t.ContributedTask=y;class S extends f{constructor(I,O,P,R,M,k){super(I,P,R,M,k,O),this._source=O}static is(I){return I instanceof S}getTelemetryKind(){return"composite"}fromObject(I){return new S(I._id,I._source,I._label,I.type,I.runOptions,I.configurationProperties)}}t.InMemoryTask=S;var A;(function(D){D[D.Process=1]="Process",D[D.Terminal=2]="Terminal"})(A||(t.ExecutionEngine=A={})),function(D){D._default=D.Terminal}(A||(t.ExecutionEngine=A={}));class T{constructor(I){this._order=new Map;for(let O=0;O<I.length;O++)this._order.set(I[O].uri.toString(),O)}compare(I,O){const P=I.getWorkspaceFolder(),R=O.getWorkspaceFolder();if(P&&R){let M=this._order.get(P.uri.toString());M=M===void 0?0:M+1;let k=this._order.get(R.uri.toString());return k=k===void 0?0:k+1,M===k?I._label.localeCompare(O._label):M-k}else return!P&&R?-1:P&&!R?1:0}}t.TaskSorter=T;var w;(function(D){function I(O,P,R){if(P){const M={kind:O,taskId:P._id,taskName:P.configurationProperties.name,runType:P.configurationProperties.isBackground?"background":"singleRun",group:P.configurationProperties.group,processId:void 0,exitCode:void 0,terminalId:void 0,__task:P};return O==="start"?M.terminalId=R:O==="processStarted"?M.processId=R:O==="processEnded"?M.exitCode=R:O==="problemMatched"&&(M.problems=R),Object.freeze(M)}else return Object.freeze({kind:"changed"})}D.create=I})(w||(t.TaskEvent=w={}))},90305:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(75655));let l=0,m=null;t.default=E=>{const{start:p,stop:_,self:s,left:g,right:c,wholeWidth:h,last:u}=E,d=a=>{l=a.clientX,m=s,p()},v=a=>{if(!l)return!1;const b=a.clientX,y=(b-l)/h*100;l=b,y<0?(s&&s.increase(y),c&&c.increase(-y)):m&&m===g&&(s&&s.increase(-y),g&&g.increase(y))},f=a=>{l=0,m=null,s.resize(),g&&g.resize(),c&&c.resize(),_()};return r.default.createElement("div",{className:o.default.resizeDelegetContainer,onMouseUp:f,onMouseMove:v},!u&&r.default.createElement("div",{className:o.default.resizeDelegateBar,onMouseDown:d,onMouseUp:f}))}},92699:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResizeDirection=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),m=e(7473),E=n.__importDefault(e(90305)),p=n.__importDefault(e(75655));var _;(function(c){c[c.vertical=0]="vertical",c[c.horizontal=1]="horizontal"})(_||(t.ResizeDirection=_={}));const s=({index:c,widget:h,wholeWidth:u,setEvent:d,self:v,left:f,right:a,last:b})=>{const y=(0,l.useAutorun)(h.shadowDynamic);return o.default.createElement("div",{key:`resize-item-${c}`,style:{width:`${y}%`},className:p.default.resizeHandler},o.default.createElement(E.default,{wholeWidth:u,start:()=>d(!0),stop:()=>d(!1),self:v,left:f,right:a,last:b}))},g=({widget:c,dynamic:h,draw:u,handleRemoveWidget:d,widgetsLength:v})=>{const f=(0,l.useAutorun)(h);return o.default.createElement("div",{key:c.id,style:{width:`${f}%`},className:p.default.resizeItem},u(c),v>1&&o.default.createElement("div",{className:(0,r.default)(p.default.closeBtn,(0,l.getIcon)("close")),onClick:()=>{d(c.id)}}))};t.default=c=>{const{group:h,shadow:u}=c,d=(0,l.useAutorun)(h.widgets),[v,f]=o.default.useState(!1),[a,b]=o.default.useState(1/0),y=(0,l.useInjectable)(m.ITerminalGroupViewService),S=o.default.useRef(null);o.default.useEffect(()=>{S.current&&S.current.clientHeight!==a&&b(S.current.clientWidth)});const A=o.default.useCallback(T=>{y.removeWidget(T)},[]);return o.default.createElement("div",{className:p.default.resizeWrapper,ref:S},o.default.createElement("div",{style:{pointerEvents:v?"all":"none"},className:p.default.resizeDelegate},d&&d.map((T,w)=>{const D=w-1>-1?d[w-1]:null,I=d[w],O=w+1<d.length?d[w+1]:null;return o.default.createElement(s,{index:w,widget:T,wholeWidth:a,setEvent:f,self:I,left:D,right:O,last:w===d.length-1})})),o.default.createElement("div",{style:{pointerEvents:v?"none":"all"},className:p.default.resizePanel},d&&d.map(T=>o.default.createElement(g,{widget:T,dynamic:u?T.dynamic:T.shadowDynamic,draw:c.draw,handleRemoveWidget:A,widgetsLength:d.length}))))}},65586:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderAddItem=t.renderInfoItem=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(12784)),l=n.__importStar(e(14041)),m=e(80564),E=e(41869),p=e(89897),_=e(1149),s=e(7443),g=e(26405),c=n.__importDefault(e(99886)),h=d=>{var v,f,a,b;const y=(0,E.useInjectable)(s.IconService),S=(0,o.default)(()=>d.onClick&&d.onClick(),20),A=(0,o.default)(()=>d.onClose&&d.onClose(),20),T=(0,E.useDesignStyles)(c.default.item_container,"item_container"),w=(0,E.useDesignStyles)(c.default.tab_item_selected,"tab_item_selected"),D=(0,E.useDesignStyles)(c.default.item_info_name,"item_info_name"),I=(0,E.useDesignStyles)(c.default.tab_close_icon,"tab_close_icon"),O=(0,E.useInjectable)(_.LayoutViewSizeConfig),P=(0,l.useRef)(null),{group:R}=d;if(!R)return null;const{options:M,id:k}=R,B=(0,E.useAutorun)(R.editable),x=(0,E.useAutorun)(R.snapshot),N=(0,l.useCallback)(K=>{K.key==="Enter"&&d.onInputEnter&&k&&d.onInputEnter(k,K.target.value)},[k,d.onInputEnter]);(0,l.useEffect)(()=>{var K;d.selected&&((K=P.current)===null||K===void 0||K.scrollIntoView())},[P,d.selected]);let j;return M?.icon&&(!((v=M.icon)===null||v===void 0)&&v.id?j=y.fromString(`$(${(f=M.icon)===null||f===void 0?void 0:f.id})`):M.icon instanceof E.URI?j=y.fromIcon(M?.icon.toString()):(!((a=M.icon)===null||a===void 0)&&a.light||!((b=M?.icon)===null||b===void 0)&&b.dark)&&(j=d.theme==="light"?y.fromIcon(M.icon.light.toString()):y.fromIcon(M.icon.dark.toString()))),l.default.createElement("div",{ref:P,className:(0,r.default)({[T]:!0,[w]:!!d.selected}),style:{height:O.panelTitleBarHeight},onClick:()=>S(),onContextMenu:K=>d.onContextMenu&&d.onContextMenu(K)},B?l.default.createElement("input",{autoFocus:!0,ref:K=>K&&K.select(),className:c.default.item_info_input,defaultValue:x,onClick:K=>K.stopPropagation(),onBlur:()=>d.onInputBlur&&R.id&&d.onInputBlur(R.id),onKeyDown:K=>N(K)}):l.default.createElement("div",{id:R.id,className:D,title:x},x!==""?l.default.createElement(l.default.Fragment,null,l.default.createElement(m.Icon,{iconClass:j||(0,E.getIcon)(x?.toLowerCase()||"terminal")||(0,E.getIcon)("terminal"),style:{marginRight:4,color:"inherit",fontSize:14}}),l.default.createElement("span",{className:c.default.item_title},x)):l.default.createElement(p.Loading,null)),B?l.default.createElement("div",null):l.default.createElement("div",{className:(0,r.default)([(0,E.getIcon)("close"),I]),onClick:K=>{K.stopPropagation(),A()}}))};t.renderInfoItem=h;const u=d=>{const v=(0,o.default)(()=>d.onClick&&d.onClick(),20),f=d.getKeybinding&&d.getKeybinding(E.TERMINAL_COMMANDS.ADD.id),a=f?`${(0,E.localize)("terminal.new")}(${f})`:(0,E.localize)("terminal.new"),b=(0,E.useDesignStyles)(c.default.tab_item_wrapper,"tab_item_wrapper");return l.default.createElement("div",{className:b},l.default.createElement("div",{title:a,className:(0,r.default)({[(0,E.getIcon)("plus")]:!0,[c.default.item_add]:!0}),onClick:()=>v()}),l.default.createElement("div",{title:(0,E.localize)("terminal.new.type"),className:(0,r.default)({[(0,E.getIcon)("down")]:!0,[c.default.item_more]:!0}),onClick:d.onDropdown}))};t.renderAddItem=u,t.default=d=>{switch(d.type||g.ItemType.info){case g.ItemType.info:return(0,l.createElement)(d.provider.infoItemRender,d);case g.ItemType.add:return(0,l.createElement)(d.provider.addItemRender,d);default:return null}}},17632:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),m=e(52416),E=e(26405),p=e(88023),_=n.__importDefault(e(65586)),s=n.__importDefault(e(99886));t.default=()=>{const g=(0,l.useInjectable)(E.ITerminalGroupViewService),c=(0,l.useInjectable)(E.ITerminalRenderProvider),h=(0,l.useInjectable)(p.TerminalContextMenuService),u=(0,l.useInjectable)(m.IThemeService),d=(0,l.useInjectable)(l.KeybindingRegistry),v=(0,r.useRef)(),[f,a]=(0,r.useState)("dark"),b=(0,l.useDesignStyles)(s.default.tab_contents,"tab_contents"),y=(0,l.useAutorun)(g.groups),S=(0,l.useAutorun)(g.currentGroup),A=(0,r.useCallback)(()=>(u.getCurrentTheme().then(T=>{a(T.type)}),u.onThemeChange(T=>{a(T.type)})),[f,u]);return(0,r.useEffect)(()=>{const T=A();return()=>{T.dispose()}},[]),r.default.createElement("div",{className:s.default.view_container},r.default.createElement("div",{className:s.default.tabs},r.default.createElement(o.Scrollbars,{forwardedRef:T=>T?v.current=T.ref:null},r.default.createElement("div",{className:b},y.filter(Boolean).map((T,w)=>r.default.createElement(_.default,{key:T.id,group:T,selected:S&&S.id===T.id,onInputBlur:()=>T.unedit(),onInputEnter:(D,I)=>T.rename(I),onClick:()=>g.selectGroup(w),onClose:()=>g.removeGroup(w),onContextMenu:D=>h.onTabContextMenu(D,w),provider:c,theme:f})),r.default.createElement("div",{className:s.default.button},r.default.createElement(_.default,{type:E.ItemType.add,onClick:()=>{const T=g.createGroup(),w=g.getGroup(T);g.createWidget(w),g.selectGroup(T)},getKeybinding:T=>{const w=d.getKeybindingsForCommand(T);return Array.isArray(w)&&w[0]&&d.acceleratorFor(w[0],"")[0]||""},onDropdown:T=>h.onDropDownContextMenu(T),provider:c,theme:f}))))))}},7066:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalVariable=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(43718),l=e(94620),m=n.__importDefault(e(74599));function E(_,s){_.forEach((g,c)=>{g.forEach(h=>{s.add((0,l.mutatorTypeLabel)(h.type,h.value,c))})})}const p=({diff:_})=>{const s=r.default.useMemo(()=>{const c=new Set;return _?.added&&_?.added.size>0&&E(_.added,c),_?.changed&&_.changed.size>0&&E(_.changed,c),Array.from(c.values())},[_]),g=r.default.useMemo(()=>{if(!_?.removed||_?.removed.size===0)return[];const c=new Set;return E(_.removed,c),Array.from(c.values())},[_]);return r.default.createElement("div",{className:m.default.variable_container},s.length>0&&r.default.createElement(r.default.Fragment,null,r.default.createElement("h3",null,(0,o.localize)("terminal.environment.changes")),s.map((c,h)=>r.default.createElement("p",{key:c+h,className:m.default.variable_change},c))),g.length>0&&r.default.createElement(r.default.Fragment,null,r.default.createElement("h3",null,(0,o.localize)("terminal.environment.removal")),g.map((c,h)=>r.default.createElement("p",{key:c+h,className:m.default.variable_change},c))))};t.TerminalVariable=p},48139:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(12784)),l=n.__importDefault(e(14041)),m=e(41869),E=e(26405),p=n.__importStar(e(92699)),_=n.__importDefault(e(73567)),s=n.__importDefault(e(76970));e(86650),t.default=()=>{const g=(0,m.useInjectable)(E.ITerminalController),c=(0,m.useInjectable)(E.ITerminalSearchService),h=(0,m.useInjectable)(E.ITerminalErrorService),u=(0,m.useInjectable)(E.ITerminalNetwork),d=l.default.useRef(null),v=l.default.useRef(null),f=(0,m.useInjectable)(E.ITerminalGroupViewService),a=(0,m.useAutorun)(f.currentGroupId),b=(0,m.useAutorun)(f.currentGroupIndex),y=(0,m.useAutorun)(f.groups);l.default.useEffect(()=>{const x=c.onVisibleChange(N=>{N&&d.current&&(d.current.focus(),d.current.value.length>0&&d.current.setSelectionRange(0,d.current.value.length))});return()=>x.dispose()},[c,d.current]);const[S,A]=l.default.useState(g.themeBackground);(0,m.useEventEffect)(g.onThemeBackgroundChange,x=>{A(x)});const[T,w]=l.default.useState(h.errors),D=(0,o.default)(()=>{w(h.errors)},m.FRAME_THREE);(0,m.useEventEffect)(h.onErrorsChange,D);const I=l.default.useCallback((x,N)=>{const j=g.findClientFromWidgetId(x.id);let K;return j?K=u.shouldReconnect(j.id)?void 0:T.get(j.id):K=T.get(x.id),l.default.createElement(s.default,{show:b===N,error:K,widget:x})},[b,g,T,u,f]),[O,P]=l.default.useState(c.isVisible);(0,m.useEventEffect)(c.onVisibleChange,x=>{P(x)});const[R,M]=l.default.useState(""),k=l.default.useCallback(x=>{c.text=x.target.value,c.search(),M(x.target.value)},[c]),B=l.default.useCallback(x=>{x.key==="Enter"&&c.search(),x.key==="Escape"&&(c.close(),c.clear())},[c]);return l.default.useEffect(()=>{v.current&&(g.initContextKey(v.current),g.viewReady.resolve())},[v.current]),l.default.createElement("div",{ref:v,className:_.default.terminalWrapper,style:{backgroundColor:S},"data-group-current":a},O&&l.default.createElement("div",{className:_.default.terminalSearch},l.default.createElement("div",{className:"kt-input-box"},l.default.createElement("input",{autoFocus:!0,ref:d,placeholder:(0,m.localize)("common.find"),value:R,onChange:k,onKeyDown:B})),l.default.createElement("div",{className:(0,r.default)(_.default.closeBtn,(0,m.getIcon)("close")),onClick:()=>c.close()})),y.map((x,N)=>{if(x.activated.get())return l.default.createElement("div",{"data-group-rendered":x.activated.get(),key:`terminal-${x.id}`,style:{display:b===N?"block":"none"},className:_.default.group,onFocus:g.focus.bind(g),onBlur:g.blur.bind(g),onContextMenu:g.onContextMenu.bind(g)},l.default.createElement(p.default,{shadow:!1,useFlex:!1,direction:p.ResizeDirection.horizontal,group:x,draw:j=>I(j,N)}))}))}},76970:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(26405),m=n.__importDefault(e(73567));function E(p,_,s){const g=()=>{s.removeWidget(p.id)},c=()=>{_.fix(p.id)};return p?.type===l.ETerminalErrorType.CREATE_FAIL?r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.can.not.create"),": ",p.message),r.default.createElement("div",null,r.default.createElement("a",{onClick:g},(0,o.localize)("terminal.stop")),(0,o.localize)("terminal.or"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.recreate")))):p.stopped?r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.disconnected")),r.default.createElement("div",null,(0,o.localize)("terminal.can.not.reconnect"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.reconnect")))):r.default.createElement("div",{className:m.default.terminalCover},r.default.createElement("div",null,(0,o.localize)("terminal.disconnected")),r.default.createElement("div",null,r.default.createElement("a",{onClick:g},(0,o.localize)("terminal.stop")),(0,o.localize)("terminal.or"),r.default.createElement("a",{onClick:c},(0,o.localize)("terminal.try.reconnect"))))}t.default=({widget:p,error:_,show:s})=>{const g=r.default.useRef(null),c=(0,o.useInjectable)(l.ITerminalErrorService),h=(0,o.useInjectable)(l.ITerminalGroupViewService);r.default.useEffect(()=>{g.current&&(p.element=g.current)},[]),r.default.useEffect(()=>{p.show=s},[s]),r.default.useEffect(()=>{p.error=!!_},[_]);const u=()=>{h.selectWidget(p.id)};return r.default.createElement("div",{className:m.default.terminalContainer},_?E(_,c,h):null,r.default.createElement("div",{"data-term-id":p.id,style:{display:_?"none":"block"},className:m.default.terminalContent,onFocus:u,ref:g}))}},21623:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(71852),t),n.__exportStar(e(43397),t),n.__exportStar(e(7082),t),n.__exportStar(e(11476),t),n.__exportStar(e(63341),t),n.__exportStar(e(96051),t),n.__exportStar(e(79404),t)},71852:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalCommandContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),m=e(26405),E=e(48520),p=e(35628),_=e(94620);let s=class{onReconnect(){this.terminalController.reconnect()}onDisposeSideEffects(){}setDefaultTerminalType(c){this.preference.update("terminal.type",c)}registerCommands(c){c.registerCommand({...o.TERMINAL_COMMANDS.OPEN_SEARCH,iconClass:(0,o.getIcon)("search")},{execute:()=>{if(this.search.isVisible){this.search.close();return}this.search.open()}}),c.registerCommand({...o.TERMINAL_COMMANDS.SPLIT,iconClass:(0,o.getIcon)("embed")},{execute:()=>{const h=this.view.currentGroup.get();if(!h)return;const u=this.view.createWidget(h);this.view.selectWidget(u.id)}}),c.registerCommand(o.TERMINAL_COMMANDS.CLEAR,{execute:()=>{this.view.clear()}}),c.registerCommand(o.TERMINAL_COMMANDS.ADD,{execute:async()=>{await this.terminalController.createTerminalWithWidget({}),this.terminalController.showTerminalPanel()}}),c.registerCommand(o.TERMINAL_COMMANDS.TOGGLE_TERMINAL,{execute:()=>{this.terminalController.toggleTerminalPanel()}}),c.registerCommand(o.TERMINAL_COMMANDS.SEARCH_NEXT,{execute:()=>{this.search.isVisible?this.search.search():this.search.open()}}),c.registerCommand({...o.TERMINAL_COMMANDS.REMOVE,iconClass:(0,o.getIcon)("delete")},{execute:async()=>{const h=this.view.currentWidgetId.get();h&&this.view.removeWidget(h)}}),c.registerCommand(o.TERMINAL_COMMANDS.OPEN_WITH_PATH,{execute:async h=>{h&&(await this.terminalApi.createTerminal({cwd:h.codeUri.fsPath})).show()}}),c.registerCommand(o.TERMINAL_COMMANDS.TAB_RENAME,{execute:async(h,u)=>{const d=this.view.getGroup(u);d&&d.edit()}}),c.registerCommand({...o.TERMINAL_COMMANDS.SELECT_ALL_CONTENT},{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.selectAll()}}),c.registerCommand({...o.TERMINAL_COMMANDS.CLEAR_CONTENT,iconClass:(0,o.getIcon)("clear")},{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.clear()}}),c.registerCommand({...o.TERMINAL_COMMANDS.CLEAR_ALL_CONTENT},{execute:()=>{this.terminalController.clearAllGroups()}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_ZSH,{execute:async()=>{this.setDefaultTerminalType("zsh")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_BASH,{execute:async()=>{this.setDefaultTerminalType("bash")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_SH,{execute:async()=>{this.setDefaultTerminalType("sh")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_POWERSHELL,{execute:async()=>{this.setDefaultTerminalType("powershell")}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_CMD,{execute:async()=>{this.setDefaultTerminalType("cmd")}}),c.registerCommand(o.TERMINAL_COMMANDS.MORE_SETTINGS,{execute:async()=>{this.commands.executeCommand(o.COMMON_COMMANDS.OPEN_PREFERENCES.id,"terminal")}}),c.registerCommand(o.TERMINAL_COMMANDS.COPY,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&await this.clipboardService.writeText(u.getSelection())}}),c.registerCommand(o.TERMINAL_COMMANDS.PASTE,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.paste(await this.clipboardService.readText())}}),c.registerCommand(o.TERMINAL_COMMANDS.SELECT_ALL,{execute:()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);u&&u.selectAll()}}),c.registerCommand(o.TERMINAL_COMMANDS.RE_LAUNCH,{execute:()=>{const h=this.view.groups.get();for(const u of h)u.widgets.get().forEach(v=>{const f=this.terminalController.findClientFromWidgetId(v.id);f&&f.reset()})}}),c.registerCommand(o.COMMON_COMMANDS.ENVIRONMENT_VARIABLE,{execute:async()=>await this.terminalEnvironmentService.getProcessEnv()}),c.registerCommand(o.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL,{execute:()=>{const h=this.view.currentGroup.get();if(h&&h.widgets.get().length<=1)return;const u=this.getNextOrPrevTerminalClient("next");u?.focus()}}),c.registerCommand(o.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL,{execute:()=>{const h=this.view.currentGroup.get();if(h&&h.widgets.get().length<=1)return;const u=this.getNextOrPrevTerminalClient("prev");u?.focus()}}),c.registerCommand(o.TERMINAL_COMMANDS.KILL_PROCESS,{execute:async()=>{const h=this.view.currentWidgetId.get(),u=this.terminalController.findClientFromWidgetId(h);if(u){const d=u.getSelection();d&&d.length>0?await this.clipboardService.writeText(u.getSelection()):await this.terminalApi.sendText(h,"")}}})}getNextOrPrevTerminalClient(c){const h=this.view.currentGroup.get();if(!h)return;const u=h.widgets.get(),d=u.findIndex(a=>a.id===this.view.currentWidgetId.get());let v;c==="next"?v=d===u.length-1?0:d+1:v=d===0?u.length-1:d-1;const f=u[v];return this.terminalController.findClientFromWidgetId(f.id)}};t.TerminalCommandContribution=s,n.__decorate([(0,r.Autowired)(m.ITerminalController),n.__metadata("design:type",Object)],s.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(_.EnvironmentVariableServiceToken),n.__metadata("design:type",E.TerminalEnvironmentService)],s.prototype,"terminalEnvironmentService",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalGroupViewService),n.__metadata("design:type",Object)],s.prototype,"view",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalSearchService),n.__metadata("design:type",Object)],s.prototype,"search",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalRestore),n.__metadata("design:type",Object)],s.prototype,"store",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalApiService),n.__metadata("design:type",Object)],s.prototype,"terminalApi",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preference",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],s.prototype,"settingService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],s.prototype,"commands",void 0),n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],s.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.TerminalKeyBoardInputService)],s.prototype,"terminalInput",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],s.prototype,"clipboardService",void 0),t.TerminalCommandContribution=s=n.__decorate([(0,o.Domain)(o.CommandContribution,o.ClientAppContribution)],s)},63341:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalKeybindingContribution=void 0;const n=e(85608),r=e(41869),o=e(66e3),l=e(40191),m=e(43718);let E=class{registerKeybindings(_){_.registerKeybinding({command:r.TERMINAL_COMMANDS.OPEN_SEARCH.id,keybinding:"ctrlcmd+f",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.CLEAR_CONTENT.id,keybinding:"ctrlcmd+k",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SEARCH_NEXT.id,keybinding:"ctrlcmd+g",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.COPY.id,keybinding:m.isWindows?"ctrlcmd+shift+c":"ctrlcmd+c",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.KILL_PROCESS.id,keybinding:"ctrlcmd+c",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http","isWindows")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.PASTE.id,keybinding:m.isWindows?"ctrlcmd+shift+v":"ctrlcmd+v",when:l.RawContextKey.and(o.IsTerminalFocused.raw,"locationProtocol != http")}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SELECT_ALL.id,keybinding:"ctrlcmd+a",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.SPLIT.id,keybinding:"ctrlcmd+\\",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.ADD.id,keybinding:"ctrl+shift+`"}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL.id,keybinding:"ctrlcmd+alt+right",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_NEXT_TERMINAL.id,keybinding:"ctrlcmd+alt+down",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL.id,keybinding:"ctrlcmd+alt+left",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.FOCUS_PREVIOUS_TERMINAL.id,keybinding:"ctrlcmd+alt+up",when:o.IsTerminalFocused.raw}),_.registerKeybinding({command:r.TERMINAL_COMMANDS.TOGGLE_TERMINAL.id,keybinding:"ctrl+`"})}};t.TerminalKeybindingContribution=E,t.TerminalKeybindingContribution=E=n.__decorate([(0,m.Domain)(r.KeybindingContribution)],E)},43397:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLifeCycleContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),m=e(26405),E=e(94620),p=e(43395),_=e(35628);let s=class{initialize(){(0,p.registerTerminalColors)()}onStart(){this.terminalInput.listen(),this.environmentService.initEnvironmentVariableCollections()}onDidRender(){this.store.restore().then(()=>{this.terminalController.firstInitialize()})}onStop(){this.terminalController.disposeTerminalClients({isTaskExecutor:!0}),this.store.save()}};t.TerminalLifeCycleContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.TerminalKeyBoardInputService)],s.prototype,"terminalInput",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalController),n.__metadata("design:type",Object)],s.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalRestore),n.__metadata("design:type",Object)],s.prototype,"store",void 0),n.__decorate([(0,r.Autowired)(E.EnvironmentVariableServiceToken),n.__metadata("design:type",Object)],s.prototype,"environmentService",void 0),t.TerminalLifeCycleContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,l.MainLayoutContribution)],s)},7082:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalMenuContribution=t.more2=t.more1Sub=t.more1=t.group=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),m=e(93899),E=e(43718),p=e(26405);t.group="panel_menu",t.more1="more_1",t.more1Sub="more_1_sub",t.more2="more_2";let _=class{registerMenus(g){g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.TAB_RENAME.id,label:(0,o.localize)("terminal.menu.rename")},order:1,group:t.group}),g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.SPLIT.id,label:(0,o.localize)("terminal.menu.split")},order:2,group:t.group}),g.registerMenuItem(m.MenuId.TerminalTabContext,{command:{id:o.TERMINAL_COMMANDS.REMOVE.id,label:(0,o.localize)("terminal.menu.stopGroup")},order:3,group:t.group}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.COPY,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.PASTE,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.SELECT_ALL,group:"1_modify"}),g.registerMenuItem(m.MenuId.TerminalInstanceContext,{command:o.TERMINAL_COMMANDS.CLEAR_CONTENT,group:"1_modify"});const c=(0,o.getSlotLocation)("@opensumi/ide-terminal-next",this.config.layoutConfig),h=(0,o.getTabbarCtxKey)(c),u=(0,m.getTabbarCommonMenuId)(c),d=`${h} == ${l.TERMINAL_CONTAINER_ID}`;g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.CLEAR,order:1,group:t.more1,when:d}),g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.CLEAR_ALL_CONTENT,order:1,group:t.more1,when:d}),g.registerMenuItem(u,{label:(0,o.localize)("terminal.menu.selectType"),submenu:m.MenuId.TerminalDefaultTypeMenu,order:1,group:t.more2,when:d}),E.isWindows?g.registerMenuItems(m.MenuId.TerminalDefaultTypeMenu,[{command:o.TERMINAL_COMMANDS.SELECT_CMD,order:1,group:t.more1Sub,toggledWhen:"config.terminal.type == cmd",when:d},{command:o.TERMINAL_COMMANDS.SELECT_POWERSHELL,order:2,group:t.more1Sub,toggledWhen:"config.terminal.type == powershell",when:d}]):g.registerMenuItems(m.MenuId.TerminalDefaultTypeMenu,[{command:o.TERMINAL_COMMANDS.SELECT_ZSH,order:1,group:t.more1Sub,toggledWhen:"config.terminal.type == zsh",when:d},{command:o.TERMINAL_COMMANDS.SELECT_BASH,order:2,group:t.more1Sub,toggledWhen:"config.terminal.type == bash",when:d},{command:o.TERMINAL_COMMANDS.SELECT_SH,order:3,group:t.more1Sub,toggledWhen:"config.terminal.type == sh",when:d}]),g.registerMenuItem(u,{command:o.TERMINAL_COMMANDS.MORE_SETTINGS,order:1,group:t.more2,when:d})}};t.TerminalMenuContribution=_,n.__decorate([(0,r.Autowired)(p.ITerminalController),n.__metadata("design:type",Object)],_.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(p.ITerminalGroupViewService),n.__metadata("design:type",Object)],_.prototype,"view",void 0),n.__decorate([(0,r.Autowired)(p.ITerminalSearchService),n.__metadata("design:type",Object)],_.prototype,"search",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],_.prototype,"settingService",void 0),n.__decorate([(0,r.Autowired)(E.CommandService),n.__metadata("design:type",Object)],_.prototype,"commands",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],_.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preference",void 0),t.TerminalMenuContribution=_=n.__decorate([(0,E.Domain)(m.MenuContribution)],_)},96051:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalNetworkContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(26405);let E=class extends l.WithEventBus{onStart(){this.network.bindErrors()}handleBrowserConnectionOpen(_){this.network.setStatus(m.TerminalNetworkStatus.CONNECTED)}handleBrowserConnectionClose(_){this.network.setStatus(m.TerminalNetworkStatus.DISCONNECTED)}};t.TerminalNetworkContribution=E,n.__decorate([(0,r.Autowired)(m.ITerminalNetwork),n.__metadata("design:type",Object)],E.prototype,"network",void 0),n.__decorate([(0,r.Autowired)(m.ITerminalInternalService),n.__metadata("design:type",Object)],E.prototype,"service",void 0),n.__decorate([(0,l.OnEvent)(l.BrowserConnectionOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.BrowserConnectionOpenEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"handleBrowserConnectionOpen",null),n.__decorate([(0,l.OnEvent)(l.BrowserConnectionCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.BrowserConnectionCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"handleBrowserConnectionClose",null),t.TerminalNetworkContribution=E=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],E)},79404:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalPreferenceContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(26405),E=e(3276),p=e(91815);let _=class{constructor(){this.schema=E.terminalPreferenceSchema;const g=["git-bash","powershell","cmd","default"],{properties:{["terminal.type"]:c}}={...E.terminalPreferenceSchema};this.ptyTerminal.getOS().then(h=>{h===l.OperatingSystem.Windows&&this.preferenceSchemaProvider.setSchema({properties:{"terminal.type":{...c,enum:g}}},!0)})}};t.TerminalPreferenceContribution=_,n.__decorate([(0,r.Autowired)(m.ITerminalService),n.__metadata("design:type",p.NodePtyTerminalService)],_.prototype,"ptyTerminal",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceSchemaProvider),n.__metadata("design:type",o.PreferenceSchemaProvider)],_.prototype,"preferenceSchemaProvider",void 0),t.TerminalPreferenceContribution=_=n.__decorate([(0,l.Domain)(o.PreferenceContribution),n.__metadata("design:paramtypes",[])],_)},11476:(L,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalRenderContribution=void 0;const r=e(85608),o=e(41869),l=e(30144),m=r.__importDefault(e(17632)),E=r.__importDefault(e(48139));let p=n=class{registerToolbarItems(s){s.registerItem({id:o.TERMINAL_COMMANDS.OPEN_SEARCH.id,command:o.TERMINAL_COMMANDS.OPEN_SEARCH.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.search")}),s.registerItem({id:o.TERMINAL_COMMANDS.CLEAR_CONTENT.id,command:o.TERMINAL_COMMANDS.CLEAR_CONTENT.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.menu.clearCurrentContent")}),s.registerItem({id:o.TERMINAL_COMMANDS.SPLIT.id,command:o.TERMINAL_COMMANDS.SPLIT.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.split")}),s.registerItem({id:o.TERMINAL_COMMANDS.REMOVE.id,command:o.TERMINAL_COMMANDS.REMOVE.id,viewId:n.viewId,tooltip:(0,o.localize)("terminal.remove")})}registerComponent(s){s.register("@opensumi/ide-terminal-next",{component:E.default,id:n.viewId},{title:(0,o.localize)("terminal.name"),priority:1,activateKeyBinding:"ctrl+`",containerId:n.viewId,titleComponent:m.default})}};t.TerminalRenderContribution=p,p.viewId=l.TERMINAL_CONTAINER_ID,t.TerminalRenderContribution=p=n=r.__decorate([(0,o.Domain)(o.ComponentContribution,o.TabBarToolbarContribution)],p)},17236:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalNextModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26405),m=e(94620),E=e(3276),p=e(21623),_=e(98944),s=e(69061),g=e(7734),c=e(48520),h=e(102),u=e(53891),d=e(82022),v=e(12642),f=e(13663),a=e(89570),b=e(94486),y=e(46666),S=e(70406),A=e(12894),T=e(91815),w=e(29041),D=e(68611);let I=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[p.TerminalLifeCycleContribution,p.TerminalRenderContribution,p.TerminalCommandContribution,p.TerminalMenuContribution,p.TerminalKeybindingContribution,p.TerminalNetworkContribution,p.TerminalPreferenceContribution,{token:l.ITerminalApiService,useClass:_.TerminalApiService},{token:l.ITerminalController,useClass:g.TerminalController},{token:l.ITerminalTheme,useClass:w.TerminalTheme},{token:l.ITerminalSearchService,useClass:A.TerminalSearchService},{token:l.ITerminalHoverManagerService,useClass:u.TerminalHoverManagerService},{token:l.ITerminalGroupViewService,useClass:D.TerminalGroupViewService},{token:l.ITerminalErrorService,useClass:h.TerminalErrorService},{token:l.ITerminalService,useClass:T.NodePtyTerminalService},{token:l.ITerminalInternalService,useClass:d.TerminalInternalService},{token:l.ITerminalRestore,useClass:S.TerminalRestore},{token:E.ITerminalPreference,useClass:f.TerminalPreference},{token:l.ITerminalRenderProvider,useClass:y.TerminalRenderProvider},{token:l.ITerminalClientFactory2,useFactory:s.createTerminalClientFactory2},{token:l.ITerminalNetwork,useClass:v.TerminalNetworkService},{token:m.EnvironmentVariableServiceToken,useClass:c.TerminalEnvironmentService},{token:l.ITerminalProfileService,useClass:a.TerminalProfileService},{token:l.ITerminalProfileInternalService,useClass:b.TerminalProfileInternalService}],this.backServices=[{servicePath:l.ITerminalServicePath,clientToken:l.ITerminalService},{servicePath:l.ITerminalProcessPath,clientToken:m.EnvironmentVariableServiceToken}]}};t.TerminalNextModule=I,t.TerminalNextModule=I=n.__decorate([(0,r.Injectable)()],I)},67245:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalBaseLinkProvider=void 0;class e{async provideLinks(r,o){var l;(l=this._activeLinks)===null||l===void 0||l.forEach(m=>m.dispose),this._activeLinks=await this._provideLinks(r),o(this._activeLinks)}}t.TerminalBaseLinkProvider=e},52826:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalExternalLinkProviderAdapter=void 0;const n=e(85608),r=e(76003),o=e(67245),l=e(28247),m=e(97144);let E=class extends o.TerminalBaseLinkProvider{constructor(_,s,g,c,h){super(),this._xterm=_,this._instance=s,this._externalLinkProvider=g,this._wrapLinkHandler=c,this._tooltipCallback=h}async _provideLinks(_){var s,g;let c=_-1,h=c;const u=[this._xterm.buffer.active.getLine(c)];for(;c>=0&&(!((s=this._xterm.buffer.active.getLine(c))===null||s===void 0)&&s.isWrapped);)u.unshift(this._xterm.buffer.active.getLine(c-1)),c--;for(;h<this._xterm.buffer.active.length&&(!((g=this._xterm.buffer.active.getLine(h+1))===null||g===void 0)&&g.isWrapped);)u.push(this._xterm.buffer.active.getLine(h+1)),h++;const d=(0,l.getXtermLineContent)(this._xterm.buffer.active,c,h,this._xterm.cols);if(d.trim().length===0)return[];const v=await this._externalLinkProvider.provideLinks(this._instance,d);return v?v.map(f=>{const a=(0,l.convertLinkRangeToBuffer)(u,this._xterm.cols,{startColumn:f.startIndex+1,startLineNumber:1,endColumn:f.startIndex+f.length+1,endLineNumber:1},c),b=d.substr(f.startIndex,f.length)||"",y=this._wrapLinkHandler((S,A)=>f.activate(A));return this.injector.get(m.TerminalLink,[this._xterm,a,b,this._xterm.buffer.active.viewportY,y,this._tooltipCallback,!0,f.label])}):[]}};t.TerminalExternalLinkProviderAdapter=E,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),t.TerminalExternalLinkProviderAdapter=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Object,Object,Function,Function])],E)},28247:(L,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertLinkRangeToBuffer=e,t.convertBufferRangeToViewport=n,t.getXtermLineContent=r,t.positionIsInRange=o;function e(l,m,E,p){const _={start:{x:E.startColumn,y:E.startLineNumber+p},end:{x:E.endColumn-1,y:E.endLineNumber+p}};let s=0;const g=Math.ceil(E.startColumn/m);for(let u=0;u<Math.min(g);u++){const d=Math.min(m,E.startColumn-u*m);let v=0;const f=l[u];if(!f)break;for(let a=0;a<Math.min(m,d+v);a++){const b=f.getCell(a);b.getWidth()===2&&v++;const S=b.getChars();S.length>1&&(v-=S.length-1)}s+=v}let c=0;const h=Math.ceil(E.endColumn/m);for(let u=Math.max(0,g-1);u<h;u++){const d=u===g-1?(E.startColumn+s)%m:0,v=Math.min(m,E.endColumn+s-u*m),f=u===g-1?s:0;let a=0;const b=l[u];if(!b)break;for(let y=d;y<Math.min(m,v+a+f);y++){const S=b.getCell(y);S.getWidth()===2&&a++,y===m-1&&S.getChars()===""&&a++}c+=a}for(_.start.x+=s,_.end.x+=s+c;_.start.x>m;)_.start.x-=m,_.start.y++;for(;_.end.x>m;)_.end.x-=m,_.end.y++;return _}function n(l,m){return{start:{x:l.start.x-1,y:l.start.y-m-1},end:{x:l.end.x-1,y:l.end.y-m-1}}}function r(l,m,E,p){let _="";for(let s=m;s<=E;s++){const g=l.getLine(s);g&&(_+=g.translateToString(!0,0,p))}return _}function o(l,m){return!(l.y<m.start.y||l.y>m.end.y||l.y===m.start.y&&l.x<m.start.x||l.y===m.end.y&&l.x>m.end.x)}},29970:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLinkManager=void 0;const n=e(85608),r=e(87083),o=e(76003),l=e(41869),m=e(43718),E=e(23418),p=e(14951),_=e(26405),s=e(69061),g=e(52826),c=e(11192),h=e(73481),{posix:u,win32:d}=m.path;let v=class extends m.Disposable{constructor(a,b){super(),this._xterm=a,this._client=b,this._standardLinkProviders=[],this._standardLinkProvidersDisposables=new m.DisposableCollection;const y=this._wrapLinkHandler((w,D)=>this._handleProtocolLink(D)),S=this.injector.get(c.TerminalProtocolLinkProvider,[this._xterm,y,this._tooltipCallback.bind(this)]);this._standardLinkProviders.push(S);const A=this._wrapLinkHandler((w,D)=>this._handleLocalLink(D)),T=this.injector.get(h.TerminalValidatedLocalLinkProvider,[this._xterm,this._client,A,this._wrapLinkHandler.bind(this),this._tooltipCallback.bind(this),async(w,D)=>D(await this._resolvePath(w))]);this._standardLinkProviders.push(T),this._registerStandardLinkProviders()}set processCwd(a){this._processCwd=a}async getTerminalCwd(){return await this.terminalService.getCwd(this._client.id)||this._processCwd}_registerStandardLinkProviders(){this._standardLinkProvidersDisposables.dispose(),this._standardLinkProvidersDisposables=new m.DisposableCollection;for(const a of this._standardLinkProviders)this._standardLinkProvidersDisposables.push(this._xterm.registerLinkProvider(a))}_tooltipCallback(a,b,y,S){const A=this._xterm._core,T={width:A._renderService.dimensions.actualCellWidth,height:A._renderService.dimensions.actualCellHeight},w={width:this._xterm.cols,height:this._xterm.rows},D=A.element.getBoundingClientRect();return this._showHover({viewportRange:b,cellDimensions:T,terminalDimensions:w,boundingClientRect:D,modifierDownCallback:y,modifierUpCallback:S},this._getLinkHoverString(a.text,a.label),I=>a.activate(void 0,I),a)}_showHover(a,b,y,S){const A=this._hoverManager.showHover(a,b,y);return S?.onInvalidated(()=>A.dispose()),m.Disposable.create(()=>A.dispose())}registerExternalLinkProvider(a,b){const y=this.injector.get(g.TerminalExternalLinkProviderAdapter,[this._xterm,a,b,this._wrapLinkHandler.bind(this),this._tooltipCallback.bind(this)]),S=this._xterm.registerLinkProvider(y);return this._registerStandardLinkProviders(),S}_wrapLinkHandler(a){return async(b,y)=>{b?.preventDefault(),!(b&&!this._isLinkActivationModifierDown(b))&&a(b,y)}}get _localLinkRegex(){const a=this._client.os===m.OperatingSystem.Windows?h.winLocalLinkClause:h.unixLocalLinkClause;return new RegExp(`${a}(${h.lineAndColumnClause})`)}async _handleLocalLink(a){const b=await this._resolvePath(a);if(!b)return;const y=this.extractLineColumnInfo(a),S={startLineNumber:y.lineNumber,endLineNumber:y.lineNumber,startColumn:y.columnNumber,endColumn:y.columnNumber};await this._editorService.open(b.uri,{range:S})}_handleHypertextLink(a){this._openerService.open(a)}async _handleProtocolLink(a){const b=m.URI.parse(a);if(b.scheme===m.Schemes.file){const y=m.FileUri.fsPath(b);this._handleLocalLink(this._client.os!==m.OperatingSystem.Windows&&m.isWindows?y.replace(/\\/g,u.sep):y);return}this._handleHypertextLink(a)}_isLinkActivationModifierDown(a){return m.isOSX?a.metaKey:a.ctrlKey}get osPath(){return this._client.os===m.OperatingSystem.Windows?d:u}_getLinkHoverString(a,b){const y=this.preferenceService.get("editor.multiCursorModifier");let S="";y==="ctrlCmd"?m.isMacintosh?S=(0,m.localize)("terminalLinkHandler.followLinkAlt.mac","option + click"):S=(0,m.localize)("terminalLinkHandler.followLinkAlt","alt + click"):m.isMacintosh?S=(0,m.localize)("terminalLinkHandler.followLinkCmd","cmd + click"):S=(0,m.localize)("terminalLinkHandler.followLinkCtrl","ctrl + click");const A=(0,m.localize)("followLink","Follow link");return b=b||A,`${b} (${S})`}async _getUserHomeDir(){const a=await this._fileSystem.getCurrentUserHome();if(!a)throw new Error("Unable to get user home directory");return await this._fileSystem.getFsPath(a.uri)}_getUserHomeDirOnce(){return this._getHomeDirPromise||(this._getHomeDirPromise=this._getUserHomeDir()),this._getHomeDirPromise}async _preprocessPath(a){if(a.charAt(0)==="~"){const b=await this._getUserHomeDirOnce();if(!b)return null;a=this.osPath.join(b,a.substring(1))}else if(a.charAt(0)!=="/"&&a.charAt(0)!=="~"){const b=await this.getTerminalCwd();if(this._client.os===m.OperatingSystem.Windows)if(!a.match("^"+h.winDrivePrefix)&&!a.startsWith("\\\\?\\")){if(!b)return null;a=this.osPath.join(b,a)}else a=a.replace(/^\\\\\?\\/,"");else{if(!b)return null;a=this.osPath.join(b,a)}}return a=this.osPath.normalize(a),a}async _resolvePath(a){const b=await this._preprocessPath(a);if(b)try{const y=m.URI.file(b),S=await this._fileService.getFileStat(y.toString());if(S)return{uri:y,isDirectory:S.isDirectory}}catch{return}}extractLineColumnInfo(a){const b=this._localLinkRegex.exec(a),y={lineNumber:1,columnNumber:1};if(!b)return y;const S=this._client.os===m.OperatingSystem.Windows?h.winLineAndColumnMatchIndex:h.unixLineAndColumnMatchIndex;for(let A=0;A<h.lineAndColumnClause.length;A++){const T=S+h.lineAndColumnClauseGroupCount*A,w=b[T];if(w){y.lineNumber=parseInt(w,10);const D=b[T+2];D&&(y.columnNumber=parseInt(D,10));break}}return y}extractLinkUrl(a){const b=this._localLinkRegex.exec(a);return b?b[1]:null}};t.TerminalLinkManager=v,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],v.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(_.ITerminalService),n.__metadata("design:type",Object)],v.prototype,"terminalService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",E.WorkbenchEditorService)],v.prototype,"_editorService",void 0),n.__decorate([(0,o.Autowired)(l.IOpenerService),n.__metadata("design:type",Object)],v.prototype,"_openerService",void 0),n.__decorate([(0,o.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"_fileService",void 0),n.__decorate([(0,o.Autowired)(p.IFileServiceClient),n.__metadata("design:type",Object)],v.prototype,"_fileSystem",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),n.__decorate([(0,o.Autowired)(_.ITerminalHoverManagerService),n.__metadata("design:type",Object)],v.prototype,"_hoverManager",void 0),t.TerminalLinkManager=v=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[r.Terminal,s.TerminalClient])],v)},97144:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalLink=t.FOLDER_NOT_IN_WORKSPACE_LABEL=t.FOLDER_IN_WORKSPACE_LABEL=t.OPEN_FILE_LABEL=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),m=e(28247),E=500;t.OPEN_FILE_LABEL=(0,l.localize)("terminal.openFile","Open file in editor"),t.FOLDER_IN_WORKSPACE_LABEL=(0,l.localize)("terminal.focusFolder","Focus folder in explorer"),t.FOLDER_NOT_IN_WORKSPACE_LABEL=(0,l.localize)("terminal.openFolder","Open folder in new window");let p=class extends l.Disposable{get onInvalidated(){return this._onInvalidated.event}constructor(s,g,c,h,u,d,v,f){super(),this._xterm=s,this.range=g,this.text=c,this._viewportY=h,this._activateCallback=u,this._tooltipCallback=d,this._isHighConfidenceLink=v,this.label=f,this._onInvalidated=new l.Emitter,this.decorations={pointerCursor:!1,underline:this._isHighConfidenceLink}}dispose(){var s,g,c;super.dispose(),(s=this._hoverListeners)===null||s===void 0||s.dispose(),this._hoverListeners=void 0,(g=this._tooltipScheduler)===null||g===void 0||g.dispose(),this._tooltipScheduler=void 0,(c=this._tooltipDisposable)===null||c===void 0||c.dispose(),this._tooltipDisposable=void 0}activate(s,g){this._activateCallback(s,g)}hover(s,g){this._hoverListeners=new l.DisposableCollection,this._hoverListeners.push((0,o.addDisposableListener)(document,"keydown",h=>{!h.repeat&&this._isModifierDown(h)&&this._enableDecorations()})),this._hoverListeners.push((0,o.addDisposableListener)(document,"keyup",h=>{!h.repeat&&!this._isModifierDown(h)&&this._disableDecorations()})),this._hoverListeners.push(this._xterm.onRender(h=>{const u=this.range.start.y-this._viewportY;u>=h.start&&u<=h.end&&this._onInvalidated.fire()})),this._isHighConfidenceLink&&(this._tooltipScheduler=new l.RunOnceScheduler(()=>{var h;this._tooltipDisposable=this._tooltipCallback(this,(0,m.convertBufferRangeToViewport)(this.range,this._viewportY),this._isHighConfidenceLink?()=>this._enableDecorations():void 0,this._isHighConfidenceLink?()=>this._disableDecorations():void 0),(h=this._tooltipScheduler)===null||h===void 0||h.dispose(),this._tooltipScheduler=void 0},this.preferenceService.get("editor.hover.delay")||E),this._tooltipScheduler.schedule());const c={x:s.pageX,y:s.pageY};this._hoverListeners.push((0,o.addDisposableListener)(document,"mousemove",h=>{var u;this._isModifierDown(h)?this._enableDecorations():this._disableDecorations(),(Math.abs(h.pageX-c.x)>window.devicePixelRatio*2||Math.abs(h.pageY-c.y)>window.devicePixelRatio*2)&&(c.x=h.pageX,c.y=h.pageY,(u=this._tooltipScheduler)===null||u===void 0||u.schedule())}))}leave(){var s,g,c;(s=this._hoverListeners)===null||s===void 0||s.dispose(),this._hoverListeners=void 0,(g=this._tooltipScheduler)===null||g===void 0||g.dispose(),this._tooltipScheduler=void 0,(c=this._tooltipDisposable)===null||c===void 0||c.dispose(),this._tooltipDisposable=void 0}_enableDecorations(){this.decorations.pointerCursor||(this.decorations.pointerCursor=!0),this.decorations.underline||(this.decorations.underline=!0)}_disableDecorations(){this.decorations.pointerCursor&&(this.decorations.pointerCursor=!1),this.decorations.underline!==this._isHighConfidenceLink&&(this.decorations.underline=this._isHighConfidenceLink)}_isModifierDown(s){return l.isOSX?s.metaKey:s.ctrlKey}};t.TerminalLink=p,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),t.TerminalLink=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Object,String,Number,Function,Function,Boolean,Object])],p)},11192:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalProtocolLinkProvider=void 0;const n=e(85608),r=e(76003),o=e(26405),l=e(67245),m=e(28247),E=e(97144);let p=class extends l.TerminalBaseLinkProvider{constructor(g,c,h){super(),this._xterm=g,this._activateCallback=c,this._tooltipCallback=h}_provideLinks(g){var c,h;let u=g-1,d=u;const v=[this._xterm.buffer.active.getLine(u)];for(;u>=0&&(!((c=this._xterm.buffer.active.getLine(u))===null||c===void 0)&&c.isWrapped);)v.unshift(this._xterm.buffer.active.getLine(u-1)),u--;for(;d<this._xterm.buffer.active.length&&(!((h=this._xterm.buffer.active.getLine(d+1))===null||h===void 0)&&h.isWrapped);)v.push(this._xterm.buffer.active.getLine(d+1)),d++;return this._linkComputerTarget=new _(this._xterm,u,d),o.LinkComputer.computeLinks(this._linkComputerTarget).map(a=>{var b;const y=(0,m.convertLinkRangeToBuffer)(v,this._xterm.cols,a.range,u);return this.injector.get(E.TerminalLink,[this._xterm,y,((b=a.url)===null||b===void 0?void 0:b.toString())||"",this._xterm.buffer.active.viewportY,this._activateCallback,this._tooltipCallback,!0,void 0])})}};t.TerminalProtocolLinkProvider=p,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],p.prototype,"injector",void 0),t.TerminalProtocolLinkProvider=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Function,Function])],p);class _{constructor(g,c,h){this._xterm=g,this._lineStart=c,this._lineEnd=h}getLineCount(){return 1}getLineContent(){return(0,m.getXtermLineContent)(this._xterm.buffer.active,this._lineStart,this._lineEnd,this._xterm.cols)}}},73481:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalValidatedLocalLinkProvider=t.lineAndColumnClauseGroupCount=t.unixLineAndColumnMatchIndex=t.winLineAndColumnMatchIndex=t.lineAndColumnClause=t.winLocalLinkClause=t.winDrivePrefix=t.unixLocalLinkClause=void 0;const n=e(85608),r=e(76003),o=e(11050),l=e(66894),m=e(43718),E=e(97408),p=e(67245),_=e(28247),s=e(97144),g="(\\.\\.?|\\~)",c="\\/",h="[^\\0\\s!`&*()\\[\\]'\":;\\\\]";t.unixLocalLinkClause="(("+g+"|("+h+")+)?("+c+"("+h+")+)+)",t.winDrivePrefix="(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:";const u="("+t.winDrivePrefix+"|\\.\\.?|\\~)",d="(\\\\|\\/)",v="[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]'\":;]";t.winLocalLinkClause="(("+u+"|("+v+")+)?("+d+"("+v+")+)+)",t.lineAndColumnClause=[`((\\S*)['"], line ((\\d+)( column (\\d+))?))`,`((\\S*)['"],((\\d+)(:(\\d+))?))`,"((\\S*) on line ((\\d+)(, column (\\d+))?))","((\\S*):line ((\\d+)(, column (\\d+))?))","(([^\\s\\(\\)]*)(\\s?[\\(\\[](\\d+)(,\\s?(\\d+))?)[\\)\\]])",`(([^:\\s\\(\\)<>'"\\[\\]]*)(:(\\d+))?(:(\\d+))?)`].join("|").replace(/ /g,"[\xA0 ]"),t.winLineAndColumnMatchIndex=12,t.unixLineAndColumnMatchIndex=11,t.lineAndColumnClauseGroupCount=6;const f=2e3;let a=class extends p.TerminalBaseLinkProvider{constructor(y,S,A,T,w,D){super(),this._xterm=y,this._client=S,this._activateFileCallback=A,this._wrapLinkHandler=T,this._tooltipCallback=w,this._validationCallback=D}async _provideLinks(y){var S,A;const T=[];let w=y-1,D=w;const I=[this._xterm.buffer.active.getLine(w)];for(;w>=0&&(!((S=this._xterm.buffer.active.getLine(w))===null||S===void 0)&&S.isWrapped);)I.unshift(this._xterm.buffer.active.getLine(w-1)),w--;for(;D<this._xterm.buffer.active.length&&(!((A=this._xterm.buffer.active.getLine(D+1))===null||A===void 0)&&A.isWrapped);)I.push(this._xterm.buffer.active.getLine(D+1)),D++;const O=(0,_.getXtermLineContent)(this._xterm.buffer.active,w,D,this._xterm.cols);if(O.length>f)return[];const P=new RegExp(this._localLinkRegex,"g");let R,M=-1;for(;(R=P.exec(O))!==null;){let k=R[0];if(!k||(M=O.indexOf(k,M+1),P.lastIndex=M+k.length,M<0))break;((O.startsWith("--- a/")||O.startsWith("+++ b/"))&&M===4||O.startsWith("diff --git")&&(k.startsWith("a/")||k.startsWith("b/")))&&(k=k.substring(2),M+=2);const B=await this.detectLocalLink(k,I,w,M,1);B.length>0&&T.push(...B)}if(T.length===0){const k=await this.detectLocalLink(O,I,w,M,2);k.length>0&&T.push(...k)}return T}async detectLocalLink(y,S,A,T,w){const D=[],I=await new Promise(O=>{this._validationCallback(y,async P=>{if(P){const R=P.isDirectory?await this._isDirectoryInsideWorkspace(P.uri)?s.FOLDER_IN_WORKSPACE_LABEL:s.FOLDER_NOT_IN_WORKSPACE_LABEL:s.OPEN_FILE_LABEL,M=this._wrapLinkHandler((B,x)=>{P.isDirectory?this._handleLocalFolderLink(P.uri):this._activateFileCallback(B,x)}),k=(0,_.convertLinkRangeToBuffer)(S,this._xterm.cols,{startColumn:T+1,startLineNumber:1,endColumn:T+y.length+w,endLineNumber:1},A);O(this.injector.get(s.TerminalLink,[this._xterm,k,y,this._xterm.buffer.active.viewportY,M,this._tooltipCallback,!0,R]))}else O(void 0)})});return I&&D.push(I),D}get _localLinkRegex(){const y=this._client.os===m.OperatingSystem.Windows?t.winLocalLinkClause:t.unixLocalLinkClause;return new RegExp(`${y}(${t.lineAndColumnClause})`)}async _handleLocalFolderLink(y){if(await this._isDirectoryInsideWorkspace(y)){await this.commandService.executeCommand("revealInExplorer",y);return}this.appConfig.isElectronRenderer&&this.windowService.openWorkspace(y,{newWindow:!0})}async _isDirectoryInsideWorkspace(y){const S=await this.workspaceService.roots;for(const A of S)if(m.URI.parse(A.uri).isEqualOrParent(y))return!0;return!1}};t.TerminalValidatedLocalLinkProvider=a,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],a.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.IWindowService),n.__metadata("design:type",Object)],a.prototype,"windowService",void 0),n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(E.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],a.prototype,"appConfig",void 0),t.TerminalValidatedLocalLinkProvider=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Function,Function,Function,Function,Function,Function])],a)},62810:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_COL=t.DEFAULT_ROW=t.AttachAddon=void 0;const n=e(43718);class r extends n.Disposable{constructor(){super(...arguments),this._onData=new n.Emitter,this.onData=this._onData.event,this._onExit=new n.Emitter,this.onExit=this._onExit.event,this._onTime=new n.Emitter,this.onTime=this._onTime.event,this._lastInputTime=0,this._onBeforeProcessData=new n.Emitter,this.onBeforeProcessData=this._onBeforeProcessData.event}setConnection(l){this._disposeConnection&&(this._disposeConnection.dispose(),this._disposeConnection=null),this.connection=l,l&&(this._disposeConnection=new n.Disposable(l.onData(m=>{let E=m;if(typeof m=="string"){const p={data:m};this._onBeforeProcessData.fire(p),p.data!==void 0&&(E=p.data)}if(this._onData.fire(E),this._terminal.write(typeof E=="string"?E:new Uint8Array(E,0,E.byteLength)),this._lastInputTime){const p=Date.now()-this._lastInputTime;this._lastInputTime=0,this._onTime.fire(p)}})),l.onExit&&this._disposeConnection.addDispose(l.onExit(m=>{this._onExit.fire(m)})))}async activate(l){this._terminal=l,this.addDispose(n.Disposable.create(()=>{var m;return(m=this._disposeConnection)===null||m===void 0?void 0:m.dispose()})),this.addDispose(l.onData(m=>this._sendData(m))),this.addDispose(l.onBinary(m=>this._sendBinary(m)))}_sendData(l){!this.connection||this.connection.readonly||(this._timeResponse(),this.connection.sendData(l))}_sendBinary(l){if(!this.connection||this.connection.readonly)return;const m=new Uint8Array(l.length);for(let E=0;E<l.length;++E)m[E]=l.charCodeAt(E)&255;this._timeResponse(),this.connection.sendData(m)}_timeResponse(){this._lastInputTime=Date.now()}}t.AttachAddon=r,t.DEFAULT_ROW=80,t.DEFAULT_COL=24},98944:(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TerminalApiService=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=e(76003),l=e(43718),m=e(28423),E=e(26405);let p=class{constructor(){this._onDidOpenTerminal=new l.Emitter,this._onDidCloseTerminal=new l.Emitter,this._onDidTerminalTitleChange=new l.Emitter,this._onDidChangeActiveTerminal=new l.Emitter,this.onDidOpenTerminal=this._onDidOpenTerminal.event,this.onDidCloseTerminal=this._onDidCloseTerminal.event,this.onDidTerminalTitleChange=this._onDidTerminalTitleChange.event,this.onDidChangeActiveTerminal=this._onDidChangeActiveTerminal.event,this.controller.onDidOpenTerminal(s=>{this._onDidOpenTerminal.fire(s)}),this.controller.onDidCloseTerminal(s=>{this._onDidCloseTerminal.fire(s)}),this.controller.onDidTerminalTitleChange(s=>{this._onDidTerminalTitleChange.fire(s)}),this.controller.onDidChangeActiveTerminal(s=>{this._onDidChangeActiveTerminal.fire(s)})}get terminals(){return Array.from(this.controller.clients.values()).map(s=>({id:s.id,name:s.name,isActive:this.view.currentWidgetId.get()===s.id}))}async createTerminal(s,g){const c=await this.controller.createTerminalWithWidgetByTerminalOptions({terminalOptions:s,id:g}),h={get id(){return c.id},get name(){return c.name},get processId(){return c.pid},show:(u=!0)=>{const d=c.widget;this.view.selectWidget(d.id),this.controller.showTerminalPanel(),u||setTimeout(()=>c.focus())},hide:()=>{this.controller.hideTerminalPanel()},dispose:()=>{this.view.removeWidget(c.widget.id),this.controller.clients.delete(c.id)}};return await c.attached.promise,h.show(),h}async getProcessId(s){const g=this.controller.clients.get(s);if(g)return g.pid}async getDefaultShellPath(){const s=await this.terminalProfileInternalService.resolveDefaultProfile();return s?.path||"/bin/bash"}sendText(s,g,c=!0){this.service.sendText(s,`${g}${c?"\r":""}`)}showTerm(s,g=!0){const c=this.controller.clients.get(s);if(!c)return;const h=c.widget;this.view.selectWidget(h.id),this.controller.showTerminalPanel(),g||setTimeout(()=>c.focus())}hideTerm(s){this.controller.clients.get(s)&&this.controller.hideTerminalPanel()}removeTerm(s){const g=this.controller.clients.get(s);g&&(this.view.removeWidget(g.widget.id),this.controller.clients.delete(s))}createWidget(s,g){const c=s,h=this.view.createGroup(),u=this.view.getGroup(h),d=this.view.createWidget(u,c,!1,!0);return(0,m.transaction)(v=>{d.name.set((0,r.default)(s),v)}),this.view.selectWidget(c),d.onRender(()=>{g(d.element)}),d}scheduleReconnection(){return this.network.scheduleReconnection()}};t.TerminalApiService=p,n.__decorate([(0,o.Autowired)(E.ITerminalController),n.__metadata("design:type",Object)],p.prototype,"controller",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalGroupViewService),n.__metadata("design:type",Object)],p.prototype,"view",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalInternalService),n.__metadata("design:type",Object)],p.prototype,"service",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalNetwork),n.__metadata("design:type",Object)],p.prototype,"network",void 0),n.__decorate([(0,o.Autowired)(E.ITerminalProfileInternalService),n.__metadata("design:type",Object)],p.prototype,"terminalProfileInternalService",void 0),t.TerminalApiService=p=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],p)},69061:(L,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.createTerminalClientFactory2=t.TerminalClientFactory=t.TerminalClient=void 0;const r=e(85608),o=e(76003),l=e(41869),m=e(67889),E=e(43718),p=e(23418),_=e(42933),s=e(28423),g=e(72665),c=e(88913),h=e(10560),u=e(26405),d=e(94620),v=e(3276),f=e(29970),a=e(62810),b=e(90853),y=e(35628),S=e(70845),A=e(41685);let T=n=class extends E.Disposable{constructor(){super(),this.isTaskExecutor=!1,this._ready=!1,this._hasOutput=!1,this._areLinksReady=!1,this._onInput=new E.Emitter,this.onInput=this._onInput.event,this._onOutput=new E.Emitter,this.onOutput=this._onOutput.event,this._onExit=new E.Emitter,this.onExit=this._onExit.event,this._onTitleChange=new E.Emitter,this.onTitleChange=this._onTitleChange.event,this._onLinksReady=new E.Emitter,this.onLinksReady=this._onLinksReady.event,this._onResponseTime=new E.Emitter,this.onResponseTime=this._onResponseTime.event,this._onNameChangeEmitter=new E.Emitter,this.onNameChange=this._onNameChangeEmitter.event,this._name="",this.init()}async init(){this.xterm=this.injector.get(A.XTerm,[{xtermOptions:{theme:this.theme.terminalTheme,...this.internalService.getOptions(),...this.terminalPreference.toJSON()}}]),this.addDispose(this.xterm),this.addDispose(this.internalService.onError(O=>{var P;this.messageService.error(O.message),!((P=O.launchConfig)===null||P===void 0)&&P.executable?this.updateTerminalName({name:"error: "+O.launchConfig.executable}):this.updateTerminalName({name:"error"})})),this.addDispose(this.internalService.onProcessChange(O=>{O.sessionId===this.id&&(0,s.transaction)(P=>{this.widget.processName.set(O.processName,P)})}))}onWidgetShow(){this._show&&(this._show.resolve(),this._show=null),this._layout()}async setupWidget(O){this._widget=O,this._prepare(),this.addDispose(E.Disposable.create(()=>{n.WORKSPACE_PATH_CACHED.delete(O.group.id)})),this.addDispose(this.terminalPreference.onChange(async({name:P,value:R})=>{!O.show&&!this._show&&(this._show=new E.Deferred),this._show&&await this._show.promise,this._setOption(P,R),this.xterm.updatePreferences({[P]:R})})),O.show?this.onWidgetShow():this.addDispose(O.onShow(P=>{P&&this.onWidgetShow()})),this.addDispose(O.onError(P=>{var R;P||((R=this._error)===null||R===void 0||R.resolve(),this._layout())})),this.addDispose(O.onResize(async()=>{this._debounceResize()}))}async init2(O,P){var R,M,k,B;if(this._uid=P?.id||O.id,this.setupWidget(O),!P||Object.keys(P).length===0){const j=await this.terminalProfileInternalService.resolveDefaultProfile();P={id:this._uid,config:j}}if(!P.cwd){const K=O.group.widgets.get();if(K.length>1&&K[0]){const U=await this.internalService.getCwd(K[0].id);U&&(P.cwd=U)}}await this._checkWorkspace();const x=(k=(R=P.cwd)!==null&&R!==void 0?R:(M=P?.config)===null||M===void 0?void 0:M.cwd)!==null&&k!==void 0?k:this._workspacePath,N=this.controller.convertProfileToLaunchConfig(P.config,x);this._launchConfig=N,this._launchConfig.__fromTerminalOptions&&(this._terminalOptions=this._launchConfig.__fromTerminalOptions),this.name=N.name||"",N.initialText&&this.xterm.raw.writeln(N.initialText),N.env||(N.env={}),(B=this.environmentService.mergedCollection)===null||B===void 0||B.applyToProcessEnvironment(N.env,this.applicationService.backendOS,this.variableResolver.resolve.bind(this.variableResolver)),this.addDispose(this.environmentService.onDidChangeCollections(j=>{j.applyToProcessEnvironment(N.env,this.applicationService.backendOS,this.variableResolver.resolve.bind(this.variableResolver))})),this._attachXterm(),this._attachAfterRender()}get name(){return this._name}set name(O){this._name!==O&&(this._name=O,this._onNameChangeEmitter.fire(O))}get term(){return this.xterm.raw}get pid(){return this.internalService.getProcessId(this.id)}get launchConfig(){return this._launchConfig}get createOptions(){}get container(){return this.xterm.container}get id(){return this._uid}get widget(){return this._widget}get ready(){return this._ready}get attached(){return this._attached}get firstOutput(){return this._firstStdout}get show(){return this._show}get areLinksReady(){return this._areLinksReady}get os(){return this._os}_prepareAddons(){this._attachAddon=new a.AttachAddon;const O=this._attachAddon.onBeforeProcessData;if(this.preferenceService.get("terminal.integrated.localEchoEnabled")){const P=this.preferenceService.get("terminal.integrated.localEchoExcludePrograms",S.DEFAULT_LOCAL_ECHO_EXCLUDE),R=new S.TypeAheadAddon(O,{localEchoExcludePrograms:Array.isArray(P)?P:S.DEFAULT_LOCAL_ECHO_EXCLUDE,localEchoLatencyThreshold:this.preferenceService.get("terminal.integrated.localEchoLatencyThreshold",30),localEchoStyle:this.preferenceService.get("terminal.integrated.localEchoStyle","dim")},this.preferenceService.onPreferenceChanged);this.addDispose(R),this.xterm.raw.loadAddon(R)}this.addDispose([this._attachAddon,this._attachAddon.onData(P=>{this._onOutput.fire({id:this.id,data:P})}),this._attachAddon.onExit(P=>{var R,M;this.logger.warn(`${this.id} ${this.name} exit with ${P}`),P!==0&&this.messageService.error(`terminal ${this.name}(${(M=(R=this._attachAddon.connection)===null||R===void 0?void 0:R.ptyInstance)===null||M===void 0?void 0:M.shellPath}) exited with non-zero code ${P}`),this._onExit.fire({id:this.id,code:P})}),this._attachAddon.onTime(P=>{this._onResponseTime.fire(P),this.reporter.performance(E.REPORT_NAME.TERMINAL_MEASURE,{duration:P,msg:"terminal.response"})})]),this.xterm.raw.loadAddon(this._attachAddon)}_xtermEvents(){this.addDispose(this.xterm.raw.onResize(O=>{this._hasOutput&&this._doResize()}))}_attachXterm(){this._prepareAddons(),this._xtermEvents(),this._linkManager=this.injector.get(f.TerminalLinkManager,[this.xterm.raw,this]),this._linkManager.processCwd=this._workspacePath,this.addDispose(this._linkManager),this._areLinksReady=!0,this._onLinksReady.fire(this)}_doResize(){this.internalService.resize(this.id,this.xterm.raw.cols,this.xterm.raw.rows)}_prepare(){var O,P,R,M,k;(O=this._attached)===null||O===void 0||O.reject("TerminalClient is Re-initialization"),(P=this._firstStdout)===null||P===void 0||P.reject("TerminalClient is Re-initialization"),(R=this._error)===null||R===void 0||R.reject("TerminalClient is Re-initialization"),(M=this._show)===null||M===void 0||M.reject("TerminalClient is Re-initialization"),this._ready=!1,this._hasOutput=!1,this._attached=new E.Deferred,this._show=new E.Deferred,this._error=new E.Deferred,this._firstStdout=new E.Deferred,(k=this._attachAddon)===null||k===void 0||k.setConnection(void 0),this.internalService.getOS().then(x=>{this._os=x});const{dispose:B}=this.onOutput(()=>{B(),this._hasOutput=!0,this._firstStdout.resolve()})}_attachAfterRender(){queueMicrotask(()=>{var O;this._layout(),this.attach(),this.focus(),this.widget.show||(O=this._show)===null||O===void 0||O.promise.then(async()=>{this._show=new E.Deferred})})}async _pickWorkspace(){var O;if(this.workspace.isMultiRootWorkspaceOpened&&!this._widget.recovery){const P=this.workspace.tryGetRoots();return await this.quickPick.show(P.map(M=>new E.URI(M.uri).codeUri.fsPath),{placeholder:(0,l.localize)("terminal.selectCWDForNewTerminal")})}else return this.workspace.workspace?new E.URI((O=this.workspace.workspace)===null||O===void 0?void 0:O.uri).codeUri.fsPath:void 0}async _checkWorkspace(){const O=this._widget;if(n.WORKSPACE_PATH_CACHED.has(O.group.id))this._workspacePath=n.WORKSPACE_PATH_CACHED.get(O.group.id);else{const P=await this._pickWorkspace();P&&(this._workspacePath=P,n.WORKSPACE_PATH_CACHED.set(O.group.id,this._workspacePath))}}async checkHealthy(){return await this.internalService.check([this.id])}displayUnHealthyMessage(){const O=this.term,P=O.options.theme,R=(k,B,x)=>{const N=" ",j=k.split(`
|
|
28799
28799
|
`).map(U=>N+U+N).join(`
|
|
28800
28800
|
`),K=`\x1B[48;2;${M(B)};38;2;${M(x)}m${j}\x1B[0m`;O.writeln(`
|
|
28801
28801
|
`),O.writeln(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/cli-engine",
|
|
3
|
-
"version": "3.6.5-next-
|
|
3
|
+
"version": "3.6.5-next-1736135639.0",
|
|
4
4
|
"description": "Integration engine runtime for opensumi-cli and opensumi extension",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@koa/cors": "^5.0.0",
|
|
28
28
|
"@opensumi/di": "^1.8.0",
|
|
29
|
-
"@opensumi/ide-core-browser": "3.6.5-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.6.5-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.6.5-next-
|
|
32
|
-
"@opensumi/ide-express-file-server": "3.6.5-next-
|
|
33
|
-
"@opensumi/ide-extension": "3.6.5-next-
|
|
34
|
-
"@opensumi/ide-i18n": "3.6.5-next-
|
|
35
|
-
"@opensumi/ide-main-layout": "3.6.5-next-
|
|
36
|
-
"@opensumi/ide-startup": "3.6.5-next-
|
|
29
|
+
"@opensumi/ide-core-browser": "3.6.5-next-1736135639.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.6.5-next-1736135639.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.6.5-next-1736135639.0",
|
|
32
|
+
"@opensumi/ide-express-file-server": "3.6.5-next-1736135639.0",
|
|
33
|
+
"@opensumi/ide-extension": "3.6.5-next-1736135639.0",
|
|
34
|
+
"@opensumi/ide-i18n": "3.6.5-next-1736135639.0",
|
|
35
|
+
"@opensumi/ide-main-layout": "3.6.5-next-1736135639.0",
|
|
36
|
+
"@opensumi/ide-startup": "3.6.5-next-1736135639.0",
|
|
37
37
|
"chalk": "^4.1.2",
|
|
38
38
|
"ejs": "^3.1.7",
|
|
39
39
|
"ip": "^1.1.8",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"webpack": "^5.90.0",
|
|
73
73
|
"webpack-cli": "^5.1.4"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "3c6e14d0e393604ac7e744384cf2c81295e1e3cc"
|
|
76
76
|
}
|