feat: enhance plugin loading mechanism
When lazy.nvim is not installed, plugins will attempt to load by iterating through the directory and requiring each file
This commit is contained in:
+8
-19
@@ -15,40 +15,29 @@
|
|||||||
-- │ PLUGINS DATA │
|
-- │ PLUGINS DATA │
|
||||||
-- ╰─────────────────────────────────────────────────────────╯
|
-- ╰─────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
local M = {}
|
local plugins = {}
|
||||||
|
|
||||||
-- Check if lazy.nvim is installed
|
-- Check if lazy.nvim is installed
|
||||||
if pcall(require, "lazy") then
|
if pcall(require, "lazy") then
|
||||||
-- If lazy.nvim is installed, return an empty table and do nothing
|
-- If lazy.nvim is installed, return an empty table and do nothing
|
||||||
return M
|
return plugins
|
||||||
else
|
else
|
||||||
-- If lazy.nvim is not installed and vim.g.ignore_no_lazy is not set, display a warning
|
-- If lazy.nvim is not installed and vim.g.ignore_no_lazy is not set, display a warning
|
||||||
if not vim.g.ignore_no_lazy then
|
if not vim.g.ignore_no_lazy then
|
||||||
require("data").func.notify("lazy.nvim is not installed", "WARNING")
|
require("data").func.notify("lazy.nvim is not installed", "WARNING")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Function to iterate over files in the directory and load them dynamically
|
-- Try to require plugins manually if we are not using lazy.nvim
|
||||||
local function read_plugins_dir()
|
local function read_plugins_dir()
|
||||||
-- Get the root path for the plugins directory
|
-- Getting the root path for the current module directory
|
||||||
local dir_path =
|
local dir_path =
|
||||||
vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":h")
|
vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":h")
|
||||||
|
-- Load modules from the data directory
|
||||||
-- Open the directory
|
require("data").load_modules_from_dir(dir_path, "plugins")
|
||||||
local files = vim.fn.readdir(dir_path)
|
|
||||||
|
|
||||||
for _, file in ipairs(files) do
|
|
||||||
-- Skip init.lua
|
|
||||||
if file ~= "init.lua" and file:match(".*%.lua$") then
|
|
||||||
-- Get the module name without the .lua extension
|
|
||||||
local plugin_name = file:sub(1, -5)
|
|
||||||
-- Load the plugin configuration file
|
|
||||||
require("plugins." .. plugin_name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Read the directory and load plugin configuration files when lazy.nvim is not installed
|
-- Read the directory and load any additional modules
|
||||||
read_plugins_dir()
|
read_plugins_dir()
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return plugins
|
||||||
|
|||||||
Reference in New Issue
Block a user