Skip to content

Commit ac263d2

Browse files
committed
Introduce and adopt @editorBrowserContribution
1 parent d4979db commit ac263d2

25 files changed

Lines changed: 55 additions & 75 deletions

File tree

src/vs/editor/browser/editorBrowserExtensions.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ import {Registry} from 'vs/platform/platform';
99
import {IEditorContribution} from 'vs/editor/common/editorCommon';
1010
import {ICodeEditor, IEditorContributionDescriptor, ISimpleEditorContributionCtor} from 'vs/editor/browser/editorBrowser';
1111

12+
export function editorBrowserContribution(ctor:ISimpleEditorContributionCtor): void {
13+
EditorContributionRegistry.INSTANCE.registerEditorBrowserContribution(ctor);
14+
}
15+
1216
export namespace EditorBrowserRegistry {
1317
// --- Editor Contributions
14-
export function registerEditorContribution(ctor:ISimpleEditorContributionCtor): void {
15-
(<EditorContributionRegistry>Registry.as(Extensions.EditorContributions)).registerEditorBrowserContribution(ctor);
16-
}
1718
export function getEditorContributions(): IEditorContributionDescriptor[] {
18-
return (<EditorContributionRegistry>Registry.as(Extensions.EditorContributions)).getEditorBrowserContributions();
19+
return EditorContributionRegistry.INSTANCE.getEditorBrowserContributions();
1920
}
2021
}
2122

@@ -39,6 +40,8 @@ var Extensions = {
3940

4041
class EditorContributionRegistry {
4142

43+
public static INSTANCE = new EditorContributionRegistry();
44+
4245
private editorContributions: IEditorContributionDescriptor[];
4346

4447
constructor() {
@@ -54,4 +57,4 @@ class EditorContributionRegistry {
5457
}
5558
}
5659

57-
Registry.add(Extensions.EditorContributions, new EditorContributionRegistry());
60+
Registry.add(Extensions.EditorContributions, EditorContributionRegistry.INSTANCE);

src/vs/editor/contrib/accessibility/browser/accessibility.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@ import {GlobalScreenReaderNVDA} from 'vs/editor/common/config/commonEditorConfig
2222
import {ICommonCodeEditor, IEditorContribution, EditorContextKeys} from 'vs/editor/common/editorCommon';
2323
import {editorAction, CommonEditorRegistry, EditorAction, EditorCommand, Command} from 'vs/editor/common/editorCommonExtensions';
2424
import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition} from 'vs/editor/browser/editorBrowser';
25-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
25+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2626
import {ToggleTabFocusModeAction} from 'vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode';
2727

2828
const CONTEXT_ACCESSIBILITY_WIDGET_VISIBLE = new RawContextKey<boolean>('accessibilityHelpWidgetVisible', false);
2929
const TOGGLE_EXPERIMENTAL_SCREEN_READER_SUPPORT_COMMAND_ID = 'toggleExperimentalScreenReaderSupport';
3030

31+
@editorBrowserContribution
3132
class AccessibilityHelpController extends Disposable implements IEditorContribution {
3233

3334
private static ID = 'editor.contrib.accessibilityHelpController';
@@ -216,8 +217,6 @@ class ShowAccessibilityHelpAction extends EditorAction {
216217
}
217218
}
218219

219-
EditorBrowserRegistry.registerEditorContribution(AccessibilityHelpController);
220-
221220
const AccessibilityHelpCommand = EditorCommand.bindToContribution<AccessibilityHelpController>(AccessibilityHelpController.get);
222221

223222
CommonEditorRegistry.registerEditorCommand(new AccessibilityHelpCommand({

src/vs/editor/contrib/codelens/browser/codelens.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
2020
import {CodeLensProviderRegistry, ICodeLensSymbol, Command} from 'vs/editor/common/modes';
2121
import {IModelService} from 'vs/editor/common/services/modelService';
2222
import * as editorBrowser from 'vs/editor/browser/editorBrowser';
23-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
23+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2424
import {ICodeLensData, getCodeLensData} from '../common/codelens';
2525

2626

@@ -339,6 +339,7 @@ class CodeLens {
339339
}
340340
}
341341

342+
@editorBrowserContribution
342343
export class CodeLensContribution implements editorCommon.IEditorContribution {
343344

344345
private static ID: string = 'css.editor.codeLens';
@@ -626,5 +627,3 @@ export class CodeLensContribution implements editorCommon.IEditorContribution {
626627
});
627628
}
628629
}
629-
630-
EditorBrowserRegistry.registerEditorContribution(CodeLensContribution);

src/vs/editor/contrib/contextmenu/browser/contextmenu.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ import {IMenuService, IMenu, MenuId} from 'vs/platform/actions/common/actions';
1919
import {ICommonCodeEditor, IEditorContribution, MouseTargetType, EditorContextKeys, IScrollEvent} from 'vs/editor/common/editorCommon';
2020
import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
2121
import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
22-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
22+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2323

2424
interface IPosition {
2525
x: number;
2626
y: number;
2727
}
2828

29+
@editorBrowserContribution
2930
class ContextMenuController implements IEditorContribution {
3031

3132
private static ID = 'editor.contrib.contextmenu';
@@ -241,5 +242,3 @@ class ShowContextMenu extends EditorAction {
241242
contribution.showContextMenu();
242243
}
243244
}
244-
245-
EditorBrowserRegistry.registerEditorContribution(ContextMenuController);

src/vs/editor/contrib/defineKeybinding/browser/defineKeybinding.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {Range} from 'vs/editor/common/core/range';
2222
import * as editorCommon from 'vs/editor/common/editorCommon';
2323
import {editorAction, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
2424
import {ICodeEditor, IOverlayWidget, IOverlayWidgetPosition, OverlayWidgetPositionPreference} from 'vs/editor/browser/editorBrowser';
25-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
25+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2626
import {CodeSnippet} from 'vs/editor/contrib/snippet/common/snippet';
2727
import {SnippetController} from 'vs/editor/contrib/snippet/common/snippetController';
2828
import {SmartSnippetInserter} from 'vs/editor/contrib/defineKeybinding/common/smartSnippetInserter';
@@ -36,6 +36,7 @@ const NLS_KB_LAYOUT_ERROR_MESSAGE = nls.localize('defineKeybinding.kbLayoutError
3636

3737
const INTERESTING_FILE = /keybindings\.json$/;
3838

39+
@editorBrowserContribution
3940
export class DefineKeybindingController implements editorCommon.IEditorContribution {
4041

4142
private static ID = 'editor.contrib.defineKeybinding';
@@ -486,5 +487,3 @@ function isInterestingEditorModel(editor:editorCommon.ICommonCodeEditor): boolea
486487
let url = model.uri.toString();
487488
return INTERESTING_FILE.test(url);
488489
}
489-
490-
EditorBrowserRegistry.registerEditorContribution(DefineKeybindingController);

src/vs/editor/contrib/find/browser/find.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import {IContextViewService} from 'vs/platform/contextview/browser/contextView';
88
import {IKeybindingService} from 'vs/platform/keybinding/common/keybinding';
99
import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
1010
import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
11-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
11+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
1212
import {FindWidget, IFindController} from 'vs/editor/contrib/find/browser/findWidget';
13-
import {CommonFindController, FindStartFocusAction, IFindStartOptions, SelectionHighlighter} from 'vs/editor/contrib/find/common/findController';
13+
import {CommonFindController, FindStartFocusAction, IFindStartOptions} from 'vs/editor/contrib/find/common/findController';
1414

15+
@editorBrowserContribution
1516
class FindController extends CommonFindController implements IFindController {
1617

1718
private _widget: FindWidget;
@@ -37,6 +38,3 @@ class FindController extends CommonFindController implements IFindController {
3738
}
3839
}
3940
}
40-
41-
EditorBrowserRegistry.registerEditorContribution(FindController);
42-
EditorBrowserRegistry.registerEditorContribution(SelectionHighlighter);

src/vs/editor/contrib/find/common/findController.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {Range} from 'vs/editor/common/core/range';
1212
import {Selection} from 'vs/editor/common/core/selection';
1313
import * as strings from 'vs/base/common/strings';
1414
import * as editorCommon from 'vs/editor/common/editorCommon';
15-
import {editorAction, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
15+
import {editorAction, commonEditorContribution, ServicesAccessor, EditorAction, EditorCommand, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
1616
import {FIND_IDS, FindModelBoundToEditorModel} from 'vs/editor/contrib/find/common/findModel';
1717
import {FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState} from 'vs/editor/contrib/find/common/findState';
1818
import {DocumentHighlightProviderRegistry} from 'vs/editor/common/modes';
@@ -694,6 +694,7 @@ export class CompatChangeAll extends AbstractSelectHighlightsAction {
694694
}
695695
}
696696

697+
@commonEditorContribution
697698
export class SelectionHighlighter extends Disposable implements editorCommon.IEditorContribution {
698699
private static ID = 'editor.contrib.selectionHighlighter';
699700

src/vs/editor/contrib/folding/browser/folding.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
1616
import {Range} from 'vs/editor/common/core/range';
1717
import {editorAction, ServicesAccessor, EditorAction, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
1818
import {ICodeEditor, IEditorMouseEvent} from 'vs/editor/browser/editorBrowser';
19-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
19+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2020
import {CollapsibleRegion, getCollapsibleRegionsToFoldAtLine, getCollapsibleRegionsToUnfoldAtLine, doesLineBelongsToCollapsibleRegion, IFoldingRange} from 'vs/editor/contrib/folding/common/foldingModel';
2121
import {computeRanges, limitByIndent} from 'vs/editor/contrib/folding/common/indentFoldStrategy';
2222
import {Selection} from 'vs/editor/common/core/selection';
2323

2424
import EditorContextKeys = editorCommon.EditorContextKeys;
2525

26+
@editorBrowserContribution
2627
export class FoldingController implements editorCommon.IEditorContribution {
2728

2829
private static ID = 'editor.contrib.folding';
@@ -706,8 +707,6 @@ class FoldLevelAction extends FoldingAction<void> {
706707
}
707708
}
708709

709-
EditorBrowserRegistry.registerEditorContribution(FoldingController);
710-
711710
CommonEditorRegistry.registerEditorAction(
712711
new FoldLevelAction({
713712
id: FoldLevelAction.ID(1),

src/vs/editor/contrib/goToDeclaration/browser/goToDeclaration.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
2424
import {editorAction, IActionOptions, ServicesAccessor, EditorAction} from 'vs/editor/common/editorCommonExtensions';
2525
import {Location, DefinitionProviderRegistry} from 'vs/editor/common/modes';
2626
import {ICodeEditor, IEditorMouseEvent, IMouseTarget} from 'vs/editor/browser/editorBrowser';
27-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
27+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2828
import {getDeclarationsAtPosition} from 'vs/editor/contrib/goToDeclaration/common/goToDeclaration';
2929
import {ReferencesController} from 'vs/editor/contrib/referenceSearch/browser/referencesController';
3030
import {ReferencesModel} from 'vs/editor/contrib/referenceSearch/browser/referencesModel';
@@ -211,6 +211,7 @@ export class PeekDefinitionAction extends DefinitionAction {
211211

212212
// --- Editor Contribution to goto definition using the mouse and a modifier key
213213

214+
@editorBrowserContribution
214215
class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorContribution {
215216

216217
private static ID = 'editor.contrib.gotodefinitionwithmouse';
@@ -487,5 +488,3 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC
487488
this.toUnhook = dispose(this.toUnhook);
488489
}
489490
}
490-
491-
EditorBrowserRegistry.registerEditorContribution(GotoDefinitionWithMouseEditorContribution);

src/vs/editor/contrib/gotoError/browser/gotoError.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {Range} from 'vs/editor/common/core/range';
2525
import * as editorCommon from 'vs/editor/common/editorCommon';
2626
import {editorAction, ServicesAccessor, IActionOptions, EditorAction, EditorCommand, CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
2727
import {ICodeEditor} from 'vs/editor/browser/editorBrowser';
28-
import {EditorBrowserRegistry} from 'vs/editor/browser/editorBrowserExtensions';
28+
import {editorBrowserContribution} from 'vs/editor/browser/editorBrowserExtensions';
2929
import {ZoneWidget} from 'vs/editor/contrib/zoneWidget/browser/zoneWidget';
3030
import {getCodeActions, IQuickFix2} from 'vs/editor/contrib/quickFix/common/quickFix';
3131

@@ -446,6 +446,7 @@ class MarkerNavigationAction extends EditorAction {
446446
}
447447
}
448448

449+
@editorBrowserContribution
449450
class MarkerController implements editorCommon.IEditorContribution {
450451

451452
private static ID = 'editor.contrib.markerController';
@@ -572,5 +573,3 @@ CommonEditorRegistry.registerEditorCommand(new MarkerCommand({
572573
secondary: [KeyMod.Shift | KeyCode.Escape]
573574
}
574575
}));
575-
576-
EditorBrowserRegistry.registerEditorContribution(MarkerController);

0 commit comments

Comments
 (0)