mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
lua-linenoise: add preload (nw)
This commit is contained in:
parent
68ff36882c
commit
a6aaa59d19
2 changed files with 22 additions and 1 deletions
9
3rdparty/lua-linenoise/linenoise.c
vendored
9
3rdparty/lua-linenoise/linenoise.c
vendored
|
@ -101,6 +101,14 @@ static int l_historyadd(lua_State *L)
|
|||
return handle_ln_ok(L);
|
||||
}
|
||||
|
||||
static int l_preloadbuffer(lua_State *L)
|
||||
{
|
||||
const char *line = luaL_checkstring(L, 1);
|
||||
linenoisePreloadBuffer(line);
|
||||
|
||||
return handle_ln_ok(L);
|
||||
}
|
||||
|
||||
static int l_historysetmaxlen(lua_State *L)
|
||||
{
|
||||
int len = luaL_checkinteger(L, 1);
|
||||
|
@ -168,6 +176,7 @@ luaL_Reg linenoise_funcs[] = {
|
|||
{ "clearscreen", l_clearscreen },
|
||||
{ "setcompletion", l_setcompletion},
|
||||
{ "addcompletion", l_addcompletion },
|
||||
{ "preload", l_preloadbuffer },
|
||||
|
||||
/* Aliases for more consistent function names */
|
||||
{ "addhistory", l_historyadd },
|
||||
|
|
|
@ -13,6 +13,7 @@ function console.startplugin()
|
|||
local conth = emu.thread()
|
||||
local started = false
|
||||
local ln = require("linenoise")
|
||||
local preload = false
|
||||
print(" _/ _/ _/_/ _/ _/ _/_/_/_/");
|
||||
print(" _/_/ _/_/ _/ _/ _/_/ _/_/ _/ ");
|
||||
print(" _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/ ");
|
||||
|
@ -76,14 +77,25 @@ function console.startplugin()
|
|||
ln.historyadd(cmd)
|
||||
local func, err = load(cmd)
|
||||
if not func then
|
||||
print("error: ", err)
|
||||
if err:match("<eof>") then
|
||||
print("incomplete command")
|
||||
ln.preload(cmd)
|
||||
preload = true
|
||||
else
|
||||
print("error: ", err)
|
||||
preload = false
|
||||
end
|
||||
else
|
||||
preload = false
|
||||
local status
|
||||
status, err = pcall(func)
|
||||
if not status then
|
||||
print("error: ", err)
|
||||
end
|
||||
end
|
||||
if not preload then
|
||||
ln.historyadd(cmd)
|
||||
end
|
||||
end
|
||||
conth:start(scr)
|
||||
started = true
|
||||
|
|
Loading…
Reference in a new issue