def doc.lockable
import ezx@1.11.0.0/src/lock/plan.bend as Planimport Base
import ezx@1.11.0.0/src/lock/lock.bend as L
import ezx@1.11.0.0/src/ledger/manifest.bend as M
597# a lock that can be written, written, with the names it resolved
598def doc.lockable(
599 ok: Bool,
600 +ns: List<&2, L.Name>,
601 +hub: String,
602 packs: List<&2, L.Pack>,
603 ts: List<&2, M.Tool>
604) -> Doc:
605 match ok:
606 case True{}:
607 Doc{L.render.names(ns, ts, hub, packs)}
608 case False{}:
609 Stop{lockable.why.named(ns, packs)}