aboutsummaryrefslogtreecommitdiff
path: root/vis-lua.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2020-09-17 14:58:09 +0200
committerMarc André Tanner <mat@brain-dump.org>2020-09-17 15:30:27 +0200
commit31d6cee25636b4a51cd87103a393666f53f71360 (patch)
tree6b97a33ddaaa232fcede4870235919ad8b556196 /vis-lua.c
parent48c602a07369eedd37fb074547fc642c87df2680 (diff)
downloadvis-31d6cee25636b4a51cd87103a393666f53f71360.tar.gz
vis-31d6cee25636b4a51cd87103a393666f53f71360.tar.xz
vis-lua: provide vis.mark property
Diffstat (limited to 'vis-lua.c')
-rw-r--r--vis-lua.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/vis-lua.c b/vis-lua.c
index 4d62af3..f59528c 100644
--- a/vis-lua.c
+++ b/vis-lua.c
@@ -1387,6 +1387,10 @@ static int redraw(lua_State *L) {
* Register name in use.
* @tfield string register
*/
+/***
+ * Mark name in use.
+ * @tfield string mark
+ */
static int vis_index(lua_State *L) {
Vis *vis = obj_ref_check(L, 1, "vis");
@@ -1435,6 +1439,12 @@ static int vis_index(lua_State *L) {
return 1;
}
+ if (strcmp(key, "mark") == 0) {
+ char name = vis_mark_to(vis, vis_mark_used(vis));
+ lua_pushlstring(L, &name, 1);
+ return 1;
+ }
+
if (strcmp(key, "ui") == 0) {
obj_ref_new(L, vis->ui, VIS_LUA_TYPE_UI);
return 1;
@@ -1475,6 +1485,13 @@ static int vis_newindex(lua_State *L) {
vis_register(vis, vis_register_from(vis, name[0]));
return 0;
}
+
+ if (strcmp(key, "mark") == 0) {
+ const char *name = luaL_checkstring(L, 3);
+ if (strlen(name) == 1)
+ vis_mark(vis, vis_mark_from(vis, name[0]));
+ return 0;
+ }
}
return newindex_common(L);
}