48 lines
1.6 KiB
Lua
48 lines
1.6 KiB
Lua
local utils = require("utils")
|
|
return {
|
|
"nvim-telescope/telescope.nvim",
|
|
tag = "0.1.8",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-tree/nvim-web-devicons",
|
|
"folke/todo-comments.nvim",
|
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
|
},
|
|
config = function()
|
|
local telescope = require("telescope")
|
|
local trouble_telescope = require("trouble.sources.telescope")
|
|
local actions = require("telescope.actions")
|
|
local open_with_trouble = trouble_telescope.open
|
|
|
|
telescope.setup({
|
|
defaults = {
|
|
layout_strategy = "center",
|
|
layout_config = { width = 120 },
|
|
mappings = {
|
|
i = {
|
|
["<C-k>"] = actions.move_selection_previous,
|
|
["<C-j>"] = actions.move_selection_next,
|
|
["<PageUp>"] = actions.preview_scrolling_up,
|
|
["<PageDown>"] = actions.preview_scrolling_down,
|
|
["<C-t>"] = open_with_trouble,
|
|
},
|
|
},
|
|
},
|
|
})
|
|
telescope.load_extension("fzf")
|
|
|
|
-- Set keymaps to load pickers
|
|
local builtin = require("telescope.builtin")
|
|
utils.nmapkey("<leader>ff", function()
|
|
builtin.find_files(require("telescope.themes").get_dropdown({}))
|
|
end, "Telescope [f]ind [f]iles in cwd")
|
|
utils.nmapkey("<leader>fr", function()
|
|
builtin.oldfiles({ cwd_only = true })
|
|
end, "Telescope [f]ind [r]ecent files")
|
|
utils.nmapkey("<leader>fs", builtin.live_grep, "Telescope [f]ind [s]tring in cwd")
|
|
utils.nmapkey("<leader>fc", builtin.grep_string, "Telescope [f]ind string under [c]ursor in cwd")
|
|
utils.nmapkey("<leader>ft", "<cmd>TodoTelescope<cr>", "Telescope [f]ind [t]odos")
|
|
utils.nmapkey("<leader>fb", builtin.buffers, "Telescope [f]ind [b]uffer")
|
|
end,
|
|
}
|