local telescope = require('telescope') local actions = require('telescope.actions') local builtin = require('telescope.builtin') local luasnip = require('luasnip') local lst = telescope.extensions.luasnip telescope.setup { defaults = { layout_strategy = "vertical", layout_config = { vertical = { prompt_position = "top", }, horizontal = { prompt_position = "bottom", }, }, sorting_strategy = "ascending", live_grep_arguments = { 'rg', '--hidden', '--no-ignore', '--color=never', '--with-filename', '--line-number', '--column', '--smart-case', '--no-heading', }, }, pickers = { live_grep = { layout_strategy = "horizontal", mappings = { i = { [""] = actions.to_fuzzy_refine }, }, }, find_files = { previewer = false, }, }, 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 }, } } vim.keymap.set('n', 'ff', builtin.find_files, {}) vim.keymap.set('n', 'fg', builtin.git_files, {}) vim.keymap.set('n', 'fs', telescope.extensions.luasnip.luasnip, {}) vim.keymap.set('n', 'gg', builtin.live_grep, {}) vim.keymap.set('n', 'bb', builtin.buffers, {}) vim.keymap.set('n', 'hh', builtin.help_tags, {}) vim.keymap.set('n', 'ss', builtin.lsp_dynamic_workspace_symbols, {}) vim.keymap.set('n', 'sd', builtin.lsp_document_symbols, {}) vim.keymap.set('n', 'dd', builtin.diagnostics, {}) vim.keymap.set('n', 'gd', builtin.lsp_definitions, {}) vim.keymap.set('n', 'gr', builtin.lsp_references, {}) vim.keymap.set('n', 'gi', builtin.lsp_implementations, {}) vim.keymap.set('n', 'ci', builtin.lsp_incoming_calls, {}) vim.keymap.set('n', 'co', builtin.lsp_outgoing_calls, {})