Edit: libedit is mentioned in the readme, and it's implied that the reason for this other library is code size.
There are even a lot of other OPEN SOURCE projects with licenses (Apache, BSD) which cannot use readline because of their restricted GPL (instead of LGPL).
I did diff on linenoise.c and linenoise.cpp (from NG) and very few lines are identical.
But this isn't addressing the real problem, which is that readline gets conjoined with the programs that use it. So if I want to write my own line editor, I have to significantly modify every program I want to use it in, which is enough of an obstacle that I won't do it (and neither will others). Nevermind more difficult architectural problems, like making editing local when on high-latency connections. Still, having a BSD-licensed line editor to start from may be helpful for whoever takes on that project some day.
Well, he addressed a real problem in my opinion: readline is too large and too complicated for many uses.
I used hping in the old days; while I'm not a Redis user (I use cdb and kdb+ for key/value stores), I really appreciate linenoise. I use it everyday.
I thank the author for a very useful contribution.
this one looks good, but it's a big task to pick through all the divergent copies of the code and figure out which ones have genuine improvements and which ones are now rotting.
there's a rust one too which i recently added mingw/msvc support to. that's actually an example of how this splintering could be causing problems because we've just vendored some upstream version of the native c code and changes may be difficult to send back upstream.
(The original authors should have made the header comment "against the idea that a line editing lib needs to be 20,000 lines of C code, or any quantity of C++".)
http://www.kylheku.com/cgit/txr/log/linenoise
Doc:
http://www.nongnu.org/txr/txr-manpage.html#N-025AAA27
These changes are in a different direction. I don't have windows or UTF-8 support, though. I started a branch to convert it to use wchar_t. Maybe I can cherry pick some things out of NG.
http://papersdb.cs.ualberta.ca/~papersdb/uploaded_files/712/...