MCPcopy Create free account
hub / github.com/Effect-TS/tsgo / ResolveDiagnosticSeverityForFile

Function ResolveDiagnosticSeverityForFile

internal/pluginoptions/resolver.go:40–65  ·  view source on GitHub ↗

ResolveDiagnosticSeverityForFile resolves ordered diagnostic severity overrides for a file.

(config *etscore.EffectPluginOptions, fileName string, configFilePath string, useCaseSensitiveFileNames bool)

Source from the content-addressed store, hash-verified

38
39// ResolveDiagnosticSeverityForFile resolves ordered diagnostic severity overrides for a file.
40func ResolveDiagnosticSeverityForFile(config *etscore.EffectPluginOptions, fileName string, configFilePath string, useCaseSensitiveFileNames bool) map[string]etscore.Severity {
41 if config == nil {
42 return nil
43 }
44 if len(config.Overrides) == 0 {
45 return config.DiagnosticSeverity
46 }
47
48 basePath := tspath.GetDirectoryPath(configFilePath)
49 resolved := cloneDiagnosticSeverity(config.DiagnosticSeverity)
50 if resolved == nil {
51 resolved = map[string]etscore.Severity{}
52 }
53
54 for _, override := range config.Overrides {
55 if !matchesOverride(override, fileName, basePath, useCaseSensitiveFileNames) {
56 continue
57 }
58 if len(override.Options.DiagnosticSeverity) == 0 {
59 continue
60 }
61 maps.Copy(resolved, override.Options.DiagnosticSeverity)
62 }
63
64 return resolved
65}
66
67func matchesOverride(override etscore.Override, fileName string, basePath string, useCaseSensitiveFileNames bool) bool {
68 if len(override.Include) > 0 {

Calls 2

cloneDiagnosticSeverityFunction · 0.85
matchesOverrideFunction · 0.85