Add basic support for dependency-having html output in notebooks #5426
+1,400
−802
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.