mirror of
https://github.com/Microsoft/vscode
synced 2024-08-28 05:19:39 +00:00
parent
3a9292f23f
commit
c9bf4393d5
|
@ -24,8 +24,8 @@ const imageFileExtensions = new Set<string>([
|
|||
]);
|
||||
|
||||
export function registerDropIntoEditorSupport(selector: vscode.DocumentSelector) {
|
||||
return vscode.languages.registerDocumentOnDropEditProvider(selector, new class implements vscode.DocumentOnDropEditProvider {
|
||||
async provideDocumentOnDropEdits(document: vscode.TextDocument, _position: vscode.Position, dataTransfer: vscode.DataTransfer, token: vscode.CancellationToken): Promise<vscode.DocumentDropEdit | undefined> {
|
||||
return vscode.languages.registerDocumentDropEditProvider(selector, new class implements vscode.DocumentDropEditProvider {
|
||||
async provideDocumentDropEdits(document: vscode.TextDocument, _position: vscode.Position, dataTransfer: vscode.DataTransfer, token: vscode.CancellationToken): Promise<vscode.DocumentDropEdit | undefined> {
|
||||
const enabled = vscode.workspace.getConfiguration('markdown', document).get('editor.drop.enabled', true);
|
||||
if (!enabled) {
|
||||
return undefined;
|
||||
|
|
|
@ -576,7 +576,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
|||
createLanguageStatusItem(id: string, selector: vscode.DocumentSelector): vscode.LanguageStatusItem {
|
||||
return extHostLanguages.createLanguageStatusItem(extension, id, selector);
|
||||
},
|
||||
registerDocumentOnDropEditProvider(selector: vscode.DocumentSelector, provider: vscode.DocumentOnDropEditProvider): vscode.Disposable {
|
||||
registerDocumentDropEditProvider(selector: vscode.DocumentSelector, provider: vscode.DocumentDropEditProvider): vscode.Disposable {
|
||||
checkProposedApiEnabled(extension, 'textEditorDrop');
|
||||
return extHostLanguageFeatures.registerDocumentOnDropEditProvider(extension, selector, provider);
|
||||
}
|
||||
|
|
|
@ -1791,7 +1791,7 @@ class DocumentOnDropEditAdapter {
|
|||
constructor(
|
||||
private readonly _proxy: extHostProtocol.MainThreadLanguageFeaturesShape,
|
||||
private readonly _documents: ExtHostDocuments,
|
||||
private readonly _provider: vscode.DocumentOnDropEditProvider,
|
||||
private readonly _provider: vscode.DocumentDropEditProvider,
|
||||
private readonly _handle: number,
|
||||
) { }
|
||||
|
||||
|
@ -1802,7 +1802,7 @@ class DocumentOnDropEditAdapter {
|
|||
return (await this._proxy.$resolveDocumentOnDropFileData(this._handle, requestId, index)).buffer;
|
||||
});
|
||||
|
||||
const edit = await this._provider.provideDocumentOnDropEdits(doc, pos, dataTransfer, token);
|
||||
const edit = await this._provider.provideDocumentDropEdits(doc, pos, dataTransfer, token);
|
||||
if (!edit) {
|
||||
return undefined;
|
||||
}
|
||||
|
@ -2446,7 +2446,7 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF
|
|||
|
||||
// --- Document on drop
|
||||
|
||||
registerDocumentOnDropEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.DocumentOnDropEditProvider) {
|
||||
registerDocumentOnDropEditProvider(extension: IExtensionDescription, selector: vscode.DocumentSelector, provider: vscode.DocumentDropEditProvider) {
|
||||
const handle = this._nextHandle();
|
||||
this._adapter.set(handle, new AdapterData(new DocumentOnDropEditAdapter(this._proxy, this._documents, provider, handle), extension));
|
||||
this._proxy.$registerDocumentOnDropEditProvider(handle, this._transformDocumentSelector(selector));
|
||||
|
|
|
@ -12,7 +12,7 @@ declare module 'vscode' {
|
|||
*
|
||||
* The user can drop into a text editor by holding down `shift` while dragging. Requires `workbench.experimental.editor.dropIntoEditor.enabled` to be on.
|
||||
*/
|
||||
export interface DocumentOnDropEditProvider {
|
||||
export interface DocumentDropEditProvider {
|
||||
/**
|
||||
* Provide edits which inserts the content being dragged and dropped into the document.
|
||||
*
|
||||
|
@ -24,7 +24,7 @@ declare module 'vscode' {
|
|||
* @return A {@link DocumentDropEdit} or a thenable that resolves to such. The lack of a result can be
|
||||
* signaled by returning `undefined` or `null`.
|
||||
*/
|
||||
provideDocumentOnDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<DocumentDropEdit>;
|
||||
provideDocumentDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<DocumentDropEdit>;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -49,13 +49,13 @@ declare module 'vscode' {
|
|||
|
||||
export namespace languages {
|
||||
/**
|
||||
* Registers a new {@link DocumentOnDropEditProvider}.
|
||||
* Registers a new {@link DocumentDropEditProvider}.
|
||||
*
|
||||
* @param selector A selector that defines the documents this provider applies to.
|
||||
* @param provider A drop provider.
|
||||
*
|
||||
* @return A {@link Disposable} that unregisters this provider when disposed of.
|
||||
*/
|
||||
export function registerDocumentOnDropEditProvider(selector: DocumentSelector, provider: DocumentOnDropEditProvider): Disposable;
|
||||
export function registerDocumentDropEditProvider(selector: DocumentSelector, provider: DocumentDropEditProvider): Disposable;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue