aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-03-02 02:11:07 +0100
committerGitHub <noreply@github.com>2023-03-02 02:11:07 +0100
commit156584e98a620b069220c9be5f3dc5c975e6f4d8 (patch)
treef55def01330d0484538e4379eb2ff75c00b2696c
parentfeat(pydocstyle): toml support (#1040) (diff)
downloadmason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar.gz
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar.bz2
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar.lz
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar.xz
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.tar.zst
mason-156584e98a620b069220c9be5f3dc5c975e6f4d8.zip
feat: set $MASON and $MANPATH (#1041)
-rw-r--r--lua/mason/init.lua5
-rw-r--r--tests/mason/setup_spec.lua22
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 {}