feat(lang) - improve java extension, fixes #1984

This commit is contained in:
Andreas Gerlach 2023-12-18 14:15:55 +01:00 committed by Andreas Gerlach
parent 879e29504d
commit 665d18e59f
No known key found for this signature in database
GPG key ID: 4DE630969786BD19

View file

@ -35,6 +35,10 @@ return {
{ {
"williamboman/mason.nvim", "williamboman/mason.nvim",
opts = function(_, opts) opts = function(_, opts)
opts.registries = {
"github:nvim-java/mason-registry",
"github:mason-org/mason-registry",
}
opts.ensure_installed = opts.ensure_installed or {} opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "java-test", "java-debug-adapter" }) vim.list_extend(opts.ensure_installed, { "java-test", "java-debug-adapter" })
end, end,
@ -202,7 +206,12 @@ return {
-- Java Test require Java debugger to work -- Java Test require Java debugger to work
if opts.test and mason_registry.is_installed("java-test") then if opts.test and mason_registry.is_installed("java-test") then
-- custom keymaps for Java test runner (not yet compatible with neotest) -- custom keymaps for Java debug test runner (not yet compatible with neotest)
wk.register({
["<leader>td"] = { require("jdtls.dap").test_nearest_method, "Debug Nearest (Java)" },
}, { mode = "n", buffer = args.buf })
-- custom keymaps if no neotest is there
if not Util.has("neotest") then
wk.register({ wk.register({
["<leader>t"] = { name = "+test" }, ["<leader>t"] = { name = "+test" },
["<leader>tt"] = { require("jdtls.dap").test_class, "Run All Test" }, ["<leader>tt"] = { require("jdtls.dap").test_class, "Run All Test" },
@ -211,6 +220,7 @@ return {
}, { mode = "n", buffer = args.buf }) }, { mode = "n", buffer = args.buf })
end end
end end
end
-- User can set additional keymaps in opts.on_attach -- User can set additional keymaps in opts.on_attach
if opts.on_attach then if opts.on_attach then
@ -224,4 +234,18 @@ return {
attach_jdtls() attach_jdtls()
end, end,
}, },
{
"nvim-neotest/neotest",
optional = true,
dependencies = {
"rcasia/neotest-java",
},
opts = {
adapters = {
["neotest-java"] = {},
},
},
},
} }