1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/telescope.lua
2023-02-07 01:08:32 +01:00

85 lines
2.6 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,
}
}
}
},
extensions = {
['ui-select'] = {
require('telescope.themes').get_dropdown {}
}
}
}
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