For #121256
This change adds the current `ouputItem` to the notebook markdown renderer's environment
Renders that extend our markdown renderer can use this to access output item metadata for example
The new `markdown.experimental.validate.fileLinks.skipPaths` setting lets you specify a list of paths (as globs) that should not be validation
This is useful since markdown is used in a range of environments, and sometimes you may need to link to paths that don't exist on disk but will exist on deployment
A few other changes here:
- Adds a quick fix that adds paths to `skipPaths`
- Rename existing settings to use the `.enabled` prefix
- This makes the body of the pull request non-empty when the commit message consists more than one line.
- The GitHub web client fills the body the same way, too, when you create a pull request.
- Some commit messages consist more than one line, like this one, which is giving more detail about the commit, and can be used as a shortcut to not write the same text when opening a pull request and on GitHub.
- Without these changes, the pull request title will be messed up if the commit message is similar to this.
Co-authored-by: João Moreno <joao.moreno@microsoft.com>
* Initial updates
* Add border radius
* Address PR feedback
* Fix typo
* Update shadow blur
* Update LR padding and use description foreground for shortcuts
* Typo
* Fix separator padding/margin
* fix jumpy items in hc themes
* Fix shadow and border radius
* Use opacity for keybinding for better color blend
* Update min width and container padding T/B
* Revert actionbar margin and remove unnecessary menu css file
* Ensure menus respect 0 horizontal margin rule
* set bg/fg color on menu container
* better fix for jumpy menu items
* use outline instead of border
* clean up dead css in style.css
fix opacity for separators in menus
* bring back vertical action bar margins
* Remove old CSS import
Co-authored-by: SteVen Batten <sbatten@microsoft.com>
For #146303
This PR updates the markdown diagnostic reporter to watch linked to files. If one of these linked to files is created or deleted, we recompute the diagnostics for all markdown files that linked to it
For markdown such as `<scope:tag>b</scope:tag>`, we currently detect `<scope:tag>` as an uri (an autolink) and then try validating it as a file path
This change doesn't fix `<scope:tag>` being detected as a link (which is actually correct if there isn't closing html), but does fix the us trying to validate it by marking the uri as external
* Add "Open Containing Folder" etc to file context menu in Git SCM view
Caption is "Reveal in Finder" on macOS and "Reveal in File Explorer" on Windows.
This resolves#137828
* Use multiple decorators on a method to simplify code
Fixes#149406
Make sure that escaping the leading `[` of a reference link means it is not considered a link
- Picks up new grammar with fixes
- Updates our document link provider to also not consider these as link
* Remove the textDocumentNotebook API proposal
All consumers have now been migrated off of this proposal, so it is safe to remove from our code
* Remove deprecated api usage from test
We currently validate each link in a markdown file individually. This means that if there are multiple links to the same file, we check if that file exists multiple times
With this change, we instead will check that the file exists once and then use this to add diagnostics for all the links to it. This is done by introducing a new `FileLinkMap` which maps file paths to links within that file
Fixes#14912310c8c1c2cc made sure we sync over the authority of in-memory resources over to TS Server. However if a resource does not have an authority, this resulted in a url with `scheme//path` instead of `scheme/authority/path`
TS would then normalize the uri to `scheme/path`, resulting in us considering this a new resource
This fix adds an explicit empty authority that we use in this case instead
This tracks inflight diagnostic computation and tries to cancel them if a new request comes in for the same document (usually because the document has changed or has been closed)
For #146853
Make sure we include the uri authority when serializing and then restoring the file paths we send to TSServer (similarly to how we already handle the uri scheme)
* Add experimental support for reading files in data transfer
Adds a new `DataTransfer.asFile` method which lets you get file objects from a `DataTransfer`. This is currently only hooked up for drop into editors.
A few follow ups:
- Right now the file data is also read eagerly when it is transfered to the extension host. Before shipping this we would make this happen lazily instead
- The drop into editor api does not provide a nice way to do anything with the dropped files.
We should at least support returning a `WorkspaceEdit`. However `WorkspaceEdit` only supports text files, so we would also need to add an API that lets it deal with binary files
* Make `asFile` return a value instead of a promise
`asFile().data()` already returns a promise so `asFile` doesn't also need to be async
* Trying resolving data files transfer lazily
* Cleaning up code for lazy drop
* Remove testing code
* Remove unneeded buffer serialize
* 💄