* refactor: use array of resources
* refactor: use an array of uricomponentspair
* feat: move many resources
* refactor: rename data to files
* feat: use array of files for copy
* refactor: use move with multiple resources
* refactor: use move method with array of files
* refactor: rename data to files
* feat: moveOrCopy array of resources on paste
* refactor: use concise loop syntax
* test: assert number of events
* refactor: rename uricomponentspair
* support multiple files on WorkingCopyFileEvent
* feat: support multiple resources
onWillRunWorkingCopyFIleOperation onDidRunWorkingCopyFileOperation
* refactor: make source optional for consistency
* refactor: support resources for delete
* test: isolate tests
* fix: iterate over resources
* feat: support operations on delete
* feat: adopt deleting multiple resources
* fix: typing and sequential flow of copyservice
* fix: typing and naming
* fix: typing and naming
* fix: use different message for multiple overwrites
* refactor: naming consistency
* fix: use array resources
* fix: message for multiple overwrites
* fix format
* clean up working copy file service
* refactor multiple overwrites message helper
* use openeditors to bulk open
* split drop copy and move
* add returns
Co-authored-by: Benjamin Pasero <benjpas@microsoft.com>
* 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
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.