Commit graph

1124 commits

Author SHA1 Message Date
Matt Bierner d2f8ae6cce
Clean up a few markdown setting descriptions (#164765)
Clean up wording and make sure we use `Markdown` uppercase
2022-10-26 16:29:06 -07:00
Matt Bierner d1af68711d
Pick up latest markdown LS (#164763)
Includes a few more fixes for link update on rename
2022-10-27 00:39:58 +02:00
Matt Bierner 7060fb81dd
Shorten markdown link button titles (#164764)
Fixes #164556
2022-10-27 00:39:30 +02:00
Matt Bierner 5f87632829
Fix markdown server not updating documents properly on folder rename (#164752)
Fixes #164562
2022-10-26 14:48:20 -07:00
Matt Bierner a887d72e8d
Pick up latest markdown language service (#164655) 2022-10-25 16:46:53 -07:00
Matt Bierner f5cbe7e391
Use dirname as default uri for md links (#164641)
Fixes #164612
2022-10-25 21:59:20 +02:00
Matt Bierner 882cdc0a17
Use newlines to separate inserted images (#164632)
Fixes #164610
2022-10-25 12:21:36 -07:00
Matt Bierner 21431fce38
Disable canSelectFolders in markdown link inserter (#164636)
Fixes #164549
2022-10-25 12:01:08 -07:00
Matt Bierner 3ca4fca56e
Pick up latest markdown language service (#164625)
This failed yesterday due to a cache issue in dev ops. We need this version for testing
2022-10-25 10:52:57 -07:00
Matt Bierner 586f252740
Revert "Pick up markdown language service update (#164524)" (#164533)
This reverts commit ab3926ab48.
2022-10-24 19:09:08 -07:00
Matt Bierner ab3926ab48
Pick up markdown language service update (#164524)
Picking up one more small update before endgame
2022-10-24 16:53:17 -07:00
Matt Bierner 9f5d3eb135
Pick up latest markdown language service and clean up server package (#164516)
- Picks up newest markdown language service
- Excludes some files from server publish
- Delete unused file
- Update readme
- Align server version with LS version
2022-10-24 15:58:45 -07:00
Matt Bierner babb2f9677
Remove experimental tag from markdown settings (#164509) 2022-10-24 14:44:43 -07:00
Matt Bierner b11bb04298
Add optional markdown occurrences highlighting (#164292)
Fixes #164290
2022-10-21 14:19:50 -07:00
Matt Bierner 504c5a768a
Avoid extra html write on first markdown preview update (#164201) 2022-10-20 19:40:19 -07:00
Matt Bierner bad3dcca69
Fix insert image/link for untitled files (#163897) 2022-10-17 16:14:16 -07:00
Matt Bierner 641046a11d
Add commands to insert images/links in markdown (#163706)
* Add commands to insert images/links in markdown

Fixes #162809

* Rename commands and allow passing in uris

* Support selecting many images/files
2022-10-14 16:05:36 -07:00
Matt Bierner 3b255af0cb
Pick up latest vscode-markdown-languageservice (#163681) 2022-10-14 11:46:24 -07:00
Matt Bierner 186d3415a3
Use ??= in more places (#163594) 2022-10-13 14:59:35 -07:00
Matt Bierner e1a373defd
Finalize markdown link updating on file move (#163378)
Fixes #148146
2022-10-11 17:42:10 -07:00
Matt Bierner 6cf68a1f23
Remove .only and fix tests (#163376)
Fixes #162159
2022-10-11 17:41:13 -07:00
Matt Bierner d05d85a78b
Move html rewriting for old webviews to (#163367)
The `asWebviewUri` methods was introduced in VS Code 1.38. It's silly that we still force every single webview to pay the cost of trying to rewrite the old style uris we supported in very old versions of VS Code

Instead I've moved this logic into the extension host and disabled it for all extensions that target VS Code 1.60+ or newer. This means it never applies to internal webviews, notebooks, webview views, or custom editors (these public apis were all introduced after the switch to `asWebviewUri`)
2022-10-11 16:08:17 -07:00
Matt Bierner bfb1a738d1
Fix markdown open preview opening duplicate preview (#162793)
This fixes the markdown 'open preview' command when used with `vscode.ViewColumn.Active` or `vscode.ViewColumn.Beside`
2022-10-06 09:50:10 +02:00
Matt Bierner 4991cf2112
Remove console.log (#162784) 2022-10-05 15:25:52 -07:00
Matt Bierner d47ae7a2e7
Pick up latest markdown language service version (#162777)
Fixes #162776
Fixes #162775
2022-10-05 15:08:51 -07:00
Matt Bierner 3ee9749b35
Remove extra enums (#162686)
`showMessage` returns the selected item, so we don't need to create an enum here and can instead used the returned items directly
2022-10-04 10:46:53 -07:00
Matt Bierner cbb0a982fd
Pick up final markdown language service 0.1 release (#162256)
Just pulling in the stable release
2022-09-28 14:02:26 -07:00
Matt Bierner 5296b0faf3
Add explicit "inherit" setting for fragments links (#162231)
Fixes #162129
2022-09-28 14:08:03 -04:00
Tyler James Leonhardt 29e985eca0
rev vscode-nls to version that doesn't ask for vscode-nls-web-data (#161819)
ref #161297
2022-09-26 11:10:54 -07:00
Matt Bierner b8a7485526
Fix markdown preview refresh from disk (#161800)
Fixes #149974
2022-09-26 09:49:53 -07:00
Matt Bierner 2a4fb40a6e
Align list of supported tags in rendered markdown (#161544)
This expands the list of html tags we allow in markdown. To get this list, I've copied the list of tags from `markdownDocumentRenderer` into `dom` after  reviewing them

For #134514, I've also added `video` to the list of allowed tags
2022-09-22 18:25:48 -07:00
Matt Bierner 82c1bf86bf
Show better error when rename fails in md (#161525)
* Show better error when rename fails in md

* Pick up latest MDLanguage service
2022-09-22 16:27:25 -07:00
Matt Bierner 023930e3dc
Fix extra dot in pasted file names (#161434) 2022-09-21 23:29:21 +02:00
Matt Bierner 07a5d2749f
Allow _ in notebook markdown links (#161437)
Fixes #160853
2022-09-21 14:23:47 -07:00
Matt Bierner 17bb582b85
Finalize markdown diagnostics (#161427)
Fixes #146303

This moves the markdown diagnostic support out of `experimental` and to an official feature (however it remains off by default)
2022-09-21 12:20:25 -07:00
Matt Bierner 333754f29b
Better handle moves of multiple markdown links (#161354)
This makes the markdown language service handle moving/renaming multiple files instead of making multiple calls into the language service
2022-09-20 21:53:58 -07:00
Matt Bierner d03f015931
Clean up structure of markdown extension (#161148)
- Move things related to the client under `client`
- Remove extra abstractions that are no longer used
- Add MdLanguageClient type
2022-09-19 07:16:45 +02:00
Matt Bierner f4bf1f30a2
Skip ul and ol when highlighting selected markdown element (#161139)
Fixes #155552

For lists, the outer ul/ol always has the same source line as the first element in the list. We should prefer using the first element in the list when highlighting the active line

This also fixes a bug where scroll sync would stop working if you added lines to the doc. This was caused by `lineCount` getting out of sync as the document is being updated. I've removed this state and made the reveal logic more robust instead
2022-09-19 07:16:06 +02:00
Matt Bierner a10bdfb49b
Allow underscores in rendered md headers (#161149)
Follow up from https://github.com/microsoft/vscode-markdown-languageservice/pull/49
2022-09-16 20:52:50 -04:00
Matt Bierner 4c9c3f628d
Pick up latest markdown language service (#161142) 2022-09-16 20:52:16 -04:00
Peng Lyu 0f05c6dd4f
Fix #160729. Disable workspace md paste handler for notebook. (#160833)
Co-authored-by: Matt Bierner <matb@microsoft.com>
2022-09-15 09:48:21 -07:00
Matt Bierner 03ada8a3e8
Rework how markdown server works with documents (#160948)
* Rework how markdown server works with documents

This rewrites how the markdown server works with documents. The goal is to better handle switching between in-memory versions of a doc (from `TextDocument`) and versions of the same doc on disk. From the markdown service's POV, there is only one type of document

As part of this, I've also adopted the newest markdown language service version

* Bump package-lock versions
2022-09-15 09:27:02 +02:00
Matt Bierner fa1fee3b21
Pick up latest Markdown language service (#160831) 2022-09-14 09:20:52 -07:00
Matt Bierner 2cf7468289
Fix markdown server deleting documents on close if they still exist on disk (#160859) 2022-09-14 09:16:39 -07:00
Matt Bierner 3729f509b5
Support creating image in workspace when pasting image data into markdown (#160554)
For #157043
2022-09-10 08:56:18 -07:00
Matt Bierner 5d5ea15a65
Allow passing in custom workspace/parser to markdown server (#160429)
For #159805

This splits the markdown server into two main functions:

- `startVsCodeServer` which assumes the client can implement all the functionality of VS Code. It is not specific to VS Code however, the client just need to implement the custom messages that VS Code does

- `startServer` which lets you pass in your own implementation of the parser and workspace. A consumer of the server can then use this to have their own custom server implementation, which might use normal node apis to read files
2022-09-08 11:35:42 -07:00
Matt Bierner 2d27f8db6a
Use MD LS for resolving all document links (#160238)
* Use MD LS for resolving all document links

This switches the markdown extension to use the markdown language service when resolving the link. This lets us delete a lot of code that was duplicated between the extension and the LS

* Pick up new ls version
2022-09-07 20:55:14 -07:00
Matt Bierner 077f5865da
Support latest md ls (#160228)
- Update `looksLikeMarkdownPath` to look at open documents and notebooks, not just the uri
- Register custom command  for document links
2022-09-07 07:17:41 +02:00
Matt Bierner c4722f1bb2
Write markdown link setting change to correct scope (#159816)
Fixes #159084

Also fixes the same issue for JS/TS
2022-09-02 13:38:41 +10:00
Matt Bierner d9fd208c29
Default to workspace root when dropping into untitled md files (#159814)
Fixes #159812
2022-09-01 16:03:40 -07:00
Matt Bierner 21337aed3f
Pick up newest markdown language service (#159619)
This brings support for code actions and source actions, along with some bug fixes

Also fixes `getAllMarkdownDocuments` to prefer open documents instead of those on disk
2022-08-31 09:20:41 +02:00
Matt Bierner 01ea9c11ea
Update extension enabled tsconfig libs (#159631)
Matches what we set for `src/`
2022-08-31 07:57:15 +02:00
Matt Bierner a13e5e1da6
Also apply max-width to videos in webviews (#159500) 2022-08-30 00:52:54 +02:00
Matt Bierner b91533f3d7
Pick up latest vscode-markdown-languageservice (#159341) 2022-08-26 13:08:49 -07:00
Matt Bierner ea6cfdd2ef
Pick up 8.0.2 for MD language client (#159319)
Missed updating this when pulling in new server version

https://github.com/microsoft/vscode-languageserver-node/issues/1064
2022-08-26 11:13:37 -04:00
Matt Bierner 0a7b686a48
Fix markdown not registering find all references support (#159242) 2022-08-26 01:42:52 +02:00
Matt Bierner 940abc9c11
Fix workspace edit format for update md paths on move (#158965)
Unblocks testing #158416
2022-08-23 16:33:00 -07:00
Matt Bierner 3393b785de
Bump server version (#158297) 2022-08-16 14:38:41 -04:00
Matt Bierner 720a61fc28
Fix markdown link diagnostics not updated when directories are renamed / deleted (#157956)
Fix markdown link diagnostics not updated when directories are renamed/deleted

Turns our that `createFileSystemWatcher` will not fire if a parent dir is renamed / deleted. See #60813

To fix this, I believe we have to create watchers for all parent directories too (or watch everything in the entire workspace)
2022-08-12 13:48:40 -04:00
Matt Bierner b731beeef4
Use notebook document uri for drop / copy paste (#157939)
Fixes #157938
2022-08-11 19:52:55 +01:00
Matt Bierner 38ea5c22a6
Pick up new markdown LS version (#157843) 2022-08-10 18:16:24 -07:00
Matt Bierner 8bf82819fc
Add experimental support for update markdown links on file moves/renames (#157209)
* 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
2022-08-09 08:31:40 -07:00
Matt Bierner 389938998f
Show error when markdown preview restore fails (#157566)
Fixes #155493
2022-08-09 09:55:40 +02:00
Matt Bierner 0103536a60
Apply editor-font-family to all code in notebooks (#157554)
Apply editor-font-family to all `code` in notebook

Fixes #146696

This matches what we do in the markdown preview
2022-08-08 20:59:16 +02:00
Tyler James Leonhardt d8453c0440
Rev built-in versions of vscode-nls to 5.1.0 (#157530)
* rev version of vscode-nls to 5.1.0

* and yarn lock
2022-08-08 18:43:45 +02:00
Matt Bierner 07e45c5a71
Fix package version (#157202)
Not sure why this was not caught by earlier builds
2022-08-04 21:40:06 -07:00
Matt Bierner b012216211
Fix markdown images having duplicate ids (#157177)
Fixes #153144
2022-08-05 06:31:42 +02:00
Matt Bierner 784de60319
Add activeWebviewPanelId context key (#156944)
Fixes #156942

This context tracks the id of the active webviewPanel
2022-08-03 07:03:33 +02:00
Matt Bierner 8b27dcb1f8
Pick up latest markdown language service (#156933) 2022-08-02 23:31:58 +02:00
John Murray 7e400c7137
Provide valid markdown-specific default for editor.quickSuggestions setting (#156686) (#156689)
Co-authored-by: Matt Bierner <matb@microsoft.com>
2022-08-02 13:51:41 -07:00
Matt Bierner e3267b75c6
Fix onDidDeleteMarkdownDocument not hooked up (#156913) 2022-08-02 22:18:08 +02:00
Matt Bierner 1097f3e440
Use finalized vscode-languageserver version (#156910)
Use finalized vscode-languageserver build
2022-08-02 15:51:07 -04:00
Matt Bierner 3a5a458643
Clear markdown diagnostics when file is closed (#156912) 2022-08-02 20:32:02 +02:00
Matt Bierner 241c770203
Exclude esbuild files from build (#156362) 2022-07-27 09:32:07 -04:00
Matt Bierner 9cf2fabdd6
Rename editor.dropIntoEditor.enabled setting (#156381)
Fixes #156344
2022-07-27 06:44:44 +02:00
Matt Bierner cf145a83ac
Enable safe inline svg tags in trusted html (#156216)
Enable safe svg tags in trusted html

From cce00ac40d/src/tags.js (L124)
2022-07-25 16:32:10 -07:00
Matt Bierner 68cbaa708e
Pick up new version of markdown-language-server (#156010)
This fixes md diagnostics and links for multiroot workspaces
2022-07-24 22:22:03 -07:00
Matt Bierner a9b387204b
Add some additional logging to md server (#156007)
Logs watcher operations
2022-07-23 00:32:10 +02:00
Matt Bierner e2006a52da
Add npmignore to markdown server (#155898)
* Add npmignore to markdown server

* Update version
2022-07-21 16:21:57 -07:00
Matt Bierner b2daf1af82
Add MD server tracing and update diagnostics on files changes (#155797) 2022-07-21 10:07:06 -07:00
Matt Bierner 924dde5c1e
Documenting markdown LS (#155789) 2022-07-21 11:48:30 +02:00
Matt Bierner 32f5e49082
Move MD diagnostics to language server (#155653)
* 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
2022-07-19 16:34:09 -07:00
Matt Bierner 394eaa9fa3
Fix md document links for untitled files (#155248) 2022-07-14 18:15:13 -07:00
Matt Bierner 9ee8961347
Move MD references, rename, and definition support to md LS (#155127) 2022-07-14 08:32:27 +02:00
Matt Bierner 867acc336f
Remove references to finalized drop api (#155128) 2022-07-14 08:27:25 +02:00
Matt Bierner 50056f3e78
Finalize drop into editor api (#155102)
Fixes #142990
Fixes #149779
2022-07-13 12:54:52 -07:00
Matt Bierner bec36ce756
Move md path completions and document links to language server (#155100) 2022-07-13 12:49:37 -07:00
Matt Bierner 75e231ad82
Clean up document link resolve (#154959)
- Move vscode scheme normalization to the DocumentLinkProvider
- Remove extra function since we already recognize uri-like links
2022-07-12 15:55:21 -07:00
Matt Bierner eeb8d49317
Move md workspace symbol search to language service (#154874)
* Move md workspace symbol search to language service

Also implements more of IWorkspace for the server

* Revert extra change
2022-07-12 10:04:25 -04:00
Matt Bierner c9bf4393d5
Rename drop API interface (#154876)
Makes the names more consistent
2022-07-12 11:33:13 +02:00
Matt Bierner 3a9292f23f
Remove extra files from build (#154875)
These server files should not be included
2022-07-12 11:31:43 +02:00
Matt Bierner e02c71e3c6
Fix range of reference links (#154819)
Fixes #150921
2022-07-11 17:46:15 +02:00
Ladislau Szomoru f2a475346f
Fix compilation error (#154699) 2022-07-10 07:50:17 -07:00
Matt Bierner 2b3912fa29
Fix markdown extension path (#154656)
Fixes #154645
Fixes #154653
2022-07-10 14:25:45 +02:00
Matt Bierner 2fb56e9d62
Move smart select and folding to md language server (#154334)
* 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>
2022-07-07 07:30:03 -07:00
João Moreno b4525a77fb
update yarn.lock (#154336) 2022-07-07 09:26:12 +02:00
Logan Ramos a20329d291
Switch extensions to 1DS (#154299)
* Move extensions to 1DS

* Switch extensions to 1DS
2022-07-06 17:18:41 -07:00
Matt Bierner ad9675f099
Scaffold out basic markdown language server (#154293)
* 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
2022-07-06 16:03:24 -07:00
Matt Bierner f6271dd82e
Fix angle bracket path completions for link defs (#154182)
Fixes #153866
2022-07-05 11:55:20 -07:00
Matt Bierner fc0bd9d377
Remove reliance on document.lineAt (#154191)
* Remove reliance on document.lineAt

This helps aligning more with the LSP types: https://github.com/microsoft/vscode-languageserver-node/issues/146

* Strip newline
2022-07-05 11:52:47 -07:00
Matt Bierner 0b3574dcef
Update id of markdown-it renderer (#153876)
Fixes #153873
2022-06-30 23:19:49 +00:00
Matt Bierner e44361365e
Don't include reference links that are inside other links (#153864)
Fixes #150921
2022-06-30 15:43:31 -07:00
Matt Bierner bbce24d8bb
Handle fs error in markdown path completions (#153869)
Fixes #153867
2022-06-30 22:32:32 +00:00
Matt Bierner e13feea6ae
Only compute diagnostics for opened md files (#153395)
* Only compute diagnostics for opened md files

For #152494

* Make tests stable for result ordering
2022-06-27 15:55:38 -07:00
Matt Bierner fc709e2d35
Use more standard values for scheme constants (#153367)
This drops the `:` from the scheme constants as it was easy to misuse this
2022-06-27 22:35:17 +02:00
Matt Bierner da0f64881a
Dispose in markdown tests (#153345)
Updates the markdown tests to dispose of disposables created during the test
2022-06-27 15:52:59 -04:00
Matt Bierner d1b4630a50
Fix Markdown tests on windows (#153212)
Fix windows tests
2022-06-25 18:59:25 +02:00
Matt Bierner 3b549009fe
Markdown path completions tests use mocked out fs (#153045)
* Markdown path completions tests use mocked out fs

This updates the path completion tests to stop depending on the actual fs and instead use `IMdWorkspace`

* Update remaining tests
2022-06-24 23:01:24 +00:00
Matt Bierner 64305a732e
Better handling of text/uri-list in built-in extensions (#153163)
- When splitting `text/uri-list`, we should split on `\n` to handle against spec versions of `text/uri-list`
- However when constructing a `text/uri-list`, we should use `\r\n` to align with the spec
2022-06-24 15:24:16 -07:00
Matt Bierner 7fd834b64f
Enable angle bracket path completions in markdown (#153158)
Fixes #152510
2022-06-24 15:04:40 -07:00
Matt Bierner 8acfd0ae60
Exclude empty links from md results (#153161)
These are technically valid links but we don't care about them since they take up no space
2022-06-24 21:42:00 +00:00
Matt Bierner 00ad6bc3d4
Markdown document links should reveal cell in notebook (#153147)
Fixes #141024
2022-06-24 15:49:15 -04:00
Matt Bierner d6497d3db1
Use ResourceMap (#153051)
Replaces `Set` of uris with a `ResourceMap`
2022-06-24 01:00:05 +00:00
Matt Bierner 9b7696cc9c
Fix notebook links to other docs in edited markdown cells (#153052)
Fixes #148199

This makes us resolve links in notebooks relative to the notebook document instead of relaitve to the cell
2022-06-23 20:55:08 -04:00
Matt Bierner ab7bc9fb0b
Split up MD link tests (#153048)
This splits the markdown link tests in two:

- Tests for detecting links in md files (`MdLinkComputer`)
- Tests for the actual vs code editor link provider

Also fixes a few cases splitting these tests up caught
2022-06-23 17:53:56 -07:00
Logan Ramos 4a7a6a597a
Update extension telemetry modules (#153057) 2022-06-24 00:53:23 +00:00
Matt Bierner 385bf5036b
Optimize NoLinkRanges lookup (#153010)
This switches us to use a map to check if a position exists inside the no link ranges
2022-06-23 11:38:13 -07:00
Matt Bierner 07144d22c4
Rename types in the markdown extension (#152905)
Renames in the markdown extension

This renames some types and splits up some files as part of an exploration towards a proper LSP. Changes:

- `SkinnyTextDocument` -> `ITextDocument`
- Moved `ITextDocument` to own file
- `MdWorkspaceContents` -> `IMdWorkspace`
2022-06-22 14:12:48 -07:00
Matt Bierner be1ee5d9f1
Re-validate md files when a linked to file is created or deleted (#152520) 2022-06-22 19:02:46 +00:00
Matt Bierner 321423db2b
Standardize text/uri-list handling (#152756)
This creates a common set of functions for creating and parsing the `text/uri-list` mime type. As part of this, I also aligned us with the standard, which uses `\r\n` between lines instead of just `\n`
2022-06-22 13:53:37 +02:00
Matt Bierner 5437480941
Enable md paste actions by default (#152810)
Turns on pasting of links for easier testing. However `editor.experimental.pasteActions.enabled` is still off by default so this won't be enabled by default
2022-06-22 08:19:52 +02:00
Matt Bierner c84655d123
Reduce recomputation of state in markdown extension (#152804)
* Reduce recomputation of state in markdown extension

- Use `getForDocument` more often to avoid refetching documents
- Debounce `MdTableOfContentsWatcher`. We don't want this to trigger on every keystroke :)

* Cache LinkDefinitionSet

* Add test file change

* Fix toc watcher for tests
2022-06-21 16:25:10 -07:00
Matt Bierner 389aa8a935
Fix MdDocumentInfoCache computing values twice (#152799)
* Fix MdDocumentInfoCache computing values twice

Fixes a race where values could be computed twice before being cached

* Remove only
2022-06-21 16:22:07 -07:00
Matt Bierner d5a75f2ceb
Add logging for MD language features (#152792)
This verbose logging will help track down inefficient calling patterns (such as recomputing stuff)
2022-06-21 14:18:36 -07:00
Matt Bierner bbe7b54cf4
Remove custom editor tests (#152777)
These tests are not actively being run or maintained. Removing them for now
2022-06-21 15:37:19 -04:00
Matt Bierner fa53aa6fec
Cleanup pass for md extension (#152760)
Clean up names in md extension
2022-06-21 15:36:32 -04:00
Matt Bierner 2249b171f4
Reduce number of times MD docs are re-tokenized (#152674)
This change reduces the number of times we retokenize a markdown file by doing the following:

- Use `MdTableOfContentsProvider` in more places
- Introduce a `IMarkdownParser` interface that lets us drop in a caching version of the tokenizer
2022-06-21 08:43:01 +02:00
Matt Bierner 369252a027
Skip diagnostics for non-open md files (#152687)
Currently we only show diagnostics for opened tabs. This means we shouldn't waste time computing diagnostics for these non open files
2022-06-20 16:39:01 -07:00
Matt Bierner 0bc3109761
Don't try parsing non-markdown files (#152661)
This fixes our references and rename provider to not try parsing non-markdown files as if they were markdown
2022-06-20 10:44:50 -07:00
Matt Bierner 4c72dedb4a
Optimize markdown workspace scanning (#152563)
* Optimize markdown workspace scanning

- Adds cache for markdown file
- Avoid reading non-markdown files from disk (when we expect markdown files)
- Use `range.contains(pos)` instead of `range.intersects(range)`

* Don't remove cached document on change

We only want to invalidate the cached document when it is first opened (since the cached version is the one from disk). Otherwise we can use the live version of the doc
2022-06-19 09:40:10 -07:00
Matt Bierner 5a175207de
Improve markdown link regexp (#152533)
* Improve markdown link regexp

This makes the markdown link regexp more readable and also combines the two regular expressions we were running

* Fixed backtracking
2022-06-19 06:25:54 +02:00
Matt Bierner 78597fd026
Don't hardcode use of github slugifier (#152507)
Use `engine.slugifier` for this instead
2022-06-17 17:25:54 -04:00
Matt Bierner dea813ff7c
Add table of contents provider abstraction (#152504)
We currently re-compute the same table of contents for markdown files multiple times. This is because multiple language features all need table of contents

With this change, we introduce a new `TableOfContentsProvider` which maintains a cache of the table of contents per file. This provider is then passed into every caller that needs a toc
2022-06-17 18:20:02 +00:00
Matt Bierner 623f55f437
Refactor markdown language features (#152402)
(sorry for the size of this PR)

This change cleans up the markdown language features by making the following changes:

- Use `registerXSupport` public functions to register these
- Expose the slugifier the `MarkdownEngine` uses. You never want to use a different one if you already have a markdown engine
- Sort of clean up names. I'd introduced a bunch of confusing names while iterating in this space. What I'm working towards:

    - `Computer` — Stateless thing that computer data
    - `Provider` — Potentially stateful thing that provides data (which may be cached)
    - `VsCodeProvider` — The actual implementation of the various vscode language features (which should only be used by VS Code and in tests, not shared with other features)
- Introduce `MdLinkProvider` to avoid recomputing links for a given document. Also use this to hide more internals of link computation
2022-06-17 10:25:52 +02:00
Matt Bierner afe316c08c
Add diagnostic manager enablement change tests (#152392)
* Add test for MD diagnostic manager config changes

Add a simple test the enabling/disable diagnostics should make the diagnostic manager recompute diagnostics

* Add `.get`
2022-06-16 15:53:19 -07:00
Matt Bierner cb5fa75d11
Clean up markdown diagnostic tests (#152374)
* Clean up markdown diagnostic tests

This splits the diagnostic compute tests from the test for the diagnostic manager

* Mark internal field as private
2022-06-16 22:33:11 +02:00
Matt Bierner 3114ee690b
Split out VS Code reference provider from markdown reference provider (#152369)
This change renames the main markdown reference provider class to `MdReferenceComputer` and then uses this to implement a `vscode.ReferenceProvider`

This more cleanly splits the VS Code part of the logic from the general reference calculation stuff other providers consume
2022-06-16 15:47:48 -04:00
Matt Bierner 6c252851f2
Revalidate linked files on header change (#152366)
Fixes #150945

With this change, when the headers in a file change, we should also try to revalidate all files that link to it
2022-06-16 18:14:01 +00:00
Matt Bierner 4fc5d76213
Fix ranges and validation setting for MD own path + header links (#152270)
* Fix ranges and validation setting for MD own path + header links

Previously for a `file.md`, links to headers in that file that use paths, such as `[link](./file.md#some-header)` were validated using `markdown.experimental.validate.fragmentLinks.enabled`

This is confusing as that setting was only meant to be used for links such as`[link](#some-header`). It also resulted in the diagnostic having the incorrect range

This change instead makes these links be validated by `markdown.experimental.validate.fileLinks.markdownFragmentLinks`

* Fix compile
2022-06-15 20:02:41 -07:00
Matt Bierner a765abcf07
Adopt ResourceMap for MD diagnostics (#152264)
Adopt ResourceMap

Switches to use `ResourceMap` instead of our own implementation
2022-06-15 15:43:09 -07:00
Matt Bierner f17b33faf2
Use .?method() in more places (#152112)
Switches simple patterns like:

```ts
if (some.thing) {
    some.thing.method();
}
```

to:

```ts
some.thing?.method()
```

This is more concise and avoids having to repeat the `some.thing` part
2022-06-15 16:28:31 +00:00
Matt Bierner 354e1a0595
Finalize data file reading API (#152127)
Fixes #147481
Also reverts #150963 since the `kind` field is not being finalized
2022-06-15 07:56:02 -07:00
Matt Bierner 00273730e8
Split markdown linkComputer from linkProvider (#152124)
Instead of passing around a full `vscode.DocumentLinkProvider`, we should pass just the more minimal interface that consumers need
2022-06-14 15:34:05 -07:00
Matt Bierner 00574df08a
Remove extra path field in FileLinksData (#152004)
Remove extra `path` field

This field is no longer needed after we switched to use `ResourceMap` vs `Map`

Also inlines the `FileLinksData` type def
2022-06-14 08:01:53 -07:00
Matt Bierner a658c04b0a
Adjust md external header link diagnostic range (#152001)
Fixes #151998

Makes errors for invalid headers on file links only cover the fragment range instead of the entire link range
2022-06-14 09:39:49 +02:00
Matt Bierner 1a07fd15d7
Clarify markdown validate settings (#151997)
Clairify markdown validate settings

Fixes #150949

- Rename headerLinks -> fragmentLinks
- Add new `fileLink.markdownFragmentsLinks` to validate the headers on fragment links (inherits the default setting value from `fragmentLinks`)
2022-06-13 17:06:28 -07:00
Matt Bierner 7284c3e4c1
Use classes for drop/paste edit types (#151980) 2022-06-13 13:10:07 -07:00
Johannes ed9ed45794
Merge branch 'main' into joh/voluminous-lobster 2022-06-10 09:07:30 +02:00
Babak K. Shandiz a8de8e2112
[markdown] Ignore brackets inside link text (#151610)
* 🔨 Allow texts in bracket pairs inside link titles; [text](link)

Signed-off-by: GitHub <noreply@github.com>

* 🔨 Allow texts in bracket pairs inside link titles; [text](<link>)

Signed-off-by: GitHub <noreply@github.com>

* ⚗️ Add tests to verify  link titles can include bracket pairs

Signed-off-by: GitHub <noreply@github.com>
2022-06-09 11:48:50 -07:00
Johannes 3622010b64
Merge branch 'main' into joh/voluminous-lobster 2022-06-09 09:08:20 +02:00
Matt Bierner d7c90c2b2b
Update text editor drop proposal (#151552)
This updates the text editor drop proposal (#142990). This change introduces `DocumentDropEdit` which removes the need for `SnippetTextEdit`. This interface may also be extended in the future with additional metadata
2022-06-08 17:44:28 -04:00
Matt Bierner 48cfaa2187
Fix rename of paths in markdown reference link definitions (#151545)
Fixes #151117
2022-06-08 19:20:17 +00:00
Matt Bierner 370dfd5fee
Iterate on paste edit provider api (#151477)
* Iterate on paste edit provider api

For #30066

- Pass all selections to paste providers. For #151326
- Introduce `DocumentPasteEdit` as return type. This new type uses an `insertText` that is applied to every paste location (for multicursor), plus an optional additional edit
-  Add `DocumentPasteProviderMetadata`. This lets extensions tell us which types of mimetypes they are interested in, letting us avoid round trips if no extensions care about the pasted data

* Correctly batch insertText
2022-06-08 15:06:55 -04:00
Johannes 0656d21d11
auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Matt Bierner 1327d1eb50
Adopt ResourceMap in more places (#151475)
This changes switches to use the new `ResourceMap` type in more places in the markdown extension where we need to have a map/set with uris as the key
2022-06-08 08:34:06 +02:00
Matt Bierner 60a68d666d
Add resourceMap helper for markdown extension (#151471)
This change introduces a `ResoruceMap` map type that is essentially `Map<vscode.Uri, T>`

It also fixes a potential race condition with `MdWorkspaceCache` where two quick calls would both trigger init
2022-06-07 18:00:10 -07:00
Matt Bierner 9545af80f6
Fix markdown link detection for links with titles (#151459)
Fixes #151458
2022-06-07 20:58:29 +00:00
Justin Chen bcc7ffae3e
bugfix on markdown underlines, addressing part of issue #136073 (#151178)
Co-authored-by: Justin Chen <t-justinchen@microsoft.com>
Co-authored-by: Matt Bierner <matb@microsoft.com>
2022-06-06 17:35:41 +00:00
Logan Ramos 70647a2ffd
Fix #150041 (#151108) 2022-06-02 11:02:26 -04:00
Matt Bierner e44f4ba886
Add experimental tag to experimental extension settings (#151031)
This makes a few more extension settings with the `experimental` tag so that show up if you search `@tag:experimental`
2022-06-01 16:32:58 -07:00
Matt Bierner 9302343e8e
Also ignore star checkboxes (#151029)
Fixes #150672

This makes our md link detection also ignore checkboxes like `* [x]` instead of just `- [x]`
2022-06-01 21:23:29 +00:00
Matt Bierner 7477efd87e
Better message for markdown reference links (#151018)
Fixes #151017

Also improves the diagnostic message for invalid reference links to make it clear we are talking about a missing link definition
2022-06-01 19:01:36 +00:00
Matt Bierner e6fff5ecff
Don't parse checkboxes are links in markdown (#150914)
Fixes #150672
2022-05-31 14:57:32 -07:00
Matt Bierner e4f7f6a9da
Add PasteEditProvider (#107283)
For #30066

This adds a new `documentPaste` api proposal that lets extensions hook into copy and paste.

This can be used to do things such as:

- Create link when pasting an image
- Bring along imports when copy and pasting code
2022-05-25 12:27:58 +02:00
Matt Bierner 1c7991f1e8
Markdown ignoreLink should apply to paths in header links (#150223)
This change lets you ignore all links to a given file, even if those links include a header. For example: `[text](/path/to/file#some-header)` can be ignored using `/path/to/file`
2022-05-23 17:07:15 -07:00
Matt Bierner b8420578fd
Add additional allowed tags in untrusted notebook markdown (#150228)
This adds some extra allowed tags when rendering markdown in notebooks. Additions are:

```
  "b",

    "br",

    "caption",

    "center",

    "col",

    "colgroup",

    "details",

    "em",

    "font",

    "i",

    "kbd",

    "sub",

    "summary",

    "sup",

    "table",

    "tbody",

    "tfoot",

    "thead",

    "td",

    "th",

    "tr",

    "tt",

    "u",

    "video"
```
2022-05-23 22:30:42 +00:00
Matt Bierner 96cae45ba9
Rename skipPaths to ignoreLinks (#150064)
This change renames the experimental skipPaths setting to ignoreLinks. This setting applies to all types of links, and can also be used to ignore links to headers
2022-05-20 22:54:21 +00:00
Esteban Dalel R e76ad21903
Fix typo (#150042) 2022-05-20 19:06:35 +00:00
Matt Bierner 993c36c920
Fix markdown ext errors accessing disposed webview (#149960)
When reloading windows that need to restore a markdown preview, sometimes I'll see an error when the markdown preview tries accessing a disposed of webview. This seems to be cause caused by `provideTextDocumentContent`, where we end up disposing of the webview before an `await` resumes execution
2022-05-20 09:17:57 -07:00
Matt Bierner 0d55d50173
Expose outputItem in notebook markdown eve (#149870)
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
2022-05-18 16:14:32 -07:00
Matt Bierner 27903c28aa
Remove unfinished test (#149864)
Mistakenly checked this in
2022-05-18 16:01:28 -07:00
Matt Bierner daf0d5e551
Add skipPaths option for markdown link validation (#149859)
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
2022-05-18 14:37:08 -07:00
Matt Bierner 1c7ab35761
Rename to DocumentOnDropEditProvider (#149730)
This change renames `DocumentOnDropProvider` to `DocumentOnDropEditProvider`. This new name aligns with the existing `DocumentFormattingEditProvider`
2022-05-17 09:26:54 -07:00
Matt Bierner c2b064538b
Don't detect links in markdown code blocks (#149680)
Fixes #149678
2022-05-16 17:35:16 -07:00
Matt Bierner d71f6ec0d9
Update markdown diagnostics when linked files change (#149672)
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
2022-05-16 17:30:39 -07:00
Matt Bierner dd9dca9825
Fixing some html tags detected as autolinks for diagnostics (#149511)
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
2022-05-16 12:19:29 +02:00
Matt Bierner 113287ccc3
Don't treat escaped markdown reference links as links (#149407)
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
2022-05-12 19:35:36 -07:00
Matt Bierner a075453e55
Clean up the markdown document link provider tests (#149405)
- Use `joinLines` instead of
- Inline document text
- Always use `example.com`
- Move issue numbers into test titles
- Clean up text
2022-05-12 16:01:51 -07:00
Matt Bierner 5485b8e215
Include " and '/' as puctuators for slugify (#149404)
We already include `'` and `/` makes sense to treat as a puctuator too for titles such as `# do A / B`
2022-05-12 15:56:25 -07:00
Matt Bierner 9e42783398
Don't repeat markdown link validation (#149169)
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
2022-05-10 09:14:40 -07:00
Matt Bierner d850919250
Adds cancellation to md diagnostic computer (#149122)
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)
2022-05-09 15:42:32 -07:00
Matt Bierner a6dd083a7e
Use / for md paths, even on windows (#149120)
Fixes #149010
2022-05-09 15:22:44 -07:00
Matt Bierner 04ecb1d42f
Normalize markdown links in notebooks (#148827)
Fixes #146352

This ensures we pass links in markdown cells through the same normalization function we use to assign headers ids
2022-05-05 18:33:38 +00:00
Matt Bierner c08941b87c
Ignore bulkedit previews for markdown references / renames (#148744)
Makes sure we don't pick up the fake documents created by the bulkedit-preview
2022-05-04 16:03:35 -07:00
Matt Bierner 9dab79d9c8
Fix markdown web extensions (#148739)
We're currently importing a file from `test/util`, which is not supported on web. Move the noop cancellation token into the `util` folder instead
2022-05-04 14:02:38 -07:00
Matt Bierner 93fd393a0e
Add API proposal for reading files in data transfer (#148596)
* 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

* 💄
2022-05-04 12:59:27 -07:00
Matt Bierner eba8ef0547
Add diagnostics for markdown links (#148578)
* Initial work on md link diagnostics

* Adding settings to enable/disable validation

* Add delay for recomputing diagnostics

* 💄

* Split test on diagnostics compute vs management

* Validate on file open

* Remove dianostics on file close

* Allow paths to folders

* Add validation configuration option
2022-05-02 16:06:00 -07:00
Matt Bierner e3e4bfacc3
Remove blank 2022-05-02 15:50:41 -07:00
Jean Pierre 44e644467d
Enable go to definition for markdown links (#148017)
* Enable go to definition for markdown links

* Add markdown definitionProvider tests
2022-05-02 10:07:40 -07:00
Yuki Hattori 82ad6afd36
Fixes microsoft/vscode#147936 (#148503)
By changing output esbuild setting for Markdown preview scripts to iife,
prevents global namespace pollution and reduces possibility of breaking
the preview by contributions from other extensions.
2022-05-02 09:33:51 -07:00
Matt Bierner 892d6ec2a2
Fix md workspace cache for untitled files
Makes sure we also add all text documents to the list of md docs
2022-04-30 20:15:40 -04:00
Matt Bierner 8449a9f5cb
Fix md rename when file does not exist
Fixes #148147

- Don't try renaming non-existent files
- Also fixes a bug where renaming in untitled files would insert `untitled:`
2022-04-30 19:52:44 -04:00
Matt Bierner 3e182633c7
Adding some more tests for markdown references 2022-04-30 19:14:03 -04:00
Matt Bierner c41728c479
Fixes #147896 (#148101)
* Fixes #147896

* Replace all

* Fix windows slash check

* Skip test on windows for now
2022-04-26 15:45:15 -04:00
Benjamin Pasero 72b4be55fa
skip markdown rename tests (#147896) 2022-04-22 08:07:49 +02:00
Matt Bierner 59b6227bf3
Use un-encoded file paths are rename placeholder 2022-04-21 22:23:53 -04:00
Matt Bierner 7b1168660a
Fix resolving of links on rename
We should resolve relative to the file the rename is triggered in
2022-04-21 22:23:53 -04:00
Matt Bierner 62eebab685
Use uri instead of string 2022-04-21 22:23:52 -04:00
Matt Bierner b438e8438d
Fixing rename to use correct file paths relative to containing files 2022-04-21 22:23:52 -04:00
Matt Bierner 0610f195fb
Try automatically adding .md file extension to new paths on rename 2022-04-21 22:23:51 -04:00
Matt Bierner 0ac39e800d
Add support for renaming files in markdown using F2
This lets you trigger F2 on a file path in a markdown link to both rename the file and also update all references to it
2022-04-21 22:23:51 -04:00
Matt Bierner 9fbd962973
Differentiate md refs request on file path vs on fragment 2022-04-21 22:23:50 -04:00
Matt Bierner 800eec5645
Mark setting as experimental again
Will finalize along when we actually ship this api
2022-04-19 13:08:47 -07:00
Matt Bierner 08e838cba3
Don't encode paths 2022-04-19 10:13:38 -07:00
Matt Bierner cba0a0e460
Always encode paths dropped in md 2022-04-14 14:55:22 -07:00
Akat b499467f9f
fix(markdown): avoid considering link references/sources in code sections (#146826) 2022-04-07 14:50:37 -07:00
Matt Bierner bba6c56123
Fix dropping image from webpage into markdown files 2022-04-06 14:27:41 -07:00
Matt Bierner 27759c6e03
Use limiter instead of custom batcher 2022-04-06 14:16:06 -07:00
Matt Bierner 62d6f38fc2
Auto create image links when dropping an image file into markdown 2022-04-05 15:42:56 -07:00
Matt Bierner 032ee47056
Add setting to enable/disable markdown drop into editor
For #142990
2022-04-05 15:42:56 -07:00
Matt Bierner b4b7380576
Fix md references not checking authority
Simply compare by string for now
2022-04-05 15:31:43 -07:00
Matt Bierner a56c9f10b7
Enable find all references and rename of auto links and http(s) links in markdown
For #146777, #146277
2022-04-05 15:18:18 -07:00
Matt Bierner c80acef8a1
Mark cached prop readonly 2022-04-05 15:18:17 -07:00
Matt Bierner 55627db338
Move fragment range down into documentLinkProvider 2022-04-05 14:22:57 -07:00
Matt Bierner 9b141e1959
Use clearer logic 2022-04-05 14:22:57 -07:00
Matt Bierner 2154f3d008
Pass through CancellationToken 2022-04-05 11:56:40 -07:00
Matt Bierner 0496c2b3a7
Add basic file references provider for markdown
Fixes #146267
2022-04-05 11:56:40 -07:00
Matt Bierner d0767451a9
Adding test for renaming the definition itself 2022-04-04 15:56:29 -07:00
Matt Bierner 7831ff6a32
Reuse references in rename requests 2022-04-04 15:56:29 -07:00
Matt Bierner baa7434480
Use header text as placeholder for md rename
For #146291
2022-04-04 15:56:28 -07:00
rebornix 024e40fb31
💄 2022-04-04 14:20:07 -07:00
rebornix ab2a987919
fix #146750. 2022-04-04 14:19:15 -07:00
Matt Bierner 44ffeba237
Switch to provider based model for on drop
This simplifies implementing the provider and also give potentially gives us more control over how the drop happens
2022-04-01 15:51:38 -07:00
Matt Bierner 5451119820
Adopt SnippetTextEdit for drop 2022-04-01 15:51:38 -07:00
Matt Bierner ca267e3f5e
Error on rename in bare file links in definition 2022-04-01 11:15:24 -07:00
Matt Bierner 114b340f7a
Fix explicit references to own file 2022-04-01 11:15:24 -07:00
Matt Bierner 8b7086afdb
Fixing false positive ref link being detected 2022-03-31 19:09:14 -07:00
Matt Bierner c39d09a4c0
Working on initial support for renaming refs in md
For #146291
2022-03-31 18:28:23 -07:00
Matt Bierner 6b573340bd
Fixing references on header when looking at file extensions 2022-03-31 15:31:41 -07:00
Matt Bierner 8a6a300216
Simplify code for dealing with link definitions 2022-03-31 15:11:35 -07:00
Matt Bierner 57dffde3d4
Trying to clean up md link structure by moving defintion up a level 2022-03-31 15:11:35 -07:00
Matt Bierner 0e65adbda8
Initial work on rename in markdown
For #146291

Also fixes references triggered on a definition link
2022-03-31 15:11:34 -07:00
Matt Bierner 6da26a9351
Fix duplicate resources sometimes opened from references 2022-03-31 11:56:37 -07:00
Matt Bierner e32a13be77
Fix references to header to return just the span of the header itself and not its body 2022-03-31 11:56:37 -07:00
Matt Bierner 55719a3dc5
Remove dup type 2022-03-30 16:33:34 -07:00
Matt Bierner 1bb96d5d72
Mark methods private 2022-03-30 16:33:34 -07:00
Matt Bierner afad64c534
Move function to method 2022-03-30 16:33:33 -07:00
Matt Bierner 174924d73c
Clean up link data structure 2022-03-30 16:33:33 -07:00
Matt Bierner cfe0b1d480
Extract getReferencesToLink and getReferencesToReferenceLink 2022-03-30 16:33:32 -07:00
Matt Bierner 2510e3dca6
Refactoring md refs provider to prep for re-use 2022-03-30 16:33:32 -07:00
Matt Bierner 590a9bf8a3
Make sure double click in md preview always reveals target line
Fixes #146333
2022-03-30 15:49:56 -07:00
Matt Bierner 8a4f35d96a
Better comment 2022-03-30 15:49:56 -07:00
Matt Bierner 6c7ba2de69
Fix refs to own file being included in md ref results from other file
For #146277
2022-03-30 15:22:15 -07:00
Matt Bierner 982a353285
workspaceFile -> workspacePath 2022-03-30 15:14:34 -07:00
Matt Bierner f3cb3510b8
Use joinLines helper 2022-03-30 15:14:34 -07:00
Matt Bierner bea2ce0111
Add assertReferencesEqual helper 2022-03-30 15:14:33 -07:00
Matt Bierner f68db8f6ba
Compare normalized fragments for md references
For #146277
2022-03-30 15:14:33 -07:00
Matt Bierner 767178d1b9
Remove duplicate function 2022-03-30 15:14:33 -07:00
Matt Bierner d441406b1e
Include invalid references as targets for find all references
For #146277
2022-03-30 14:36:03 -07:00
Matt Bierner 17783a09e5
Add support for reference to ref links in md
For #146277
2022-03-30 14:36:03 -07:00