1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/telescope.lua

71 lines
2 KiB
Lua

local M = {
'nvim-telescope/telescope.nvim',
dependencies = {
'nvim-lua/plenary.nvim',
{
'nvim-telescope/telescope-fzf-native.nvim',
build =
'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build',
},
},
cmd = { 'Telescope' },
keys = {
{ '<Space>b', [[<Cmd>Telescope buffers<CR>]], desc = 'Buffers' },
{ '<Space>ff', [[<Cmd>Telescope find_files<CR>]], desc = 'Search file' },
{ '<Space>fg', [[<Cmd>Telescope live_grep<CR>]], desc = 'Grep through files' },
{ '<Space>Ta', [[<Cmd>Telescope<CR>]], desc = 'Telescope all' },
{ '<Space>Tg', [[<Cmd>Telescope grep_string<CR>]], desc = 'Telescope grep string' },
{ '<Space>Td', [[<Cmd>Telescope diagnostics<CR>]], desc = 'Telescope workspace diagnostics' },
{ '<Space>Tj', [[<Cmd>Telescope jumplist<CR>]], desc = 'Telescope jumplist' },
{ '<Space>TT', [[<Cmd>Telescope resume<CR>]], desc = 'Telescope resume' },
},
}
function M.config()
local telescope = require('telescope')
local actions = require('telescope.actions')
local layout_actions = require('telescope.actions.layout')
local opts = {
defaults = {
preview = {
hide_on_startup = true,
},
mappings = {
i = {
['<M-i>'] = layout_actions.toggle_preview,
},
n = {
['<M-i>'] = layout_actions.toggle_preview,
},
},
},
pickers = {
buffers = {
show_all_buffers = true,
sort_lastused = false,
sort_mru = true,
-- theme = "dropdown",
mappings = {
i = {
['<C-d>'] = actions.delete_buffer,
},
n = {
['<C-d>'] = actions.delete_buffer,
},
},
},
},
extensions = {
fzf = {},
},
}
telescope.setup(opts)
for ext, _ in pairs(opts.extensions) do
telescope.load_extension(ext)
end
end
return M