smelt.reg¶
Tier: Host — Available in every runtime, including headless mode.
Helpers for constructing Reg handles. Plugins that own several reactive subscriptions can wrap their teardown logic in a single Reg returned to callers.
smelt.reg.compose¶
Types: smelt.Reg
Combine variadic Regs into one. :remove() on the result fires every
inner :remove() in order, idempotent across repeat calls. Inputs may
include nil (skipped) so call sites don't need to filter. Returns a
Reg. Typical use: a plugin that owns several reactive subscriptions
returns one composed Reg to its caller.
return smelt.reg.compose(
smelt.win.cur():key("n", "<leader>x", handler),
smelt.fs.watch(path, on_change),
smelt.timer.every(1000, tick)
)
smelt.reg.new¶
Types: smelt.Reg
Wrap undo as a Reg. The first call to :remove() invokes undo() and returns true; subsequent calls are no-ops returning false. Errors raised inside undo are swallowed.