Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.ts
3296 views
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
6
import { AbstractGotoLineQuickAccessProvider } from '../../../contrib/quickAccess/browser/gotoLineQuickAccess.js';
7
import { Registry } from '../../../../platform/registry/common/platform.js';
8
import { IQuickAccessRegistry, Extensions } from '../../../../platform/quickinput/common/quickAccess.js';
9
import { ICodeEditorService } from '../../../browser/services/codeEditorService.js';
10
import { GoToLineNLS } from '../../../common/standaloneStrings.js';
11
import { Event } from '../../../../base/common/event.js';
12
import { EditorAction, registerEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';
13
import { EditorContextKeys } from '../../../common/editorContextKeys.js';
14
import { KeyMod, KeyCode } from '../../../../base/common/keyCodes.js';
15
import { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
16
import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';
17
18
export class StandaloneGotoLineQuickAccessProvider extends AbstractGotoLineQuickAccessProvider {
19
20
protected readonly onDidActiveTextEditorControlChange = Event.None;
21
22
constructor(@ICodeEditorService private readonly editorService: ICodeEditorService) {
23
super();
24
}
25
26
protected get activeTextEditorControl() {
27
return this.editorService.getFocusedCodeEditor() ?? undefined;
28
}
29
}
30
31
export class GotoLineAction extends EditorAction {
32
33
static readonly ID = 'editor.action.gotoLine';
34
35
constructor() {
36
super({
37
id: GotoLineAction.ID,
38
label: GoToLineNLS.gotoLineActionLabel,
39
alias: 'Go to Line/Column...',
40
precondition: undefined,
41
kbOpts: {
42
kbExpr: EditorContextKeys.focus,
43
primary: KeyMod.CtrlCmd | KeyCode.KeyG,
44
mac: { primary: KeyMod.WinCtrl | KeyCode.KeyG },
45
weight: KeybindingWeight.EditorContrib
46
}
47
});
48
}
49
50
run(accessor: ServicesAccessor): void {
51
accessor.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX);
52
}
53
}
54
55
registerEditorAction(GotoLineAction);
56
57
Registry.as<IQuickAccessRegistry>(Extensions.Quickaccess).registerQuickAccessProvider({
58
ctor: StandaloneGotoLineQuickAccessProvider,
59
prefix: StandaloneGotoLineQuickAccessProvider.PREFIX,
60
helpEntries: [{ description: GoToLineNLS.gotoLineActionLabel, commandId: GotoLineAction.ID }]
61
});
62
63