properly load all plugins to lua package path

This commit is contained in:
Harrison DiAmbrosio 2026-03-03 00:09:40 -05:00
parent 87259f96cb
commit 12fa725505
8 changed files with 56 additions and 94 deletions

View file

View file

@ -1,5 +1,4 @@
local env_conf = os.getenv("XDG_CONFIG_HOME")
if not env_conf then
env_conf = os.getenv("HOME")
if not env_conf then
@ -8,13 +7,31 @@ if not env_conf then
env_conf = mez.fs.joinpath(env_conf, ".config")
end
local env_data = os.getenv("XDG_DATA_HOME")
if not env_data then
env_data = os.getenv("HOME")
if not env_data then
error("Couldn't determine potential data directory is $HOME set?")
end
env_data = mez.fs.joinpath(env_data, ".local", "share", "mez")
end
-- allow plugin loading in .local/share/mez/plugins
local plugin_dir = mez.fs.joinpath(env_data, "plugins")
for _, plugin_name in ipairs(mez.fs.subdirs(plugin_dir)) do
package.path = package.path .. ";" .. mez.fs.joinpath(plugin_dir, plugin_name, "lua", "?", "init.lua")
package.path = package.path .. ";" .. mez.fs.joinpath(plugin_dir, plugin_name, "lua", "?.lua")
end
-- allow loading files in the runtime directory
package.path = package.path..";"..mez.fs.joinpath(mez.path.runtime, "?.lua")
package.path = package.path .. ";" .. mez.fs.joinpath(mez.path.runtime, "?.lua")
mez.inspect = require("inspect").inspect
mez.path.base_config = mez.fs.joinpath(mez.path.runtime, "master.lua")
mez.path.base_config = mez.fs.joinpath(mez.path.runtime, "base_config.lua")
if not mez.path.config then
mez.path.config = mez.fs.joinpath(env_conf, "mez", "init.lua")
package.path = package.path..";"..mez.fs.joinpath(env_conf, "mez", "lua", "?.lua")
package.path = package.path .. ";" .. mez.fs.joinpath(env_conf, "mez", "lua", "?.lua")
end

View file

@ -1,37 +0,0 @@
---@module 'master'
---@class Master
---@field default_config MasterConfig
---@field config MasterConfig
---@field state MasterState
---@field builtins MasterBuiltins
local M = {};
M.builtins = {
}
---@class MasterConfig
---@field master_ratio number
---@field tag_count number
local default_config = {
master_ratio = 0.5,
tag_count = 5,
}
---@class Tag
---@field floating number[]
---@field stack number[]
---@class MasterState
---@field tag_id number
M.state = {
tag_id = 1
}
M.setup = function(config)
end
return M

View file

@ -1,51 +0,0 @@
local test = function()
-- View tests
mez.api.spawn("alacritty")
local focused_view = mez.view.get_focused_id()
print(focused_view)
for i = 0,4 do
mez.api.spawn("alacritty")
end
local view_ids = mez.view.get_all_ids()
for _, id in ipairs(view_ids) do
print(id)
mez.view.close(id)
end
print(mez.view.get_title(0))
print(mez.view.get_title(focused_view))
print(mez.view.get_app_id(0))
print(mez.view.get_app_id(focused_view))
mez.view.set_position(0, 100, 100)
mez.view.set_position(focused_view, 200, 200)
mez.view.set_size(0, 100, 100)
mez.view.set_size(focused_view, 200, 200)
-- Output tests
local focused_output = mez.output.get_focused_id()
print(focused_output)
local output_ids = mez.output.get_all_ids()
for _, id in ipairs(output_ids) do
print(id)
end
print(mez.output.get_name(0))
print(mez.output.get_name(focused_output))
print(mez.output.get_description(0))
print(mez.output.get_description(focused_output))
print(mez.output.get_model(0))
print(mez.output.get_model(focused_output))
print(mez.output.get_make(0))
print(mez.output.get_make(focused_output))
print(mez.output.get_serial(0))
print(mez.output.get_serial(focused_output))
print(mez.output.get_rate(0))
print(mez.output.get_rate(focused_output))
local res = mez.output.get_resolution(0)
print(res.width .. ", " .. res.height)
end