summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin/init.lua1
-rw-r--r--lua/telescope/make_entry.lua11
2 files changed, 10 insertions, 2 deletions
diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua
index 23f3e4e..eef35b6 100644
--- a/lua/telescope/builtin/init.lua
+++ b/lua/telescope/builtin/init.lua
@@ -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)
diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua
index 699145c..19e3674 100644
--- a/lua/telescope/make_entry.lua
+++ b/lua/telescope/make_entry.lua
@@ -192,8 +192,15 @@ do
return rawget(t, rawget(lookup_keys, k))
end
- return function(line)
- return setmetatable({ line }, mt_file_entry)
+ 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