@@ -18,7 +18,7 @@ const (
1818 ConfFileName = "commitlint.yaml"
1919)
2020
21- // GetConfig returns conf
21+ // GetConfig returns parses config file and returns Config instance
2222func GetConfig (flagConfPath string ) (* lint.Config , error ) {
2323 confFilePath , useDefault , err := GetConfigPath (flagConfPath )
2424 if err != nil {
@@ -77,7 +77,7 @@ func Parse(confPath string) (*lint.Config, error) {
7777
7878 err = Validate (conf )
7979 if err != nil {
80- return nil , fmt .Errorf ("config error : %w" , err )
80+ return nil , fmt .Errorf ("config: %w" , err )
8181 }
8282 return conf , nil
8383}
@@ -88,14 +88,25 @@ func Validate(conf *lint.Config) error {
8888 return errors .New ("formatter is empty" )
8989 }
9090
91- // Check Severity Level of rule config
91+ _ , ok := globalRegistry .GetFormatter (conf .Formatter )
92+ if ! ok {
93+ return fmt .Errorf ("unknown formatter '%s'" , conf .Formatter )
94+ }
95+
9296 for ruleName , r := range conf .Rules {
97+ // Check Severity Level of rule config
9398 switch r .Severity {
9499 case lint .SeverityError :
95100 case lint .SeverityWarn :
96101 default :
97102 return fmt .Errorf ("unknown severity level '%s' for rule '%s'" , r .Severity , ruleName )
98103 }
104+
105+ // Check if rule is registered
106+ _ , ok := globalRegistry .GetRule (ruleName )
107+ if ! ok {
108+ return fmt .Errorf ("unknown rule '%s'" , ruleName )
109+ }
99110 }
100111
101112 return nil
0 commit comments