diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index 09458bfc2b6..90183d71270 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -905,10 +905,9 @@ export const EventHelper = { } }; -export interface IFocusTracker { +export interface IFocusTracker extends Disposable { onDidFocus: Event; onDidBlur: Event; - dispose(): void; } export function saveParentsScrollTop(node: Element): number[] { diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts index 865d9785305..e76fd3a6bbc 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.ts +++ b/src/vs/base/browser/ui/actionbar/actionbar.ts @@ -6,7 +6,7 @@ import 'vs/css!./actionbar'; import * as platform from 'vs/base/common/platform'; import * as nls from 'vs/nls'; -import { Disposable, dispose } from 'vs/base/common/lifecycle'; +import { Disposable, dispose, IDisposable } from 'vs/base/common/lifecycle'; import { SelectBox, ISelectOptionItem, ISelectBoxOptions } from 'vs/base/browser/ui/selectBox/selectBox'; import { IAction, IActionRunner, Action, IActionChangeEvent, ActionRunner, IRunEvent } from 'vs/base/common/actions'; import * as DOM from 'vs/base/browser/dom'; @@ -17,14 +17,13 @@ import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview'; import { Event, Emitter } from 'vs/base/common/event'; -export interface IActionViewItem { +export interface IActionViewItem extends IDisposable { actionRunner: IActionRunner; setActionContext(context: any): void; render(element: HTMLElement): void; isEnabled(): boolean; focus(fromRight?: boolean): void; blur(): void; - dispose(): void; } export interface IBaseActionViewItemOptions { diff --git a/src/vs/base/browser/ui/selectBox/selectBox.ts b/src/vs/base/browser/ui/selectBox/selectBox.ts index d74c30c8df4..7832680e2ae 100644 --- a/src/vs/base/browser/ui/selectBox/selectBox.ts +++ b/src/vs/base/browser/ui/selectBox/selectBox.ts @@ -14,11 +14,12 @@ import { IListStyles } from 'vs/base/browser/ui/list/listWidget'; import { SelectBoxNative } from 'vs/base/browser/ui/selectBox/selectBoxNative'; import { SelectBoxList } from 'vs/base/browser/ui/selectBox/selectBoxCustom'; import { isMacintosh } from 'vs/base/common/platform'; +import { IDisposable } from 'vs/base/common/lifecycle'; // Public SelectBox interface - Calls routed to appropriate select implementation class -export interface ISelectBoxDelegate { +export interface ISelectBoxDelegate extends IDisposable { // Public SelectBox Interface readonly onDidSelect: Event; @@ -27,7 +28,6 @@ export interface ISelectBoxDelegate { setAriaLabel(label: string): void; focus(): void; blur(): void; - dispose(): void; // Delegated Widget interface render(container: HTMLElement): void; @@ -129,4 +129,4 @@ export class SelectBox extends Widget implements ISelectBoxDelegate { public applyStyles(): void { this.selectBoxDelegate.applyStyles(); } -} \ No newline at end of file +} diff --git a/src/vs/base/common/actions.ts b/src/vs/base/common/actions.ts index 778a4e9f146..66e93280309 100644 --- a/src/vs/base/common/actions.ts +++ b/src/vs/base/common/actions.ts @@ -29,14 +29,13 @@ export interface IActionRunner extends IDisposable { onDidBeforeRun: Event; } -export interface IActionViewItem { +export interface IActionViewItem extends IDisposable { actionRunner: IActionRunner; setActionContext(context: any): void; render(element: any /* HTMLElement */): void; isEnabled(): boolean; focus(): void; blur(): void; - dispose(): void; } export interface IActionChangeEvent { diff --git a/src/vs/base/common/cache.ts b/src/vs/base/common/cache.ts index f46d663f773..bc585927f03 100644 --- a/src/vs/base/common/cache.ts +++ b/src/vs/base/common/cache.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation'; +import { IDisposable } from 'vs/base/common/lifecycle'; -export interface CacheResult { +export interface CacheResult extends IDisposable { promise: Promise; - dispose(): void; } export class Cache { diff --git a/src/vs/base/common/worker/simpleWorker.ts b/src/vs/base/common/worker/simpleWorker.ts index fa19fff26e9..a0191ea7807 100644 --- a/src/vs/base/common/worker/simpleWorker.ts +++ b/src/vs/base/common/worker/simpleWorker.ts @@ -4,16 +4,15 @@ *--------------------------------------------------------------------------------------------*/ import { transformErrorForSerialization } from 'vs/base/common/errors'; -import { Disposable } from 'vs/base/common/lifecycle'; +import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { isWeb } from 'vs/base/common/platform'; import { getAllPropertyNames } from 'vs/base/common/types'; const INITIALIZE = '$initialize'; -export interface IWorker { +export interface IWorker extends IDisposable { getId(): number; postMessage(message: string): void; - dispose(): void; } export interface IWorkerCallback { diff --git a/src/vs/base/parts/ipc/common/ipc.net.ts b/src/vs/base/parts/ipc/common/ipc.net.ts index 2456d7566e7..459a5b94bd8 100644 --- a/src/vs/base/parts/ipc/common/ipc.net.ts +++ b/src/vs/base/parts/ipc/common/ipc.net.ts @@ -11,13 +11,12 @@ import * as platform from 'vs/base/common/platform'; declare var process: any; -export interface ISocket { +export interface ISocket extends IDisposable { onData(listener: (e: VSBuffer) => void): IDisposable; onClose(listener: () => void): IDisposable; onEnd(listener: () => void): IDisposable; write(buffer: VSBuffer): void; end(): void; - dispose(): void; } let emptyBuffer: VSBuffer | null = null; diff --git a/src/vs/editor/browser/core/editorState.ts b/src/vs/editor/browser/core/editorState.ts index 9894e762711..e674795c4c1 100644 --- a/src/vs/editor/browser/core/editorState.ts +++ b/src/vs/editor/browser/core/editorState.ts @@ -79,7 +79,7 @@ export class EditorState { * A cancellation token source that cancels when the editor changes as expressed * by the provided flags */ -export class EditorStateCancellationTokenSource extends EditorKeybindingCancellationTokenSource { +export class EditorStateCancellationTokenSource extends EditorKeybindingCancellationTokenSource implements IDisposable { private readonly _listener: IDisposable[] = []; @@ -110,7 +110,7 @@ export class EditorStateCancellationTokenSource extends EditorKeybindingCancella /** * A cancellation token source that cancels when the provided model changes */ -export class TextModelCancellationTokenSource extends CancellationTokenSource { +export class TextModelCancellationTokenSource extends CancellationTokenSource implements IDisposable { private _listener: IDisposable; diff --git a/src/vs/editor/common/viewModel/splitLinesCollection.ts b/src/vs/editor/common/viewModel/splitLinesCollection.ts index 75b8b3739e5..f593fdbc563 100644 --- a/src/vs/editor/common/viewModel/splitLinesCollection.ts +++ b/src/vs/editor/common/viewModel/splitLinesCollection.ts @@ -13,6 +13,7 @@ import * as viewEvents from 'vs/editor/common/view/viewEvents'; import { PrefixSumComputerWithCache } from 'vs/editor/common/viewModel/prefixSumComputer'; import { ICoordinatesConverter, IOverviewRulerDecorations, ViewLineData } from 'vs/editor/common/viewModel/viewModel'; import { ITheme } from 'vs/platform/theme/common/themeService'; +import { IDisposable } from 'vs/base/common/lifecycle'; export class OutputPosition { _outputPositionBrand: void; @@ -62,11 +63,9 @@ export interface ISplitLine { getViewLineNumberOfModelPosition(deltaLineNumber: number, inputColumn: number): number; } -export interface IViewModelLinesCollection { +export interface IViewModelLinesCollection extends IDisposable { createCoordinatesConverter(): ICoordinatesConverter; - dispose(): void; - setWrappingSettings(wrappingIndent: WrappingIndent, wrappingColumn: number, columnsForFullWidthChar: number): boolean; setTabSize(newTabSize: number): boolean; getHiddenAreas(): Range[]; diff --git a/src/vs/workbench/contrib/webview/common/webview.ts b/src/vs/workbench/contrib/webview/common/webview.ts index 6fefc9914e7..7aecb55b0af 100644 --- a/src/vs/workbench/contrib/webview/common/webview.ts +++ b/src/vs/workbench/contrib/webview/common/webview.ts @@ -9,6 +9,7 @@ import { ExtensionIdentifier } from 'vs/platform/extensions/common/extensions'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { RawContextKey } from 'vs/platform/contextkey/common/contextkey'; import * as modes from 'vs/editor/common/modes'; +import { IDisposable } from 'vs/base/common/lifecycle'; /** * Set when the find widget in a webview is visible. @@ -45,7 +46,7 @@ export interface WebviewContentOptions { readonly portMappings?: ReadonlyArray; } -export interface Webview { +export interface Webview extends IDisposable { html: string; options: WebviewContentOptions; @@ -68,8 +69,6 @@ export interface Webview { layout(): void; mountTo(parent: HTMLElement): void; focus(): void; - dispose(): void; - reload(): void; selectAll(): void;