80 lines
2.5 KiB
Lua
80 lines
2.5 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>T', [[<Cmd>Telescope<CR>]], desc = 'Telescope' },
|
|
{ '<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>Tr', [[<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')
|
|
|
|
telescope.setup {
|
|
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,
|
|
}
|
|
}
|
|
}
|
|
},
|
|
}
|
|
|
|
telescope.load_extension('fzf')
|
|
|
|
local augr = vim.api.nvim_create_augroup('Telescope', {})
|
|
vim.api.nvim_create_autocmd('FileType', {
|
|
group = augr,
|
|
pattern = 'TelescopePrompt',
|
|
callback = function()
|
|
vim.api.nvim_exec([[
|
|
imap <buffer> <C-b> <Cmd>Telescope buffers initial_mode=insert<CR>
|
|
nmap <buffer> <C-b> <Cmd>Telescope buffers initial_mode=insert<CR>
|
|
imap <buffer> <C-f> <Cmd>Telescope fd initial_mode=insert<CR>
|
|
nmap <buffer> <C-f> <Cmd>Telescope fd initial_mode=insert<CR>
|
|
imap <buffer> <C-a> <Cmd>Telescope builtin initial_mode=insert<CR>
|
|
nmap <buffer> <C-a> <Cmd>Telescope builtin initial_mode=insert<CR>
|
|
]], false)
|
|
end
|
|
})
|
|
|
|
end
|
|
|
|
return M
|