nvim/lua/user/java.lua
2026-07-12 20:10:04 +05:30

33 lines
794 B
Lua

local status_ok, jdtls = pcall(require, 'jdtls')
if not status_ok then
vim.notify("nvim-jdtls not found — run :PackerSync", vim.log.levels.WARN)
return
end
vim.api.nvim_create_autocmd("FileType", {
pattern = "java",
callback = function()
local root_dir = require('jdtls.setup').find_root({
'.git',
'mvnw',
'gradlew',
'pom.xml',
'build.gradle'
})
if root_dir == nil then return end
local lombok_path = vim.fn.expand("~/.local/share/nvim/mason/packages/jdtls/lombok.jar")
local config = {
cmd = {
"jdtls",
"--java-executable=/usr/lib/jvm/java-21-openjdk-amd64/bin/java",
"--jvm-arg=-javaagent:" .. lombok_path,
},
root_dir = root_dir,
}
jdtls.start_or_attach(config)
end,
})