diff --git a/packages/plugin-ext/src/common/plugin-api-rpc.ts b/packages/plugin-ext/src/common/plugin-api-rpc.ts index 95988bd4f9e75..b01bfba0fe97f 100644 --- a/packages/plugin-ext/src/common/plugin-api-rpc.ts +++ b/packages/plugin-ext/src/common/plugin-api-rpc.ts @@ -210,6 +210,10 @@ export interface TerminalServiceExt { $currentTerminalChanged(id: string | undefined): void; } +export interface OutputChannelRegistryExt { + createOutputChannel(name: string, pluginInfo: PluginInfo): theia.OutputChannel +} + export interface ConnectionMain { $createConnection(id: string): Promise; $deleteConnection(id: string): Promise; @@ -1334,6 +1338,7 @@ export const MAIN_RPC_CONTEXT = { EDITORS_AND_DOCUMENTS_EXT: createProxyIdentifier('EditorsAndDocumentsExt'), DOCUMENTS_EXT: createProxyIdentifier('DocumentsExt'), TERMINAL_EXT: createProxyIdentifier('TerminalServiceExt'), + OUTPUT_CHANNEL_REGISTRY_EXT: createProxyIdentifier('OutputChannelRegistryExt'), TREE_VIEWS_EXT: createProxyIdentifier('TreeViewsExt'), PREFERENCE_REGISTRY_EXT: createProxyIdentifier('PreferenceRegistryExt'), LANGUAGES_EXT: createProxyIdentifier('LanguagesExt'), diff --git a/packages/plugin-ext/src/plugin/output-channel-registry.ts b/packages/plugin-ext/src/plugin/output-channel-registry.ts index e4bc4ea94ffb3..b96e735537222 100644 --- a/packages/plugin-ext/src/plugin/output-channel-registry.ts +++ b/packages/plugin-ext/src/plugin/output-channel-registry.ts @@ -14,13 +14,13 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { - PLUGIN_RPC_CONTEXT as Ext, OutputChannelRegistryMain, PluginInfo + PLUGIN_RPC_CONTEXT as Ext, OutputChannelRegistryMain, PluginInfo, OutputChannelRegistryExt } from '../common/plugin-api-rpc'; import { RPCProtocol } from '../common/rpc-protocol'; import * as theia from '@theia/plugin'; import { OutputChannelImpl } from './output-channel/output-channel-item'; -export class OutputChannelRegistryExt { +export class OutputChannelRegistryExtImpl implements OutputChannelRegistryExt { proxy: OutputChannelRegistryMain; diff --git a/packages/plugin-ext/src/plugin/plugin-context.ts b/packages/plugin-ext/src/plugin/plugin-context.ts index 89246eda03e5e..2937388b309fd 100644 --- a/packages/plugin-ext/src/plugin/plugin-context.ts +++ b/packages/plugin-ext/src/plugin/plugin-context.ts @@ -119,7 +119,7 @@ import { DocumentsExtImpl } from './documents'; import Uri from 'vscode-uri'; import { TextEditorCursorStyle } from '../common/editor-options'; import { PreferenceRegistryExtImpl } from './preference-registry'; -import { OutputChannelRegistryExt } from './output-channel-registry'; +import { OutputChannelRegistryExtImpl } from './output-channel-registry'; import { TerminalServiceExtImpl, TerminalExtImpl } from './terminal-ext'; import { LanguagesExtImpl, score } from './languages'; import { fromDocumentSelector, pluginToPluginInfo } from './type-converters'; @@ -162,7 +162,7 @@ export function createAPIFactory( const documents = rpc.set(MAIN_RPC_CONTEXT.DOCUMENTS_EXT, new DocumentsExtImpl(rpc, editorsAndDocumentsExt)); const statusBarMessageRegistryExt = new StatusBarMessageRegistryExt(rpc); const terminalExt = rpc.set(MAIN_RPC_CONTEXT.TERMINAL_EXT, new TerminalServiceExtImpl(rpc)); - const outputChannelRegistryExt = new OutputChannelRegistryExt(rpc); + const outputChannelRegistryExt = rpc.set(MAIN_RPC_CONTEXT.OUTPUT_CHANNEL_REGISTRY_EXT, new OutputChannelRegistryExtImpl(rpc)); const languagesExt = rpc.set(MAIN_RPC_CONTEXT.LANGUAGES_EXT, new LanguagesExtImpl(rpc, documents, commandRegistry)); const treeViewsExt = rpc.set(MAIN_RPC_CONTEXT.TREE_VIEWS_EXT, new TreeViewsExtImpl(rpc, commandRegistry)); const webviewExt = rpc.set(MAIN_RPC_CONTEXT.WEBVIEWS_EXT, new WebviewsExtImpl(rpc));