LSP attached to buffer but no Sonar warnings (4.3.1.77786)
Version of Sonar server I am using is 4.3.1.77786
I have configured Sonar and used absolute paths to eliminate any issues related to the $MASON environment variable. I am not using a Node.js version manager (such as nvm or fnm); Node.js v22 is installed system-wide. Despite this, no information is being displayed.
This is my sonar config:
local filetypes = { "dockerfile", "java", "python", "php", "javascript", "typescript", "vue" }
return {
{
"https://gitlab.com/schrieveslaach/sonarlint.nvim",
ft = filetypes,
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
require("sonarlint").setup {
server = {
cmd = {
"/home/hassan/.local/share/nvim/mason/packages/sonarlint-language-server/sonarlint-language-server",
"-stdio",
"-analyzers",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/csharpenterprise.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarcsharp.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonargo.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarhtml.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonariac.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarjava.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarjavasymbolicexecution.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarjs.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarlintomnisharp.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarphp.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarpython.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonartext.jar",
"/home/hassan/.local/share/nvim/mason/share/sonarlint-analyzers/sonarxml.jar",
},
capabilities = capabilities,
},
filetypes = filetypes,
}
end,
},
}
This is my ftplugin/java.lua config:
local jdtls = require "jdtls"
local mason_path = vim.fn.stdpath "data" .. "/mason"
local jdtls_path = mason_path .. "/packages/jdtls"
local lombok_path = jdtls_path .. "/lombok.jar"
-- Spring Boot + Java extensions
local bundles = {
vim.fn.glob(
mason_path
.. "/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin-*.jar",
true
),
}
vim.list_extend(
bundles,
vim.split(vim.fn.glob(mason_path .. "/packages/vscode-java-test/server/*.jar", true), "\n")
)
-- Root detection (Spring Boot friendly)
local root_markers = { "mvnw", "gradlew", "pom.xml", "build.gradle", ".git" }
local root_dir = require("jdtls.setup").find_root(root_markers)
if not root_dir then
return
end
-- Workspace per project
local workspace_dir = vim.fn.stdpath "data"
.. "/jdtls-workspace/"
.. vim.fn.fnamemodify(root_dir, ":p:h:t")
-- On attach function (maps actions after LSP attaches to the buffer)
local function on_attach(_, bufnr)
local map = vim.keymap.set
local function opts(desc)
return { buffer = bufnr, desc = "LSP " .. desc }
end
-- Code actions
map({ "n", "v" }, "<leader>ca", function()
vim.lsp.buf.code_action()
end, opts "Code Action")
-- Other actions
map("n", "<leader>rn", vim.lsp.buf.rename, opts "Rename symbol")
map("n", "<leader>di", vim.diagnostic.open_float, opts "Open diagnostic")
map("n", "<leader>sh", vim.lsp.buf.signature_help, opts "Show signature")
end
local config = {
cmd = {
jdtls_path .. "/bin/jdtls",
"--jvm-arg=-javaagent:" .. lombok_path,
"-data",
workspace_dir,
},
root_dir = root_dir,
settings = {
java = {
configuration = {
updateBuildConfiguration = "interactive",
},
maven = {
downloadSources = true,
},
implementationsCodeLens = { enabled = true },
referencesCodeLens = { enabled = true },
format = {
enabled = true,
},
},
},
init_options = {
bundles = bundles,
},
on_attach = on_attach
}
jdtls.start_or_attach(config)
Edited by Hassan Ait Nacer
