summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/telescope.txt39
-rw-r--r--lua/telescope/builtin/init.lua1
-rw-r--r--lua/telescope/make_entry.lua11
3 files changed, 30 insertions, 21 deletions
diff --git a/doc/telescope.txt b/doc/telescope.txt
index d2ac210..9c1a97b 100644
--- a/doc/telescope.txt
+++ b/doc/telescope.txt
@@ -838,25 +838,26 @@ builtin.find_files({opts}) *telescope.builtin.find_files()*
{opts} (table) options to pass to the picker
Options: ~
- {cwd} (string) root dir to search from (default:
- cwd, use utils.buffer_dir() to
- search relative to open buffer)
- {find_command} (function|table) cmd to use for the search. Can be
- a fn(opts) -> tbl (default:
- autodetect)
- {follow} (boolean) if true, follows symlinks (i.e.
- uses `-L` flag for the `find`
- command)
- {hidden} (boolean) determines whether to show hidden
- files or not (default: false)
- {no_ignore} (boolean) show files ignored by .gitignore,
- .ignore, etc. (default: false)
- {no_ignore_parent} (boolean) show files ignored by .gitignore,
- .ignore, etc. in parent dirs.
- (default: false)
- {search_dirs} (table) directory/directories/files to
- search
- {search_file} (string) specify a filename to search for
+ {cwd} (string) root dir to search from (default:
+ cwd, use utils.buffer_dir() to
+ search relative to open buffer)
+ {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)
+ {hidden} (boolean) determines whether to show hidden
+ files or not (default: false)
+ {no_ignore} (boolean) show files ignored by .gitignore,
+ .ignore, etc. (default: false)
+ {no_ignore_parent} (boolean) show files ignored by .gitignore,
+ .ignore, etc. in parent dirs.
+ (default: false)
+ {search_dirs} (table) directory/directories/files to
+ search
+ {search_file} (string) specify a filename to search for
builtin.fd() *telescope.builtin.fd()*
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