feat: add configuration to fix encoding of output of find_command in find_files (#2232)
This commit is contained in:
@@ -844,6 +844,7 @@ builtin.find_files({opts}) *telescope.builtin.find_files()*
|
|||||||
{find_command} (function|table) cmd to use for the search. Can be
|
{find_command} (function|table) cmd to use for the search. Can be
|
||||||
a fn(opts) -> tbl (default:
|
a fn(opts) -> tbl (default:
|
||||||
autodetect)
|
autodetect)
|
||||||
|
{file_entry_encoding} (string) encoding of output of `find_command`
|
||||||
{follow} (boolean) if true, follows symlinks (i.e.
|
{follow} (boolean) if true, follows symlinks (i.e.
|
||||||
uses `-L` flag for the `find`
|
uses `-L` flag for the `find`
|
||||||
command)
|
command)
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ builtin.grep_string = require_on_exported_call("telescope.builtin.__files").grep
|
|||||||
---@param opts table: options to pass to the picker
|
---@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 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 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 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 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)
|
---@field no_ignore boolean: show files ignored by .gitignore, .ignore, etc. (default: false)
|
||||||
|
|||||||
@@ -192,11 +192,18 @@ do
|
|||||||
return rawget(t, rawget(lookup_keys, k))
|
return rawget(t, rawget(lookup_keys, k))
|
||||||
end
|
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 function(line)
|
||||||
return setmetatable({ line }, mt_file_entry)
|
return setmetatable({ line }, mt_file_entry)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
do
|
do
|
||||||
local lookup_keys = {
|
local lookup_keys = {
|
||||||
|
|||||||
Reference in New Issue
Block a user