1
0
Fork 0
dotfiles/nvim/lua/plugins/jdtls.lua

83 lines
2.6 KiB
Lua

return {
"mfussenegger/nvim-jdtls",
dependencies = {
"williamboman/mason.nvim"
},
ft = "java",
config = function()
local jdtlsConfig = {
cmd = {'jdtls'},
on_attach = function(client, bufnr)
require('jdtls').setup_dap({hotcodereplace = 'auto'})
require('jdtls.dap').setup_dap_main_class_configs()
end,
root_dir = vim.fs.dirname(vim.fs.find({'gradlew', '.git', 'mvnw'}, { upward = true })[1]),
init_options = {
bundles = {
vim.fn.expand("$MASON/share/java-debug-adapter/com.microsoft.java.debug.core.jar"),
vim.fn.expand("$MASON/share/java-debug-adapter/com.microsoft.java.debug.plugin.jar"),
},
},
java = {
autobuild = {
enabled = true
},
debug = {
settings = {
hotCodeReplace = 'auto'
},
},
},
settings = {
java = {
autobuild = {
enabled = true
},
debug = {
settings = {
hotCodeReplace = 'auto'
},
},
saveActions = {
organizeImports = true
},
signatureHelp = {
enabled = false,
description = {
enabled = false
},
},
format = {
enable = true,
settings = {
url = "/home/oliver/Dokumente/Gallery Systems/Products/GS Eclipse Formatter Java.xml"
},
},
},
},
}
local dap = require('dap')
dap.configurations.java = {{
type = 'java',
request = 'attach',
name = 'Debug (Attach) port 5005',
hostName = '127.0.0.1',
port = 5005,
},{
type = 'java',
request = 'attach',
name = 'Debug (Attach) port 5006',
hostName = '127.0.0.1',
port = 5006,
},{
type = 'java',
request = 'attach',
name = 'Debug (Attach) port 5105',
hostName = '127.0.0.1',
port = 5105,
}}
require('jdtls').start_or_attach(jdtlsConfig)
end,
}