mirror of
https://github.com/Microsoft/vscode
synced 2024-10-30 11:10:48 +00:00
use DisposableStore over IDisposable[]
This commit is contained in:
parent
a3ff1a4e22
commit
29b13ead34
1 changed files with 21 additions and 24 deletions
|
@ -6,7 +6,7 @@
|
|||
import { isNonEmptyArray } from 'vs/base/common/arrays';
|
||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||
import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes';
|
||||
import { dispose, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { DisposableStore } from 'vs/base/common/lifecycle';
|
||||
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { EditorAction, registerEditorAction, registerEditorContribution, ServicesAccessor } from 'vs/editor/browser/editorExtensions';
|
||||
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
|
||||
|
@ -30,18 +30,18 @@ class FormatOnType implements editorCommon.IEditorContribution {
|
|||
private static readonly ID = 'editor.contrib.autoFormat';
|
||||
|
||||
private readonly _editor: ICodeEditor;
|
||||
private _callOnDispose: IDisposable[] = [];
|
||||
private _callOnModel: IDisposable[] = [];
|
||||
private readonly _callOnDispose = new DisposableStore();
|
||||
private readonly _callOnModel = new DisposableStore();
|
||||
|
||||
constructor(
|
||||
editor: ICodeEditor,
|
||||
@IEditorWorkerService private readonly _workerService: IEditorWorkerService
|
||||
) {
|
||||
this._editor = editor;
|
||||
this._callOnDispose.push(editor.onDidChangeConfiguration(() => this._update()));
|
||||
this._callOnDispose.push(editor.onDidChangeModel(() => this._update()));
|
||||
this._callOnDispose.push(editor.onDidChangeModelLanguage(() => this._update()));
|
||||
this._callOnDispose.push(OnTypeFormattingEditProviderRegistry.onDidChange(this._update, this));
|
||||
this._callOnDispose.add(editor.onDidChangeConfiguration(() => this._update()));
|
||||
this._callOnDispose.add(editor.onDidChangeModel(() => this._update()));
|
||||
this._callOnDispose.add(editor.onDidChangeModelLanguage(() => this._update()));
|
||||
this._callOnDispose.add(OnTypeFormattingEditProviderRegistry.onDidChange(this._update, this));
|
||||
}
|
||||
|
||||
getId(): string {
|
||||
|
@ -49,14 +49,14 @@ class FormatOnType implements editorCommon.IEditorContribution {
|
|||
}
|
||||
|
||||
dispose(): void {
|
||||
this._callOnDispose = dispose(this._callOnDispose);
|
||||
this._callOnModel = dispose(this._callOnModel);
|
||||
this._callOnDispose.dispose();
|
||||
this._callOnModel.dispose();
|
||||
}
|
||||
|
||||
private _update(): void {
|
||||
|
||||
// clean up
|
||||
this._callOnModel = dispose(this._callOnModel);
|
||||
this._callOnModel.clear();
|
||||
|
||||
// we are disabled
|
||||
if (!this._editor.getConfiguration().contribInfo.formatOnType) {
|
||||
|
@ -81,7 +81,7 @@ class FormatOnType implements editorCommon.IEditorContribution {
|
|||
for (let ch of support.autoFormatTriggerCharacters) {
|
||||
triggerChars.add(ch.charCodeAt(0));
|
||||
}
|
||||
this._callOnModel.push(this._editor.onDidType((text: string) => {
|
||||
this._callOnModel.add(this._editor.onDidType((text: string) => {
|
||||
let lastCharCode = text.charCodeAt(text.length - 1);
|
||||
if (triggerChars.has(lastCharCode)) {
|
||||
this._trigger(String.fromCharCode(lastCharCode));
|
||||
|
@ -156,20 +156,17 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
|
|||
|
||||
private static readonly ID = 'editor.contrib.formatOnPaste';
|
||||
|
||||
private _callOnDispose: IDisposable[];
|
||||
private _callOnModel: IDisposable[];
|
||||
private readonly _callOnDispose = new DisposableStore();
|
||||
private readonly _callOnModel = new DisposableStore();
|
||||
|
||||
constructor(
|
||||
private readonly editor: ICodeEditor,
|
||||
@IInstantiationService private readonly _instantiationService: IInstantiationService,
|
||||
) {
|
||||
this._callOnDispose = [];
|
||||
this._callOnModel = [];
|
||||
|
||||
this._callOnDispose.push(editor.onDidChangeConfiguration(() => this._update()));
|
||||
this._callOnDispose.push(editor.onDidChangeModel(() => this._update()));
|
||||
this._callOnDispose.push(editor.onDidChangeModelLanguage(() => this._update()));
|
||||
this._callOnDispose.push(DocumentRangeFormattingEditProviderRegistry.onDidChange(this._update, this));
|
||||
this._callOnDispose.add(editor.onDidChangeConfiguration(() => this._update()));
|
||||
this._callOnDispose.add(editor.onDidChangeModel(() => this._update()));
|
||||
this._callOnDispose.add(editor.onDidChangeModelLanguage(() => this._update()));
|
||||
this._callOnDispose.add(DocumentRangeFormattingEditProviderRegistry.onDidChange(this._update, this));
|
||||
}
|
||||
|
||||
getId(): string {
|
||||
|
@ -177,14 +174,14 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
|
|||
}
|
||||
|
||||
dispose(): void {
|
||||
this._callOnDispose = dispose(this._callOnDispose);
|
||||
this._callOnModel = dispose(this._callOnModel);
|
||||
this._callOnDispose.dispose();
|
||||
this._callOnModel.dispose();
|
||||
}
|
||||
|
||||
private _update(): void {
|
||||
|
||||
// clean up
|
||||
this._callOnModel = dispose(this._callOnModel);
|
||||
this._callOnModel.dispose();
|
||||
|
||||
// we are disabled
|
||||
if (!this.editor.getConfiguration().contribInfo.formatOnPaste) {
|
||||
|
@ -201,7 +198,7 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
|
|||
return;
|
||||
}
|
||||
|
||||
this._callOnModel.push(this.editor.onDidPaste(range => this._trigger(range)));
|
||||
this._callOnModel.add(this.editor.onDidPaste(range => this._trigger(range)));
|
||||
}
|
||||
|
||||
private _trigger(range: Range): void {
|
||||
|
|
Loading…
Reference in a new issue