return { 'neovim/nvim-lspconfig', dependencies = { 'williamboman/mason.nvim', 'williamboman/mason-lspconfig.nvim', 'neovim/nvim-lspconfig', 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-path', 'hrsh7th/cmp-cmdline', 'hrsh7th/nvim-cmp', 'folke/neodev.nvim', -- TODO: https://github.com/j-hui/fidget.nvim -- TODO: https://github.com/nvimtools/none-ls.nvim -- TODO: https://github.com/mfussenegger/nvim-dap -- TODO: https://github.com/rcarriga/nvim-dap-ui }, config = function() require('neodev').setup() require('mason').setup() require('mason-lspconfig').setup({ ensure_installed = { 'clangd', 'cmake', 'lua_ls', }, automatic_installation = false, handlers = { function(server_name) require('lspconfig')[server_name].setup({}) end, }, }) require('cmp').setup({ sources = { { name = 'nvim_lsp' }, -- TODO: snippets }, }) end, }