def missing_items
cli@0.2.0.0 · cli.bend:3995
import cli@0.2.0.0/cli.bend as Cli
import Base
3995
3996
3997def missing_items(items: List<&2, SpecItem>,
3998 +all_items: List<&2, SpecItem>,
3999 +fields: List<&2, Field>, +done: List<&2, String>) ->
4000 List<&2, String>:
4001 match items:
4002 case Nil{}: Nil{}
4003 case SpecArg{info} <> tail:
4004 List.append(&2, String,
4005 missing_arg(info, fields),
4006 missing_items(tail, all_items, fields, done))
4007 case SpecOther{NeedOne{+name}} <> tail:
4008 List.append(&2, String,
4009 missing_once(List.contains(~String, ~String.eq, done, name),
4010 all_items, fields, name),
4011 missing_items(tail, all_items, fields, name <> done))
4012 case head <> tail:
4013 missing_items(tail, all_items, fields, done)