UNPKG

@codingame/monaco-vscode-extensions-service-override

Version:

VSCode public API plugged on the monaco editor - extensions service-override

58 lines (55 loc) 2.62 kB
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js'; import { Event } from 'vscode/vscode/vs/base/common/event'; import { DisposableStore } from 'vscode/vscode/vs/base/common/lifecycle'; import { URI } from 'vscode/vscode/vs/base/common/uri'; import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service'; import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js'; import { ExtHostContext, MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol'; import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host.service'; import { IUserActivityService } from 'vscode/vscode/vs/workbench/services/userActivity/common/userActivityService.service'; let MainThreadWindow = class MainThreadWindow { constructor(extHostContext, hostService, openerService, userActivityService) { this.hostService = hostService; this.openerService = openerService; this.userActivityService = userActivityService; this.disposables = ( new DisposableStore()); this.proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostWindow)); Event.latch(hostService.onDidChangeFocus)(this.proxy.$onDidChangeWindowFocus, this.proxy, this.disposables); userActivityService.onDidChangeIsActive(this.proxy.$onDidChangeWindowActive, this.proxy, this.disposables); } dispose() { this.disposables.dispose(); } $getInitialState() { return Promise.resolve({ isFocused: this.hostService.hasFocus, isActive: this.userActivityService.isActive, }); } async $openUri(uriComponents, uriString, options) { const uri = ( URI.from(uriComponents)); let target; if (uriString && ( ( URI.parse(uriString)).toString()) === ( uri.toString())) { target = uriString; } else { target = uri; } return this.openerService.open(target, { openExternal: true, allowTunneling: options.allowTunneling, allowContributedOpeners: options.allowContributedOpeners, }); } async $asExternalUri(uriComponents, options) { const result = await this.openerService.resolveExternalUri(URI.revive(uriComponents), options); return result.resolved; } }; MainThreadWindow = __decorate([ extHostNamedCustomer(MainContext.MainThreadWindow), ( __param(1, IHostService)), ( __param(2, IOpenerService)), ( __param(3, IUserActivityService)) ], MainThreadWindow); export { MainThreadWindow };