def ref
import ezx@1.11.0.0/src/ws/pin.bend as Pinimport Base
import ezx@1.11.0.0/src/ledger/manifest.bend as M
import ezx@1.11.0.0/src/ez/target.bend as Tgt
52# the ref `ez add <target> [ref]` in a member goes on with: `pins` is every
53# dependency of the workspace's joint ledger and `dir` the member's directory
54# from the root. A hub package, added by its `<name>@<version>`, has no ref.
55def ref(+pins: List<&2, M.Dep>, +dir: String, +home: String, +target: String, +ref: String) -> Ref:
56 Bool.pick(Ref, Tgt.aim.named(Tgt.aim(target)), Given{ref},
57 ref.place(Tgt.classify(target), pins, dir, home, ref))