Commit Graph

455 Commits

Author SHA1 Message Date
Daniel Imms
b2a9d4dd61 Serialize collections on ext host 2020-03-25 07:35:19 -07:00
Daniel Imms
b41b85d224 Start building out env var service 2020-03-25 07:26:11 -07:00
rebornix
e48cd83bd1 honor document default cell editable metadata 2020-03-23 16:58:33 -07:00
rebornix
deddc655bd Event Dispatcher 2020-03-23 16:00:13 -07:00
rebornix
343fdecf0f notebook metadata sync between ext and main 2020-03-23 16:00:01 -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
Rob Lourens
ff83a6b8a5 Make cell metadata non-optional 2020-03-20 22:20:01 -07:00
Rachel Macfarlane
2b86488f03 Add account context menu, #90385 2020-03-20 09:51:35 -07:00
rebornix
5d18ad4c59 editable metadata 2020-03-19 17:32:16 -07:00
rebornix
56660bef36 messages channel between ext and webview for outputs 2020-03-19 12:48:51 -07:00
Pine Wu
196562bff2 Merge remote-tracking branch 'origin/master' into octref/live-rename 2020-03-18 12:28:47 -07:00
rebornix
5194415bae Merge remote-tracking branch 'origin/master' into rebornix/notebook 2020-03-18 09:53:43 -07:00
Pine Wu
8870bcdf89 Merge remote-tracking branch 'origin/master' into octref/live-rename 2020-03-17 11:58:44 -07:00
Matt Bierner
7f6f3c28a6 Add cancellation parameter to custom editor resolve methods
Adds placeholder cancellation arguments to the custom editor api. These requests are currently never cancelled
2020-03-16 20:15:57 -07:00
rebornix
cdfd6eca84 Merge remote-tracking branch 'origin/master' into rebornix/notebook 2020-03-16 14:08:26 -07:00
Matt Bierner
041a5907b1 Add experimental moveCustomTextEditor hook
For #77131

Adds a hook that lets extensions preserve the webview for a custom editor across a rename
2020-03-13 17:49:52 -07:00
Daniel Imms
361f38ecf8 Merge branch 'master' into tyriar/link_handlers 2020-03-13 06:49:01 -07:00
Christof Marti
14b5afc0ec Add --use-host-proxy (microsoft/vscode-remote-release#2487) 2020-03-13 12:42:58 +01:00
Daniel Imms
b66d56602f Implement terminal link handler API
Part of #91606
2020-03-12 18:17:18 -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
Matt Bierner
3ef02fe7b0 Use the UndoRedoService for CustomEditors (#92408)
* Use the UndoRedoService for CustomEditors

For #90110

Changes custom editors (the ones not based on text) to use the UndoRedoService. This involved:

- Moving edit lifecycle back into the main process again (this is actually the bulk of the changes)
- Removing the `undo`/`redo` methods on  `CustomEditorModel`
- Using the undoRedoService to trigger undo/redo
2020-03-12 11:34:40 -07:00
Pine Wu
c833780356 Clean up API and add stopPattern 2020-03-10 12:38:03 -07:00
Alexandru Dima
84c838d1e3 Scaffold on type rename 2020-03-10 12:33:16 -07:00
Johannes Rieken
c1ec410c8b create cell uri on the extension host, expose as NotebookCell#uri 2020-03-10 18:06:45 +01:00
Johannes Rieken
52ea4ff1d7 Merge branch 'master' into rebornix/notebook 2020-03-10 10:43:26 +01:00
Matt Bierner
44d4fe895d Allow using Command in StatusBarItem (#92046)
Fixes #22353

StatusBarItem is one of the few places in our API where we only allow extensions to give us a command as a `string` instead of as `Command` object. This change updates the API to also allow passing in a `vscode.Command` (which also allows arguments!)
2020-03-09 12:57:33 -07:00
rebornix
285d89e30c Merge remote-tracking branch 'origin/master' into rebornix/notebook 2020-03-04 16:34:06 -08:00
Matt Bierner
077cd38d26 Add cancellation on CustomEditor.save
For #91702
2020-03-04 15:49:10 -08:00
Alex Ross
426d5bfb94 Fix problems with changing local port and restoring
Fixes #92008
2020-03-04 16:45:23 +01:00
rebornix
882ae1ec8f no unverified commit 2020-03-03 16:33:00 -08:00
Johannes Rieken
cddc990d7a Merge branch 'master' into rebornix/notebook 2020-03-03 12:10:05 +01:00
Alex Dima
c2a604a18c Add DocumentSemanticTokensProvider.onDidChangeSemanticTokens 2020-03-02 13:45:25 +01:00
Eric Amodio
afacd2bdfe Fixes #89509, #91464, #91628, #91619 2020-03-01 11:29:54 -05:00
rebornix
eed9a7b032 Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-27 16:19:32 -08:00
Matt Bierner
8ef18acdaf Don't require return value backup
Fixes #91703

All custom editors should implement backup or throw an exception if they cannot for some reason.
2020-02-27 11:55:39 -08:00
rebornix
f3780d98fb Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-26 14:56:49 -08:00
Eric Amodio
d46c8a8c3c Lots of timeline related changes, below
UI:
Adds Refresh icon to view title
Adds "Load more" entry at the end of the list for paging

API:
Restructures api around cursors
Renames TimelineCursor to generic TimelineOptions for more flexibility
Adds paging object to Timeline for clearer paging usage
Changes cursors to be strings, and explicit before and after cursors
Allows limit to take a cursor, so we can reload current data set
Clarifies id and fallback to timestamp
Adds reset flag to TimelineChangeEvent for providers to reset caching

Git provider:
Orders and returns commit date as the timestamp
Supports limit of a cursor (using rev-list --count)
Stops returning working/index changes when paging
Forcably resets cached data when changes are detected (naive for now)
2020-02-24 15:48:37 -05: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
rebornix
d00f117c62 Mimetype picker first cut. 2020-02-21 11:47:55 -08:00
Johannes Rieken
8b95561098 show names of formatting edits and code actions providers when they block save. also add links that links that open the settings editor for each feature, #90851 2020-02-21 15:35:30 +01:00
Johannes Rieken
214e4df1e8 remove commented type 2020-02-21 11:37:58 +01:00
Johannes Rieken
ee7bb4f692 Merge branch 'master' into rebornix/notebook 2020-02-21 11:31:45 +01:00
Johannes Rieken
798a4026ef debt - have Dto and UriDto 2020-02-21 10:09:20 +01:00
Johannes Rieken
88ce9daa5d extract Serialized<T> util 2020-02-21 09:43:28 +01:00
rebornix
673d98310a Merge remote-tracking branch 'origin' into rebornix/notebook 2020-02-19 11:42:28 -08:00
Gustavo Cassel
4957d8d6df Exposed Open/Save dialog title on public VSCode Proposed API (#90493)
Co-authored-by: Alex Ross <alros@microsoft.com>
2020-02-19 15:38:44 +01:00
Johannes Rieken
1541d57e3c Merge branch 'master' into rebornix/notebook 2020-02-19 10:21:07 +01:00
Johannes Rieken
3e211597ff also support single icon, not just ThemeIcon and {light, dark}-tuples, #77728 2020-02-19 10:14:04 +01:00
rebornix
4bced156d1 notebook cell update with renderer updates. 2020-02-18 17:32:25 -08:00
rebornix
796c2baa80 Diff for cells and outputs in exthost. 2020-02-18 16:31:22 -08:00