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

SymbolDocWhat it does
require("hollow")overview.mdThe single global
hollow.log(...)overview.mdPrint to the host log
hollow.inspect(value)overview.mdPretty-print a value
hollow.read_dir(path)overview.mdList directory entries
hollow.strftime(fmt)overview.mdFormat a timestamp
hollow.schedule(fn)overview.mdRun a function on the next frame
hollow.defer(fn, timeout_ms?)overview.mdSame, with optional delay
hollow.on_gui_ready(handler)overview.mdRun after the GUI is up

Namespaces

NamespaceDoc
hollow.configconfig.md
hollow.termterm.md
hollow.eventsevents.md
hollow.keymapkeymap.md
hollow.uiui.md
hollow.ui.workspaceworkspace.md
hollow.themetheme.md
hollow.htphtp.md
hollow.fontsfonts.md
hollow.jsonjson.md
hollow.workspaceworkspace-api.md
hollow.asyncasync.md
hollow.processprocess.md
hollow.fsfs.md
hollow.pluginsplugins.md
hollow.utilutil.md
hollow.platformplatform.md

See also