diff options
| author | William Boman <william@redwill.se> | 2023-03-02 02:11:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-02 02:11:07 +0100 |
| commit | 156584e98a620b069220c9be5f3dc5c975e6f4d8 (patch) | |
| tree | f55def01330d0484538e4379eb2ff75c00b2696c | |
| parent | feat(pydocstyle): toml support (#1040) (diff) | |
| download | mason-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.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 {} |
