diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2023-06-04 00:45:51 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2023-06-04 00:45:51 -0600 |
commit | 87354704f0eefa327f676d38fc3fdf9eb2bcfb9c (patch) | |
tree | 27bd474be970f391296998d622330480c2fc83a0 /lua/plugins/lspconfig.lua | |
parent | 015726ddf1ccec5ebc12c5189bc6a711ac2c0367 (diff) |
rename lspconfig
Diffstat (limited to 'lua/plugins/lspconfig.lua')
-rw-r--r-- | lua/plugins/lspconfig.lua | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index 1657cec..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,82 +0,0 @@ -local servers = { - -- clangd = {}, - -- gopls = {}, - -- pyright = {}, - -- rust_analyzer = {}, - -- tsserver = {}, - - lua_ls = { - Lua = { - workspace = { checkThirdParty = false }, - telemetry = { enable = false }, - }, - }, -} - -return { - 'neovim/nvim-lspconfig', - dependencies = { - 'hrsh7th/cmp-nvim-lsp', - -- Required for the keybinds - 'nvim-telescope/telescope.nvim', - { 'williamboman/mason.nvim', config = true }, - 'williamboman/mason-lspconfig.nvim', - { 'j-hui/fidget.nvim', opts = {} }, - { 'folke/neodev.nvim', opts = {} }, - }, - config = function() - -- nvim-cmp supports additional completion capabilities, so broadcast that to servers - local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) - - local lspconfig = require('lspconfig') - local mason_lspconfig = require('mason-lspconfig') - mason_lspconfig.ensure_installed = vim.tbl_keys(servers) - - local on_attach = function(_, bufnr) - local nmap = function(keys, func, desc) - if desc then - desc = 'LSP: ' .. desc - end - vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) - end - - nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') - nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction') - - nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') - nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation') - nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition') - nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') - nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') - - -- See `:help K` for why this keymap - nmap('K', vim.lsp.buf.hover, 'Hover Documentation') - nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation') - - -- Lesser used LSP functionality - nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') - nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder') - nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder') - nmap('<leader>wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, '[W]orkspace [L]ist Folders') - - -- Create a command `:Format` local to the LSP buffer - vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_) - vim.lsp.buf.format() - end, { desc = 'Format current buffer with LSP' }) - end - - mason_lspconfig.setup_handlers { - function(server_name) - lspconfig[server_name].setup { - capabilities = capabilities, - on_attach = on_attach, - settings = servers[server_name], - } - end, - } - end, -} |