neovim/lua/plugins/telescope.lua

60 lines
1.8 KiB
Lua
Raw Normal View History

local telescope = require('telescope')
local actions = require('telescope.actions')
2023-08-03 02:49:25 +02:00
local builtin = require('telescope.builtin')
2024-09-17 16:46:38 +02:00
local telescope_last = 0
function telescope_resume()
if telescope_last == 0 then
telescope_last = 1
builtin.live_grep()
else
builtin.resume()
end
end
telescope.setup {
defaults = {
2024-02-25 22:45:46 +01:00
sorting_strategy = "ascending",
live_grep_arguments = { 'rg',
'--hidden', '--no-ignore', '--color=never',
'--with-filename', '--line-number',
'--column', '--smart-case', '--no-heading',
},
},
pickers = {
live_grep = {
mappings = {
i = { ["<c-f>"] = actions.to_fuzzy_refine },
2024-09-17 16:46:38 +02:00
n = { ["<c-f>"] = telescope_resume },
},
},
2024-09-17 16:46:38 +02:00
find_files = {
cache_picker = false,
},
git_files = {
cache_picker = false,
},
},
}
2024-09-17 16:46:38 +02:00
-- Snippets can be useful.
2024-06-10 13:12:26 +02:00
vim.keymap.set('n', '<leader>ss', telescope.extensions.luasnip.luasnip, {})
2024-09-17 16:46:38 +02:00
-- Fuzzy * files, symbols, buffers, help, etc.
vim.keymap.set('n', '<leader>fa', builtin.find_files) -- f[ind]a[ll]
vim.keymap.set('n', '<leader>fb', builtin.buffers)
vim.keymap.set('n', '<leader>fd', builtin.diagnostics)
vim.keymap.set('n', '<leader>ff', builtin.git_files)
vim.keymap.set('n', '<leader>fh', builtin.help_tags)
vim.keymap.set('n', '<leader>fs', builtin.lsp_dynamic_workspace_symbols)
-- Grep (the only one).
vim.keymap.set('n', '<leader>gg', builtin.live_grep)
2024-06-10 13:12:26 +02:00
2024-09-17 16:46:38 +02:00
-- LSP navigation.
vim.keymap.set('n', '<leader>gd', builtin.lsp_definitions)
vim.keymap.set('n', '<leader>gr', builtin.lsp_references)
vim.keymap.set('n', '<leader>gi', builtin.lsp_implementations)
vim.keymap.set('n', '<leader>ci', builtin.lsp_incoming_calls)
vim.keymap.set('n', '<leader>co', builtin.lsp_outgoing_calls)