Commit Graph

151 Commits

Author SHA1 Message Date
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
Matt Bierner 153e063486 Fix markdown preview refresh command potentially resetting preview scroll position to top if focused on preview
Fixes #80680
2019-09-11 20:50:52 -07:00
Konstantin Solomatov 5db460d2fe Fix activation of linters on unopened files caused by markdown plugin (#80506)
* Fix bug causing a large number of linters to be activated due to the markdown extension opening TextDocuments during indexing

* indentation problem

* code review by @OmarTawfik

* revert changed file

* Code review: use nodejs' Buffer

* fix ineffcient code
code review comments

* introduce SkinnyTextLine

* refactor redundant code

* revert changed files

* formatting

* remove empty line
2019-09-11 11:39:08 -07:00
Matt Bierner 2fe62e7dfe Use the document that contains the md link as the resource for getting config, not the target document 2019-09-10 16:31:53 -07:00
Matt Bierner 7a00ddf9f8 Format files for 3.6
Fixes #80118
2019-09-02 21:29:05 -06:00
Matt Bierner a66e9d4835 Don't dispose markdown preview emitters before firing events
Fixes #79827
2019-08-26 13:40:07 -07:00
Matt Bierner 646d4ddb75 Use _register 2019-08-20 15:07:25 -07:00
Matt Bierner c5dc9d16be Finalize asWebviewUri api
Fixes #79242

As discussed, renames `toWebviewResource` to `asWebviewUri` to be consistent with the `asAbsolutePath` api naming
2019-08-19 20:18:26 -07:00
Salvador Cabrera 34339f92c4 Fix: Markdown Preview scroll remains same after clicking on some other link #78465
Improves the behavior on how markdown preview behaves when clicking a link
2019-08-19 09:35:06 -05:00
Matt Bierner 1bbf3b3fa6 Add telemetry+warning for webviews that don't have a content security policy
Fixes #79248
2019-08-15 15:16:39 -07:00
Matt Bierner e1d3dd53d1 Mark static readonly 2019-07-22 16:24:53 -07:00
Matt Bierner b850405aa6 Merge pull request #76647 from masliu/master
Save resourceColumn for previews, fixes #74008
2019-07-17 16:01:46 -07:00
Matt Bierner 4c07744817 Make sure we handle loading of markdown resources from UNC workspace correctly
Fixes #48403
2019-07-09 15:52:43 -07:00
Matt Bierner c01a3a718d Use clearer name for csp webview element
#76489
2019-07-09 11:45:20 -07:00
Matt Bierner a558a9504a Adding toWebviewResource api
For #76489
2019-07-08 18:38:47 -07:00
masliu 173d010b0a Rename sourceViewColumn to resourceColumn 2019-07-04 22:29:23 -04:00