Commit Graph
166 Commits
Author SHA1 Message Date
Matt Bierner 79557ebbd2 Make sure markdown preview is updated if on disk file is updated
Fixes #111685
2020-12-09 14:08:15 -08:00
meganrogge a2193cb827 fix #111714 2020-12-02 10:10:21 -08:00
meganrogge 5e54da666c fix #111675 and #111673 2020-12-01 17:03:47 -08:00
Erik Krogh Kristensen 7a4e81a674 fix catastrophic backtracking when parsing markdown files (#109964) 2020-11-10 14:56:06 -08:00
Megan Rogge 63d15a97c7 Support character markup in mardown smart select (#110195)
* create tests and add selection functions for inline ranges
2020-11-10 11:38:27 -08:00
David Sanders fcef0e3db4 Use Array.flat() (#110189) 2020-11-09 12:46:26 -08:00
meganrogge 6e2aa0bfb7 clean up code and remove unused methods 2020-11-06 12:42:17 -08:00
David Sanders 153ba443d5 Use string.matchAll (#110074) 2020-11-06 11:49:56 -08:00
meganrogge fc07b2f170 add comments to clarify code 2020-11-06 11:38:21 -08:00
Matt Bierner 24b28f57be Always use vscode.open to open markdown links
Fixes #108998

This ensures we use the custom editor if it is the default
2020-11-05 17:00:16 -08:00
meganrogge 08e556dc5d fix #109486 and #109489 2020-11-04 10:16:06 -08:00
Megan Rogge 5d4df8273e markdown smart select (#108818)
smart select
2020-10-26 15:33:48 -07:00
Matt Bierner dd124a5cae Cleaning up code
- Use more explicit names
- extract
- Use `??`
2020-10-16 17:18:44 -07:00
Nafanaandmmacovei df59ceb026 Markdown reference links starting with ^ should not be clickable (#108015)
Co-authored-by: mmacovei <mmacovei@sfu.ca>
2020-10-08 00:38:17 -06:00
Matt Bierner 240afbde58 Use array.equals 2020-09-16 11:58:01 -07:00
Matt Bierner fdf23dc5f9 Working on supporting markdown links in serverless+web
For #101203
2020-07-10 13:25:55 -07:00
Matt Bierner 3a54cd7ca3 Disable markdown commands when in markdown cells in notebooks
Fixes #101514
2020-07-06 14:59:29 -07:00
Matt Bierner 1275b918be Use joinPath in a few more places 2020-06-10 16:44:10 -07:00
Matt Bierner b5ba760623 Adopt Uri.joinPath
For #99717
2020-06-09 16:08:42 -07:00
Matt Bierner a51205f59d Fix markdown preview in serverless
For #99717
2020-06-09 16:04:47 -07:00
Matt Bierner 3e9b7f5072 Fix markdown fontsize
Fixes #98178
2020-05-20 15:40:27 -07:00
Matt Bierner 41ca01f942 Remove console log
Fixes #96915
2020-05-04 17:28:33 -07:00
Thomas Weingartner b5136c0c79 Fix to 'Markdown Preview of relative links drops 'host' from path' (#95092)
* Fix #93691

* Fix #93961
2020-04-13 14:43:00 -07:00
Matt Bierner 9cfd597153 Rework markdown preview code to better support markdown preview editors
Splits the preview part of the markdown preview from the dynamic preview management part of things. Static preview swap to preview the active markdown file and don't scroll sync with any other markdown files
2020-04-11 17:30:12 -07:00
Matt Bierner d4ce7148dd New custom editor API proposal
For #77131

Fixes #93963
Fixes #94515
Fixes #94517
Fixes #94527
Fixes #94509
Fixes #94514
Fixes #93996
Fixes #93913

This removes explicit edits from the API and reshapes the API to more closely match VS Code's internal API. The change also tries to better express the lifecycle of backups
2020-04-08 17:53:39 -07:00
Matt Bierner d41997790c Remove CustomDocument.viewType
Fixes #93867
For #77131

This property is no longer needed (or very helpful) with the current api design
2020-03-31 12:00:17 -07:00
Matt Bierner 579dab3196 Update custom editor api
For #77131

- Use a class for `CustomDocument` instead of an interface. Extensions can now add their own data to a `CustomDocument` by sublassing

- Renamed `resolveCustomDocument` to `openCustomDocument` and require that extensions return a `CustomDocument`

- Exposed edits on `CustomDocument`

- Made the third parameter of `registerCustomEditorProvider` a generic options bag that takes a `webviewOptions`
2020-03-23 13:10:49 -07:00
Matt Bierner 9dae408dc3 Switch webview api back to use delegate model
For #77131

Going back the the delegate based model for a few reasons:

- It gives us a better approach to add additional API hooks in the future (such as for rename)

- In practive, the capabilities were almost always the same as the `userData` on the document. It is rather confusing to have both `userData` and the capabilities 'on' the document
2020-03-12 16:54:48 -07:00
Benno 0b3e54edb1 update #91296 allow multiple workspace roots (#92082)
* update #91296 allow multiple workspace roots

* update #92082
2020-03-09 12:56:54 -07:00
Matt Bierner 022b6c6d23 Use customtexteditor for markdown editor 2020-03-04 14:14:31 -08:00
Matt Bierner 6e30cf38a7 Mark markdown comment folding regions as comments
Fixes #91271
2020-03-02 11:26:29 -08:00
Matt Bierner 8291f8c152 Polishing of custom editor api proposal for 1.43 release
For #77131
2020-02-25 10:55:41 -08:00
Matt Bierner 99d5733e5f New iteration of webview editor API proposal
For #77131

**Motivation**
While our existing webview editor API proposal more or less works, building an editable webview editor is fairly tricky using it! This is especially true for simple text based editors.

It'd also be nice if we could get bi-directional live editing for text files. For example, if I open the same file in a webview editor and in VS Code's normal editor, edits on either side should be reflected in the other. While this can sort of be implemented using the existing API, it has some big limitations

**Overview of changes**
To address these problems, we've decided have two types of webview editors:

- Text based webview editors. These editors used a `TextDocument` as their data model, which considerably simplifies implementing an editable webview. In almost all cases, this should be what you use for text files

- Complex webview editors. This is basically the existing proposed API. This gives extension hooks into all the VS Code events, such as `save`, `undo`, and so on. These should be used for binary files or in very complex text editor cases.

Both editor types now have an explicit model layer based on documents. Text editor use `TextDocument` for this, while custom editors use `WebviewEditorCustomDocument`. This replaces the delegate based approach previously used.
2020-02-21 16:26:01 -08:00
Matt Bierner 8e475f9b24 Implement draft 2 from #86802 (#87117) 2019-12-16 14:18:58 -08:00
Andrew Liu 37eeb3755a quick fix (#85506) 2019-11-25 11:30:04 -08:00
Matt Bierner cbd414ba58 Don't force refresh the markdown preview's html when changing the active document 2019-11-08 17:00:56 -08:00
Matt Bierner 979e2b0387 Remove duplicate call to dispose 2019-11-08 16:56:06 -08:00
Matt Bierner 8236f06bfc Add experimental webview editor based markdown preview
Potentially for #54776, #2766
2019-11-08 10:38:51 -08:00
Matt Bierner 43a2ca8840 Remove forceUpdate property 2019-11-08 10:38:51 -08:00
Matt Bierner 1cdb534185 Try to redeuce duplication for create vs refactor 2019-11-08 10:38:51 -08:00
Matt Bierner 886ea7a8b4 💄 2019-11-08 10:38:51 -08:00
Matt Bierner aafc307dd8 Use set to store preview instead of array 2019-11-08 10:38:51 -08:00
Matt Bierner 884d52f1e7 Extract DynamicPreviewStore 2019-11-08 10:38:51 -08:00
Matt Bierner 7ee9aa4757 Rename and move types around to get ready for webview editor based previews 2019-11-08 10:38:51 -08:00
Matt Bierner 78559bf9e6 Normalize vscode links in markdown files to target current vscode version
Fixes #71622

This allows you to use generic `vscode` links inside the markdown preview and still have them work if the preview is viewed in insiders
2019-10-23 20:27:52 -07:00
Matt Bierner 21ba436c51 Fix one more case of #81320
The markdown link people write may be uri encoded. We need to decode these before trying to open them
2019-10-09 13:01:30 -07:00
Matt Bierner 36aa903d5a Rewrite how we handle links in the md preview
Try to simplify how we resolve links:

- Move most logic out of the preview itself.
- Simplify the amount of rewriting we do in the markdown engine
2019-10-04 17:57:33 -07:00
Matt Bierner ef698fa6cd Make markdown refresh more stable
Fixes #80680

- Always sync the current preview line number with the editor, even when `scrollEditorWithPreview` is false

- If the md file is focused and refresh is called, do not try resetting the current line to match the editor file. This mainly effects the case where `scrollEditorWithPreview` is false
2019-10-03 13:46:31 -07:00
Konstantin Solomatov 316fd807fe remove docIndex in markdown language extension (#80933) 2019-09-16 10:50:20 -07:00
Johannes Rieken 9aab002dea push workaround for ts-loader weirdness 2019-09-12 09:59:31 +02:00