mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
plugins/console: command history (nw)
This commit is contained in:
parent
764f04c317
commit
836abb0d63
3 changed files with 26 additions and 2 deletions
2
3rdparty/linenoise/linenoise.c
vendored
2
3rdparty/linenoise/linenoise.c
vendored
|
@ -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) - '@')
|
||||
|
|
14
3rdparty/lua-linenoise/linenoise.c
vendored
14
3rdparty/lua-linenoise/linenoise.c
vendored
|
@ -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 },
|
||||
|
|
|
@ -18,6 +18,16 @@ function console.startplugin()
|
|||
local matches = {}
|
||||
local lastindex = 0
|
||||
local consolebuf
|
||||
_G.history = function (index)
|
||||
local history = ln.historyget()
|
||||
if index then
|
||||
ln.preload(history[index])
|
||||
return
|
||||
end
|
||||
for num, line in ipairs(history) do
|
||||
print(num, line)
|
||||
end
|
||||
end
|
||||
print(" _/ _/ _/_/ _/ _/ _/_/_/_/");
|
||||
print(" _/_/ _/_/ _/ _/ _/_/ _/_/ _/ ");
|
||||
print(" _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/ ");
|
||||
|
@ -28,7 +38,7 @@ function console.startplugin()
|
|||
-- linenoise isn't thread safe but that means history can handled here
|
||||
-- that also means that bad things will happen if anything outside lua tries to use it
|
||||
-- especially the completion callback
|
||||
ln.historysetmaxlen(10)
|
||||
ln.historysetmaxlen(50)
|
||||
local scr = [[
|
||||
local ln = require('linenoise')
|
||||
ln.setcompletion(function(c, str, pos)
|
||||
|
|
Loading…
Reference in a new issue