Update to documentation, update with merging run and build commands, cleaned up and organized the project manager
This commit is contained in:
@@ -10,28 +10,27 @@ function M.setup(opts)
|
||||
M.keybinds[command] = key
|
||||
end
|
||||
|
||||
vim.api.nvim_create_user_command("JavaBuild", M.build, {})
|
||||
vim.api.nvim_create_user_command("JavaRun", M.run, {})
|
||||
|
||||
if M.keybinds.JavaRun then
|
||||
vim.keymap.set("n", M.keybinds.JavaRun, ":JavaRun<CR>", { silent = true })
|
||||
end
|
||||
if M.keybinds.JavaBuild then
|
||||
vim.keymap.set("n", M.keybinds.JavaBuild, ":JavaBuild<CR>", { silent = true })
|
||||
end
|
||||
end
|
||||
|
||||
function M.build()
|
||||
function M.run()
|
||||
local project_root = vim.fn.expand("%:p:h"):match("(.*)/src")
|
||||
if not project_root then return print("Error: Could not detect project root directory.") end
|
||||
if not project_root then return print("Error: Must be inside the 'src' directory.") end
|
||||
local out_dir = project_root .. "/build"
|
||||
|
||||
vim.fn.mkdir(out_dir, "p")
|
||||
if not utils.is_dir(out_dir) then
|
||||
vim.fn.mkdir(out_dir, "p")
|
||||
end
|
||||
|
||||
local compile_command = string.format("javac -d %s %s/*.java", out_dir, project_root .. "/src")
|
||||
local compile_status = vim.fn.system(compile_command)
|
||||
|
||||
if vim.v.shell_error == 0 then
|
||||
print("Compilation successful!")
|
||||
utils.open_float_terminal("java -cp " .. project_root .. "/build" .. " Main")
|
||||
else
|
||||
print("Error during compilation. Opening terminal for details...")
|
||||
local term_buf = utils.open_float_terminal(compile_command)
|
||||
@@ -41,10 +40,4 @@ function M.build()
|
||||
end
|
||||
end
|
||||
|
||||
function M.run()
|
||||
local project_root = vim.fn.expand("%:p:h"):match("(.*)/src")
|
||||
if not project_root then return print("Error: Must be inside the 'src' directory.") end
|
||||
utils.open_float_terminal("java -cp " .. project_root .. "/build" .. " Main")
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user