aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason.lua')
-rw-r--r--lua/mason.lua30
1 files changed, 30 insertions, 0 deletions
diff --git a/lua/mason.lua b/lua/mason.lua
new file mode 100644
index 00000000..82da0570
--- /dev/null
+++ b/lua/mason.lua
@@ -0,0 +1,30 @@
+local settings = require "mason.settings"
+local path = require "mason.core.path"
+local platform = require "mason.core.platform"
+
+local M = {}
+
+---@param config MasonSettings | nil
+function M.setup(config)
+ if config then
+ settings.set(config)
+ end
+
+ vim.env.PATH = path.bin_prefix() .. platform.path_sep .. vim.env.PATH
+
+ require "mason.command-api"
+end
+
+---@param pkg_path string
+local function lazy_require(pkg_path)
+ return setmetatable({}, {
+ __index = function(_, k)
+ return require(pkg_path)[k]
+ end,
+ __call = function(_, ...)
+ return require(pkg_path)(...)
+ end,
+ })
+end
+
+return M