aboutsummaryrefslogtreecommitdiffstats
path: root/lua
Commit message (Collapse)AuthorAgeFilesLines
* fix(installer): update cwd after uv_fs_rename() was successful (#2033)HEADmainWilliam Boman2025-11-141-8/+8
| | | | Also moves to fs.sync calls over fs.async to avoid unnecessary async coroutine overhead.
* fix(installer): attempt to recover from known fs error while finalizing ↵Sam-Briney2025-11-142-1/+14
| | | | | installation on some file systems (#1933) Co-authored-by: William Boman <william@redwill.se>
* chore(main): release 2.1.0 (#1996)v2.1.0stablewilliambotman[bot]2025-10-011-3/+3
|
* fix(spawn): always expand executable path on Windows (#2021)William Boman2025-09-301-6/+19
| | | | | | | | This fixes some issues with the logic for expanding paths on Windows. If a process is spawned with a custom `PATH` (either via the `env` or `env_raw` arg) we still expand the path manually but with a temporarily modified `vim.env.PATH`. Fixes #2009.
* feat(compiler): make `supported_platforms` a universal source field (#2002)William Boman2025-08-075-63/+45
| | | | | | Previously this field had to be handled separately in each source type. This backwards-compatible change makes `supported_platforms` a universal top-level field on the `source:` object, meaning it'll be parsed for each source type.
* fix(pypi): add support for "compatible release" (~=) PEP440 expressions (#2000)William Boman2025-08-011-6/+14
|
* fix(ui): only set border to none if `'winborder'` doesn't exist (#1984)Sebastian Lyng Johansen2025-07-281-6/+2
|
* fix(process): close check handles (#1995)Mirek Długosz2025-07-282-0/+2
|
* chore(main): release 2.0.1 (#1921)v2.0.1williambotman[bot]2025-07-251-2/+2
|
* fix(spawn): fix locating exepath on Windows systems using a Unix `'shell'` ↵William Boman2025-07-251-1/+16
| | | | | (#1991) Fixes #1961.
* fix(fetch): add busybox wget support (#1829)Fredrik Foss-Indrehus2025-05-242-8/+25
| | | Co-authored-by: William Boman <william@redwill.se>
* fix(pypi): pass --no-user flag (#1958)William Boman2025-05-191-0/+1
| | | Fixes #1937.
* fix(registry): ensure there's no duplicate registry entries (#1957)William Boman2025-05-195-4/+67
|
* fix(spawn): fix calling vim.fn when inside fast event loop on Windows (#1950)William Boman2025-05-151-0/+1
|
* docs: update references to mason-org/mason.nvim (#1925)William Boman2025-05-066-7/+7
|
* v2.0.0v2.0.0William Boman2025-05-061-1/+1
|
* feat: associate package instances with registry source and record it in receiptWilliam Boman2025-05-069-19/+77
|
* refactor(registry): change lua registries to not instantiate Package themselvesWilliam Boman2025-05-023-23/+36
| | | | | | | | Instead of having Lua registries instantiate package instances themselves we now do it in the installer of Lua registry sources. This aligns the behaviour of the Lua registry protocol with the other registry protocols.
* feat(ui): display purl informationWilliam Boman2025-04-223-0/+16
| | | | First step towards surfacing more package source information.
* feat(ui): support 'winborder'William Boman2025-04-213-3/+15
|
* feat(ui): display current version in headerWilliam Boman2025-04-211-0/+3
|
* fix(ui): fix setting outdated package stateWilliam Boman2025-03-281-4/+2
|
* fix(registry): fix registry.is_installed()William Boman2025-03-241-2/+2
|
* refactor(command): use callback in Package:install() when running ↵William Boman2025-03-032-53/+46
| | | | :MasonInstall in headless mode
* v2.0.0-rc.2v2.0.0-rc.2William Boman2025-03-031-1/+1
|
* refactor(registry)!: add events "update:success", "update:start", ↵William Boman2025-03-035-70/+92
| | | | "update:progress" and "update:failed"
* fix(ui): fix initializing stateWilliam Boman2025-03-032-16/+29
|
* fix(uninstaller): only unlink if recipt is foundWilliam Boman2025-03-031-1/+2
|
* refactor(registry): parallelize registry installationWilliam Boman2025-03-035-31/+74
|
* refactor(registry): refactor registry initializationWilliam Boman2025-03-0310-306/+300
|
* fix(spawn): expand executable paths on Windows before passing to uv_spawn ↵William Boman2025-02-222-25/+14
| | | | | | (#1885) This fixes issues on Windows where uv_spawn fails to locate certain types of executables in PATH.
* style: fix stylua and selene errorsWilliam Boman2025-02-202-2/+1
|
* v2.0.0-rc.1v2.0.0-rc.1William Boman2025-02-191-3/+3
|
* chore!: update required Neovim version to 0.10.0William Boman2025-02-191-3/+3
|
* feat(context): add ctx:await()William Boman2025-02-191-0/+6
|
* chore: remove unnecessary vim.schedule and nvim_err_writelnWilliam Boman2025-02-191-4/+1
|
* refactor: turn StdioSink into a proper classWilliam Boman2025-02-1919-119/+159
|
* feat(context): add ctx:fetch()William Boman2025-02-191-0/+12
|
* feat(ui): display latest version for uninstalled packagesWilliam Boman2025-02-191-0/+3
|
* fix(expr): also interpolate table keysWilliam Boman2025-02-191-0/+3
|
* refactor!: change Package APIWilliam Boman2025-02-1928-519/+848
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the following public APIs: **(_breaking_) Events on the `Package` class** The `uninstall:success` event on the `Package` class now receives an `InstallReceipt` as argument, instead of an `InstallHandle`. This receipt is an in-memory representation of what was uninstalled. There's also a new `uninstall:failed` event for situations where uninstallation for some reason fails. Note: this also applies to the registry events (i.e. `package:uninstall:success` and `package:uninstall:failed`). --- **(_breaking_) `Package:uninstall()` is now asynchronous and receives two new arguments, similarly to `Package:install()`** While package uninstallations remain synchronous under the hood, the public API has been changed from synchronous -> asynchronous. Users of this method are recommended to provide a callback in situations where code needs to execute after uninstallation fully completes. --- **(_breaking_) `Package:get_install_path()` has been removed. --- **`Package:install()` now takes an optional callback** This callback allows consumers to be informed whether installation was successful or not without having to go through a different, low-level, API. See below for a comparison between the old and new APIs: ```lua -- before local handle = pkg:install() handle:once("closed", function () -- ... end) -- after pkg:install({}, function (success, result) -- ... end) ```
* fix(pypi): remove -U flag and fix log messageWilliam Boman2025-02-191-2/+1
|
* fix(async): also check async context termination immediately after suspendingWilliam Boman2025-02-192-2/+5
|
* refactor: standardize constructors and improve inheritance constructionWilliam Boman2025-02-1924-141/+206
|
* fix(location): use correct registry pathWilliam Boman2025-02-191-1/+1
|
* feat(linker): use relative targets for symlinks (#1525)William Boman2025-02-192-24/+11
| | | | Closes #1156.
* feat(path): add relative(from, to)William Boman2025-02-191-1/+32
|
* refactor(path): use InstallLocation to produce paths, remove static path methodsWilliam Boman2025-02-198-70/+75
|
* refactor(installer): move initializations to InstallContext constructorWilliam Boman2025-02-195-29/+26
|
* refactor: add InstallLocation.global()William Boman2025-02-192-1/+6
|