github.com/yoheimuta/protolint@v0.49.8-0.20240515023657-4ecaebb7575d/internal/linter/config/yamlExternalConfigProvider.go (about) 1 package config 2 3 import ( 4 yaml "gopkg.in/yaml.v2" 5 ) 6 7 const ( 8 externalConfigFileName = ".protolint" 9 externalConfigFileName2 = "protolint" 10 externalConfigFileExtension = ".yaml" 11 externalConfigFileExtension2 = ".yml" 12 ) 13 14 type yamlConfigLoader struct { 15 filePath string 16 } 17 18 func (y yamlConfigLoader) LoadExternalConfig() (*ExternalConfig, error) { 19 data, err := loadFileContent(y.filePath) 20 if err != nil { 21 return nil, err 22 } 23 24 var config ExternalConfig 25 26 if err := yaml.UnmarshalStrict(data, &config); err != nil { 27 return nil, err 28 } 29 30 config.SourcePath = y.filePath 31 32 return &config, nil 33 }