Adds support for multi-message requiring html outputs (like hvplot/ bokeh) in notebooks by reusing the same logic we did for #4335.
This one is unfortunately large but hopefully lays the groundwork for future PRs to be smaller.
Non-notebook changes:
The main non-notebook code that was touched was refactoring some of the apis in the PositronNotebookOutputWebviewService to avoid the funky typescript generics previously used in favor of returning webviews of either standard or overlay and using discriminator functions to verify what we expected is what we got. I think this is in general an improvement over the previously unnecessarily complicated interface.
There was a good amount of refactoring by separating things into new files etc that make the diff look a lot bigger than it actually is.
Other misc changes:
Now cells have a simple animation when they're running
Adds support for multi-message requiring html outputs (like hvplot/ bokeh) in notebooks by reusing the same logic we did for #4335.
This one is unfortunately large but hopefully lays the groundwork for future PRs to be smaller.
Non-notebook changes:
The main non-notebook code that was touched was refactoring some of the apis in the
PositronNotebookOutputWebviewService
to avoid the funky typescript generics previously used in favor of returning webviews of either standard or overlay and using discriminator functions to verify what we expected is what we got. I think this is in general an improvement over the previously unnecessarily complicated interface.There was a good amount of refactoring by separating things into new files etc that make the diff look a lot bigger than it actually is.
Other misc changes:
Refactoring and Restructuring:
src/vs/workbench/contrib/positronNotebook/browser/PositronNotebookCell.ts
: The entire class and related functionalities have been moved and split into separate files for better modularity and maintainability.QA Notes
Notebooks should work as before, with the added benefit of now supporting plot types that have preloads like hvplot and bokeh.