27 lines
815 B
Diff
27 lines
815 B
Diff
|
Add support of linenoise (replace readline)
|
||
|
|
||
|
see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
|
||
|
|
||
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
||
|
|
||
|
Index: b/src/lua.c
|
||
|
===================================================================
|
||
|
--- a/src/lua.c
|
||
|
+++ b/src/lua.c
|
||
|
@@ -85,6 +85,15 @@
|
||
|
add_history(lua_tostring(L, idx)); /* add it to history */
|
||
|
#define lua_freeline(L,b) ((void)L, free(b))
|
||
|
|
||
|
+#elif defined(LUA_USE_LINENOISE)
|
||
|
+
|
||
|
+#include <linenoise.h>
|
||
|
+#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL)
|
||
|
+#define lua_saveline(L,idx) \
|
||
|
+ if (lua_rawlen(L,idx) > 0) /* non-empty line? */ \
|
||
|
+ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */
|
||
|
+#define lua_freeline(L,b) ((void)L, free(b))
|
||
|
+
|
||
|
#else /* }{ */
|
||
|
|
||
|
#define lua_readline(L,b,p) \
|