feat: add configuration to fix encoding of output of find_command in find_files (#2232)

This commit is contained in:
zbq
2022-11-29 05:41:37 +08:00
committed by GitHub
parent 4d77743a8e
commit 3c2e5fb23e
3 changed files with 30 additions and 21 deletions

View File

@@ -844,6 +844,7 @@ builtin.find_files({opts}) *telescope.builtin.find_files()*
{find_command} (function|table) cmd to use for the search. Can be
a fn(opts) -> tbl (default:
autodetect)
{file_entry_encoding} (string) encoding of output of `find_command`
{follow} (boolean) if true, follows symlinks (i.e.
uses `-L` flag for the `find`
command)

View File

@@ -74,6 +74,7 @@ builtin.grep_string = require_on_exported_call("telescope.builtin.__files").grep
---@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 function|table: cmd to use for the search. Can be a fn(opts) -> tbl (default: autodetect)
---@field file_entry_encoding string: encoding of output of `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: false)
---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default: false)

View File

@@ -192,10 +192,17 @@ do
return rawget(t, rawget(lookup_keys, k))
end
if opts.file_entry_encoding then
return function(line)
line = vim.iconv(line, opts.file_entry_encoding, "utf8")
return setmetatable({ line }, mt_file_entry)
end
else
return function(line)
return setmetatable({ line }, mt_file_entry)
end
end
end
end
do