JLine is a java library for reading and editing user input in console applications. It features tab-completion, command history, password masking, customizable keybindings, and pass-through handlers to use to chain to other console applications.
PROJECT REPOSITORY HAS MOVED:
https://github.com/jline