feat: add no_ignore option to find_files (#1010)

Allow find_files to find files ignored by .gitignore
and other ignore files. This is supported by fd, rg, and fdfind.
This commit is contained in:
Lee Marlow
2021-07-29 03:45:19 -06:00
committed by GitHub
parent 767e42f2e9
commit 82f4d3028b
2 changed files with 17 additions and 0 deletions

View File

@@ -143,6 +143,7 @@ end
files.find_files = function(opts) files.find_files = function(opts)
local find_command = opts.find_command local find_command = opts.find_command
local hidden = opts.hidden local hidden = opts.hidden
local no_ignore = opts.no_ignore
local follow = opts.follow local follow = opts.follow
local search_dirs = opts.search_dirs local search_dirs = opts.search_dirs
@@ -158,6 +159,9 @@ files.find_files = function(opts)
if hidden then if hidden then
table.insert(find_command, "--hidden") table.insert(find_command, "--hidden")
end end
if no_ignore then
table.insert(find_command, "--no-ignore")
end
if follow then if follow then
table.insert(find_command, "-L") table.insert(find_command, "-L")
end end
@@ -172,6 +176,9 @@ files.find_files = function(opts)
if hidden then if hidden then
table.insert(find_command, "--hidden") table.insert(find_command, "--hidden")
end end
if no_ignore then
table.insert(find_command, "--no-ignore")
end
if follow then if follow then
table.insert(find_command, "-L") table.insert(find_command, "-L")
end end
@@ -186,6 +193,9 @@ files.find_files = function(opts)
if hidden then if hidden then
table.insert(find_command, "--hidden") table.insert(find_command, "--hidden")
end end
if no_ignore then
table.insert(find_command, "--no-ignore")
end
if follow then if follow then
table.insert(find_command, "-L") table.insert(find_command, "-L")
end end
@@ -200,6 +210,9 @@ files.find_files = function(opts)
table.insert(find_command, { "-not", "-path", "*/.*" }) table.insert(find_command, { "-not", "-path", "*/.*" })
find_command = flatten(find_command) find_command = flatten(find_command)
end end
if no_ignore ~= nil then
log.warn "The `no_ignore` key is not available for the `find` command in `find_files`."
end
if follow then if follow then
table.insert(find_command, "-L") table.insert(find_command, "-L")
end end
@@ -214,6 +227,9 @@ files.find_files = function(opts)
if hidden ~= nil then if hidden ~= nil then
log.warn "The `hidden` key is not available for the Windows `where` command in `find_files`." log.warn "The `hidden` key is not available for the Windows `where` command in `find_files`."
end end
if no_ignore ~= nil then
log.warn "The `no_ignore` key is not available for the Windows `where` command in `find_files`."
end
if follow ~= nil then if follow ~= nil then
log.warn "The `follow` key is not available for the Windows `where` command in `find_files`." log.warn "The `follow` key is not available for the Windows `where` command in `find_files`."
end end

View File

@@ -84,6 +84,7 @@ builtin.grep_string = require("telescope.builtin.files").grep_string
---@field find_command table: command line arguments for `find_files` to use for the search, overrides default config ---@field find_command table: command line arguments for `find_files` to use for the search, overrides default config
---@field follow boolean: if true, follows symlinks (i.e. uses `-L` flag for the `find` command) ---@field follow boolean: if true, follows symlinks (i.e. uses `-L` flag for the `find` command)
---@field hidden boolean: determines whether to show hidden files or not (default is false) ---@field hidden boolean: determines whether to show hidden files or not (default is false)
---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default is false)
---@field search_dirs table: directory/directories to search in ---@field search_dirs table: directory/directories to search in
builtin.find_files = require("telescope.builtin.files").find_files builtin.find_files = require("telescope.builtin.files").find_files