UNPKG

monaco-editor

Version:
59 lines (58 loc) 2.81 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { EditorCommand, registerEditorCommand, registerEditorContribution } from '../../../browser/editorExtensions.js'; import { editorConfigurationBaseNode } from '../../../common/config/editorConfigurationSchema.js'; import { registerEditorFeature } from '../../../common/editorFeatures.js'; import { DefaultDropProvidersFeature } from './defaultProviders.js'; import * as nls from '../../../../nls.js'; import { Extensions as ConfigurationExtensions } from '../../../../platform/configuration/common/configurationRegistry.js'; import { Registry } from '../../../../platform/registry/common/platform.js'; import { DropIntoEditorController, changeDropTypeCommandId, defaultProviderConfig, dropWidgetVisibleCtx } from './dropIntoEditorController.js'; registerEditorContribution(DropIntoEditorController.ID, DropIntoEditorController, 2 /* EditorContributionInstantiation.BeforeFirstInteraction */); registerEditorFeature(DefaultDropProvidersFeature); registerEditorCommand(new class extends EditorCommand { constructor() { super({ id: changeDropTypeCommandId, precondition: dropWidgetVisibleCtx, kbOpts: { weight: 100 /* KeybindingWeight.EditorContrib */, primary: 2048 /* KeyMod.CtrlCmd */ | 89 /* KeyCode.Period */, } }); } runEditorCommand(_accessor, editor, _args) { DropIntoEditorController.get(editor)?.changeDropType(); } }); registerEditorCommand(new class extends EditorCommand { constructor() { super({ id: 'editor.hideDropWidget', precondition: dropWidgetVisibleCtx, kbOpts: { weight: 100 /* KeybindingWeight.EditorContrib */, primary: 9 /* KeyCode.Escape */, } }); } runEditorCommand(_accessor, editor, _args) { DropIntoEditorController.get(editor)?.clearWidgets(); } }); Registry.as(ConfigurationExtensions.Configuration).registerConfiguration({ ...editorConfigurationBaseNode, properties: { [defaultProviderConfig]: { type: 'object', scope: 5 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */, description: nls.localize('defaultProviderDescription', "Configures the default drop provider to use for content of a given mime type."), default: {}, additionalProperties: { type: 'string', }, }, } });