return { -- Mason (LSP server installer) { "mason-org/mason.nvim", config = function() require("mason").setup() end, }, -- Mason-LSPconfig (bridge Mason and nvim-lspconfig) { "mason-org/mason-lspconfig.nvim", config = function() require("mason-lspconfig").setup({ ensure_installed = { "pyright", -- Python "jsonls", -- JSON "yamlls", -- YAML "html", -- HTML "cssls", -- CSS "bashls", -- Bash "lua_ls", -- Lua }, automatic_enable = true, }) end, }, -- nvim-lspconfig { "neovim/nvim-lspconfig", config = function() -- Lua vim.lsp.config('lua_ls', { settings = { Lua = { runtime = { version = "LuaJIT" }, workspace = { library = vim.api.nvim_get_runtime_file("", true) }, }, }, }) -- Other languages vim.lsp.config('pyright', { settings = { python = { analysis = { typeCheckingMode = "basic", extraPaths = {}, -- Add extra import paths if needed }, }, }, }) vim.lsp.config('jsonls', {}) vim.lsp.config('yamlls', {}) vim.lsp.config('html', {}) vim.lsp.config('cssls', {}) vim.lsp.config('bashls', {}) -- Enable servers vim.lsp.enable('lua_ls') vim.lsp.enable('pyright') vim.lsp.enable('jsonls') vim.lsp.enable('yamlls') vim.lsp.enable('html') vim.lsp.enable('cssls') vim.lsp.enable('bashls') end, }, }