neovim-config/lua/plugins/telescope.lua
2023-09-02 19:07:06 +02:00

53 lines
1.9 KiB
Lua

return {
"nvim-telescope/telescope.nvim",
event = "BufReadPre",
dependencies = {
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
{ "nvim-telescope/telescope-ui-select.nvim" },
},
keys = {
{ "<C-M-o>", "<cmd>lua require('telescope.builtin').find_files()<cr>" },
{ "<C-M-p>", "<cmd>lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))<cr>" },
{ "<C-g>", "<cmd>lua require('telescope.builtin').live_grep()<cr>" },
{ "<C-f>", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>" },
},
opts = function()
local actions = require("telescope.actions")
local theme = require("telescope.themes")
return {
pickers = {
find_files = { hidden = true },
live_grep = {
additional_args = function(opts)
return { "--hidden" }
end,
},
},
defaults = {
mappings = { i = { ["<esc>"] = actions.close } },
},
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
},
["ui-select"] = {
theme.get_dropdown({
-- even more opts
}),
},
},
}
end,
config = function(_, opts)
local telescope = require("telescope")
telescope.setup(opts)
telescope.load_extension("fzf")
telescope.load_extension("ui-select")
end,
}