63900421a9bbe59da47baa01cd55b3a4ac4988eaa89cc3a15162098fca5a8d1b2dd8852b01f6679598ffee27b952e831336f82b304387b5181fe93ce7e6d8d 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  6. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  7. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  8. 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;
  9. return c > 3 && r && Object.defineProperty(target, key, r), r;
  10. };
  11. var __param = (this && this.__param) || function (paramIndex, decorator) {
  12. return function (target, key) { decorator(target, key, paramIndex); }
  13. };
  14. import { AbstractGotoLineQuickAccessProvider } from '../../../contrib/quickAccess/browser/gotoLineQuickAccess.js';
  15. import { Registry } from '../../../../platform/registry/common/platform.js';
  16. import { Extensions } from '../../../../platform/quickinput/common/quickAccess.js';
  17. import { ICodeEditorService } from '../../../browser/services/codeEditorService.js';
  18. import { withNullAsUndefined } from '../../../../base/common/types.js';
  19. import { GoToLineNLS } from '../../../common/standaloneStrings.js';
  20. import { Event } from '../../../../base/common/event.js';
  21. import { EditorAction, registerEditorAction } from '../../../browser/editorExtensions.js';
  22. import { EditorContextKeys } from '../../../common/editorContextKeys.js';
  23. import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';
  24. let StandaloneGotoLineQuickAccessProvider = class StandaloneGotoLineQuickAccessProvider extends AbstractGotoLineQuickAccessProvider {
  25. constructor(editorService) {
  26. super();
  27. this.editorService = editorService;
  28. this.onDidActiveTextEditorControlChange = Event.None;
  29. }
  30. get activeTextEditorControl() {
  31. return withNullAsUndefined(this.editorService.getFocusedCodeEditor());
  32. }
  33. };
  34. StandaloneGotoLineQuickAccessProvider = __decorate([
  35. __param(0, ICodeEditorService)
  36. ], StandaloneGotoLineQuickAccessProvider);
  37. export { StandaloneGotoLineQuickAccessProvider };
  38. export class GotoLineAction extends EditorAction {
  39. constructor() {
  40. super({
  41. id: GotoLineAction.ID,
  42. label: GoToLineNLS.gotoLineActionLabel,
  43. alias: 'Go to Line/Column...',
  44. precondition: undefined,
  45. kbOpts: {
  46. kbExpr: EditorContextKeys.focus,
  47. primary: 2048 /* KeyMod.CtrlCmd */ | 37 /* KeyCode.KeyG */,
  48. mac: { primary: 256 /* KeyMod.WinCtrl */ | 37 /* KeyCode.KeyG */ },
  49. weight: 100 /* KeybindingWeight.EditorContrib */
  50. }
  51. });
  52. }
  53. run(accessor) {
  54. accessor.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX);
  55. }
  56. }
  57. GotoLineAction.ID = 'editor.action.gotoLine';
  58. registerEditorAction(GotoLineAction);
  59. Registry.as(Extensions.Quickaccess).registerQuickAccessProvider({
  60. ctor: StandaloneGotoLineQuickAccessProvider,
  61. prefix: StandaloneGotoLineQuickAccessProvider.PREFIX,
  62. helpEntries: [{ description: GoToLineNLS.gotoLineActionLabel, commandId: GotoLineAction.ID }]
  63. });