My first paragraph.
+ + + ]] - write_file(project_root .. "/src/Main.java", main_java_content) + write_file(project_root .. "index.html", main_html_content) end) end function M.create_new_file() - vim.ui.input({ prompt = "Enter class name: " }, function(class_name) - if not class_name or class_name == "" then return print("Class creation canceled.") end - local root_dir = vim.fn.expand("%:p:h"):match("(.*)/src") - if not root_dir then return print("Error: src directory not found.") end - local java_content = string.format([[ -public class %s { - // New File -} -]], class_name) + vim.ui.input({ prompt = "Enter page name: " }, function(page) + if not page or page == "" then return print("Class creation canceled.") end + local html_content = string.format([[ + + + +My first paragraph.
+ + + +]]) + + write_file("./" .. page .. ".html", html_content) end) end -function M.build() - 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 - local out_dir = project_root .. "/build" - - vim.fn.mkdir(out_dir, "p") - 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!") - else - print("Error during compilation. Opening terminal for details...") - local term_buf = M.open_float_terminal(compile_command) - vim.api.nvim_buf_set_option(term_buf, "modifiable", true) - vim.api.nvim_buf_set_lines(term_buf, 0, -1, false, vim.split(compile_status, "\n", { trimempty = true })) - vim.api.nvim_buf_set_option(term_buf, "modifiable", false) - 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 - M.open_float_terminal("java -cp " .. project_root .. "/build" .. " Main") -end - return M