From e70ea5d21ff1aca5b8c534da8f3a1ccadd330a2e Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Sun, 28 Jun 2015 17:51:43 +0200 Subject: hwstub: Add completion and some pretty printing to the shell This uses slightly hacked luaprompt to provide all the goodis. See https://github.com/dpapavas/luaprompt for original. Change-Id: Iedddb79abae5809299322bc215722dd928c35cca --- utils/hwstub/tools/prompt.h | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 utils/hwstub/tools/prompt.h (limited to 'utils/hwstub/tools/prompt.h') diff --git a/utils/hwstub/tools/prompt.h b/utils/hwstub/tools/prompt.h new file mode 100644 index 0000000000..0ad044b934 --- /dev/null +++ b/utils/hwstub/tools/prompt.h @@ -0,0 +1,55 @@ +/* Copyright (C) 2012-2015 Papavasileiou Dimitris + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef _PROMPT_H_ +#define _PROMPT_H_ + +#include +#include + +#define HAVE_LIBREADLINE +#define HAVE_READLINE_HISTORY +#define HAVE_IOCTL +#define COMPLETE_KEYWORDS +#define COMPLETE_MODULES +#define COMPLETE_TABLE_KEYS +#define COMPLETE_METATABLE_KEYS +#define COMPLETE_FILE_NAMES + +#define LUAP_VERSION "0.6" + +void luap_setprompts(lua_State *L, const char *single, const char *multi); +void luap_sethistory(lua_State *L, const char *file); +void luap_setname(lua_State *L, const char *name); +void luap_setcolor(lua_State *L, int enable); + +void luap_getprompts(lua_State *L, const char **single, const char **multi); +void luap_gethistory(lua_State *L, const char **file); +void luap_getcolor(lua_State *L, int *enabled); +void luap_getname(lua_State *L, const char **name); + +void luap_enter(lua_State *L, bool *terminate); +char *luap_describe (lua_State *L, int index); +int luap_call (lua_State *L, int n); + +#endif -- cgit v1.2.3