def why

ezx@1.11.0.0 · src/ws/workspace.bend:374

import ezx@1.11.0.0/src/ws/workspace.bend as Workspace
import Base

374# why a workspace has no member set, said for the first thing found wrong
375def why(+spec: Spec, +root: Root, +ls: List<&2, Ledger>) -> String:
376  Spec{es, _ex} = spec
377  +bad = entries.bad(es)
378  +gone = absent(es, dirs.of(ls))
379  +deep = nested(picks(spec, ls))
380  +dup = twice(names(root, picks(spec, ls)))
381  Bool.pick(String, String.is_empty(bad),
382    Bool.pick(String, String.is_empty(gone),
383      Bool.pick(String, String.is_empty(deep),
384        "ez: two workspace members are both named " ++ dup,
385        "ez: workspace member " ++ deep ++ " has a [workspace] table of its own"),
386      "ez: workspace member " ++ gone ++ " has no committed ez.toml"),
387    "ez: workspace member " ++ bad ++ " is not a directory under the root")

Uses (15)

Used by (1)