def env.bad.val

shake@0.7.0.0 · src/cli.bend:1654

import shake@0.7.0.0/src/cli.bend as Cli
import Base

1654# an argument bound to an env value outside its choices: never a flag, and
1655# only for a value its command's bindings hold
1656def env.bad.val(
1657  found: Maybe<&2, String>,
1658  kk: ArgKind,
1659  +name: String,
1660  +cs: List<&2, String>,
1661  +binds: List<&2, Bind>
1662) -> Maybe<&2, Var>:
1663  match found:
1664    case None{}:
1665      None{}
1666    case Some{+vv}:
1667      Bool.pick(Maybe<&2, Var>,
1668        Bool.and(Bool.not(env.flag.is(kk)), Bool.and(Bool.not(allowed(cs, vv)),
1669          List.contains(~String, ~String.eq, get_all.bind(binds, name), vv))),
1670        Some{(name, vv)}, None{})

Uses (15)

Used by (1)