| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __param = (this && this.__param) || function (paramIndex, decorator) {
- return function (target, key) { decorator(target, key, paramIndex); }
- };
- import '../../../../base/browser/ui/codicons/codiconStyles.js'; // The codicon symbol styles are defined here and must be loaded
- import '../../../contrib/symbolIcons/browser/symbolIcons.js'; // The codicon symbol colors are defined here and must be loaded to get colors
- import { AbstractGotoSymbolQuickAccessProvider } from '../../../contrib/quickAccess/browser/gotoSymbolQuickAccess.js';
- import { Registry } from '../../../../platform/registry/common/platform.js';
- import { Extensions } from '../../../../platform/quickinput/common/quickAccess.js';
- import { ICodeEditorService } from '../../../browser/services/codeEditorService.js';
- import { withNullAsUndefined } from '../../../../base/common/types.js';
- import { QuickOutlineNLS } from '../../../common/standaloneStrings.js';
- import { Event } from '../../../../base/common/event.js';
- import { EditorAction, registerEditorAction } from '../../../browser/editorExtensions.js';
- import { EditorContextKeys } from '../../../common/editorContextKeys.js';
- import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';
- import { IOutlineModelService } from '../../../contrib/documentSymbols/browser/outlineModel.js';
- import { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';
- let StandaloneGotoSymbolQuickAccessProvider = class StandaloneGotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccessProvider {
- constructor(editorService, languageFeaturesService, outlineModelService) {
- super(languageFeaturesService, outlineModelService);
- this.editorService = editorService;
- this.onDidActiveTextEditorControlChange = Event.None;
- }
- get activeTextEditorControl() {
- return withNullAsUndefined(this.editorService.getFocusedCodeEditor());
- }
- };
- StandaloneGotoSymbolQuickAccessProvider = __decorate([
- __param(0, ICodeEditorService),
- __param(1, ILanguageFeaturesService),
- __param(2, IOutlineModelService)
- ], StandaloneGotoSymbolQuickAccessProvider);
- export { StandaloneGotoSymbolQuickAccessProvider };
- export class GotoSymbolAction extends EditorAction {
- constructor() {
- super({
- id: GotoSymbolAction.ID,
- label: QuickOutlineNLS.quickOutlineActionLabel,
- alias: 'Go to Symbol...',
- precondition: EditorContextKeys.hasDocumentSymbolProvider,
- kbOpts: {
- kbExpr: EditorContextKeys.focus,
- primary: 2048 /* KeyMod.CtrlCmd */ | 1024 /* KeyMod.Shift */ | 45 /* KeyCode.KeyO */,
- weight: 100 /* KeybindingWeight.EditorContrib */
- },
- contextMenuOpts: {
- group: 'navigation',
- order: 3
- }
- });
- }
- run(accessor) {
- accessor.get(IQuickInputService).quickAccess.show(AbstractGotoSymbolQuickAccessProvider.PREFIX);
- }
- }
- GotoSymbolAction.ID = 'editor.action.quickOutline';
- registerEditorAction(GotoSymbolAction);
- Registry.as(Extensions.Quickaccess).registerQuickAccessProvider({
- ctor: StandaloneGotoSymbolQuickAccessProvider,
- prefix: AbstractGotoSymbolQuickAccessProvider.PREFIX,
- helpEntries: [
- { description: QuickOutlineNLS.quickOutlineActionLabel, prefix: AbstractGotoSymbolQuickAccessProvider.PREFIX, commandId: GotoSymbolAction.ID },
- { description: QuickOutlineNLS.quickOutlineByCategoryActionLabel, prefix: AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY }
- ]
- });
|