From 7986dd641d14677dc1f637b93c949f59b941447c Mon Sep 17 00:00:00 2001 From: DarthMooMancer <107283522+DarthMooMancer@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:22:48 -0400 Subject: [PATCH] Html.lua is simpler and just makes files --- lua/Polydev/html.lua | 97 ++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 63 deletions(-) diff --git a/lua/Polydev/html.lua b/lua/Polydev/html.lua index 315dc2e..cd990dd 100644 --- a/lua/Polydev/html.lua +++ b/lua/Polydev/html.lua @@ -1,29 +1,13 @@ local M = {} -M.java_build = nil -M.java_run = nil +M.html_build = nil +M.html_run = nil M.config = { - project_root = "~/Projects/Java", - keybinds = { - [""] = "CloseTerminal", - ["pb"] = "JavaBuild", - ["pr"] = "JavaRun", - }, + project_root = "~/Projects/Html", } function M.setup(opts) M.config = vim.tbl_deep_extend("force", M.config, opts or {}) - - for key, command in pairs(M.config.keybinds) do - if command == "JavaBuild" then M.java_build = key end - if command == "JavaRun" then M.java_run = key end - end - - vim.keymap.set("n", M.java_build, ":JavaBuild", { silent = true }) - vim.keymap.set("n", M.java_run, ":JavaRun", { silent = true }) - - vim.api.nvim_create_user_command("JavaBuild", M.build, {}) - vim.api.nvim_create_user_command("JavaRun", M.run, {}) end local function write_file(path, content) @@ -38,59 +22,46 @@ function M.create_project() vim.ui.input({ prompt = "Enter project name: " }, function(project_name) if not project_name or project_name == "" then return print("Project creation canceled.") end local project_root = vim.fn.expand(M.config.project_root) .. "/" .. project_name - for _, path in ipairs({ "/src", "/build" }) do vim.fn.mkdir(project_root .. path, "p") end - local main_java_content = [[ -public class Main { - public static void main(String[] args) { - System.out.println("Hello, World!"); - } -} + local main_html_content = [[ + + + +Page Title + + + +

My First Heading

+

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([[ + + + +Page Title + + - write_file(root_dir .. "/src/" .. class_name .. ".java", java_content) +

My First Heading

+

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