1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/telescope.lua
2023-01-14 17:11:23 +01:00

84 lines
2.4 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'
}
},
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' },
}
}
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,
}
}
}
},
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