* 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 passing in a `DataTransferItem` to workspace edit
Fixes#175800
Allows you to pass a file `DataTransferItem` to `WorkspaceEdit.createFile`. This lets us avoid transferring the data back and forth to the extension host, and also avoid having to base64 encode and decode it, significantly improving performance for large files
* Take data transfer file instead of data transfer item
For #179430
Adds two new UX components:
- An inline progress icon shown when a drop operation takes over 500ms. This replaces the notification. You can click on it to cancel the drop
- Post drop, a drop feedback icon that lets you drop the file in a different way. This lets you drop the file as plain text for instance instead of as a markdown link
* Revert "Revert "Add experimental setting to define where files should be copied for markdown (#169454)" (#169615)"
This reverts commit b2121c2dbe.
* Fix tests
These paths should always use `/`
* Rework markdown update link glob
Fixes#164587
This changes the `externalFileGlobs` setting to instead be a include array of globs that should trigger link updates. I've split the globs into markdown files and image/video files
This also makes it easier for users to add their own new globs to the list
* Fix scopes
* Add experimental support for update markdown links on file moves/renames
Fixes#148146
This adds a new experimental setting that automatically updates markdown
Note that this needs a new version of the vscode-markdown-languageservice so the build is expected to break for now
* Pick up new LS version
* Move MD diagnostics to language server
This switches us to using the LSP pull diagnostic model with a new version of the language service
* Bump package version
* Delete unused file
* Move smart select and folding to md language server
Also fixes a few minor issues:
- Don't log to web console
- Remove convert code since it is no longer needed
- Use correct extension id
* bump cache
* Bump package version
Co-authored-by: João Moreno <joao.moreno@microsoft.com>
* Scaffold out basic markdown lsp
This scaffolds out a new markdown language server and then uses it to implement document symbols. After the change, the markdown extension will have the following structure:
- languageService — Where all the LSP language stuff will eventually land
- server — The actual language server. Consumes ` languageService`
- src — The current extension that launches the server and implements VS Code specific functions
* Adding build scripts
* a
* Use language service from github
* Remove ls build scripts
* Bump versions
* Only build ext
* Enable for web
* Fixing for browser