Change:
Steps to Reproduce: terminal as "faketerm" +`
On Linux (ElementaryOS) I get an error dialog with message 'The terminal process terminated with exit code: 1'. Setting as verified, although more details would be helpful.
Indeed that verifies it. Thanks.

Discussion:
import DOM = require('vs/base/browser/dom'); import lifecycle = require('vs/base/common/lifecycle'); <ins> import nls = require('vs/nls'); </ins> import platform = require('vs/base/common/platform'); import xterm = require('xterm'); import {Dimension} from 'vs/base/browser/builder'; <ins> import {IMessageService, Severity} from 'vs/platform/message/common/message'; </ins> import {ITerminalFont} from 'vs/workbench/parts/terminal/electron-browser/terminalConfigHelper'; import {ITerminalProcess, ITerminalService} from 'vs/workbench/parts/terminal/electron-browser/terminal'; import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';

private parentDomElement: HTMLElement, private contextService: IWorkspaceContextService, private terminalService: ITerminalService, <ins> private messageService: IMessageService, </ins> private onExitCallback: (TerminalInstance) => void ) { this.toDispose = [];

this.isExiting = true; this.dispose(); if (exitCode) { <del> console.error('Integrated terminal exited with code ' + exitCode); </del> <ins> this.messageService.show(Severity.Error, nls.localize('terminal.integrated.exitedWithCode', 'The terminal process terminated with exit code: {0}', exitCode)); </ins> } this.onExitCallback(this); }

import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar'; import {IConfigurationService} from 'vs/platform/configuration/common/configuration'; import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; <ins> import {IMessageService} from 'vs/platform/message/common/message'; </ins> import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry'; import {ITerminalProcess, ITerminalService, TERMINAL_PANEL_ID} from 'vs/workbench/parts/terminal/electron-browser/terminal'; import {IThemeService} from 'vs/workbench/services/themes/common/themeService';

@IInstantiationService private instantiationService: IInstantiationService, @IWorkspaceContextService private contextService: IWorkspaceContextService, @ITerminalService private terminalService: ITerminalService, <del> @IThemeService private themeService: IThemeService </del> <ins> @IThemeService private themeService: IThemeService, @IMessageService private messageService: IMessageService </ins> ) { super(TERMINAL_PANEL_ID, telemetryService); }

private createTerminal(terminalProcess: ITerminalProcess): TPromise<TerminalInstance> { return new TPromise<TerminalInstance>(resolve => { <del> var terminalInstance = new TerminalInstance(terminalProcess, this.terminalContainer, this.contextService, this.terminalService, this.onTerminalInstanceExit.bind(this)); </del> <ins> var terminalInstance = new TerminalInstance(terminalProcess, this.terminalContainer, this.contextService, this.terminalService, this.messageService, this.onTerminalInstanceExit.bind(this)); </ins> this.terminalInstances.push(terminalInstance); this.setActiveTerminal(this.terminalInstances.length - 1); this.toDispose.push(this.themeService.onDidThemeChange(this.updateTheme.bind(this)));