local user_config = require('cosmic.core.user') return { 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', }, }, config = function() require('cosmic.plugins.telescope.config') end, init = function() -- normal mappings require('cosmic.plugins.telescope.mappings').init() user_config.lsp.add_on_attach_mapping(function(client, bufnr) local map = require('cosmic.utils').map local function buf_map(mode, lhs, rhs) map(mode, lhs, rhs, { buffer = bufnr, }) end buf_map('n', 'gd', '<cmd>Telescope lsp_definitions<cr>') buf_map('n', 'gi', '<cmd>Telescope lsp_implementations<cr>') buf_map('n', 'gt', '<cmd>Telescope lsp_type_definitions<cr>') buf_map('n', 'gr', '<cmd>Telescope lsp_references<cr>') buf_map('n', '<leader>ge', '<cmd>Telescope diagnostics bufnr=0<cr>') buf_map('n', '<leader>wd', '<cmd>Telescope diagnostics<cr>') end) end, cmd = { 'Telescope' }, keys = { { '<leader>ff', '<cmd>lua require("cosmic.plugins.telescope.mappings").project_files()<cr>', desc = 'Project find files', }, }, enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'telescope'), }