* Update paste and drop proposals
Reworks the document paste and drop API proposals. Main highlights:
- Align more with code action api
- Allow a single paste provider to return multiple edits
- Allow resolving applied edits lazily
- Switch from using ids to scoped kinds like used for code actions
* Adding paste context
* Add context
* Update test
* feat: Add the logo of the built-in extension
* chore(extension): add compressed icon
---------
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
Move await from `priority` for drop/paste API proposals
For #179430, #30066
Switching to use `yieldTo` instead of `priority` to let an extension de-rank itself in the list of edits. `priority` was an arbitrary number while `yieldTo` gives more control over how the ranking takes place
* Combine esbuild scripts
This combines the various build scripts used for building webview/notebook content. This should make it easier to update settings for them
As part of this, I also fixed the script so that on watch it restarts automatically on syntax errors instead of exiting
* Migrate other build script
* Fixing math build script
For copy paste, I added logic to prefer using the text content if there's both `image/*` and `text/*` content in the clipboard
This however I also incorrectly applied this logic when dropping. In those cases, we instead want to prefer the image data (at least we do in the case of dragging and dropping from VS Code's explorer)
* Add widget to change how content is pasted
For #30066
This adds a widget that lets you change how content is pasted if there are multiple ways it could be pasted
To do this, I've made the post drop widget generic and reused it for pasting too
* Update types
* More code deduplication
* Allow dropping images into notebook to create attachments
Fixes#157577
This allows you to drag and drop image files or image data into a notebook cell to create an attachment
As part of this work, I also updated the paste attachment logic so that we can:
- Create multiple attachments in a single operation
- Create attachments of other mime types besides `image/png`
- Create attachments for images that have spaces in the filename
* Also allow pasting uri lists to create attachments
* Fix indent
* Add id