package org.openautonomousconnection.luascript.tables; import org.luaj.vm2.LuaValue; import org.luaj.vm2.lib.*; import org.openautonomousconnection.luascript.hosts.ClipboardHost; import org.openautonomousconnection.luascript.hosts.HostServices; import org.openautonomousconnection.luascript.utils.ScriptTable; /** * Lua table: clipboard * *

Functions:

* */ public final class ClipboardTable extends ScriptTable { public ClipboardTable() { super("clipboard"); } @Override protected void define(HostServices services) { ClipboardHost host = services.clipboard().orElseThrow(() -> new IllegalStateException("ClipboardHost not provided")); table().set("set", new OneArgFunction() { @Override public LuaValue call(LuaValue text) { host.setText(text.isnil() ? "" : text.tojstring()); return LuaValue.NIL; } }); table().set("get", new ZeroArgFunction() { @Override public LuaValue call() { return LuaValue.valueOf(host.getText()); } }); } }