Commit Graph

215 Commits

Author SHA1 Message Date
Johannes Rieken
ac4de7bbb3 add NotebookEditorCellEdit#replaceOutputs, https://github.com/microsoft/vscode/issues/105283 2020-08-24 15:19:21 +02:00
Johannes Rieken
834a380d93 add replaceCells to notebook edit builder, also refactor cell source to only be a string, not an array 2020-08-24 11:33:05 +02:00
Johannes Rieken
cd18e7ec38 debt - make ExtHostNotebookDocument not implement vscode.NotebookDocument but expose the API object via strict getter 2020-08-24 10:11:45 +02:00
Johannes Rieken
984b654c8b debt - remove unused function 2020-08-24 09:14:41 +02:00
Connor Peet
d20e086afc Merge branch 'connor4312/rm-old-renderer-api' 2020-08-21 09:12:08 -07:00
Johannes Rieken
3462e29ea0 strict notebook cell api,https://github.com/microsoft/vscode/issues/104606
Let a `vscode.NotebookCell` only be what's spec'd in the API not more. Make things froozen and readonly when possible
2020-08-21 12:08:51 +02:00
Johannes Rieken
7b33afc932 💄 2020-08-21 10:10:30 +02:00
Johannes Rieken
0a7d9859ed tackle https://github.com/microsoft/vscode/issues/104606 2020-08-21 10:06:26 +02:00
Connor Peet
24b712d7c2 notebooks: remove impure renderer API
This removes the initial notebook renderer API and keeps the 'pure'
renderer API described in #102644 and hacked-in previously.

Remaining work in this area, in no particular order:

- Add messaging context to postMessage as requested by Don (API proposal TBA)
- Cleanups around how state is managed internally in the backLayerWebView
- Deprecate the renderer `viewType` in favor of calling it the `id` or `rendererId`

Q: I kept around some of the "transform" functions since the mime type
picking happens there, not sure if there's a better place for this
to happen now, or whether these methods should simply be renamed.
2020-08-19 15:47:02 -07:00
Johannes Rieken
442e27637d clean up for https://github.com/microsoft/vscode/issues/101282 2020-08-17 10:54:04 +02:00
rebornix
25499ff969 fix #101871. 2020-08-13 16:57:47 -07:00
Johannes Rieken
aabb4e3aa3 add TextDocument#notebook api proposal, https://github.com/microsoft/vscode/issues/100890 2020-08-13 11:42:58 +02:00
Johannes Rieken
1b0d4db60c use $-prefix for IPC functions only 2020-08-12 16:26:49 +02:00
Johannes Rieken
26605048ea 💄 forof over foreach 2020-08-12 16:16:00 +02:00
Johannes Rieken
0da75b92c0 notebooks - use ResourceMap 2020-08-12 16:16:00 +02:00
Johannes Rieken
bae64052f4 unit test for document remove 2020-08-12 09:05:18 +02:00
Johannes Rieken
3fefc6117c ref count document data on extension host side 2020-08-11 14:24:16 +02:00
Johannes Rieken
0a03053724 Merge branch 'master' into joh/celldocs 2020-08-11 12:23:11 +02:00
rebornix
03467e96ff re #104262. Add logging for notebook. 2020-08-10 14:30:58 -07:00
Johannes Rieken
5fe144cf97 Merge branch 'master' into joh/celldocs 2020-08-10 18:24:01 +02:00
rebornix
2d3d5208de re #102503. send out save event after notebook content provider handles saving. 2020-08-03 15:12:25 -07:00
rebornix
ccb2e9621f re #102503. onDidSaveNotebookDocument 2020-08-03 15:12:25 -07:00
rebornix
83e542bd07 notebook document, is untitled. 2020-08-03 14:58:08 -07:00
Rob Lourens
635b397e2d let -> const, notebooks 2020-08-03 08:54:14 -07:00
Rob Lourens
eb05e94d5e Send cell metadata changes to EH, add onDidChangeCellMetadata event 2020-08-01 10:25:12 -07:00
Rob Lourens
057c1f141e Fix cell cancellation with kernel in provider 2020-07-30 18:02:38 -07:00
rebornix
d586f701ec kernel provider settings. 2020-07-20 17:17:50 -07:00
Rob Lourens
90363c2f9d Change cell execution/cancel API
Fix #99203
2020-07-20 14:43:20 -07:00
rebornix
49305f21a4 active kernel info on notebook editor. 2020-07-17 12:02:08 -07:00
rebornix
f475511726 kernel change event. 2020-07-17 12:02:08 -07:00
Johannes Rieken
b266658091 remove document that only the notebook did open 2020-07-17 14:52:25 +02:00
Johannes Rieken
00dea1c4ad create "real" TextDocument when opening a notebook or when adding cells, don't create them again when the renderer makes models 2020-07-17 11:02:08 +02:00
rebornix
847a98f34c Merge remote-tracking branch 'origin' into rebornix/multi-kernel 2020-07-16 17:26:00 -07:00
rebornix
beb6b4782f type convert glob 2020-07-16 16:50:37 -07:00
Johannes Rieken
80a3310946 add eol to IMainCellDto, no more attach/dettach text document but use the actual (sync'd) document or a fallback cell document 2020-07-16 12:55:39 +02:00
rebornix
05144a3d4e new kernel provider works side by side 2020-07-15 17:01:48 -07:00
rebornix
4fc84b3a11 sketch for notebook kernel 2020-07-15 16:18:17 -07:00
Johannes Rieken
43184b2bed add storageUri and globalStorageUri to ExtensionContext, https://github.com/microsoft/vscode/issues/101857 2020-07-09 12:48:03 +02:00
rebornix
8bf295d576 fix #97998. let the api throw. 2020-06-26 10:43:50 -07:00
Connor Peet
aa01066b71 notebooks: fix renderer message passing being broken 2020-06-22 15:47:10 -07:00
Connor Peet
a57cb45be8 notebooks: pipe renderer API postmessages to the renderer itself (#100414)
* notebooks: pipe renderer API postmessages to the renderer itself

Previously the postMessage on acquireNotebookRenderer API was just
a proxy to the global vscode postmessage. Now, it's linked to the
renderer and will cause an optional `onDidReceiveMessage` method on
the renderer to be called.

The message still _also_ goes to the global webview message handling
for advanced use cases, but this change allows the webview<->renderer
communication to be more nicely contained
and separate for most use cases.

* wip

* fixup! pr comments
2020-06-22 09:35:16 -07:00
rebornix
e51bb9be57 fix unit test. 2020-06-17 18:31:53 -07:00
rebornix
6c68514534 Fix #100329. Content providers can contribute to undo/redo stack of a notebook document. 2020-06-17 17:08:09 -07:00
rebornix
ca7f2683fd resolve notebook editor with comm object. 2020-06-16 17:21:11 -07:00
rebornix
a9db9d94ff 💄 2020-06-16 16:25:24 -07:00
rebornix
8ad77ef2b6 mimetype and remove revert. 2020-06-16 14:55:20 -07:00
Connor Peet
45dbf43a87 Merge branch 'connor4312/identify-cell-outputs' 2020-06-15 09:14:23 -07:00
rebornix
98c3065160 Fix #96840. Support backup/revert from notebook content provider. 2020-06-12 18:00:15 -07:00
Connor Peet
1d1b452f2f notebooks: add ID for rich outputs, expose to renderer and webview
Some API changes:

 - I changed the second param of NotebookOutputRenderer.render to a
   `NotebookRenderRequest` since we were up to four parameters already.
 - The request contains a unique `outputId`, which is generated when
   output is first created or restored (the ID is not stable if a
	 notebook is closed and reopened)
 - I changed the renderer events to `onDidCreateOutput` and
   `onWillDestroyOutput` since they're for outputs, not cells.
 - Additionally, they're called with objects that contain the output
   ID to render.
2020-06-12 12:29:30 -07:00
Johannes Rieken
00637c1c42 remove obsolete APIs, https://github.com/microsoft/vscode/issues/93265 2020-06-12 09:57:10 +02:00