readlinerlwrap

How to make rlwrap tab complete a word that was fully typed?


I use rlwrap to get readline features not available by default (on Ubuntu) in interactive consoles such as gnuplot, sqlite3.

It allows one to specify a completion word list in a file ~/.<command>_completions. Consider this example using bash:

rlwrap‸<TAB>
rlwrap ‸

And this one, using rlwrap:

echo rlwrap > ~/.bash_completions
rlwrap -a bash
rlwrap‸<TAB>
rlwrap‸
rlwra‸<TAB>
rlwrap ‸

Is it possible to have rlwrap behave like bash in this regard and complete a word that has been typed in full?

It's especially frustrating when using case insensitive completion to complete upper case sqlite keywords. If it worked as expected I could hit TAB after each keyword instead of space and have it converted to uppercase. Currently, the keywords I type in full are lower case and tab completed are upper case, which offends my aesthetic sensibilities.


Solution

  • This was an issue with earlier versions of rlwrap.

    It has been fixed in version 0.42, that is the most recent as of today. It is not yet packaged for Ubuntu, but you can grab a source archive that is very straightforward to build.