This module provides integration with JLine. JLine is a Java library for console input.
It allows for tab completion and password masking; great functionality for use in combination with the VFS Shell!
To use it just add the jline and vfsutils jline jars to your classpath and start the shell using:
In the back the VFS Shell is running normally while the console input and output is enhanced by JLine.
Note: The only drawback of the current version of JLine is that the buffer gets messed up when the input takes more than one line. Good thing that with vfsshell you can give input on multiple lines by ending the line with '\'!
There are two different types of tab completors. The first works on the available commands and the second one works on filenames.
The first argument on the command line is expected to be a command while all the others are expected to require filename completion.
c[TAB] cat cd close cp c
When there is no direct match JLine will complete as far as possible and show you the available options.
Note that the command and the filename completion are case sensitive.
Directories are shown with a slash at the end. It also works with multilevel paths.
cd c:/ cd softw[TAB] cd software/
cd c:/software/vfsshe[TAB] cd c:/software/vfsshell/
Whitespace in filenames is esaped using a backslash.
cd c:/Documents[TAB] cd c:/Documents\ and\ Settings/
The filename completor keeps a list of the last retrieved children. If you are doing manipulations such as mv, cp, rm between two completions it might arrive that the list of shown options is not correct anymore.
The password masking works on the Open command. It uses an asterisk (*) to mask.
open -p dctm://dmadmin@MyDocbase password > *****