Re: RFR: JDK-8080679: Include jline in JDK for Java and JavaScript REPLs
hi, sorry, im a bit late to this discussion, i wasnt aware of any interest for adding jline2 to the jdk until late this week. im working on a project called æsh/aesh: https://github.com/aeshell/aesh its another java console project derived from jline/jline2. it started as an extension/fork of jline2 and evolved into a separate project. im not quite sure what the reason behind choosing jline2 for the jdk, but i just wanted to give some info on æsh and what it does compared to jline2. æsh has all the same functionalities as jline2 and has a number of additional features: - history (search, persistence) - undo/redo - paste buffer - redirect/pipeline - alias +++ jline2 has several bugs regarding input that is resolved in æsh. one of the bigger differences between jline2 and æsh is that æsh isnt locking in the same way as jline2, but rather has a callback when input is given. this give better flexibility for the user when creating commands. perhaps the biggest difference is that æsh provides two apis for the developer. one is more low-level and similar to jline2: https://gist.github.com/stalep/cea6fbfee1de2b1ac6e4 plus a high level api that æsh provides for the developer to create commands. https://gist.github.com/stalep/98103347df1dd9b67fd1 in this example we create a ls command that will automatically complete filenames/directories and inject the values into the list field. this it just a very simple example, the api supports converters/completers/activators/renders/+++ we added this api because we noticed that the developers needed to write a lot of code to parse user input. with this api they can focus on creating commands and not parse for input data. if there is any interest in using æsh in the jdk we would do whatever we can to help you integrate it. æsh has evolved fairly quickly and tries to resolve any bugs/issues as quickly as possible. it is also supported by red hat so we can promise that this project will not be abandoned any time soon. regards, ståle
Hi Ståle, When we were looking for editing libraries, JLine 2 looked best. Unfortunately, we did not find Aesh. At this stage, I think we should proceed with JLine (so the dependent work can continue). Note that it is intended to be JDK internal-only, so there's a possibility to change to a different library later. Thanks for your pointers, Jan On 5.7.2015 01:27, Ståle W Pedersen wrote:
hi, sorry, im a bit late to this discussion, i wasnt aware of any interest for adding jline2 to the jdk until late this week. im working on a project called æsh/aesh: https://github.com/aeshell/aesh its another java console project derived from jline/jline2. it started as an extension/fork of jline2 and evolved into a separate project.
im not quite sure what the reason behind choosing jline2 for the jdk, but i just wanted to give some info on æsh and what it does compared to jline2.
æsh has all the same functionalities as jline2 and has a number of additional features: - history (search, persistence) - undo/redo - paste buffer - redirect/pipeline - alias +++
jline2 has several bugs regarding input that is resolved in æsh.
one of the bigger differences between jline2 and æsh is that æsh isnt locking in the same way as jline2, but rather has a callback when input is given. this give better flexibility for the user when creating commands.
perhaps the biggest difference is that æsh provides two apis for the developer. one is more low-level and similar to jline2: https://gist.github.com/stalep/cea6fbfee1de2b1ac6e4
plus a high level api that æsh provides for the developer to create commands. https://gist.github.com/stalep/98103347df1dd9b67fd1
in this example we create a ls command that will automatically complete filenames/directories and inject the values into the list field. this it just a very simple example, the api supports converters/completers/activators/renders/+++ we added this api because we noticed that the developers needed to write a lot of code to parse user input. with this api they can focus on creating commands and not parse for input data.
if there is any interest in using æsh in the jdk we would do whatever we can to help you integrate it. æsh has evolved fairly quickly and tries to resolve any bugs/issues as quickly as possible. it is also supported by red hat so we can promise that this project will not be abandoned any time soon.
regards, ståle
participants (2)
-
Jan Lahoda
-
Ståle W Pedersen