diff options
author | Steve Bennett <steveb@workware.net.au> | 2018-02-15 11:58:14 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2018-03-25 10:47:53 +1000 |
commit | 3ff4cdbb49321b7e9679015bf1fc64033e4a4f79 (patch) | |
tree | ecfc6e4c3820a36c3c377e158ec89f14f8bd02ee /jim-interactive.c | |
parent | ef66afcaf2969c9780cd2560a99f23d2b3635ea0 (diff) | |
download | jimtcl-3ff4cdbb49321b7e9679015bf1fc64033e4a4f79.zip jimtcl-3ff4cdbb49321b7e9679015bf1fc64033e4a4f79.tar.gz jimtcl-3ff4cdbb49321b7e9679015bf1fc64033e4a4f79.tar.bz2 |
linenoise: Update to support multiline mode.
Updated to:
https://github.com/msteveb/linenoise/commit/ad5172e99520e2fe2a35b4bbd7fbc74d9df36df1
Now supports multiline mode (by setting $history::multiline to 1)
Improved windows support
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-interactive.c')
-rw-r--r-- | jim-interactive.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/jim-interactive.c b/jim-interactive.c index 8a163c8..1d6eb00 100644 --- a/jim-interactive.c +++ b/jim-interactive.c @@ -29,12 +29,19 @@ char *Jim_HistoryGetline(Jim_Interp *interp, const char *prompt) #ifdef USE_LINENOISE struct JimCompletionInfo *compinfo = Jim_GetAssocData(interp, completion_callback_assoc_key); char *result; + Jim_Obj *objPtr; + long mlmode = 0; /* Set any completion callback just during the call to linenoise() * to allow for per-interp settings */ if (compinfo) { linenoiseSetCompletionCallback(JimCompletionCallback, compinfo); } + objPtr = Jim_GetVariableStr(interp, "history::multiline", JIM_NONE); + if (objPtr && Jim_GetLong(interp, objPtr, &mlmode) == JIM_NONE) { + linenoiseSetMultiLine(mlmode); + } + result = linenoise(prompt); /* unset the callback */ linenoiseSetCompletionCallback(NULL, NULL); |