in gazelle/pythonconfig/types.go [75:97]
func (sml *StringMapList) Set(s string) error {
list := strings.Split(s, sml.listSeparator)
for _, v := range list {
trimmed := strings.TrimSpace(v)
if trimmed == "" {
continue
}
mapList := strings.SplitN(trimmed, sml.mapSeparator, 2)
if len(mapList) < 2 {
return fmt.Errorf(
"%q is not a valid map using %q as a separator",
trimmed, sml.mapSeparator,
)
}
key := mapList[0]
if _, exists := sml.mapping[key]; exists {
return fmt.Errorf("key %q already set", key)
}
val := mapList[1]
sml.mapping[key] = val
}
return nil
}