diff options
| -rw-r--r-- | lua/mason/init.lua | 5 | ||||
| -rw-r--r-- | tests/mason/setup_spec.lua | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/lua/mason/init.lua b/lua/mason/init.lua index 36c269a7..f76756e0 100644 --- a/lua/mason/init.lua +++ b/lua/mason/init.lua @@ -18,6 +18,7 @@ function M.setup(config) if config then settings.set(config) end + vim.env.MASON = settings.current.install_root_dir if settings.current.PATH == "prepend" then vim.env.PATH = path.bin_prefix() .. platform.path_sep .. vim.env.PATH @@ -25,6 +26,10 @@ function M.setup(config) vim.env.PATH = vim.env.PATH .. platform.path_sep .. path.bin_prefix() end + if platform.is.unix then + vim.env.MANPATH = path.share_prefix "man" .. ":" .. (vim.env.MANPATH or "") + end + require "mason.api.command" setup_autocmds() require("mason-registry.sources").set_registries(settings.current.registries) diff --git a/tests/mason/setup_spec.lua b/tests/mason/setup_spec.lua index 07f3b671..7af1da53 100644 --- a/tests/mason/setup_spec.lua +++ b/tests/mason/setup_spec.lua @@ -1,10 +1,14 @@ local match = require "luassert.match" local mason = require "mason" local path = require "mason-core.path" +local settings = require "mason.settings" describe("mason setup", function() before_each(function() + vim.env.MASON = nil + vim.env.MANPATH = nil vim.env.PATH = "/usr/local/bin:/usr/bin" + settings.set(settings._DEFAULT_SETTINGS) end) it("should enhance the PATH environment", function() @@ -28,6 +32,24 @@ describe("mason setup", function() assert.equals(PATH, vim.env.PATH) end) + it("should set MASON env", function() + assert.is_nil(vim.env.MASON) + mason.setup() + assert.equals(vim.fn.expand "~/.local/share/nvim/mason", vim.env.MASON) + end) + + it("should set MANPATH env", function() + assert.is_nil(vim.env.MANPATH) + mason.setup() + assert.equals(vim.fn.expand "~/.local/share/nvim/mason/share/man:", vim.env.MANPATH) + end) + + it("should prepend MANPATH env", function() + vim.env.MANPATH = "/usr/share/man" + mason.setup() + assert.equals(vim.fn.expand "~/.local/share/nvim/mason/share/man:/usr/share/man", vim.env.MANPATH) + end) + it("should set up user commands", function() mason.setup() local user_commands = vim.api.nvim_get_commands {} |
