Integrate configuration searches into engine loading

This commit is contained in:
2026-10-24 16:11:03 +00:00
parent 8642337966
commit 2f6c1eca00
8 changed files with 425 additions and 30 deletions

View File

@@ -34,6 +34,19 @@ type SearchOptions struct {
Required bool
}
// SearchConfig creates a source that selects the first matching host file when
// consumed. Description and option errors are reported during loading.
func SearchConfig(application string, search Search, supplied ...SearchOptions) Source {
captured := Search{entries: cloneSearchEntries(search.entries), issues: append([]string(nil), search.issues...)}
source := Source{kind: sourceSearch, search: &captured, searchApp: application}
if len(supplied) > 1 {
source.searchIssues = []string{"SearchConfig accepts at most one options value"}
} else if len(supplied) == 1 {
source.searchRequired = supplied[0].Required
}
return source
}
type filenameGroupKind uint8
const (