62 lines
1.7 KiB
Lua
62 lines
1.7 KiB
Lua
return {
|
||
"nvim-telescope/telescope.nvim",
|
||
tag = "0.1.8",
|
||
dependencies = {
|
||
"nvim-lua/plenary.nvim",
|
||
"nvim-telescope/telescope-symbols.nvim",
|
||
"nvim-telescope/telescope-ui-select.nvim",
|
||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||
},
|
||
config = function()
|
||
require("telescope").setup({
|
||
defaults = {
|
||
file_ignore_patterns = { ".git", ".venv", ".node_modules" },
|
||
},
|
||
extensions = {
|
||
file_browser = {
|
||
theme = "ivy",
|
||
hijack_netrw = true,
|
||
},
|
||
["ui-select"] = {
|
||
require("telescope.themes").get_dropdown({
|
||
-- even more opts
|
||
}),
|
||
},
|
||
},
|
||
})
|
||
local builtin = require("telescope.builtin")
|
||
|
||
vim.keymap.set("n", "<leader>ff", function()
|
||
builtin.find_files({ hidden = true })
|
||
end, { desc = "Telescope find files (current file dir)" })
|
||
|
||
vim.keymap.set("n", "<space>fn", function()
|
||
local full_path = vim.api.nvim_buf_get_name(0)
|
||
local dir = vim.fn.fnamemodify(full_path, ":h")
|
||
require("telescope").extensions.file_browser.file_browser({
|
||
path = dir,
|
||
})
|
||
end)
|
||
|
||
vim.keymap.set("n", "<space>fs", function() -- select sessions
|
||
MiniSessions.select()
|
||
end)
|
||
|
||
vim.keymap.set("n", "<space>fd", function() -- select sessions
|
||
MiniSessions.select("delete")
|
||
end)
|
||
|
||
vim.keymap.set("n", "<leader>fg", function()
|
||
builtin.live_grep()
|
||
end, { desc = "Telescope live grep (current file dir)" })
|
||
|
||
vim.keymap.set("n", "<leader>fb", function()
|
||
builtin.buffers({ cwd = vim.fn.expand("%:p:h") }) -- buffers don’t need cwd, but harmless
|
||
end, { desc = "Telescope buffers" })
|
||
|
||
require("telescope").load_extension("file_browser")
|
||
require("telescope").load_extension("ui-select")
|
||
require("telescope").load_extension("nerdy")
|
||
end,
|
||
}
|