-- 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", "", "! mvn clean install -DskipTests", { desc = "Build Java" }) vim.keymap.set("n", "", "! mvn spotless:apply", { desc = "Format Java" }) end end, })