On this page
Loading and validating the optional --config TOML file: the allowed scan-semantic keys, the overlay onto command-line flags, and hard errors on overlap.
#internal/scanconfig
#internal/scanconfig
Package scanconfig loads and validates the optional TOML scan-config file selected with --config (spec §11, R41–R44). The file supplies scan-semantic defaults only; it is never auto-discovered and rendering/output options are deliberately rejected.
#AllowedKeys
var AllowedKeys = []string{AllowedKeys is the exact set of keys a scan config file may contain (flag names with underscores), in canonical order (R42).
#Config
type Config structConfig holds the validated values from a scan config file. Only keys present in the file are set. Values are kwargs-ready: strings, ints, and []interface{} of string for the repeatable keys.
#Load
func Load(path string) (*Config, error)Load reads and fully validates a scan config file. Any missing or unreadable file, malformed TOML, unknown key, rendering/output key, wrong type, invalid value, or duplicate array value is an error (R41, R42).
#ExplicitKeys
func ExplicitKeys(argv []string) map[string]boolExplicitKeys scans raw argv for the R42 flag set and reports which config keys were explicitly passed on the command line, matching the exact token "--
#Config.Has
func (c *Config) Has(key string) boolHas reports whether the file set the given key.
#Config.Overlay
func (c *Config) Overlay(kwargs map[string]interface{})Overlay copies every file-set value into kwargs. Keys absent from the file are left untouched (R44).