27 lines
829 B
Lua
27 lines
829 B
Lua
-- Function to check if pom.xml exists in current or parent directories
|
|
local function is_maven_project()
|
|
local uv = vim.loop
|
|
local dir = uv.fs_realpath(vim.fn.expand("%:p:h"))
|
|
while dir do
|
|
if uv.fs_stat(dir .. "/pom.xml") then
|
|
return true
|
|
end
|
|
local parent_dir = uv.fs_realpath(dir .. "/..")
|
|
if parent_dir == dir then
|
|
break
|
|
end
|
|
dir = parent_dir
|
|
end
|
|
return false
|
|
end
|
|
|
|
-- Create autocommand on FileType java or whatever filetype you want
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = "java",
|
|
callback = function()
|
|
if is_maven_project() then
|
|
vim.keymap.set("n", "<leader><F5>", "<CMD>! mvn clean install -DskipTests<CR>", { desc = "Build Java" })
|
|
vim.keymap.set("n", "<leader><F7>", "<CMD>! mvn spotless:apply<CR>", { desc = "Format Java" })
|
|
end
|
|
end,
|
|
})
|