Did you take a look at https://github.com/AmokHuginnsson/replxx ?
From my reading it would also provide a self-contained, no outside dependency solution, but has a significantly enhanced feature set. Features: > - single-line and multi-line editing mode with the usual key bindings implemented - history handling - completion - syntax highlighting - hints - BSD license source code - Only uses a subset of VT100 escapes (ANSI.SYS compatible) - UTF8 aware - support for Linux, MacOS and Windows It deviates from Salvatore's original goal to have a minimal readline replacement for the sake of supporting UTF8 and Windows. It deviates from 10gen Inc.'s goal to create a C++ interface to linenoise. This library uses C++ internally, but to the user it provides a pure C interface that is compatible with the original linenoise API. C interface. On Wed, May 22, 2019 at 12:23 PM bill lam <[email protected]> wrote: > Sorry for missing some context for discussion. linenoise here refers to > > https://github.com/antirez/linenoise > > > On Tue, May 21, 2019, 12:14 AM Raul Miller <[email protected]> wrote: > > > P.S. if the point of "linenoise" was to cope with faulty modem > > sessions, note that people with this issue could disable control-z > > before starting J, using > > > > stty susp undef > > > > But I don't think J should be optimized for faulty hardware. > > > > Thanks, > > > > > > -- > > Raul > > > > On Mon, May 20, 2019 at 12:09 PM Raul Miller <[email protected]> > > wrote: > > > > > > I do not know what linenoise is, in this context, but control-z is > > > basic functionality which predates libedit by decades. > > > > > > My inclination would be to remove that entire section of code (from > > > the case statement to the continue statement) from the feature-reduced > > > implementation of jconsole. > > > > > > Thanks, > > > > > > -- > > > Raul > > > > > > On Mon, May 20, 2019 at 11:55 AM bill lam <[email protected]> wrote: > > > > > > > > Right, the original linenoise ignore ctrl-z. There is another > > > > fork that seemed has a patch for it. > > > > > > > > case ctrl('Z'): /* ctrl-z */ > > > > #ifdef SIGTSTP > > > > /* send ourselves SIGSUSP */ > > > > disableRawMode(current); > > > > raise(SIGTSTP); > > > > /* and resume */ > > > > enableRawMode(current); > > > > refreshLine(current); > > > > #endif > > > > continue; > > > > > > > > If users want the same level of functions of libedit, the > > > > linenoise version can never satisfy them no matter how hard > > > > we put efforts to improve linenoise. It is better to use the > > > > libedit in that case. > > > > > > > > Mon, 20 May 2019, Raul Miller написал(а): > > > > > On Mon, May 20, 2019 at 11:04 AM bill lam <[email protected]> > > wrote: > > > > > > jconsole can not run on rhel if users do not have sudo right to > > symlink > > > > > > some shared library. I hope this issue can be addressed properly > > > > > > in j901. > > > > > > > > > > This is an example of a bigger problem that can occur in a variety > > of contexts. > > > > > > > > > > I think the "jconsole without libedit" mechanism is a good thing. > If > > > > > we want J to be usable in docker instances, ec2 instances, docker > > > > > instances in ec2 instances, etc. etc. then we want it to be simple > > and > > > > > robust. (We also would want relevant documentation and some way of > > > > > coping with feature drift and stale documentation in the hosting > > > > > environments, but that just gives you an idea of the scope of the > > > > > problems.) > > > > > > > > > > That said: > > > > > > > > > > (1) It's odd that this beta jconsole instance is ignoring > control-Z. > > > > > This issue suggests that the SIGTSTP signal is being caught and > then > > > > > jconsole is ignoring it. (It would probably be a good idea to not > > > > > catch signals if you do not have a specific reason for doing so. If > > > > > there's a reason for this one, it might need a foreign?) > > > > > > > > > > (2) If symlinks are the showstopper for the feature-enhanced > > jconsole, > > > > > it would make sense to put the symlinks in the same directory as J > > and > > > > > link against those. If there are other issues (like different > > versions > > > > > of libedit having different interfaces for needed mechanisms) it > > would > > > > > make sense to let the user compile the code that uses the > libraries. > > > > > If the user needs privileges to compile and deploy which they do > not > > > > > have, they can fall back on the feature reduced jconsole. > > > > > > > > > > Thanks, > > > > > > > > > > -- > > > > > Raul > > > > > > > ---------------------------------------------------------------------- > > > > > For information about J forums see > > http://www.jsoftware.com/forums.htm > > > > > > > > -- > > > > regards, > > > > ==================================================== > > > > GPG key 1024D/4434BAB3 2008-08-24 > > > > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
