1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
return {
{
"neovim/nvim-lspconfig",
dependencies = { "saghen/blink.cmp" },
lazy = false,
config = function()
local capabilities = require("blink.cmp").get_lsp_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" },
}
vim.lsp.config.clangd = {
capabilities = capabilities,
cmd = {
"clangd",
"--background-index",
"--clang-tidy",
"--completion-style=detailed",
"--header-insertion=iwyu",
"--header-insertion-decorators",
"--pch-storage=memory",
"--all-scopes-completion",
"--inlay-hints",
"--function-arg-placeholders",
"--fallback-style=llvm",
},
}
vim.lsp.config.prismals = {
capabilities = capabilities,
}
vim.lsp.config.jsonls = {
capabilities = capabilities,
}
vim.lsp.config.html = {
capabilities = capabilities,
}
vim.lsp.config.vtsls = {
capabilities = capabilities,
settings = {
typescript = {
updateImportsOnFileMove = { enabled = "always" },
suggest = {
completeFunctionCalls = true,
},
inlayHints = {
enumMemberValues = { enabled = true },
functionLikeReturnTypes = { enabled = true },
parameterNames = { enabled = "all" },
parameterTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
variableTypes = { enabled = false },
},
},
javascript = {
suggest = {
completeFunctionCalls = true,
},
inlayHints = {
parameterNames = { enabled = "all" },
},
},
},
}
vim.lsp.config.basedpyright = {
capabilities = capabilities,
settings = {
basedpyright = {
analysis = {
diagnosticMode = "openFilesOnly",
inlayHints = {
callArgumentNames = true,
},
typeCheckingMode = "basic", -- oder "strict" für strenger
autoSearchPaths = true,
useLibraryCodeForTypes = true,
},
},
},
}
vim.lsp.enable({
"basedpyright", -- npm install -g basedpyright, brew install basedpyright
"bashls", -- npm install -g bash-language-server, pkg install hs-ShellCheck
"clangd", -- pkg install llvm
"html", -- npm install -g vscode-langservers-extracted
"jsonls", -- npm install -g vscode-langservers-extracted
"lua_ls", -- pkg install lua-language-server, brew install lua-language-server
"prismals", -- npm install -g @prisma/language-server
"vtsls", -- npm install -g @vtsls/language-server
})
end,
},
}
|