UNPKG

sussudio

Version:

An unofficial VS Code Internal API

67 lines (66 loc) 2.88 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { DragMouseEvent } from "../../../base/browser/mouseEvent.mjs"; import { VSBuffer } from "../../../base/common/buffer.mjs"; import { URI } from "../../../base/common/uri.mjs"; import { IBaseTextResourceEditorInput } from "../../editor/common/editor.mjs"; import { ServicesAccessor } from "../../instantiation/common/instantiation.mjs"; export interface FileAdditionalNativeProperties { /** * The real path to the file on the users filesystem. Only available on electron. */ readonly path?: string; } export declare const CodeDataTransfers: { EDITORS: string; FILES: string; }; export interface IDraggedResourceEditorInput extends IBaseTextResourceEditorInput { resource: URI | undefined; /** * A hint that the source of the dragged editor input * might not be the application but some external tool. */ isExternal?: boolean; /** * Whether we probe for the dropped editor to be a workspace * (i.e. code-workspace file or even a folder), allowing to * open it as workspace instead of opening as editor. */ allowWorkspaceOpen?: boolean; } export declare function extractEditorsDropData(e: DragEvent): Array<IDraggedResourceEditorInput>; export declare function extractEditorsAndFilesDropData(accessor: ServicesAccessor, e: DragEvent): Promise<Array<IDraggedResourceEditorInput>>; export declare function createDraggedEditorInputFromRawResourcesData(rawResourcesData: string | undefined): IDraggedResourceEditorInput[]; interface IFileTransferData { resource: URI; isDirectory?: boolean; contents?: VSBuffer; } export declare function extractFileListData(accessor: ServicesAccessor, files: FileList): Promise<IFileTransferData[]>; export declare function containsDragType(event: DragEvent, ...dragTypesToFind: string[]): boolean; export interface IResourceStat { resource: URI; isDirectory?: boolean; } export interface IDragAndDropContributionRegistry { /** * Registers a drag and drop contribution. */ register(contribution: IDragAndDropContribution): void; /** * Returns all registered drag and drop contributions. */ getAll(): IterableIterator<IDragAndDropContribution>; } interface IDragAndDropContribution { readonly dataFormatKey: string; getEditorInputs(data: string): IDraggedResourceEditorInput[]; setData(resources: IResourceStat[], event: DragMouseEvent | DragEvent): void; } export declare const Extensions: { DragAndDropContribution: string; }; export {};