25 lines
764 B
Lua
25 lines
764 B
Lua
local root_markers = { '.git', 'mvnw', 'gradlew' }
|
|
local home = os.getenv('HOME')
|
|
local root_dir = require('jdtls.setup').find_root(root_markers)
|
|
local workspace_dir = home .. '/.local/share/eclipse/' .. vim.fn.fnamemodify(root_dir, ':p:h:t')
|
|
|
|
local config = {
|
|
cmd = {
|
|
'jdtls',
|
|
'-data', workspace_dir
|
|
},
|
|
root_dir = require('jdtls.setup').find_root(root_markers),
|
|
settings = {
|
|
java = {},
|
|
},
|
|
init_options = {
|
|
bundles = {
|
|
require('mason-core.path').package_prefix('java-debug-adapter')..'/extension/server/com.microsoft.java.debug.plugin-0.46.0.jar',
|
|
},
|
|
},
|
|
on_attach = function(client, buf)
|
|
local jdtls = require('jdtls')
|
|
jdtls.setup_dap({ hotcodereplace = 'auto' })
|
|
end,
|
|
}
|
|
require('jdtls').start_or_attach(config)
|