diff options
Diffstat (limited to 'lib/gitlab/file_finder.rb')
-rw-r--r-- | lib/gitlab/file_finder.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/gitlab/file_finder.rb b/lib/gitlab/file_finder.rb index 6225955a930..95f896a74e9 100644 --- a/lib/gitlab/file_finder.rb +++ b/lib/gitlab/file_finder.rb @@ -44,7 +44,15 @@ module Gitlab # Overridden in Gitlab::WikiFileFinder def search_paths(query) - repository.search_files_by_name(query, ref) + if Feature.enabled?(:code_basic_search_files_by_regexp, project) + return [] if query.blank? || ref.blank? + + escaped_query = RE2::Regexp.escape(query) + query_regexp = Gitlab::EncodingHelper.encode_utf8_no_detect("(?i)#{escaped_query}") + repository.search_files_by_regexp(query_regexp, ref) + else + repository.search_files_by_name(query, ref) + end end end end |