summaryrefslogtreecommitdiff
path: root/lua/plugins/lspconfig.lua
diff options
context:
space:
mode:
authorDavid Luevano Alvarado <david@luevano.xyz>2023-06-04 00:45:51 -0600
committerDavid Luevano Alvarado <david@luevano.xyz>2023-06-04 00:45:51 -0600
commit87354704f0eefa327f676d38fc3fdf9eb2bcfb9c (patch)
tree27bd474be970f391296998d622330480c2fc83a0 /lua/plugins/lspconfig.lua
parent015726ddf1ccec5ebc12c5189bc6a711ac2c0367 (diff)
rename lspconfig
Diffstat (limited to 'lua/plugins/lspconfig.lua')
-rw-r--r--lua/plugins/lspconfig.lua82
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,
-}