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/4df20614cd10434b9f91080d0862d...@de.sii.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

Reply via email to