Since the catchall final argument to referral is one or more paths (i.e. via shell expansion), then when it comes to ignoring files, I think we need to get creative.
Should that mean accepting multiple --ignore option values? Accepting a quoted string that may have a glob pattern in it that is then expanded via referral and not the shell (e.g. --ignore "**/*_test.rb" to be passed as Dir["**/*_test.rb"] or some such)?
Or should we just forego an option altogether since it'll never be perfect and just have a .referralignore dot file that it'll read in a .gitignorey way. That's what other search tools like ripgrep do (with .rgignore)
cc/ @davemo, since this is one way you might work around codebases that have a few listings that are literally unparseable under 2.6+
Since the catchall final argument to referral is one or more paths (i.e. via shell expansion), then when it comes to ignoring files, I think we need to get creative.
Should that mean accepting multiple
--ignoreoption values? Accepting a quoted string that may have a glob pattern in it that is then expanded via referral and not the shell (e.g.--ignore "**/*_test.rb"to be passed asDir["**/*_test.rb"]or some such)?Or should we just forego an option altogether since it'll never be perfect and just have a
.referralignoredot file that it'll read in a .gitignorey way. That's what other search tools like ripgrep do (with.rgignore)cc/ @davemo, since this is one way you might work around codebases that have a few listings that are literally unparseable under 2.6+