return { -- Java -- For checksums: https://github.com/mfussenegger/nvim-jdtls/discussions/249#discussioncomment-3159367 -- It's here first because it needs to have load before lspconfig apparently { "nvim-java/nvim-java", dependencies = { "neovim/nvim-lspconfig", }, config = function() require("java").setup() require("lspconfig").jdtls.setup({}) end }, -- -- https://github.com/williamboman/mason.nvim?tab=readme-ov-file#configuration for more information -- https://github.com/williamboman/mason-lspconfig.nvim?tab=readme-ov-file#setup for more info { "williamboman/mason.nvim", dependencies = { "williamboman/mason-lspconfig.nvim", "neovim/nvim-lspconfig", -- https://github.com/neovim/nvim-lspconfig for more information }, opts = function() require("mason").setup({ registries = { "github:nvim-java/mason-registry", "github:mason-org/mason-registry" } }) require("mason-lspconfig").setup({ ensure_installed = { "lua_ls", "pylsp", "clangd", "bashls", "ts_ls", "eslint", "cssls", "html", } }) local capabilities = require('cmp_nvim_lsp').default_capabilities() local lspconfig = require("lspconfig") -- LSP Servers lspconfig.lua_ls.setup { capabilities = capabilities } -- FOR bashls -- Make sure to install 'shellcheck', :MasonInstall shellcheck -- Make sure to install 'shfmt', :MasonInstall shfmt lspconfig.bashls.setup { capabilities = capabilities } lspconfig.pylsp.setup {} lspconfig.clangd.setup{ cmd = { "clangd", "--background-index", "--clang-tidy", "--log=verbose", "--query-driver=/usr/bin/c++", "--suggest-missing-includes", "--all-scopes-completion", "--completion-style=detailed" }, init_options = { fallback_flags = { "-std=c++17" }, }, capabilities = capabilities } lspconfig.ts_ls.setup { capabilities = capabilities, init_options = { preferences = { disableSuggestions = true } } } lspconfig.eslint.setup { capabilities = capabilities } lspconfig.html.setup { capabilities = capabilities, } lspconfig.cssls.setup { capabilities = capabilities } end }, -- Javascript and/or Typescript { "typescript-language-server/typescript-language-server" } }