2023-12-18 14:27:58 +01:00
local telescope = require ( ' telescope ' )
2024-01-03 00:15:20 +01:00
local actions = require ( ' telescope.actions ' )
2023-08-03 02:49:25 +02:00
local builtin = require ( ' telescope.builtin ' )
2024-03-20 01:12:42 +01:00
local luasnip = require ( ' luasnip ' )
local lst = telescope.extensions . luasnip
2023-12-18 14:27:58 +01:00
telescope.setup {
defaults = {
2024-02-25 22:45:46 +01:00
layout_strategy = " vertical " ,
layout_config = {
vertical = {
prompt_position = " top " ,
} ,
horizontal = {
prompt_position = " bottom " ,
} ,
} ,
sorting_strategy = " ascending " ,
2024-01-03 00:15:20 +01:00
live_grep_arguments = { ' rg ' ,
' --hidden ' , ' --no-ignore ' , ' --color=never ' ,
2023-12-18 14:27:58 +01:00
' --with-filename ' , ' --line-number ' ,
2024-01-03 00:15:20 +01:00
' --column ' , ' --smart-case ' , ' --no-heading ' ,
} ,
} ,
pickers = {
live_grep = {
2024-02-25 22:45:46 +01:00
layout_strategy = " horizontal " ,
2024-01-03 00:15:20 +01:00
mappings = {
i = { [ " <c-f> " ] = actions.to_fuzzy_refine } ,
} ,
2023-12-18 14:27:58 +01:00
} ,
2024-02-25 22:45:46 +01:00
find_files = {
previewer = false ,
} ,
2023-12-18 14:27:58 +01:00
} ,
2024-03-20 01:12:42 +01:00
extensions = {
luasnip = {
search = function ( entry )
return lst.filter_null ( entry.context . trigger ) .. " " ..
lst.filter_null ( entry.context . name ) .. " " ..
entry.ft .. " " ..
lst.filter_description ( entry.context . name , entry.context . description ) ..
lst.get_docstring ( luasnip , entry.ft , entry.context ) [ 1 ]
end
} ,
}
2023-12-18 14:27:58 +01:00
}
2024-01-03 00:15:20 +01:00
vim.keymap . set ( ' n ' , ' <leader>ff ' , builtin.find_files , { } )
vim.keymap . set ( ' n ' , ' <leader>fg ' , builtin.git_files , { } )
2024-03-20 01:12:42 +01:00
vim.keymap . set ( ' n ' , ' <leader>fs ' , telescope.extensions . luasnip.luasnip , { } )
2024-01-03 00:15:20 +01:00
vim.keymap . set ( ' n ' , ' <leader>gg ' , builtin.live_grep , { } )
vim.keymap . set ( ' n ' , ' <leader>bb ' , builtin.buffers , { } )
vim.keymap . set ( ' n ' , ' <leader>hh ' , builtin.help_tags , { } )
vim.keymap . set ( ' n ' , ' <leader>ss ' , builtin.lsp_dynamic_workspace_symbols , { } )
vim.keymap . set ( ' n ' , ' <leader>sd ' , builtin.lsp_document_symbols , { } )
vim.keymap . set ( ' n ' , ' <leader>dd ' , builtin.diagnostics , { } )
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 , { } )