mirror of
https://github.com/coder/code-server.git
synced 2026-05-09 22:07:26 +02:00
Merge commit 'be3e8236086165e5e45a5a10783823874b3f3ebd' as 'lib/vscode'
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { AbstractCommandsQuickAccessProvider, ICommandQuickPick, ICommandsQuickAccessOptions } from 'vs/platform/quickinput/browser/commandsQuickAccess';
|
||||
import { IEditor } from 'vs/editor/common/editorCommon';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { stripCodicons } from 'vs/base/common/codicons';
|
||||
|
||||
export abstract class AbstractEditorCommandsQuickAccessProvider extends AbstractCommandsQuickAccessProvider {
|
||||
|
||||
constructor(
|
||||
options: ICommandsQuickAccessOptions,
|
||||
instantiationService: IInstantiationService,
|
||||
keybindingService: IKeybindingService,
|
||||
commandService: ICommandService,
|
||||
telemetryService: ITelemetryService,
|
||||
notificationService: INotificationService
|
||||
) {
|
||||
super(options, instantiationService, keybindingService, commandService, telemetryService, notificationService);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subclasses to provide the current active editor control.
|
||||
*/
|
||||
protected abstract activeTextEditorControl: IEditor | undefined;
|
||||
|
||||
protected getCodeEditorCommandPicks(): ICommandQuickPick[] {
|
||||
const activeTextEditorControl = this.activeTextEditorControl;
|
||||
if (!activeTextEditorControl) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const editorCommandPicks: ICommandQuickPick[] = [];
|
||||
for (const editorAction of activeTextEditorControl.getSupportedActions()) {
|
||||
editorCommandPicks.push({
|
||||
commandId: editorAction.id,
|
||||
commandAlias: editorAction.alias,
|
||||
label: stripCodicons(editorAction.label) || editorAction.id,
|
||||
});
|
||||
}
|
||||
|
||||
return editorCommandPicks;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user