Major Update: v1.2.0

rework: languages are in one files called languages making it easier to manage all languages and removes headache
feat: added ui in a725faaac8
This commit is contained in:
DarthMooMancer
2025-05-15 14:38:07 -04:00
parent 46263ca5e0
commit 0ac0267888
9 changed files with 186 additions and 197 deletions
+12 -4
View File
@@ -63,11 +63,18 @@ local loaded_languages = {}
function M.load_language_module(lang, opts)
if loaded_languages[lang] then return true end
local ok, mod = pcall(require, "Polydev.languages." .. lang)
if not ok or type(mod.setup) ~= "function" then return false end
local ok, mod = pcall(require, "Polydev.languages")
if not ok or type(mod.languages) ~= "table" then
return false
end
mod.setup(opts and opts[lang] or {})
loaded_languages[lang] = mod
local lang_mod = mod.languages[lang]
if type(lang_mod) ~= "table" or type(lang_mod.setup) ~= "function" then
return false
end
lang_mod:setup(opts and opts[lang] or {})
loaded_languages[lang] = lang_mod
return true
end
@@ -308,6 +315,7 @@ function M.manager(project_root)
if not lang or lang == "" then return print("Project creation canceled") end
opts = vim.tbl_deep_extend("force", {}, require("Polydev.configs").get(lang), opts or {})
if M.load_language_module(lang) and templates.projects[lang] and templates.projects[lang].run then
-- if templates.projects[lang] and templates.projects[lang].run then
popup:unmount()
vim.schedule(function()
vim.ui.input({ prompt = "Enter project name: " }, function(project_name)