aboutsummaryrefslogtreecommitdiffstats
path: root/lua
Commit message (Collapse)AuthorAgeFilesLines
...
* refactor(providers): inline GitHub API calls in the client provider (#1518)William Boman2025-02-162-47/+33
|
* feat!: upgrade minimum required neovim version to 0.9.0 (#1517)William Boman2025-02-161-3/+3
|
* fix(installer): schedule back to main loop before executing installer ↵William Boman2025-02-161-0/+1
| | | | functions (#1516)
* refactor!: consolidate Lua registry sources and the Package API (#1498)William Boman2025-02-1611-270/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **This removes the following APIs:** - `Package:check_new_version()`. Instead use the new `Package:get_latest_version()`. **This has a breaking change in the following APIs:** - `Package:get_installed_version()` now no longer takes a callback but instead returns the installed version or `nil` if not installed. <details> <summary>To handle these breaking changes in plugins, leverage the `mason.version` module, for example:</summary> ```lua local mason_version = require("mason.version") local registry = require("mason-registry") local pkg = registry.get_package("rust-analyzer") if mason_version.MAJOR_VERSION < 2 then -- before pkg:check_new_version(function (success, new_version) -- … end) pkg:get_installed_version(function (success, installed_version) -- … end) else -- after local new_version = pkg:get_latest_version() local installed_version = pkg:get_installed_version() fi ``` </details> --- <details> <summary>This change also introduces breaking changes for Lua registry sources, by consolidating the package schema with the registry.</summary> The following is an example of a package defined in a Lua registry, following the new schema: ```lua local Pkg = require("mason-core.package") return Pkg.new { schema = "registry+v1", name = "ripgrep", description = "ripgrep recursively searches directories for a regex pattern while respecting your gitignore.", homepage = "https://github.com/BurntSushi/ripgrep", licenses = { Pkg.License.MIT }, languages = {}, categories = {}, source = { id = "pkg:mason/ripgrep@13.0.0", ---@param ctx InstallContext ---@param purl Purl install = function(ctx, purl) -- Arbitrary installation code. end, }, bin = { rg = "./bin/rg", }, } ``` </details>
* refactor!: remove old managers (#1497)William Boman2025-02-1620-1809/+15
|
* chore(main): release 1.11.0 (#1658)v1.11.0v1.xwilliambotman[bot]2025-02-151-2/+2
|
* feat(ui): add backdrop (#1759)Hung Vu2025-02-153-18/+56
| | | | | | | | | | | | | | | Adds a backdrop for the Mason window. Can be disabled by setting the `ui.backdrop` option: ```lua require("mason").setup { ui = { backdrop = 100 } } ``` The backdrop is not displayed if `'termguicolors'` is not enabled or if Neovim is transparent. Co-authored-by: William Boman <william@redwill.se>
* fix(fs): fall back to `fs_stat` if entry type is not returned by ↵Nicolas Thierry2025-02-151-0/+7
| | | | | `fs_readdir` (#1783) Co-authored-by: William Boman <william@redwill.se>
* fix: avoid calling vim.fn in fast event (#1878)William Boman2025-02-152-3/+5
|
* fix(ui): reposition window if border is different than "none" (#1859)Pedro Gabriel de Morais Ribeiro2025-02-151-5/+7
| | | Co-authored-by: William Boman <william@redwill.se>
* fix: replace deprecated calls to vim.validate (#1876)Mark Sommers2025-02-151-20/+23
| | | Co-authored-by: William Boman <william@redwill.se>
* fix(ui): fix rendering JSON schemas (#1757)William Boman2024-07-161-2/+4
| | | Fixes #1741.
* fix(pypi): prefer stock python3 if it satisfies version requirement (#1736)Inhyuk Cho2024-07-091-2/+4
|
* fix(pypi): allow access to system site packages by default (#1584)Silico_Biomancer2024-07-071-1/+2
| | | Co-authored-by: William Boman <william@redwill.se>
* feat(pypi): improve resolving suitable python version (#1725)William Boman2024-06-017-17/+170
|
* fix(pypi): exclude python3.12 from candidate list (#1722)William Boman2024-05-311-1/+0
| | | Support for python3.12 among pypi packages is pretty poor, this limits the upper bound to python3.11 instead.
* fix(registry): exhaust streaming parser when loading "file:" registries (#1708)William Boman2024-05-141-0/+9
|
* fix: avoid calling vim.fn.has inside fast event (#1705)William Boman2024-05-121-3/+1
| | | | When this module is lazily required inside functional/init.lua we may be inside a fast event, causing the module to fail to load due to the top-level call to vim.fn.has.
* chore(registry): clean up recent changes (#1704)William Boman2024-05-111-18/+14
|
* fix: fix usage of deprecated Neovim APIs (#1703)William Boman2024-05-117-7/+32
|
* perf(registry): significantly improve the "file:" protocol performance (#1702)William Boman2024-05-111-30/+66
| | | | | | | | | | Instead of spawning a separate yq process for each registry package, utilize multi-document parsing through a single process. This should have significant performance improvements on all platforms, but especially Windows, due to bottlenecks caused by AV software. IMPORTANT: Writing all package definitions as-is via stdin like this works because packages in the registry (at least the core registry) must start with a document header (---), effectively acting as a document separator.
* fix(health): support multidigit luarocks version numbers (#1648)Eris2024-03-211-1/+1
|
* chore(main): release 1.10.0 (#1605)v1.10.0williambotman[bot]2024-01-291-2/+2
|
* fix(pypi): fix variable shadowing (#1610)William Boman2024-01-291-1/+3
|
* feat(pypi): attempt more python3 candidates (#1608)William Boman2024-01-251-12/+59
|
* fix(golang): fix fetching package versions for packages containing subpath ↵William Boman2024-01-221-1/+1
| | | | specifier (#1607)
* feat: don't use vim.g.python3_host_prog as a candidate for python (#1606)William Boman2024-01-213-28/+2
| | | | This is inconsistent with how other system dependencies are resolved and is not documented anywhere.
* fix(ui): don't indent empty lines (#1597)Will Lillis2024-01-211-9/+10
|
* chore(main): release 1.9.0 (#1586)v1.9.0williambotman[bot]2024-01-061-3/+3
|
* feat: add support for openvsx sources (#1589)William Boman2024-01-0617-143/+276
|
* fix(cargo): don't attempt to fetch versions when version targets commit SHA ↵William Boman2023-12-291-0/+7
| | | | (#1585)
* chore(main): release 1.8.3 (#1555)v1.8.3williambotman[bot]2023-11-081-2/+2
|
* fix(pypi): support MSYS2 virtual environments on Windows (#1547)William Boman2023-11-081-17/+26
|
* chore(main): release 1.8.2 (#1543)v1.8.2williambotman[bot]2023-10-311-2/+2
|
* fix(registry): fix parsing registry identifiers that contain ":" (#1542)William Boman2023-10-311-1/+12
| | | | This primarily fixes `file:` registry identifiers on Windows that may include a drive letter (e.g. `file:C:\Users\user\AppData\Local\nvim`).
* chore(main): release 1.8.1 (#1515)v1.8.1williambotman[bot]2023-10-101-2/+2
|
* fix(health): schedule vim.fn call (#1514)William Boman2023-10-101-0/+1
|
* chore(main): release 1.8.0 (#1469)v1.8.0williambotman[bot]2023-09-111-2/+2
|
* health: update requirement to npm >= 7 (#1480)William Boman2023-08-291-3/+4
|
* fix(registry): reset registries state when setting registries (#1474)William Boman2023-08-271-0/+1
| | | | This should only be called once (during mason.nvim setup), but this fixes potential duplicate registry registration in cases where it's called > 1 times.
* refactor(registry): colocate FileRegistrySource buffer management (#1473)William Boman2023-08-271-6/+4
|
* fix(registry): schedule vim.fn calls in FileRegistrySource (#1471)William Boman2023-08-271-0/+1
|
* feat(ui): add setting to toggle help view (#1468)William Boman2023-08-264-7/+40
| | | Closes #1435.
* chore(main): release 1.7.0 (#1455)v1.7.0williambotman[bot]2023-08-261-3/+3
|
* feat(registry): add file: source protocol (#1457)William Boman2023-08-265-41/+205
|
* chore: decrease log level (#1467)William Boman2023-08-251-1/+1
|
* fix(std): use gtar if available (#1433)3uryd1ce2023-08-192-2/+7
| | | Closes #1415.
* feat(cargo): support fetching versions for git crates hosted on github (#1459)William Boman2023-08-191-0/+14
|
* chore(async): add Channel (#1456)William Boman2023-08-171-2/+60
|
* fix(ui): properly reset new package version state (#1454)William Boman2023-08-171-0/+2
|