| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
| |
Fixes #1398.
|
| | |
|
| |
|
| |
This should give better insights into the installation progress.
|
| | |
|
| | |
|
| |
|
|
| |
entrypoint (#1357)
|
| |
|
|
| |
Now also supports completing versions if completion is triggered when specifying
a version, e.g. "rust-analyzer@".
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Closes #1224.
|
| | |
|
| |
|
|
|
|
|
|
| |
Renaming the file will move it from its original installation directory. While reaching into package installation
directories is unsupported and not recommended, it seems to be done pretty broadly. In order to avoid unnecessarily
breaking people's configs we copy the file instead, for now. (tip: use the stable locations inside $MASON/share
$MASON/opt $MASON/bin, if a package is missing a link please open an issue/PR).
This will be reversed back to use uv_fs_rename() in 1.x.x.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) FAT (FAT32, exFAT, etc.) file systems doesn't support symlinks.
2) You need administrator access in order to create symlinks.
This was working for me locally because I'm running a NTFS fs with
"Developer Mode" enabled in Windows 10, which bypasses administrator
requirement for mklink.
Instead we uv_fs_rename() links. This should effectively be the same,
but will require special handling down the road if/when for example
multiple package versions can be installed at the same time. When
unlinking a package the renamed files should me moved back into the
package installation directory, instead of simply being unlinked (i.e.
removed).
Closes #1251.
|
| | |
|
| |
|
|
|
| |
Instead, schemas are now defined in the package registry and downloaded during installation.
See https://github.com/mason-org/mason-registry/pull/1319.
|
| |
|
|
| |
This is a faster method than .get_all_packages() due to the fact that it only loads package specifications without
instantiating mason-core.package instances. Useful for situations where one only needs to read spec data.
|
| | |
|
| |
|
|
|
| |
value (#1227)
The removed filters are not used by mason-registry and are too Lua-specific in nature.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it so that after parsing the source, the `{{source.asset.file}}` context value points to the downloaded file,
rather than the raw value. This is helpful for source definitions such as:
```yaml
source:
id: pkg:github/mrjosh/helm-ls@v0.0.3
asset:
- target: win_x64
file: helm_ls_windows_amd64:helm_ls_windows_amd64.exe
# …
bin:
# This now evaluates to "helm_ls_windows_amd64.exe" rather than "helm_ls_windows_amd64:helm_ls_windows_amd64.exe".
helm_ls: "{{source.asset.file}}"
```
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Closes #1175.
|
| | |
|
| |
|
| |
Explicitly schedule via `a.wait(vim.schedule)` instead.
|
| | |
|
| | |
|
| |
|
|
|
| |
* chore(workflows): update dependencies
* style: enforce import order
|
| | |
|
| |
|
| |
Closes #1071.
|
| |
|
|
| |
Calling vim.fn.executable in the module scope has potential to error
if the module is required outside of the main loop.
|
| | |
|
| |
|
| |
Also add some more ctx.fs methods.
|
| |
|
| |
After reading through `manpath(1)` a bit more thoroughly, this should not be needed due to `PATH` already being set.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(installer): add share links
Adds the ability to symlink share files to ~/.local/share/nvim/mason/share (default location). This is currently not
used by any packages but will be soon (e.g. linking .jar files to a canonical location on the fs).
This also includes the following changes:
- fix(windows): correctly unlink executables
Prior to this change, executables on Windows would not be removed when uninstalling a package.
- refactor(installer): use Result interfaces
The motivation behind this is to move away from exceptions and pcalls to leverage the Result interface.
This allows for better error messaging during installation, as well as improved composability of actions that may
or may not fail.
- refactor(bin): use absolute paths in exec wrapper scripts
While relative paths are preferred and will end up returning in the future, they i) cannot be guaranteed for all
packages, and ii) is somewhat complicated to produce due to lack of std APIs.
Moving the entire Mason installation directory was never officially supported anyway.
- feat(installer): add "force" flag
When this flag is true, any existing executables or share files will be overridden if they exist (i.e. mangle another
package installation).
* refactor(result): always return Result objects in Result.try
The rationale here used to be that exceptions in Result.try() blocks were treated truly as exceptions that should
interrupt code execution per Lua's traditional error handling semantics. However, Lua code is somewhat prone to raise
exceptions when you don't expect it to (especially when interacting with loosely documented external APIs). Combine this
with the fact that code that invokes Result.try() blocks generally doesn't `pcall` and only relies on the Result API to
handle errors, you end up with code that only gracefully handles one class of errors (the well-known ones).
* test(terminator): sleep in tests to avoid race condition
I've no idea why this doesn't pass in CI, works just fine locally.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|