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

68 lines
1.9 KiB
Lua

local M = {
'nvim-telescope/telescope.nvim',
dependencies = {
'nvim-lua/popup.nvim',
'nvim-lua/plenary.nvim',
'nvim-telescope/telescope-ui-select.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'
}
},
keys = {
{'<Space>b', [[<Cmd>Telescope buffers<CR>]], { noremap = true, silent = true }},
{'<Space>f', [[<Cmd>Telescope fd<CR>]], { noremap = true, silent = true }},
{'<Space>T', [[<Cmd>Telescope<CR>]], { noremap = true, silent = true }},
}
}
function M.config()
local telescope = require('telescope')
telescope.setup {
defaults = {
preview = {
hide_on_startup = true
},
},
pickers = {
buffers = {
show_all_buffers = true,
sort_lastused = false,
sort_mru = true,
-- theme = "dropdown",
mappings = {
i = { ['<c-d>'] = 'delete_buffer', },
n = { ['<c-d>'] = 'delete_buffer', }
}
}
},
extensions = {
['ui-select'] = {
require('telescope.themes').get_dropdown {}
}
}
}
telescope.load_extension('fzf')
telescope.load_extension('ui-select')
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