JDK-8080678 : jjs should use jline
  • Type: Enhancement
  • Component: core-libs
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2015-05-19
  • Updated: 2015-08-25
  • Resolved: 2015-08-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Fixed
Related Reports
Blocks :  
Blocks :  
Sub Tasks
JDK-8133347 :  
JDK-8133652 :  
JDK-8133695 :  
JDK-8133777 :  
JDK-8133812 :  
JDK-8133872 :  
JDK-8133948 :  
JDK-8134255 :  
JDK-8134260 :  
JDK-8134279 :  
JDK-8134309 :  
JDK-8134381 :  
JDK-8134397 :  
Description
we have been suggesting to use rlwrap along with jjs for history, line editing support. We should make use of jline.
Comments
All main features aimed are completed. If any bug or minor enhancement needed, we can track as separate bugs/enhancements.
25-08-2015

jjs features implemented: * Basic history navigation up arrow and down arrow * History persistence (via ~/.jjs.history file as storage for commands) * Tab-completion for expressions - member expressions (properties) and identifiers - properties for script objects - properties for java classes and objects - java package prefixes filling (subpackage and classes are properties) - properties of user defined JSObject implementations (keySet implementation called) - properties of global object for identifier completion - expression completion anywhere an expression can occur * Mutliple line editing - allows user by entering continued input in secondary prompt * Top level 'load' call argument tab-completion by showing File chooser to select the .js file to be loaded * Export history object to user - history object has methods to print, inspect history of commands jjs> history.clear() jjs> history.print() jjs> history.forEach(function (str) { ... }); * "edit" function to support external editing of scripts - External editing of scripts via configured external editor or builtin Swing based EditPad jjs> edit.editor = "notepad"; // set external editor // if no editor property set, Swing based EditPad editor is used jjs> edit(); // edit new code jjs> edit(history); // edit all of the history of command jjs> edit(func); // edit given function code
25-08-2015