Lua API
June 4, 2026 · View on GitHub
The runtime exposes a single Lua global: hollow.
This directory is the canonical reference for everything reachable from
hollow.* and from the small set of top-level helpers.
Start with Overview and conventions, then jump to the
namespace you need. The full type schema lives in
types/hollow.lua.
Top-level helpers
| Symbol | Doc | What it does |
|---|---|---|
require("hollow") | overview.md | The single global |
hollow.log(...) | overview.md | Print to the host log |
hollow.inspect(value) | overview.md | Pretty-print a value |
hollow.read_dir(path) | overview.md | List directory entries |
hollow.strftime(fmt) | overview.md | Format a timestamp |
hollow.schedule(fn) | overview.md | Run a function on the next frame |
hollow.defer(fn, timeout_ms?) | overview.md | Same, with optional delay |
hollow.on_gui_ready(handler) | overview.md | Run after the GUI is up |
Namespaces
| Namespace | Doc |
|---|---|
hollow.config | config.md |
hollow.term | term.md |
hollow.events | events.md |
hollow.keymap | keymap.md |
hollow.ui | ui.md |
hollow.ui.workspace | workspace.md |
hollow.theme | theme.md |
hollow.htp | htp.md |
hollow.fonts | fonts.md |
hollow.json | json.md |
hollow.workspace | workspace-api.md |
hollow.async | async.md |
hollow.process | process.md |
hollow.fs | fs.md |
hollow.plugins | plugins.md |
hollow.util | util.md |
hollow.platform | platform.md |
See also
- Built-in keymap actions — string action names
- Native CLI — host-side automation
- HTP protocol — wire format