From 836abb0d63fc44fda201b76023612b1f5a21a8ac Mon Sep 17 00:00:00 2001 From: cracyc Date: Sun, 17 Feb 2019 09:07:56 -0600 Subject: plugins/console: command history (nw) --- 3rdparty/linenoise/linenoise.c | 2 +- 3rdparty/lua-linenoise/linenoise.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) (limited to '3rdparty') diff --git a/3rdparty/linenoise/linenoise.c b/3rdparty/linenoise/linenoise.c index 3c63ffe4a96..2c5aac951b2 100644 --- a/3rdparty/linenoise/linenoise.c +++ b/3rdparty/linenoise/linenoise.c @@ -135,7 +135,7 @@ #include "linenoise.h" #include "utf8.h" -#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 100 +#define LINENOISE_DEFAULT_HISTORY_MAX_LEN 200 #define LINENOISE_MAX_LINE 4096 #define ctrl(C) ((C) - '@') diff --git a/3rdparty/lua-linenoise/linenoise.c b/3rdparty/lua-linenoise/linenoise.c index 768d455729d..aab7c1418ea 100644 --- a/3rdparty/lua-linenoise/linenoise.c +++ b/3rdparty/lua-linenoise/linenoise.c @@ -175,12 +175,26 @@ static int l_refresh(lua_State *L) return handle_ln_ok(L); } +static int l_historyget(lua_State *L) +{ + int len, i; + char **history = linenoiseHistory(&len); + lua_newtable(L); + for(i = 0; i < len; i++) + { + lua_pushstring(L, history[i]); + lua_rawseti(L, -2, i + 1); + } + return 1; +} + luaL_Reg linenoise_funcs[] = { { "linenoise", l_linenoise }, { "historyadd", l_historyadd }, { "historysetmaxlen", l_historysetmaxlen }, { "historysave", l_historysave }, { "historyload", l_historyload }, + { "historyget", l_historyget }, { "clearscreen", l_clearscreen }, { "setcompletion", l_setcompletion}, { "addcompletion", l_addcompletion }, -- cgit v1.2.3-70-g09d2