-
Notifications
You must be signed in to change notification settings - Fork 35
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
Upgrade JLine to 3.19.0 #24
base: master
Are you sure you want to change the base?
Conversation
Wow. It looks like a big step forward for ConsoleUI. I started a jline3 port months ago but didn't finish it. I think I mainly struggled because of some classes only poorly documented that are important to use in ConsoleUI. Let me review and test again (a bit) before the merge. |
Initially I was going to implement a fix for jline/jline3#592 in JLine. Then looking around I found ConsoleUI and ended up to write this pull request. In future I might use ConsoleUI also in my JLine powered CLI. |
95edf26
to
5ec4f88
Compare
Hi. |
OK, what can I do to help out here, this is a great project. I want to see it keep going. |
Sorry, for not releasing a new version with the jline3 support. I promise, I will resume work on this in the coming days. |
Hey @awegmann, i found this great library and I wanna use it for some cli projects but I need a jline 3 support Are you going to release a new version? |
Hi Roniel. ConsoleUI will be part of jline3 starting with the next release. https://github.com/jline/jline3/milestone/52 But I don't know when this will be released. Regards, |
Removed
ConsoleReaderImpl
,CUIRenderer
and*Prompt
classes. New implementation removed also compile dependency ofJansi
jar.PromptBuilder
works as before.Two new modules:
ConsolePrompt
In addition to the
prompt()
method it includes also classUiConfig
forConsoleUI
configurations.AbstractPrompt
Contains classes for all prompt implementations and methods for rendering. Implementation uses JLine
BindingReader
to read terminal input andDisplay
to write output. Highlighting is done usingAttributedStringBuilder
class.Features that are not available in this pull request:
1. tab completion. This require implementation in consoleui.2. not possible to set page sizes for long lists.
If the list does not fit to the terminal a broken list will be created. This should be relatively easy to resolve.New features:
UI_COLORS
environment variable. Details see classUiConfig
and JLine wiki. JLine extended format with true color support will be available in JLine version 3.19.1.UiConfig
class.I have tested a new implementation in Linux, Windows 10 CMD and gitbash.