summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorSimon Hauser <Simon-Hauser@outlook.de>2022-06-12 15:37:24 +0200
committerSimon Hauser <simon.hauser@helsinki-systems.de>2022-06-30 14:01:51 +0200
commitf6efef4c4183407860618832cf9c51b20d15e96d (patch)
treec4090e68ba7a0524656011489e64c2e3332d9f34 /lua
parent77e2b8ceea048b42773fc454658c17448caa2a93 (diff)
feat: `find_command` can be a function (#2000)
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin/files.lua5
-rw-r--r--lua/telescope/builtin/init.lua2
2 files changed, 4 insertions, 3 deletions
diff --git a/lua/telescope/builtin/files.lua b/lua/telescope/builtin/files.lua
index 578f6de..00c8d78 100644
--- a/lua/telescope/builtin/files.lua
+++ b/lua/telescope/builtin/files.lua
@@ -153,11 +153,12 @@ files.grep_string = function(opts)
}):find()
end
--- TODO: Maybe just change this to `find`.
--- TODO: Support `find` and maybe let people do other stuff with it as well.
files.find_files = function(opts)
local find_command = (function()
if opts.find_command then
+ if type(opts.find_command) == "function" then
+ return opts.find_command(opts)
+ end
return opts.find_command
elseif 1 == vim.fn.executable "fd" then
return { "fd", "--type", "f" }
diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua
index 670b75f..69c83ba 100644
--- a/lua/telescope/builtin/init.lua
+++ b/lua/telescope/builtin/init.lua
@@ -77,7 +77,7 @@ builtin.grep_string = require_on_exported_call("telescope.builtin.files").grep_s
--- Search for files (respecting .gitignore)
---@param opts table: options to pass to the picker
---@field cwd string: root dir to search from (default: cwd, use utils.buffer_dir() to search relative to open buffer)
----@field find_command table: command line arguments for `find_files` to use for the search, overrides default: config
+---@field find_command function|table: cmd to use for the search. Can be a fn(opts) -> tbl (default: autodetect)
---@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: false)
---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default: false)