Skip to content

Commit 27770ed

Browse files
committed
Make type relationships more explicit to help the tree shaker
1 parent 898fbaf commit 27770ed

6 files changed

Lines changed: 19 additions & 27 deletions

File tree

build/monaco/monaco.d.ts.recipe

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ declare namespace monaco {
4343
}
4444

4545
declare namespace monaco.editor {
46-
46+
#include(vs/editor/browser/widget/diffNavigator): IDiffNavigator
4747
#includeAll(vs/editor/standalone/browser/standaloneEditor;modes.=>languages.;editorCommon.=>):
4848
#include(vs/editor/standalone/common/standaloneThemeService): BuiltinTheme, IStandaloneThemeData, IColors
4949
#include(vs/editor/common/modes/supports/tokenization): ITokenThemeRule

build/monaco/monaco.usage.recipe

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,17 @@
22
// This file is adding references to various symbols which should not be removed via tree shaking
33

44
import { ServiceIdentifier } from './vs/platform/instantiation/common/instantiation';
5-
import { IHighlight } from './vs/base/parts/quickopen/browser/quickOpenModel';
6-
import { SimpleWorkerClient, create as create1 } from './vs/base/common/worker/simpleWorker';
5+
import { create as create1 } from './vs/base/common/worker/simpleWorker';
76
import { create as create2 } from './vs/editor/common/services/editorSimpleWorker';
87
import { SyncDescriptor0, SyncDescriptor1, SyncDescriptor2, SyncDescriptor3, SyncDescriptor4, SyncDescriptor5, SyncDescriptor6, SyncDescriptor7, SyncDescriptor8 } from './vs/platform/instantiation/common/descriptors';
9-
import { DiffNavigator } from './vs/editor/browser/widget/diffNavigator';
10-
import { DocumentRangeFormattingEditProvider } from './vs/editor/common/modes';
118
import * as editorAPI from './vs/editor/editor.api';
129

1310
(function () {
1411
var a: any;
1512
var b: any;
16-
a = (<DiffNavigator>b).previous; // IDiffNavigator
1713
a = (<ServiceIdentifier<any>>b).type;
18-
a = (<IHighlight>b).start;
19-
a = (<IHighlight>b).end;
20-
a = (<SimpleWorkerClient<any, any>>b).getProxyObject; // IWorkerClient
2114
a = create1;
2215
a = create2;
23-
a = (<DocumentRangeFormattingEditProvider>b).extensionId;
2416

2517
// injection madness
2618
a = (<SyncDescriptor0<any>>b).ctor;

src/vs/base/parts/quickopen/browser/quickOpenModel.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ import { OS } from 'vs/base/common/platform';
1919
import { ResolvedKeybinding } from 'vs/base/common/keyCodes';
2020
import { IItemAccessor } from 'vs/base/parts/quickopen/common/quickOpenScorer';
2121
import { coalesce } from 'vs/base/common/arrays';
22+
import { IMatch } from 'vs/base/common/filters';
2223

2324
export interface IContext {
2425
event: any;
2526
quickNavigateConfiguration: IQuickNavigateConfiguration;
2627
}
2728

28-
export interface IHighlight {
29+
export interface IHighlight extends IMatch {
2930
start: number;
3031
end: number;
3132
}

src/vs/editor/browser/widget/diffNavigator.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,17 @@ const defaultOptions: Options = {
3030
alwaysRevealFirst: true
3131
};
3232

33+
export interface IDiffNavigator {
34+
canNavigate(): boolean;
35+
next(): void;
36+
previous(): void;
37+
dispose(): void;
38+
}
39+
3340
/**
3441
* Create a new diff navigator for the provided diff editor.
3542
*/
36-
export class DiffNavigator extends Disposable {
43+
export class DiffNavigator extends Disposable implements IDiffNavigator {
3744

3845
private readonly _editor: IDiffEditor;
3946
private readonly _options: Options;

src/vs/editor/standalone/browser/standaloneEditor.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { URI } from 'vs/base/common/uri';
99
import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
1010
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
1111
import { OpenerService } from 'vs/editor/browser/services/openerService';
12-
import { DiffNavigator } from 'vs/editor/browser/widget/diffNavigator';
12+
import { DiffNavigator, IDiffNavigator } from 'vs/editor/browser/widget/diffNavigator';
1313
import { ConfigurationChangedEvent } from 'vs/editor/common/config/editorOptions';
1414
import { BareFontInfo, FontInfo } from 'vs/editor/common/config/fontInfo';
1515
import { Token } from 'vs/editor/common/core/token';
@@ -127,13 +127,6 @@ export function createDiffEditor(domElement: HTMLElement, options?: IDiffEditorC
127127
});
128128
}
129129

130-
export interface IDiffNavigator {
131-
canNavigate(): boolean;
132-
next(): void;
133-
previous(): void;
134-
dispose(): void;
135-
}
136-
137130
export interface IDiffNavigatorOptions {
138131
readonly followsCaret?: boolean;
139132
readonly ignoreCharChanges?: boolean;

src/vs/monaco.d.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,12 @@ declare namespace monaco {
802802

803803
declare namespace monaco.editor {
804804

805+
export interface IDiffNavigator {
806+
canNavigate(): boolean;
807+
next(): void;
808+
previous(): void;
809+
dispose(): void;
810+
}
805811

806812
/**
807813
* Create a new editor under `domElement`.
@@ -824,13 +830,6 @@ declare namespace monaco.editor {
824830
*/
825831
export function createDiffEditor(domElement: HTMLElement, options?: IDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
826832

827-
export interface IDiffNavigator {
828-
canNavigate(): boolean;
829-
next(): void;
830-
previous(): void;
831-
dispose(): void;
832-
}
833-
834833
export interface IDiffNavigatorOptions {
835834
readonly followsCaret?: boolean;
836835
readonly ignoreCharChanges?: boolean;

0 commit comments

Comments
 (0)