Making creating new files universal instead of language specific so easier to make files

This commit is contained in:
DarthMooMancer
2025-04-11 10:55:06 -04:00
parent 25217444f3
commit d54395bfe3
8 changed files with 112 additions and 29 deletions
+16
View File
@@ -3,9 +3,11 @@ local M = {}
M.loaded_languages = {}
M.java = require("Polydev.java")
M.c = require("Polydev.c")
M.cpp = require("Polydev.cpp")
M.lua = require("Polydev.lua")
M.python = require("Polydev.python")
M.rust = require("Polydev.rust")
M.html = require("Polydev.html")
function M.load_language_module(lang)
if M.loaded_languages[lang] then return true end
@@ -31,9 +33,23 @@ function M.create_project()
end)
end
function M.create_new_file()
vim.ui.input({ prompt = "Enter language for new file: " }, function(lang)
if not lang or lang == "" then return print("File creation canceled.") end
if M.load_language_module(lang) and M.loaded_languages[lang].create_new_file then
M.loaded_languages[lang].create_new_file()
else
print("Error: No File creation method for " .. lang)
end
end)
end
function M.setup()
vim.api.nvim_create_user_command("NewProject", M.create_project, {})
vim.api.nvim_create_user_command("NewFile", M.create_new_file, {})
vim.keymap.set("n", "<leader>np", ":NewProject<CR>", { silent = true })
vim.keymap.set("n", "<leader>nf", ":NewFile<CR>", { silent = true })
vim.api.nvim_create_autocmd("FileType", {
pattern = "*",
callback = function()