@@ -192,6 +192,7 @@ func LoadIgnoreFile(ignoreFile string, silent, pipeline, noStyle bool) (model.Ig
192192 return ignoredItems , nil
193193 }
194194
195+ originalPath := ignoreFile
195196 resolvedPath , err := ResolveConfigPath (ignoreFile )
196197 if err != nil {
197198 if ! silent {
@@ -203,11 +204,23 @@ func LoadIgnoreFile(ignoreFile string, silent, pipeline, noStyle bool) (model.Ig
203204
204205 raw , err := os .ReadFile (resolvedPath )
205206 if err != nil {
206- if ! silent {
207- fmt .Printf ("%sError: Failed to read ignore file '%s': %v%s\n \n " ,
208- color .ASCIIRed , resolvedPath , err , color .ASCIIReset )
207+ if ! os .IsNotExist (err ) || originalPath == resolvedPath {
208+ if ! silent {
209+ fmt .Printf ("%sError: Failed to read ignore file '%s': %v%s\n \n " ,
210+ color .ASCIIRed , resolvedPath , err , color .ASCIIReset )
211+ }
212+ return ignoredItems , fmt .Errorf ("failed to read ignore file: %w" , err )
213+ }
214+ // fallback to original path if resolution-based path not found
215+ raw , err = os .ReadFile (originalPath )
216+ if err != nil {
217+ if ! silent {
218+ fmt .Printf ("%sError: Failed to read ignore file '%s': %v%s\n \n " ,
219+ color .ASCIIRed , originalPath , err , color .ASCIIReset )
220+ }
221+ return ignoredItems , fmt .Errorf ("failed to read ignore file: %w" , err )
209222 }
210- return ignoredItems , fmt . Errorf ( "failed to read ignore file: %w" , err )
223+ resolvedPath = originalPath
211224 }
212225
213226 err = yaml .Unmarshal (raw , & ignoredItems )
@@ -266,35 +279,28 @@ func LoadRulesetWithConfig(flags *LintFlags, logger *slog.Logger) (*rulesets.Rul
266279 }
267280
268281 if flags .RulesetFlag != "" {
269- resolvedRulesetPath , err := ResolveConfigPath (flags .RulesetFlag )
270- if err != nil {
271- fmt .Printf ("\033 [31mUnable to resolve ruleset path '%s': %s\033 [0m\n " ,
272- flags .RulesetFlag , err .Error ())
273- return nil , err
274- }
275-
276282 httpClient , err := CreateHTTPClientFromFlags (flags )
277283 if err != nil {
278284 return nil , err
279285 }
280286
281287 var rsErr error
282288 selectedRS , rsErr = BuildRuleSetFromUserSuppliedLocation (
283- resolvedRulesetPath , defaultRuleSets , flags .RemoteFlag , httpClient )
289+ flags . RulesetFlag , defaultRuleSets , flags .RemoteFlag , httpClient )
284290 if rsErr != nil {
285291 fmt .Printf ("\033 [31mUnable to load ruleset '%s': %s\033 [0m\n " ,
286- resolvedRulesetPath , rsErr .Error ())
292+ flags . RulesetFlag , rsErr .Error ())
287293 return nil , rsErr
288294 }
289295
290296 if ! flags .SilentFlag && ! flags .PipelineOutput {
291297 if flags .NoStyleFlag {
292298 fmt .Printf (" using ruleset '%s' (containing %d rules)\n " ,
293- resolvedRulesetPath , len (selectedRS .Rules ))
299+ flags . RulesetFlag , len (selectedRS .Rules ))
294300 } else {
295301 fmt .Printf (" %susing ruleset %s'%s'%s %s(containing %s%d%s rules)%s\n " ,
296302 color .ASCIIGrey ,
297- color .ASCIIBold + color .ASCIIItalic , resolvedRulesetPath , color .ASCIIReset + color .ASCIIGrey ,
303+ color .ASCIIBold + color .ASCIIItalic , flags . RulesetFlag , color .ASCIIReset + color .ASCIIGrey ,
298304 color .ASCIIGrey ,
299305 color .ASCIIBold + color .ASCIIItalic , len (selectedRS .Rules ), color .ASCIIReset + color .ASCIIGrey ,
300306 color .ASCIIReset )
0 commit comments