Skip to content
This repository has been archived by the owner on Apr 4, 2023. It is now read-only.

CHE-13876: Fix displaying theia tasks output. #365

Merged
merged 1 commit into from
Jul 23, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { MenuBar as MenuBarWidget } from '@phosphor/widgets';
import { TerminalKeybindingContext } from './keybinding-context';
import { CHEWorkspaceService } from '../../common/workspace-service';
import { TerminalWidget, TerminalWidgetOptions } from '@theia/terminal/lib/browser/base/terminal-widget';
import { REMOTE_TERMINAL_WIDGET_FACTORY_ID, RemoteTerminalWidget, RemoteTerminalWidgetFactoryOptions } from '../terminal-widget/remote-terminal-widget';
import { REMOTE_TERMINAL_WIDGET_FACTORY_ID, RemoteTerminalWidgetFactoryOptions } from '../terminal-widget/remote-terminal-widget';
import { filterRecipeContainers } from './terminal-command-filter';
import URI from '@theia/core/lib/common/uri';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
Expand Down Expand Up @@ -97,7 +97,7 @@ export class ExecTerminalFrontendContribution extends TerminalFrontendContributi
const workspaceId = <string>await this.baseEnvVariablesServer.getValue('CHE_WORKSPACE_ID').then(v => v ? v.value : undefined);
const termApiEndPoint = <URI | undefined>await this.termApiEndPointProvider();

const widget = <RemoteTerminalWidget>await this.widgetManager.getOrCreateWidget(REMOTE_TERMINAL_WIDGET_FACTORY_ID, <RemoteTerminalWidgetFactoryOptions>{
const widget = <TerminalWidget>await this.widgetManager.getOrCreateWidget(REMOTE_TERMINAL_WIDGET_FACTORY_ID, <RemoteTerminalWidgetFactoryOptions>{
created: new Date().toString(),
machineName: containerName,
workspaceId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import { ContainerModule, Container, interfaces } from 'inversify';
import { WidgetFactory, WebSocketConnectionProvider, KeybindingContext, QuickOpenContribution } from '@theia/core/lib/browser';
import { TerminalQuickOpenService } from './contribution/terminal-quick-open';
import { RemoteTerminalWidgetOptions, REMOTE_TERMINAL_WIDGET_FACTORY_ID } from './terminal-widget/remote-terminal-widget';
import { RemoteTerminalWidgetOptions, REMOTE_TERMINAL_WIDGET_FACTORY_ID, REMOTE_TERMINAL_TARGET_SCOPE } from './terminal-widget/remote-terminal-widget';
import { RemoteWebSocketConnectionProvider } from './server-definition/remote-connection';
import { TerminalProxyCreator, TerminalProxyCreatorProvider, TerminalApiEndPointProvider } from './server-definition/terminal-proxy-creator';

Expand All @@ -27,6 +27,7 @@ import { RemoteTerminaActiveKeybingContext } from './contribution/keybinding-con
import { RemoteTerminalServerProxy, RemoteTerminalServer, RemoteTerminalWatcher } from './server-definition/remote-terminal-protocol';
import URI from '@theia/core/lib/common/uri';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { TerminalWidgetImpl } from '@theia/terminal/lib/browser/terminal-widget-impl';

export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {
// bind this contstant to prevent circle dependency
Expand Down Expand Up @@ -69,7 +70,7 @@ export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Un
child.bind(RemoteTerminalWidgetOptions).toConstantValue(widgetOptions);
child.bind('terminal-dom-id').toConstantValue(domId);

return child.get(RemoteTerminalWidget);
return child.getNamed(TerminalWidget, REMOTE_TERMINAL_TARGET_SCOPE);
}
}));

Expand All @@ -85,7 +86,9 @@ export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Un
try {
const server = await workspaceService.findTerminalServer();
if (server) {
bind(TerminalWidget).to(RemoteTerminalWidget).inTransientScope();
rebind(TerminalWidget).to(TerminalWidgetImpl).inTransientScope().whenTargetIsDefault();
bind(TerminalWidget).to(RemoteTerminalWidget).inTransientScope().whenTargetNamed(REMOTE_TERMINAL_TARGET_SCOPE);

rebind(TerminalService).toService(ExecTerminalFrontendContribution);

const token = await envServer.getValue('CHE_MACHINE_TOKEN');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { TerminalWidgetOptions } from '@theia/terminal/lib/browser/base/terminal
import URI from '@theia/core/lib/common/uri';

const ReconnectingWebSocket = require('reconnecting-websocket');
export const REMOTE_TERMINAL_TARGET_SCOPE = 'remote-terminal';
export const REMOTE_TERMINAL_WIDGET_FACTORY_ID = 'remote-terminal';
export const RemoteTerminalWidgetOptions = Symbol('RemoteTerminalWidgetOptions');
export interface RemoteTerminalWidgetOptions extends Partial<TerminalWidgetOptions> {
Expand Down