update
This commit is contained in:
@@ -9,86 +9,31 @@ return {
|
||||
-- Mason LSP Config.
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
config = function()
|
||||
require("lspconfig").gdscript.setup({})
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"clangd",
|
||||
"neocmake",
|
||||
"jdtls",
|
||||
"ts_ls",
|
||||
"lua_ls",
|
||||
"pyright",
|
||||
"omnisharp",
|
||||
"html",
|
||||
"cssls",
|
||||
"glsl_analyzer",
|
||||
"biome",
|
||||
"somesass_ls",
|
||||
"ocamllsp",
|
||||
"clangd", "neocmake", "jdtls", "ts_ls", "lua_ls",
|
||||
"pyright", "omnisharp", "html", "cssls", "glsl_analyzer",
|
||||
"biome", "somesass_ls", "ocamllsp", "rust_analyzer",
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- NeoVim LSP Config.
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
-- Autocomplete and snippets stuff.
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
-- Setting up languages.
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.clangd.setup({ capabilities = capabilities })
|
||||
lspconfig.jdtls.setup({ capabilities = capabilities })
|
||||
lspconfig.lua_ls.setup({ capabilities = capabilities })
|
||||
lspconfig.ts_ls.setup({ capabilities = capabilities })
|
||||
lspconfig.pyright.setup({ capabilities = capabilities })
|
||||
lspconfig.html.setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = { "html", "jinja.html" },
|
||||
})
|
||||
lspconfig.cssls.setup({ capabilities = capabilities })
|
||||
lspconfig.glsl_analyzer.setup({ capabilities = capabilities })
|
||||
lspconfig.somesass_ls.setup({ capabilities = capabilities })
|
||||
|
||||
-- Specific stuff for CMake.
|
||||
local cmakeCapabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
cmakeCapabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
lspconfig.neocmake.setup({ capabilities = cmakeCapabilities })
|
||||
|
||||
-- Specific stuff to C# omnisharp
|
||||
lspconfig.omnisharp.setup({
|
||||
capabilities = capabilities,
|
||||
cmd = { "dotnet", vim.fn.stdpath("data") .. "/mason/packages/omnisharp/libexec/OmniSharp.dll" },
|
||||
enable_import_completion = true,
|
||||
organize_imports_on_format = true,
|
||||
enable_roslyn_analyzers = true,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd() -- Current Working Directory
|
||||
require("mason-lspconfig").setup_handlers({
|
||||
function(server_name)
|
||||
if server_name == "ocamllsp" then
|
||||
require("lspconfig").ocamllsp.setup({
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities(),
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
})
|
||||
else
|
||||
require("lspconfig")[server_name].setup({
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities(),
|
||||
})
|
||||
end
|
||||
end,
|
||||
-- Settings stuff
|
||||
settings = {
|
||||
FormattingOptions = {
|
||||
EnableEditorConfigSupport = true,
|
||||
OrganizeImports = true,
|
||||
},
|
||||
MsBuild = {
|
||||
LoadProjectsOnDemand = false,
|
||||
},
|
||||
RoslynExtensionsOptions = {
|
||||
EnableAnalyzersSupport = true,
|
||||
EnableImportCompletion = true,
|
||||
AnalyzeOpenDocumentsOnly = false,
|
||||
},
|
||||
Sdk = {
|
||||
IncludePrereleases = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
-- Setting up keybinds.
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
|
||||
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user