Changed form catpuccin theme, not a vscode soy dev

This commit is contained in:
2026-03-24 19:50:51 +02:00
parent dabb2e0e7e
commit 734d4a095a
7 changed files with 140 additions and 42 deletions
+83 -8
View File
@@ -10,7 +10,7 @@ return {
dependencies = { "williamboman/mason.nvim" },
opts = {
-- installs these via Mason (so you don't have to)
ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer", "omnisharp" },
ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer", "omnisharp", "jdtls", "julials", "pyright", "zls" },
-- optional: automatically call vim.lsp.enable() for installed servers
automatic_enable = true,
@@ -73,10 +73,13 @@ return {
vim.lsp.config("clangd", {
capabilities = capabilities,
cmd = { "clangd", "--background-index" },
-- nice-to-haves:
-- "--clang-tidy", -- enable clang-tidy diagnostics (can be noisy)
-- "--completion-style=detailed",
cmd = {
"clangd",
"--background-index",
"--query-driver=/usr/bin/g++,/usr/bin/gcc",
"--completion-style=detailed",
"--header-insertion=iwyu",
},
})
vim.lsp.config("rust_analyzer", {
capabilities = capabilities,
@@ -89,9 +92,25 @@ return {
},
},
})
-- If you did NOT set mason-lspconfig automatic_enable=true,
-- enable explicitly:
-- vim.lsp.enable({ "gopls", "ts_ls", "lua_ls" })
vim.lsp.config("julials", {
capabilities = capabilities,
})
vim.lsp.config("pyright", {
capabilities = capabilities,
})
vim.lsp.config("zls", {
capabilities = capabilities,
settings = {
zls = {
enable_snippets = true,
enable_semantic_tokens = true,
enable_inlay_hints = true,
},
},
})
end,
},
@@ -143,6 +162,59 @@ return {
end,
},
-- Java LSP (requires special handling)
{
"mfussenegger/nvim-jdtls",
ft = "java",
config = function()
local jdtls_path = vim.fn.stdpath("data") .. "/mason/packages/jdtls"
local launcher = vim.fn.glob(jdtls_path .. "/plugins/org.eclipse.equinox.launcher_*.jar")
local config_dir = jdtls_path .. "/config_linux"
vim.api.nvim_create_autocmd("FileType", {
pattern = "java",
callback = function()
local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t")
local workspace_dir = vim.fn.stdpath("data") .. "/jdtls-workspace/" .. project_name
local config = {
cmd = {
"java",
"-Declipse.application=org.eclipse.jdt.ls.core.id1",
"-Dosgi.bundles.defaultStartLevel=4",
"-Declipse.product=org.eclipse.jdt.ls.core.product",
"-Xmx1g",
"--add-modules=ALL-SYSTEM",
"--add-opens", "java.base/java.util=ALL-UNNAMED",
"--add-opens", "java.base/java.lang=ALL-UNNAMED",
"-jar", launcher,
"-configuration", config_dir,
"-data", workspace_dir,
},
root_dir = require("jdtls.setup").find_root({ ".git", "mvnw", "gradlew", "pom.xml", "build.gradle" }),
settings = {
java = {
signatureHelp = { enabled = true },
completion = {
favoriteStaticMembers = {},
filteredTypes = { "com.sun.*", "io.micrometer.shaded.*" },
},
sources = {
organizeImports = { starThreshold = 9999, staticStarThreshold = 9999 },
},
},
},
init_options = {
bundles = {},
},
}
require("jdtls").start_or_attach(config)
end,
})
end,
},
-- Formatting (format-on-save)
{
"stevearc/conform.nvim",
@@ -163,6 +235,9 @@ return {
cpp = { "clang-format" },
rust = { "rustfmt" },
cs = { "csharpier" },
java = { "google-java-format" },
python = { "black" },
zig = { "zigfmt" },
},
})