On 2019-09-24, at 08:40:31 +0100, Jeremy Sowden wrote: > Sebastian Priebe [0] requested Linenoise support for the CLI as an > alternative to Readline, so I thought I'd have a go at providing it. > Linenoise is a minimal, zero-config, BSD licensed, Readline replacement > used in Redis, MongoDB, and Android [1]. > > 0 - https://lore.kernel.org/netfilter-devel/4df20614cd10434b9f91080d0862dd0c@xxxxxx.group/ > 1 - https://github.com/antirez/linenoise/ > > The upstream repo doesn't contain the infrastructure for building or > installing libraries. I've taken a look at how Redis and MongoDB handle > this, and they both include the upstream sources in their trees (MongoDB > actually uses a C++ fork, Linenoise NG [2]), so I've done the same. > > 2 - https://github.com/arangodb/linenoise-ng > > By default, the CLI continues to be build using Readline, but passing > `--with-cli=linenoise` instead causes Linenoise to be used instead. > > `nft -v` has been extended to display what CLI implementation was built > and whether mini-gmp was used. > > Changes since RFC: > > * two tidy-up patches dropped because they have already been applied; > * source now added to include/ and src/; > * tests/build/run-tests.sh updated to test `--with-cli=linenoise`; > * `nft -v` extended. > > Jeremy Sowden (3): > src, include: add upstream linenoise source. > cli: add linenoise CLI implementation. > main: add more information to `nft -v`. > > configure.ac | 14 +- > include/Makefile.am | 1 + > include/cli.h | 2 +- > include/linenoise.h | 73 +++ > src/Makefile.am | 12 + > src/cli.c | 64 +- > src/linenoise.c | 1201 ++++++++++++++++++++++++++++++++++++++ > src/main.c | 28 +- > tests/build/run-tests.sh | 4 +- > 9 files changed, 1381 insertions(+), 18 deletions(-) > create mode 100644 include/linenoise.h > create mode 100644 src/linenoise.c Whoops! Sent the old version out again by mistake. v2 to follow. J.
Attachment:
signature.asc
Description: PGP signature