def set
bend-visgraph@2.0.0.0 · bend_visgraph.bend:125
import bend-visgraph@2.0.0.0/bend_visgraph.bend as BendVisgraph
import Base
import bend-visgraph@2.0.0.0/visgraph.bend as VG
125def set(cfg: Config, flag: Maybe<&2, Flag>, +name: String, +value: String) -> Config:
126 match cfg flag:
127 case Usage{msg} _:
128 Usage{msg}
129 case Config{o, x, g, d, k, l, m} None{}:
130 Usage{"unknown option: " ++ name}
131 case Config{o, x, g, d, k, l, m} Some{Output{}}:
132 Config{value, x, g, d, k, l, m}
133 case Config{o, x, g, d, k, l, m} Some{XFile{}}:
134 Config{o, value, g, d, k, l, m}
135 case Config{o, x, g, d, k, l, m} Some{GraphType{}}:
136 with_graph(lookup(VG.Visibility, value, graphs()), name, value, o, x, d, k, l, m)
137 case Config{o, x, g, d, k, l, m} Some{Directed{}}:
138 with_direction(lookup(VG.Direction, value, directions()), name, value, o, x, g, k, l, m)
139 case Config{o, x, g, d, k, l, m} Some{Weighted{}}:
140 with_weight(lookup(VG.Weight, value, weights()), name, value, o, x, g, d, l, m)
141 case Config{o, x, g, d, k, l, m} Some{Limit{}}:
142 with_limit(U32.read(value), name, value, o, x, g, d, k, m)
143 case Config{o, x, g, d, k, l, m} Some{OutputMode{}}:
144 with_mode(lookup(Mode, value, modes()), name, value, o, x, g, d, k, l)