return { { "neovim/nvim-lspconfig", lazy = false, config = function() local capabilities = vim.lsp.protocol.make_client_capabilities() vim.lsp.config.lua_ls = { capabilities = capabilities, settings = { Lua = { runtime = { version = "LuaJIT", }, diagnostics = { globals = { "vim" }, }, workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME .. "/lua", vim.fn.stdpath("config") .. "/lua", }, }, telemetry = { enable = false, }, }, }, } vim.lsp.config.bashls = { capabilities = capabilities, filetypes = { "sh", "bash", "zsh" }, } vim.lsp.config.clangd = { capabilities = capabilities, } vim.lsp.config.ts_ls = { capabilities = capabilities, settings = { typescript = { inlayHints = { includeInlayParameterNameHints = "all", includeInlayVariableTypeHints = true, includeInlayFunctionLikeReturnTypeHints = true, }, }, javascript = { inlayHints = { includeInlayParameterNameHints = "all", }, }, }, } vim.lsp.config.pyright = { capabilities = capabilities, settings = { python = { analysis = { typeCheckingMode = "basic", -- oder "strict" für strenger autoSearchPaths = true, useLibraryCodeForTypes = true, }, }, }, } vim.lsp.enable({ "bashls", -- npm install -g bash-language-server, pkg install hs-ShellCheck "clangd", -- pkg install llvm "lua_ls", -- pkg install lua-language-server "ts_ls", -- npm install -g typescript typescript-language-server "pyright", -- npm install -g pyright, brew install pyright }) end, }, }