def sync
import ezx@1.11.0.0/src/tool/plan.bend as Planimport Base
import ezx@1.11.0.0/src/ledger/manifest.bend as M
1162# `ez tool sync` over the project's ledger and lock. With no ledger there is
1163# no project to sync, and it is refused, as `ez lock` and `ez fetch` refuse
1164# one.
1165def sync(ledger: Maybe<&2, String>, lock: Maybe<&2, String>) -> Sync:
1166 match ledger:
1167 case None{}:
1168 SyncNo{"ez: no ez.toml here; ez tool sync installs the tools a project's " ++
1169 "ledger pins, and ez init makes one"}
1170 case Some{text}:
1171 sync.read(M.parse(text), lock)