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

Reply via email to