feat(nvim): add java-extended extra

This commit is contained in:
Sergio Laín 2024-01-03 16:12:17 +01:00
parent a32ac6ffcd
commit a0cc2c1621
No known key found for this signature in database
GPG key ID: 14C9B8080681777B
2 changed files with 92 additions and 2 deletions

View file

@ -88,4 +88,3 @@
}, },
"version": 2 "version": 2
} }

View file

@ -0,0 +1,91 @@
local Util = require("lazyvim.util")
return {
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "java" })
end,
},
{
"mfussenegger/nvim-dap",
optional = true,
dependencies = {
{
"williamboman/mason.nvim",
opts = function(_, opts)
opts.registries = {
"github:nvim-java/mason-registry",
"github:mason-org/mason-registry",
}
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "java-test", "java-debug-adapter" })
end,
},
},
},
{
"nvim-java/nvim-java",
lazy = true,
ft = "java",
dependencies = {
{ "nvim-java/lua-async-await" },
{ "nvim-java/nvim-java-core" },
{ "nvim-java/nvim-java-test" },
{ "nvim-java/nvim-java-dap" },
{
"neovim/nvim-lspconfig",
opts = {
servers = {
jdtls = {
keys = {
-- Workaround for the lack of a DAP strategy in neotest-java
{
"<leader>td",
function()
require("java").dap.config_dap()
require("java").test.debug_current_method()
end,
desc = "Debug Nearest (Java)",
},
},
},
},
},
},
{
"williamboman/mason-lspconfig.nvim",
opts = {
handlers = {
["jdtls"] = function()
require("java").setup({
java_test = {
enable = Util.has("nvim-dap"),
},
java_debug_adapter = {
enable = Util.has("nvim-dap"),
},
jdk = {
auto_install = false,
},
})
end,
},
},
},
},
},
{
"nvim-neotest/neotest",
optional = true,
dependencies = {
"rcasia/neotest-java",
},
opts = {
adapters = {
["neotest-java"] = {},
},
},
},
}