summaryrefslogtreecommitdiffstats
path: root/utils/hwstub/tools/prompt.h
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2015-06-28 17:51:43 +0200
committerMarcin Bukat <marcin.bukat@gmail.com>2015-06-28 17:55:17 +0200
commite70ea5d21ff1aca5b8c534da8f3a1ccadd330a2e (patch)
tree611750d6bd70f20585801cfd7e8c441180798bee /utils/hwstub/tools/prompt.h
parent465eb727a30fd1f4470ff6c172f7b41856775167 (diff)
downloadrockbox-e70ea5d21ff1aca5b8c534da8f3a1ccadd330a2e.tar.gz
rockbox-e70ea5d21ff1aca5b8c534da8f3a1ccadd330a2e.zip
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
Diffstat (limited to 'utils/hwstub/tools/prompt.h')
-rw-r--r--utils/hwstub/tools/prompt.h55
1 files changed, 55 insertions, 0 deletions
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 <lualib.h>
+#include <lauxlib.h>
+
+#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