feat: new java mappings format for which-key v3

This commit is contained in:
Lawrence Ho 2024-07-13 06:48:53 +00:00
parent 9391ff9fa3
commit 37bca12c7f

View file

@ -190,30 +190,40 @@ return {
local client = vim.lsp.get_client_by_id(args.data.client_id) local client = vim.lsp.get_client_by_id(args.data.client_id)
if client and client.name == "jdtls" then if client and client.name == "jdtls" then
local wk = require("which-key") local wk = require("which-key")
wk.register({ wk.add({
["<leader>cx"] = { name = "+extract" }, {
["<leader>cxv"] = { require("jdtls").extract_variable_all, "Extract Variable" }, mode = "n",
["<leader>cxc"] = { require("jdtls").extract_constant, "Extract Constant" }, buffer = args.buf,
["gs"] = { require("jdtls").super_implementation, "Goto Super" }, { "<leader>cx", name = "+extract" },
["gS"] = { require("jdtls.tests").goto_subjects, "Goto Subjects" }, { "<leader>cxv", require("jdtls").extract_variable_all, desc = "Extract Variable" },
["<leader>co"] = { require("jdtls").organize_imports, "Organize Imports" }, { "<leader>cxc", require("jdtls").extract_constant, desc = "Extract Constant" },
}, { mode = "n", buffer = args.buf }) { "gs", require("jdtls").super_implementation, desc = "Goto Super" },
wk.register({ { "gS", require("jdtls.tests").goto_subjects, desc = "Goto Subjects" },
["<leader>c"] = { name = "+code" }, { "<leader>co", require("jdtls").organize_imports, desc = "Organize Imports" },
["<leader>cx"] = { name = "+extract" }, }
["<leader>cxm"] = { })
[[<ESC><CMD>lua require('jdtls').extract_method(true)<CR>]], wk.add({
"Extract Method", {
}, mode = "v",
["<leader>cxv"] = { buffer = args.buf,
[[<ESC><CMD>lua require('jdtls').extract_variable_all(true)<CR>]], { "<leader>cx", name = "+extract" },
"Extract Variable", {
}, "<leader>cxm",
["<leader>cxc"] = { [[<ESC><CMD>lua require('jdtls').extract_method(true)<CR>]],
[[<ESC><CMD>lua require('jdtls').extract_constant(true)<CR>]], desc = "Extract Method",
"Extract Constant", },
}, {
}, { mode = "v", buffer = args.buf }) "<leader>cxv",
[[<ESC><CMD>lua require('jdtls').extract_variable_all(true)<CR>]],
desc = "Extract Variable",
},
{
"<leader>cxc",
[[<ESC><CMD>lua require('jdtls').extract_constant(true)<CR>]],
desc = "Extract Constant",
},
}
})
if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then
-- custom init for Java debugger -- custom init for Java debugger
@ -223,26 +233,32 @@ 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 test runner (not yet compatible with neotest)
wk.register({ wk.add({
["<leader>t"] = { name = "+test" }, {
["<leader>tt"] = { mode = "n",
function() buffer = args.buf,
require("jdtls.dap").test_class({ { "<leader>t", name = "+test" },
config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, {
}) "<leader>tt",
end, function()
"Run All Test", require("jdtls.dap").test_class({
}, config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil,
["<leader>tr"] = { })
function() end,
require("jdtls.dap").test_nearest_method({ desc = "Run All Test",
config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, },
}) {
end, "<leader>tr",
"Run Nearest Test", function()
}, require("jdtls.dap").test_nearest_method({
["<leader>tT"] = { require("jdtls.dap").pick_test, "Run Test" }, config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil,
}, { mode = "n", buffer = args.buf }) })
end,
desc = "Run Nearest Test",
},
{ "<leader>tT", require("jdtls.dap").pick_test, desc = "Run Test" },
}
})
end end
end end