aboutsummaryrefslogtreecommitdiff
path: root/jim-interactive.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2018-02-15 11:58:14 +1000
committerSteve Bennett <steveb@workware.net.au>2018-03-25 10:47:53 +1000
commit3ff4cdbb49321b7e9679015bf1fc64033e4a4f79 (patch)
treeecfc6e4c3820a36c3c377e158ec89f14f8bd02ee /jim-interactive.c
parentef66afcaf2969c9780cd2560a99f23d2b3635ea0 (diff)
downloadjimtcl-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.c7
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);