summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/config/lua/plugins/fzf.lua
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-12-03 09:48:00 -0500
committertriethyl <triethylammonium@pm.me>2025-12-03 09:48:00 -0500
commitda2ae5f98aadc5f5bd3498854db9efd75fa1b6ab (patch)
tree061a0d13998f91210db13f1e99dd012ce4b05ca2 /pkgs/custom-neovim/config/lua/plugins/fzf.lua
parentdf154e4918a635e1c7052d332d25324773e13847 (diff)
neovim: many changes
Diffstat (limited to 'pkgs/custom-neovim/config/lua/plugins/fzf.lua')
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/fzf.lua22
1 files changed, 13 insertions, 9 deletions
diff --git a/pkgs/custom-neovim/config/lua/plugins/fzf.lua b/pkgs/custom-neovim/config/lua/plugins/fzf.lua
index 1c1b9aa..e8987a9 100644
--- a/pkgs/custom-neovim/config/lua/plugins/fzf.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/fzf.lua
@@ -11,14 +11,20 @@ return {
require("fzf-lua").register_ui_select()
+ local multiline_string_to_table = function (input_str)
+ local lines = {}
+ for line in input_str:gmatch("[^\r\n]+") do
+ table.insert(lines, line)
+ end
+ return lines
+ end
+
Custom_pickers = {}
Custom_pickers.fzf_dir_cd = function()
local dirs = {}
- for name, type in vim.fs.dir("./", {depth = 100}) do
- if type == "directory" then
- table.insert(dirs, name)
- end
+ for i, name in ipairs(multiline_string_to_table(vim.fn.system("fd -t d"))) do
+ table.insert(dirs, name)
end
require("fzf-lua").fzf_exec( dirs, {
@@ -36,10 +42,8 @@ return {
Custom_pickers.fzf_dir_tcd = function()
local dirs = {}
- for name, type in vim.fs.dir("./", {depth = 100}) do
- if type == "directory" then
- table.insert(dirs, name)
- end
+ for i, name in ipairs(multiline_string_to_table(vim.fn.system("fd -t d"))) do
+ table.insert(dirs, name)
end
require("fzf-lua").fzf_exec( dirs, {
@@ -54,5 +58,5 @@ return {
}
})
end
- end,
+ end
}