提交 2a997534 编写于 作者: D Daniel Imms

Rename onData to onInput

上级 166f41a2
......@@ -409,7 +409,7 @@ declare module 'vscode' {
* [Terminal.sendText](#Terminal.sendText). Keystrokes are converted into their
* corresponding VT sequence representation.
*/
onData: Event<string>; // in
onInput: Event<string>; // in
// Fires when the panel area is resized, this DOES NOT fire when `dimensions` is set
/**
......
......@@ -17,7 +17,7 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
private _toDispose: IDisposable[] = [];
private _terminalProcesses: { [id: number]: ITerminalProcessExtHostProxy } = {};
private _dataListeners: { [id: number]: IDisposable } = {};
private _rendererDataListeners: { [id: number]: IDisposable } = {};
private _rendererInputListeners: { [id: number]: IDisposable } = {};
constructor(
extHostContext: IExtHostContext,
......@@ -109,11 +109,11 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
}
}
public $terminalRendererRegisterOnDataListener(terminalId: number): void {
public $terminalRendererRegisterOnInputListener(terminalId: number): void {
const terminalInstance = this.terminalService.getInstanceFromId(terminalId);
if (terminalInstance) {
this._rendererDataListeners[terminalId] = terminalInstance.onRendererData(data => this._onTerminalRendererData(terminalId, data));
terminalInstance.onDisposed(() => delete this._dataListeners[terminalId]);
this._rendererInputListeners[terminalId] = terminalInstance.onRendererInput(data => this._onTerminalRendererInput(terminalId, data));
terminalInstance.onDisposed(() => delete this._rendererInputListeners[terminalId]);
}
}
......@@ -136,8 +136,8 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
this._proxy.$acceptTerminalProcessData(terminalId, data);
}
private _onTerminalRendererData(terminalId: number, data: string): void {
this._proxy.$acceptTerminalRendererData(terminalId, data);
private _onTerminalRendererInput(terminalId: number, data: string): void {
this._proxy.$acceptTerminalRendererInput(terminalId, data);
}
private _onTerminalDisposed(terminalInstance: ITerminalInstance): void {
......
......@@ -342,7 +342,7 @@ export interface MainThreadTerminalServiceShape extends IDisposable {
$terminalRendererSetName(terminalId: number, name: string): void;
$terminalRendererSetDimensions(terminalId: number, dimensions: ITerminalDimensions): void;
$terminalRendererWrite(terminalId: number, text: string): void;
$terminalRendererRegisterOnDataListener(terminalId: number): void;
$terminalRendererRegisterOnInputListener(terminalId: number): void;
}
export interface TransferQuickPickItems extends IQuickPickItem {
......@@ -844,7 +844,7 @@ export interface ExtHostTerminalServiceShape {
$acceptTerminalOpened(id: number, name: string): void;
$acceptTerminalProcessId(id: number, processId: number): void;
$acceptTerminalProcessData(id: number, data: string): void;
$acceptTerminalRendererData(id: number, data: string): void;
$acceptTerminalRendererInput(id: number, data: string): void;
$acceptTerminalRendererDimensions(id: number, cols: number, rows: number): void;
$createProcess(id: number, shellLaunchConfig: ShellLaunchConfigDto, cols: number, rows: number): void;
$acceptProcessInput(id: number, data: string): void;
......
......@@ -138,16 +138,16 @@ export class ExtHostTerminalRenderer extends BaseExtHostTerminal implements vsco
this._queueApiRequest(this._proxy.$terminalRendererSetName, [this._name]);
}
private readonly _onData: Emitter<string> = new Emitter<string>();
public get onData(): Event<string> {
private readonly _onInput: Emitter<string> = new Emitter<string>();
public get onInput(): Event<string> {
this._checkDisposed();
this._queueApiRequest(this._proxy.$terminalRendererRegisterOnDataListener, [this._id]);
this._queueApiRequest(this._proxy.$terminalRendererRegisterOnInputListener, [this._id]);
// TODO: This is not firing on renderers as ExtHostTerminalService doesn't track them currently
console.log('TerminalRenderer.onData id: ', this._id);
console.log('TerminalRenderer.onInput id: ', this._id);
// TODO: This needs to fire for keystrokes and sendText only for renderers
// Tell the main side to start sending data if it's not already
// this._proxy.$terminalRendererRegisterOnDataListener(this._id);
return this._onData && this._onData.event;
return this._onInput && this._onInput.event;
}
private _dimensions: vscode.TerminalDimensions | undefined;
......@@ -190,8 +190,8 @@ export class ExtHostTerminalRenderer extends BaseExtHostTerminal implements vsco
this._queueApiRequest(this._proxy.$terminalRendererWrite, [data]);
}
public _fireOnData(data: string): void {
this._onData.fire(data);
public _fireOnInput(data: string): void {
this._onInput.fire(data);
}
public _setMaximumDimensions(cols: number, rows: number): void {
......@@ -260,13 +260,13 @@ export class ExtHostTerminalService implements ExtHostTerminalServiceShape {
renderer._setMaximumDimensions(cols, rows);
}
public $acceptTerminalRendererData(id: number, data: string): void {
public $acceptTerminalRendererInput(id: number, data: string): void {
const index = this._getTerminalRendererIndexById(id);
if (index === null) {
return;
}
const renderer = this._terminalRenderers[index];
renderer._fireOnData(data);
renderer._fireOnInput(data);
}
public $acceptTerminalClosed(id: number): void {
......
......@@ -491,11 +491,11 @@ export interface ITerminalInstance {
onData(listener: (data: string) => void): IDisposable;
/**
* Attach a listener to the "renderer" data event, this event fires for terminal renderers on
* Attach a listener to the "renderer" input event, this event fires for terminal renderers on
* keystrokes and when the Terminal.sendText extension API is used.
* @param listener The listener function.
*/
onRendererData(listener: (data: string) => void): IDisposable;
onRendererInput(listener: (data: string) => void): IDisposable;
/**
* Attach a listener to listen for new lines added to this terminal instance.
......
......@@ -813,9 +813,9 @@ export class TerminalInstance implements ITerminalInstance {
return this._processManager.onProcessData(data => listener(data));
}
public onRendererData(listener: (data: string) => void): lifecycle.IDisposable {
public onRendererInput(listener: (data: string) => void): lifecycle.IDisposable {
if (this._processManager) {
throw new Error('onRendererData attempted to be used on a regular terminal');
throw new Error('onRendererINput attempted to be used on a regular terminal');
}
// For terminal renderers onData fires on keystrokes and when sendText is called.
// TODO: Handle sendText case
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册