Add paste as command (#181959)

For #30066

This command shows a quick pick that lets you select how to paste content
This commit is contained in:
Matt Bierner
2023-05-10 06:17:42 -07:00
committed by GitHub
parent 4182ec739b
commit ca51a4b04c
14 changed files with 223 additions and 33 deletions
+3 -2
View File
@@ -45,6 +45,7 @@ function getImageMimeType(uri: vscode.Uri): string | undefined {
return imageExtToMime.get(extname(uri.fsPath).toLowerCase());
}
const id = 'insertAttachment';
class CopyPasteEditProvider implements vscode.DocumentPasteEditProvider {
async provideDocumentPasteEdits(
@@ -63,7 +64,7 @@ class CopyPasteEditProvider implements vscode.DocumentPasteEditProvider {
return;
}
const pasteEdit = new vscode.DocumentPasteEdit(insert.insertText, vscode.l10n.t('Insert Image as Attachment'));
const pasteEdit = new vscode.DocumentPasteEdit(insert.insertText, id, vscode.l10n.t('Insert Image as Attachment'));
pasteEdit.additionalEdit = insert.additionalEdit;
return pasteEdit;
}
@@ -83,6 +84,7 @@ class DropEditProvider implements vscode.DocumentDropEditProvider {
}
const dropEdit = new vscode.DocumentDropEdit(insert.insertText);
dropEdit.id = id;
dropEdit.additionalEdit = insert.additionalEdit;
dropEdit.label = vscode.l10n.t('Insert Image as Attachment');
return dropEdit;
@@ -302,7 +304,6 @@ export function notebookImagePasteSetup(): vscode.Disposable {
],
}),
vscode.languages.registerDocumentDropEditProvider(JUPYTER_NOTEBOOK_MARKDOWN_SELECTOR, new DropEditProvider(), {
id: 'imageAttachment',
dropMimeTypes: [
...Object.values(imageExtToMime),
MimeType.uriList,