提交 706cfcef 编写于 作者: J Johannes Rieken

debt - onDidType is now just one listener

上级 f77e63c8
...@@ -86,7 +86,7 @@ export class SuggestModel implements IDisposable { ...@@ -86,7 +86,7 @@ export class SuggestModel implements IDisposable {
private toDispose: IDisposable[] = []; private toDispose: IDisposable[] = [];
private quickSuggestDelay: number; private quickSuggestDelay: number;
private triggerCharacterListeners: IDisposable[] = []; private triggerCharacterListener: IDisposable;
private triggerAutoSuggestPromise: TPromise<void>; private triggerAutoSuggestPromise: TPromise<void>;
private state: State; private state: State;
...@@ -138,9 +138,8 @@ export class SuggestModel implements IDisposable { ...@@ -138,9 +138,8 @@ export class SuggestModel implements IDisposable {
} }
dispose(): void { dispose(): void {
dispose([this._onDidCancel, this._onDidSuggest, this._onDidTrigger]); dispose([this._onDidCancel, this._onDidSuggest, this._onDidTrigger, this.triggerCharacterListener]);
this.toDispose = dispose(this.toDispose); this.toDispose = dispose(this.toDispose);
this.triggerCharacterListeners = dispose(this.triggerCharacterListeners);
this.cancel(); this.cancel();
} }
...@@ -156,7 +155,7 @@ export class SuggestModel implements IDisposable { ...@@ -156,7 +155,7 @@ export class SuggestModel implements IDisposable {
private updateTriggerCharacters(): void { private updateTriggerCharacters(): void {
this.triggerCharacterListeners = dispose(this.triggerCharacterListeners); dispose(this.triggerCharacterListener);
if (this.editor.getConfiguration().readOnly if (this.editor.getConfiguration().readOnly
|| !this.editor.getModel() || !this.editor.getModel()
...@@ -180,13 +179,13 @@ export class SuggestModel implements IDisposable { ...@@ -180,13 +179,13 @@ export class SuggestModel implements IDisposable {
} }
} }
this.triggerCharacterListeners.push(this.editor.onDidType((text: string) => { this.triggerCharacterListener = this.editor.onDidType((text: string) => {
let lastChar = text.charAt(text.length - 1); let lastChar = text.charAt(text.length - 1);
let supports = supportsByTriggerCharacter[lastChar]; let supports = supportsByTriggerCharacter[lastChar];
if (supports) { if (supports) {
this.trigger(true, false, supports); this.trigger(true, false, supports);
} }
})); });
} }
// --- trigger/retrigger/cancel suggest // --- trigger/retrigger/cancel suggest
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册