-
Notifications
You must be signed in to change notification settings - Fork 54
Introduction of Java Notebooks and opening JShell support #464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @Achal1607, @shivam71 and @subhash-arabhi for this new and useful feature. It is a lot of good work that you have added @Achal1607. 👍 💯
Please find some suggestions/thoughts on the user-visible text below.
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/CellState.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/CellState.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/CellState.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/NotebookUtils.java
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/StreamingOutputStream.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/StreamingOutputStream.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/StreamingOutputStream.java
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/StreamingOutputStream.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/project/CommandHandler.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/project/ProjectConfigurationUtils.java
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/project/ProjectContext.java
Outdated
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/project/ProjectContext.java
Outdated
Show resolved
Hide resolved
...ebooks/src/org/netbeans/modules/nbcode/java/project/ProjectModulePathConfigurationUtils.java
Show resolved
Hide resolved
...ebooks/src/org/netbeans/modules/nbcode/java/project/ProjectModulePathConfigurationUtils.java
Show resolved
Hide resolved
nbcode/notebooks/test/unit/src/org/netbeans/modules/nbcode/java/notebook/MockNbClient.java
Show resolved
Hide resolved
nbcode/notebooks/src/org/netbeans/modules/nbcode/java/notebook/CellState.java
Show resolved
Hide resolved
9f58b53
to
3b5947e
Compare
Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA). To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application. When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated. If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public. |
3365aea
to
86827fc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot. LGTM 👍
- registers support - save outputs - classpath option - code completions in the notebook - recovers from out-of-order cell state changes Note: notebooks module in nbcode
Uses RequestProcessor for async Jshell init and code eval
- Structure validation using nbformat schema - Updated licenses and copyright - Added proper id to each cell - Added proper execution count - Added validation in serialization step - Added logs Co-authored-by: Achal Talati <achal.talati@oracle.com>
- added input output stream support - added streaming support of cell execution, enhanced output stream - added protocol for listening to cell execution notifications - added streaming support in the frontend for notebooks and improved kernel - added interrupt handler - added cellId to be passed in the cell execution request - added jshell context in the editor context - fixed issue of command truncation - improved code completion provider - fixed some build issues and bugs, e.g. init of configurations
- Corrected execution counter - Introduced mimeTypeHandler and executionSummary and refactored code - Added new commands to localisation english file - Added tests for mimeType and executionSummary of notebook code - New and unexecuted cells will not display success or failure
1. Added mock lsp client helper class 2. Added test for NotebookConfigs class 3. Updated test dependency in project.xml
- Added opening notebooks in context of a project - Also added change project context button in the notebook toolbar - Added few more tests - Added localization in notebooks - Fixed jshell flow and updated open jshell label - Other cleanup and fixes - updated netbeans patch - cleanup of some unused code and added license header to missing files - formatted files and removed unused imports - updated ajv to latest version: 8.17.1 - updated artifactory urls - fixed the execution status issue - removed console.log and replaced with standard extension logger
86827fc
to
8dac55b
Compare
8dac55b
to
8d8c621
Compare
8d8c621
to
d6197e5
Compare
- Addressed review comments - Fixed some labels - Improvements to NotebookUtils for conversions between line-based positions and string offsets - Avoiding unnecessary string split and joins - Added unit tests - Notebook configurations related changes 1. Made classpath,modulepath and add modules configs as array type on frontend 2. Corresponding changes on backend to process the array 3. Updated notebook configs unit tests - Add enable-preview flag from the project context if not configured - Addressed minor gaps in notebook cell execution - Correctly printing the runtime errors stacktrace - Handling null output stream callback - Performing lineEnding normalization only where required in cell setContent. - Minor performance improvements Co-authored-by: Achal Talati <achal.talati@oracle.com> Co-authored-by: Shivam Madan <shivam.madan@oracle.com> Co-authored-by: Siddharth Srinivasan <siddharth.srinivasan@oracle.com>
d6197e5
to
160d5f1
Compare
This PR introduces support for Java Notebooks with the file extension
.ijnb
.Key Features
Interactive Java Notebooks (
.ijnb
):JShell Integration:
Benefits
Example Interface Image