Git Product home page Git Product logo

mason.nvim's Introduction

Linux macOS Windows GitHub CI Sponsors

mason.nvim

Portable package manager for Neovim that runs everywhere Neovim runs.
Easily install and manage LSP servers, DAP servers, linters, and formatters.

:help mason.nvim

Latest version: v1.10.0

Table of Contents

Introduction

:h mason-introduction

mason.nvim is a Neovim plugin that allows you to easily manage external editor tooling such as LSP servers, DAP servers, linters, and formatters through a single interface. It runs everywhere Neovim runs (across Linux, macOS, Windows, etc.), with only a small set of external requirements needed.

Packages are installed in Neovim's data directory (:h standard-path) by default. Executables are linked to a single bin/ directory, which mason.nvim will add to Neovim's PATH during setup, allowing seamless access from Neovim builtins (shell, terminal, etc.) as well as other 3rd party plugins.

For a list of all available packages, see https://mason-registry.dev/registry/list.

How to use installed packages

:h mason-how-to-use-packages

Although many packages are perfectly usable out of the box through Neovim builtins, it is recommended to use other 3rd party plugins to further integrate these. The following plugins are recommended:

Screenshots

Main window Language filter
LSP server configuration schema Checking for new versions Help window

Requirements

:h mason-requirements

mason.nvim relaxes the minimum requirements by attempting multiple different utilities (for example, wget, curl, and Invoke-WebRequest are all perfect substitutes). The minimum recommended requirements are:

  • neovim >= 0.7.0
  • For Unix systems:
    • git(1)
    • curl(1) or wget(1)
    • unzip(1)
    • GNU tar (tar(1) or gtar(1) depending on platform)
    • gzip(1)
  • For Windows systems:

Note that mason.nvim will regularly shell out to external package managers, such as cargo and npm. Depending on your personal usage, some of these will also need to be installed. Refer to :checkhealth mason for a full list.

Installation

use {
    "williamboman/mason.nvim"
}
{
    "williamboman/mason.nvim"
}
Plug 'williamboman/mason.nvim'

Setup

:h mason-quickstart

require("mason").setup()

mason.nvim is optimized to load as little as possible during setup. Lazy-loading the plugin, or somehow deferring the setup, is not recommended.

Refer to the Configuration section for information about which settings are available.

Extensions

Refer to the Wiki for a list of 3rd party extensions.

Commands

:h mason-commands

  • :Mason - opens a graphical status window
  • :MasonUpdate - updates all managed registries
  • :MasonInstall <package> ... - installs/re-installs the provided packages
  • :MasonUninstall <package> ... - uninstalls the provided packages
  • :MasonUninstallAll - uninstalls all packages
  • :MasonLog - opens the mason.nvim log file in a new tab window

Registries

Mason's core package registry is located at mason-org/mason-registry. Before any packages can be used, the registry needs to be downloaded. This is done automatically for you when using the different Mason commands (e.g. :MasonInstall), but can also be done manually by using the :MasonUpdate command.

If you're utilizing Mason's Lua APIs to access packages, it's recommended to use the :h mason-registry.refresh() and/or :h mason-registry.update() functions to ensure you have the latest package information before retrieving packages.

Configuration

:h mason-settings

You may optionally configure certain behavior of mason.nvim when calling the .setup() function. Refer to the default configuration for a list of all available settings.

Example:

require("mason").setup({
    ui = {
        icons = {
            package_installed = "",
            package_pending = "",
            package_uninstalled = ""
        }
    }
})

Default configuration

---@class MasonSettings
local DEFAULT_SETTINGS = {
    ---@since 1.0.0
    -- The directory in which to install packages.
    install_root_dir = path.concat { vim.fn.stdpath "data", "mason" },

    ---@since 1.0.0
    -- Where Mason should put its bin location in your PATH. Can be one of:
    -- - "prepend" (default, Mason's bin location is put first in PATH)
    -- - "append" (Mason's bin location is put at the end of PATH)
    -- - "skip" (doesn't modify PATH)
    ---@type '"prepend"' | '"append"' | '"skip"'
    PATH = "prepend",

    ---@since 1.0.0
    -- Controls to which degree logs are written to the log file. It's useful to set this to vim.log.levels.DEBUG when
    -- debugging issues with package installations.
    log_level = vim.log.levels.INFO,

    ---@since 1.0.0
    -- Limit for the maximum amount of packages to be installed at the same time. Once this limit is reached, any further
    -- packages that are requested to be installed will be put in a queue.
    max_concurrent_installers = 4,

    ---@since 1.0.0
    -- [Advanced setting]
    -- The registries to source packages from. Accepts multiple entries. Should a package with the same name exist in
    -- multiple registries, the registry listed first will be used.
    registries = {
        "github:mason-org/mason-registry",
    },

    ---@since 1.0.0
    -- The provider implementations to use for resolving supplementary package metadata (e.g., all available versions).
    -- Accepts multiple entries, where later entries will be used as fallback should prior providers fail.
    -- Builtin providers are:
    --   - mason.providers.registry-api  - uses the https://api.mason-registry.dev API
    --   - mason.providers.client        - uses only client-side tooling to resolve metadata
    providers = {
        "mason.providers.registry-api",
        "mason.providers.client",
    },

    github = {
        ---@since 1.0.0
        -- The template URL to use when downloading assets from GitHub.
        -- The placeholders are the following (in order):
        -- 1. The repository (e.g. "rust-lang/rust-analyzer")
        -- 2. The release version (e.g. "v0.3.0")
        -- 3. The asset name (e.g. "rust-analyzer-v0.3.0-x86_64-unknown-linux-gnu.tar.gz")
        download_url_template = "https://github.com/%s/releases/download/%s/%s",
    },

    pip = {
        ---@since 1.0.0
        -- Whether to upgrade pip to the latest version in the virtual environment before installing packages.
        upgrade_pip = false,

        ---@since 1.0.0
        -- These args will be added to `pip install` calls. Note that setting extra args might impact intended behavior
        -- and is not recommended.
        --
        -- Example: { "--proxy", "https://proxyserver" }
        install_args = {},
    },

    ui = {
        ---@since 1.0.0
        -- Whether to automatically check for new versions when opening the :Mason window.
        check_outdated_packages_on_open = true,

        ---@since 1.0.0
        -- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
        border = "none",

        ---@since 1.0.0
        -- Width of the window. Accepts:
        -- - Integer greater than 1 for fixed width.
        -- - Float in the range of 0-1 for a percentage of screen width.
        width = 0.8,

        ---@since 1.0.0
        -- Height of the window. Accepts:
        -- - Integer greater than 1 for fixed height.
        -- - Float in the range of 0-1 for a percentage of screen height.
        height = 0.9,

        icons = {
            ---@since 1.0.0
            -- The list icon to use for installed packages.
            package_installed = "",
            ---@since 1.0.0
            -- The list icon to use for packages that are installing, or queued for installation.
            package_pending = "",
            ---@since 1.0.0
            -- The list icon to use for packages that are not installed.
            package_uninstalled = "",
        },

        keymaps = {
            ---@since 1.0.0
            -- Keymap to expand a package
            toggle_package_expand = "<CR>",
            ---@since 1.0.0
            -- Keymap to install the package under the current cursor position
            install_package = "i",
            ---@since 1.0.0
            -- Keymap to reinstall/update the package under the current cursor position
            update_package = "u",
            ---@since 1.0.0
            -- Keymap to check for new version for the package under the current cursor position
            check_package_version = "c",
            ---@since 1.0.0
            -- Keymap to update all installed packages
            update_all_packages = "U",
            ---@since 1.0.0
            -- Keymap to check which installed packages are outdated
            check_outdated_packages = "C",
            ---@since 1.0.0
            -- Keymap to uninstall a package
            uninstall_package = "X",
            ---@since 1.0.0
            -- Keymap to cancel a package installation
            cancel_installation = "<C-c>",
            ---@since 1.0.0
            -- Keymap to apply language filter
            apply_language_filter = "<C-f>",
            ---@since 1.1.0
            -- Keymap to toggle viewing package installation log
            toggle_package_install_log = "<CR>",
            ---@since 1.8.0
            -- Keymap to toggle the help view
            toggle_help = "g?",
        },
    },
}

👋 didn't find what you were looking for? Try looking in the help docs :help mason.nvim!

mason.nvim's People

Contributors

adelarsq avatar asmodeus812 avatar casonadams avatar dbernheisel avatar dsully avatar dundargoc avatar eeexun avatar errantepiphany avatar fymyte avatar jay-babu avatar kingmichaelpark avatar kylo252 avatar lctrs avatar lkhphuc avatar marcdeop avatar mehalter avatar muniftanjim avatar oncomouse avatar pysan3 avatar rslabbert avatar shaeinst avatar shurizzle avatar thanhvule0310 avatar thecontinium avatar thetic avatar whoissethdaniel avatar williamboman avatar williambotman avatar xdoardo avatar zalegrala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mason.nvim's Issues

Symbolic link of json-lsp in ~/.local/share/nvim/mason/bin is different with mason-registry

I've made an initial investigation into the error myself

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Problem description

Hi, The symbolic link created for json-lsp is vscode-json-language-server, instead of the registry name json-lsp. I think it's not a good behavior, is it?

Neovim version (>= 0.7)

NVIM v0.8.0-dev-731-g468b1a689
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by p8zhang@l1sw-env

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/host/workdir/local/share/nvim"

Run :checkhealth for more info

Operating system/version

Linux localhost 5.18.11-1-default #1 SMP PREEMPT_DYNAMIC Fri Jul 15 05:36:11 UTC 2022 (4fcb983) x86_64 x86_64 x86_64 GNU/Linux

Affected packages

json-lsp

Actual behavior

A symbolic link named 'vscode-json-language-server' has been created after installation.

Expected behavior

the symbolic name should be json-lsp.

Mason output

I think it's not necessary for this issue, `json-lsp` has been installed successfully.

Installation log

not necessary for this issue.

Healthcheck

not necessary for this issue

Screenshots

image

Use current filetype to suggest packages to install via :MasonInstall

Is your feature request related to a problem? Please describe.

no

Describe the solution you'd like

it's not a problem.

Describe potential alternatives you've considered

No response

Additional context

for example, in nvim-lsp-installer, :LspInstall command without any argument, shows the list of all supported LSPs depending of filetype. it would be nice if we get that feature in mason too.

Solargraph doesn't work

Problem description

When opening ruby files, solargraph doesn't launch, saying Client 1 quit with exit code 1 and signal 0.

Why do you think this is an issue with mason.nvim?

Solargraph is installed via mason.

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@Monterey

Features: +acl +iconv +tui
See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/Cellar/neovim/0.7.2_1/share/nvim"

Run :checkhealth for more info

Operating system/version

Darwin equall2.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:22 PDT 2022; root:xnu-8020.121.3~4/RELEASE_X86_64 x86_64

I've manually reviewed the Nvim LPS client log (:MasonLog) to find potential errors

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

solargraph

Steps to reproduce

  1. Install solargraph with mason
  2. Open ruby files

Actual behavior

Solargraph doesn't launch when I open ruby files, saying Client 1 quit with exit code 1 and signal 0.

Expected behavior

Solargraph launches and works correctly.

LspInfo

Language client log: /Users/equall2/.cache/nvim/lsp.log
 Detected filetype:   ruby
 
 0 client(s) attached to this buffer: 
 
 Other clients that match the filetype: ruby
 
 Config: solargraph
 	filetypes:         ruby
 	root directory:    /usr/local/Homebrew/Library/Homebrew
 	cmd:               solargraph stdio
 	cmd is executable: true
 	autostart:         true
 	custom handlers:   
 
 Configured servers list: solargraph, sumneko_lua, taplo, pyright, rust_analyzer, clangd

LspLog

[ERROR][2022-07-26 02:43:17] .../vim/lsp/rpc.lua:420	"rpc"	"solargraph"	"stderr"	"/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem solargraph (>= 0.a) with executable solargraph (Gem::GemNotFoundException)\n\tfrom /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'\n\tfrom /Users/equall2/.local/share/nvim/mason/bin/solargraph:23:in `<main>'\n"

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.4 darwin/amd64`
  - OK: **cargo**: `cargo 1.62.1 (a748cf5a3 2022-06-08)`
  - WARNING: **luarocks**: not available
  - OK: **Ruby**: `ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]`
  - OK: **RubyGem**: `3.0.3.1`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.13.2`
  - OK: **node**: `v16.16.0`
  - OK: **python3**: `Python 3.9.13`
  - OK: **pip3**: `pip 22.1.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **javac**: `javac 17.0.1`
  - OK: **java**: `java version "17.0.1" 2021-10-19 LTS`
  - OK: **julia**: `julia version 1.7.3`
  - ERROR: **wget**: not available
  - OK: **curl**: `curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.45.1`
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **bash**: `GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 0. Remaining: 5000. Limit: 5000. Reset: Tue Jul 26 03:44:04 2022.

Screenshots or recordings

No response

Language filter is opening the list in more and I am unable to select one

Problem description

When looking at the installation page and hitting <C-f> I get a list of all the languages displayed in more
Since more doesn't provide much other than paging when I try to enter a number it thinks I've forgot where my arrows are

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by builduser

Operating system/version

Linux Triss 5.18.11-arch1-1 #1 SMP PREEMPT_DYNAMIC Tue, 12 Jul 2022 15:40:51 +0000 x86_64 GNU/Linux

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

all

Actual behavior

Language list opens in more

Expected behavior

Language list opens in something that would let me select one.
Sorry I can't provide more, I'm not exactly sure what the language filter code should be calling

Healthcheck output

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - OK: **cargo**: `cargo 1.62.0`
  - OK: **luarocks**: `/usr/bin/luarocks 3.9.0`
  - OK: **Ruby**: `ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]`
  - OK: **RubyGem**: `3.3.15`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.14.0`
  - OK: **node**: `v16.16.0`
  - OK: **python3**: `Python 3.10.5`
  - OK: **pip3**: `pip 22.1.2 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - OK: **javac**: `javac 18.0.1.1`
  - OK: **java**: `Picked up _JAVA_OPTIONS: -Djava.util.prefs.userRoot=/home/rory/.config/java`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on linux-gnu.`
  - OK: **curl**: `curl 7.84.0 (x86_64-pc-linux-gnu) libcurl/7.84.0 OpenSSL/1.1.1q zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.48.0`
  - OK: **gzip**: `gzip 1.12`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Tue 26 Jul 2022 15:32:33 BST.

Screenshots

No response

Lsp clients dont attach if I lazyload nvim-lspconfig

Problem description

If I lazyload nvim-lspconfig then the clients dont attach to buffer, but they work when I dont lazyload nvim-lspconfig

Check the video :

simplescreenrecorder-2022-07-25_06.43.01.mp4

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by void-buildslave@a-fsn-de

Features: +acl +iconv +tui
See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info

Operating system/version

Linux sid 5.18.9_1 #1 SMP PREEMPT_DYNAMIC Sat Jul 2 15:17:21 UTC 2022 x86_64 GNU/Linux

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

all

Actual behavior

lazyloading nvim-lspconfig plugin doesnt attach the lsp clients to the buffer

Expected behavior

Clients should attach to the buffer

Healthcheck output

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - OK: **cargo**: `cargo 1.62.0 (a748cf5a3 2022-06-08)`
  - WARNING: **luarocks**: not available
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.12.1`
  - OK: **node**: `v18.5.0`
  - OK: **python3**: `Python 3.10.5`
  - OK: **pip3**: `pip 22.1.2 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on linux-gnu.`
  - OK: **curl**: `curl 7.83.1 (x86_64-unknown-linux-gnu) libcurl/7.83.1 OpenSSL/1.1.1q zlib/1.2.12 zstd/1.5.2 libssh2/1.10.0 nghttp2/1.48.0`
  - OK: **gzip**: `gzip 1.12`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-unknown-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 1. Remaining: 59. Limit: 60. Reset: Mon 25 Jul 2022 01:47:59 AM UTC.

Screenshots

No response

node-debug2-adapter fails to build

Problem description

npm run build fails

nvim-dap offers NODE_OPTIONS=--no-experimental-fetch npm run build as the build command.

Neovim version (>= 0.7)

NVIM v0.8.0-dev+798acbca1
Build type: Release
LuaJIT 2.1.0-beta3

Operating system/version

Darwin triton-mbp.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:22 PDT 2022; root:xnu-8020.121.3~4/RELEASE_X86_64 x86_64

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

node-debug2-adapter

Actual behavior

      [13:39:55] Using gulpfile ~/.local/share/nvim/mason/.packages/node-debug2-adapter/gulpfile.js
      [13:39:55] Starting 'build'...
      [13:39:55] Starting 'clean'...
      [13:39:55] Finished 'clean' after 4.69 ms
      [13:39:55] Starting '_build'...
      [13:39:55] Starting 'copy-scripts'...
      [13:39:55] Finished 'copy-scripts' after 20 ms
      [13:39:55] Starting '<anonymous>'...
      [13:39:57] '<anonymous>' errored after 1.87 s
      [13:39:57] Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer
          at readWasm (/Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/read-wasm.js:8:13)
          at wasm (/Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/wasm.js:25:16)
          at /Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/source-map-consumer.js:264:14
          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      [13:39:57] '_build' errored after 1.89 s
      [13:39:57] 'build' errored after 1.9 s
      spawn: npm failed with exit code 1 and signal 0. 

Expected behavior

with NODE_OPTIONS=--no-experimental-fetch:

[13:29:35] Using gulpfile ~/Projects/Node/vscode-node-debug2/gulpfile.js
[13:29:35] Starting 'build'...
[13:29:35] Starting 'clean'...
[13:29:35] Finished 'clean' after 20 ms
[13:29:35] Starting '_build'...
[13:29:35] Starting 'copy-scripts'...
[13:29:35] Finished 'copy-scripts' after 22 ms
[13:29:35] Starting '<anonymous>'...
[13:29:38] Finished '<anonymous>' after 2.2 s
[13:29:38] Finished '_build' after 2.22 s
[13:29:38] Finished 'build' after 2.25 s

Mason output

◍ node-debug2-adapter
      Cloning into '.'...
      From https://github.com/microsoft/vscode-node-debug2
       * tag               v1.43.0    -> FETCH_HEAD
      Note: switching to 'FETCH_HEAD'.
      
      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.
      
      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:
      
        git switch -c <new-branch-name>
      
      Or undo this operation with:
      
        git switch -
      
      Turn off this advice by setting config variable advice.detachedHead to false
      
      HEAD is now at 20ee19f 1.43.0
      [13:39:55] Using gulpfile ~/.local/share/nvim/mason/.packages/node-debug2-adapter/gulpfile.js
      [13:39:55] Starting 'build'...
      [13:39:55] Starting 'clean'...
      [13:39:55] Finished 'clean' after 4.69 ms
      [13:39:55] Starting '_build'...
      [13:39:55] Starting 'copy-scripts'...
      [13:39:55] Finished 'copy-scripts' after 20 ms
      [13:39:55] Starting '<anonymous>'...
      [13:39:57] '<anonymous>' errored after 1.87 s
      [13:39:57] Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer
          at readWasm (/Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/read-wasm.js:8:13)
          at wasm (/Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/wasm.js:25:16)
          at /Users/triton/.local/share/nvim/mason/.packages/node-debug2-adapter/node_modules/gulp-typescript/node_modules/source-map/lib/source-map-consumer.js:264:14
          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      [13:39:57] '_build' errored after 1.89 s
      [13:39:57] 'build' errored after 1.9 s
      spawn: npm failed with exit code 1 and signal 0.

Installation log

[INFO  Sat Jul  9 13:39:31 2022] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=node-debug2-adapter)
[ERROR Sat Jul  9 13:39:57 2022] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=node-debug2-adapter) error=spawn: npm failed with exit code 1 and signal 0. 



### Healthcheck

```Text
mason-core: require("mason-core.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - OK: **cargo**: `cargo 1.62.0 (a748cf5a3 2022-06-08)`
  - OK: **luarocks**: `/usr/local/bin/luarocks 3.9.1`
  - OK: **Ruby**: `ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]`
  - OK: **RubyGem**: `3.0.3.1`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.9.0`
  - OK: **node**: `v18.1.0`
  - OK: **python3**: `Python 3.9.13`
  - OK: **pip3**: `pip 22.1.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)`
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - WARNING: **julia**: not available
  - ERROR: **wget**: not available
  - OK: **curl**: `curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.45.1`
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **bash**: `GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)`
  - OK: **sh**: `Ok`
  - OK: **python3_host_prog**: `Python 3.9.13`
  - OK: GitHub API rate limit. Used: 0. Remaining: 5000. Limit: 5000. Reset: Sat Jul  9 14:47:17 2022.


### Screenshots

_No response_

[Request] add volar language server

Is your feature request related to a problem? Please describe.

Missing volar language server for vue 3.

Describe the solution you'd like

Support for volar language server

Describe potential alternatives you've considered

No response

Additional context

No response

Convert selene to use pre-built binary

Is your feature request related to a problem? Please describe.

Convert the selene package to install the pre-compiled binary available on github. Should be similar to how stylua was converted from rust-compiled to pre-built binary.

https://github.com/Kampfkarren/selene/releases

Describe the solution you'd like

selene installation uses the pre-built binary on platforms where a provided binary is available.

Describe potential alternatives you've considered

No response

Additional context

Installing via pre-built binary is much faster.

Add "ensure_installed" to the config

Is your feature request related to a problem? Please describe.

Currently, if you work across different machines often, you need to keep a manual list of all servers and tools you use in your environment to replicate such environment in your new machine.

Describe the solution you'd like

Having a configurable list (e.g., ensure_installed, as in mason-lspconfig.nvim) which ensures on nvim startup that the servers/tools referenced on the list are installed, and installs them otherwise.

In this way, an nvim config using this plugin would be completely portable to a new machine with no gaps in functionality.

Describe potential alternatives you've considered

I personally have made myself an installer script for my own dev environment and configs (including but not limited to nvim), via which I also install all LSP, DAP, linter and formatting servers along with other tools. Now that I've started to use this plugin, it would only make sense to remove these from my custom installer, since I am installing them via the plugin, but I would lose the functionality of this being done automatically.

Additional context

No response

volar not find tsserve rlibrary.js

I believe this to be an issue that should be addressed by maintainers of mason.nvim.

  • Yes

Why do you think this is an issue with mason.nvim?

I don't have this problem when using volar with lsp-installer

Neovim version (>= 0.7)

image

Operating system/version

Darwin localhost 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T8101 arm64

I've manually reviewed logs to find potential errors

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

volar

Problem description

image

Steps to reproduce

  1. use volar
  2. open vue file

Actual behavior

none

Expected behavior

none

Healthcheck

mason: 
========================================================================
  - ERROR: No healthcheck found for "mason" plugin.

Screenshots or recordings

No response

some language servers installation failed

Problem description

  1. json-lsp installation failed
  2. taplo(toml-language-server) compilation failed. Why not download the pre-compiled binary from the repo?

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fcommon -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -Wimplicit-fallthrough -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=malloc -Wsuggest-attribute=cold -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/abuild/rpmbuild/BUILD/neovim-0.7.2/build/config -I/home/abuild/rpmbuild/BUILD/neovim-0.7.2/src -I/usr/include -I/home/abuild/rpmbuild/BUILD/neovim-0.7.2/build/src/nvim/auto -I/home/abuild/rpmbuild/BUILD/neovim-0.7.2/build/include
Compiled by abuild@OBS

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

Run :checkhealth for more info

Operating system/version

Linux localhost 5.18.11-1-default #1 SMP PREEMPT_DYNAMIC Fri Jul 15 05:36:11 UTC 2022 (4fcb983) x86_64 x86_64 x86_64 GNU/Linux

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

json-lsp, toml-language-server

Actual behavior

installation failed.

Expected behavior

all servers installation completed.

Mason output

see the screenshot.

Installation log

see the log url.

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: Go: not available
  - OK: cargo: `cargo 1.61.0`
  - OK: luarocks: `/usr/bin/luarocks 3.8.0`
  - OK: Ruby: `ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux-gnu]`
  - OK: RubyGem: `3.3.7`
  - WARNING: Composer: not available
  - WARNING: PHP: not available
  - OK: npm: `8.5.2`
  - OK: node: `v17.7.1`
  - OK: python3: `Python 3.10.5`
  - OK: pip3: `pip 22.0.4 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - WARNING: javac: not available
  - WARNING: java: not available
  - WARNING: julia: not available
  - OK: wget: `GNU Wget 1.21.3 built on linux-gnu.`
  - OK: curl: `curl 7.83.1 (x86_64-suse-linux-gnu) libcurl/7.83.1 OpenSSL/1.1.1q-fips zlib/1.2.11 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.48.0 OpenLDAP/2.6.2`
  - OK: gzip: `gzip 1.12`
  - OK: tar: `tar (GNU tar) 1.34`
  - OK: bash: `GNU bash, version 5.1.16(1)-release (x86_64-suse-linux)`
  - OK: sh: `Ok`
  - OK: GitHub API rate limit. Used: 9. Remaining: 51. Limit: 60. Reset: Sat 30 Jul 2022 02:46:14 AM CST.

Screenshots

:Mason output:
image

:MasonLog:
mason.log.zip

Use ssh to run 'git clone repo'

Is your feature request related to a problem? Please describe.

Sometime, I can't use http to clone a repo because of network, but ssh can do it.

Describe the solution you'd like

I want a option to select clone by https or clone by ssh
If select https, downloading file by
https://github.com/williamboman/mason.nvim.git

select ssh, downloading file by
[email protected]:williamboman/mason.nvim.git

Describe potential alternatives you've considered

No response

Additional context

No response

[rust-analyzer] not work with single rust file

Problem description

Will have following error when open single rust file.

image

rust-analyzer should support this:

rust-lang/rust-analyzer#8955

Why do you think this is an issue with mason.nvim?

There may be some config issue with rust analyzer

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by [email protected]

Features: +acl +iconv +tui
See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/opt/homebrew/Cellar/neovim/0.7.2_1/share/nvim"

Run :checkhealth for more info

Operating system/version

Darwin hbliu-mac13 21.6.0 Darwin Kernel Version 21.6.0: Sat Jun 18 17:05:47 PDT 2022; root:xnu-8020.140.41~1/RELEASE_ARM64_T8101 arm64

I've manually reviewed the Nvim LPS client log (:MasonLog) to find potential errors

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

all

Steps to reproduce

Create file /tmp/main.rs, open the file, there will be error.

Actual behavior

Errors occured.

Expected behavior

No error.

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.3 darwin/arm64`
  - OK: **cargo**: `cargo 1.62.0 (a748cf5a3 2022-06-08)`
  - OK: **luarocks**: `/opt/homebrew/bin/luarocks 3.9.0`
  - OK: **Ruby**: `ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]`
  - OK: **RubyGem**: `3.0.3.1`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.15.1`
  - OK: **node**: `v18.6.0`
  - OK: **python3**: `Python 3.9.13`
  - OK: **pip3**: `pip 22.2.1 from /opt/homebrew/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **javac**: `javac 10.0.1`
  - OK: **java**: `java version "10.0.1" 2018-04-17`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.2 built on darwin21.1.0.`
  - OK: **curl**: `curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.45.1`
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (aarch64-apple-darwin21.1.0)`
  - OK: **sh**: `Ok`
  - WARNING: **JAVA_HOME**: not available
  - OK: GitHub API rate limit. Used: 1. Remaining: 59. Limit: 60. Reset: Mon Aug  1 21:48:57 2022.



### Screenshots or recordings

_No response_

Gems need to to also exist in GEM_PATH

Gems installed with mason.nvim will be installed into a different GEM_HOME, and into a location that most definitely doesn't exist on GEM_PATH by default. This results in the Ruby runtime being unable to locate these gems.

failed to install firefox-debug-adapter

Problem description

It's the same issue as #41

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3

Operating system/version

Linux soda 5.15.55-1-lts #1 SMP Fri, 15 Jul 2022 11:28:54 +0000 x86_64 GNU/Linux

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

firefox-debug-adapter

Actual behavior

Failing

Expected behavior

Installing

Mason output

Failed
    ◍ firefox-debug-adapter
      Cloning into '.'...
      From https://github.com/firefox-devtools/vscode-firefox-debug
       * tag               2.9.8      -> FETCH_HEAD
      Note: switching to 'FETCH_HEAD'.
      
      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.
      
      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:
      
        git switch -c <new-branch-name>
      
      Or undo this operation with:
      
        git switch -
      
      Turn off this advice by setting config variable advice.detachedHead to false
      
      HEAD is now at 6ad01e3 Merge pull request #294 from firefox-devtools/2.9.8
      patching file webpack.config.js
      Hunk #2 FAILED at 27.
      1 out of 2 hunks FAILED -- saving rejects to file webpack.config.js.rej
      spawn: patch failed with exit code 1 and signal 0.

Installation log

[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../site/pack/packer/start/mason.nvim/lua/mason-core/fs.lua:70: fs: mkdirp /home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] ...te/pack/packer/start/mason.nvim/lua/mason-core/fetch.lua:32: Fetching URL "https://latest-github-tag.redwill.se/api/repo/firefox-devtools/vscode-firefox-debug/latest-tag"
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:115: Spawning cmd="wget", spawn_opts={
  args = { "--header='User-Agent: mason.nvim (+https://github.com/williamboman/mason.nvim)'", "-nv", "-O", "-", "--method=GET", "https://latest-github-tag.redwill.se/api/repo/firefox-devtools/vscode-firefox-debug/latest-tag" }
}
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:161: Spawned with pid 16164
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:147: Job pid=16164 exited with exit_code=0, signal=0
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:115: Spawning cmd="git", spawn_opts={
  args = { "clone", "--depth", "1", "https://github.com/firefox-devtools/vscode-firefox-debug", "." },
  cwd = "/home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter"
}
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:161: Spawned with pid 16165
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:147: Job pid=16165 exited with exit_code=0, signal=0
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:115: Spawning cmd="git", spawn_opts={
  args = { "fetch", "--depth", "1", "origin", "2.9.8" },
  cwd = "/home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter"
}
[DEBUG Mon 25 Jul 2022 11:05:33 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:161: Spawned with pid 16186
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:147: Job pid=16186 exited with exit_code=0, signal=0
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:115: Spawning cmd="git", spawn_opts={
  args = { "checkout", "FETCH_HEAD" },
  cwd = "/home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter"
}
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:161: Spawned with pid 16199
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:147: Job pid=16199 exited with exit_code=0, signal=0
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:115: Spawning cmd="patch", spawn_opts={
  args = { "-g", "0", "-f" },
  cwd = "/home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter"
}
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:161: Spawned with pid 16210
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../pack/packer/start/mason.nvim/lua/mason-core/process.lua:147: Job pid=16210 exited with exit_code=1, signal=0
[ERROR Mon 25 Jul 2022 11:05:34 AM CEST] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=firefox-debug-adapter) error=spawn: patch failed with exit code 1 and signal 0. 
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] .../site/pack/packer/start/mason.nvim/lua/mason-core/fs.lua:46: fs: rmrf /home/jura/.local/share/nvim/mason/.packages/firefox-debug-adapter
[DEBUG Mon 25 Jul 2022 11:05:34 AM CEST] ...ker/start/mason.nvim/lua/mason-core/installer/linker.lua:21: Unlinking Package(name=firefox-debug-adapter)

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.4 linux/amd64`
  - OK: **cargo**: `cargo 1.62.1`
  - WARNING: **luarocks**: not available
  - OK: **Ruby**: `ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]`
  - OK: **RubyGem**: `3.3.15`
  - OK: **Composer**: `Composer version 2.3.10 2022-07-13 15:48:23`
  - OK: **PHP**: `PHP 8.1.8 (cli) (built: Jul  9 2022 06:10:37) (NTS)`
  - OK: **npm**: `8.15.0`
  - OK: **node**: `v18.6.0`
  - OK: **python3**: `Python 3.10.5`
  - OK: **pip3**: `pip 22.1.2 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - OK: **javac**: `Ok`
  - OK: **java**: `openjdk version "1.8.0_342"`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on linux-gnu.`
  - OK: **curl**: `curl 7.84.0 (x86_64-pc-linux-gnu) libcurl/7.84.0 OpenSSL/1.1.1q zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.48.0`
  - OK: **gzip**: `gzip 1.12`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 2. Remaining: 58. Limit: 60. Reset: Mon 25 Jul 2022 11:41:59 AM CEST.

Screenshots

No response

Cursor position is being inherited

Problem description

Reproduce

  • Open mason interface
  • In All search /gotests and confirm
  • Switch tabs from 1 to 5 and back

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

Operating system/version

Fedora 36

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

all

Actual behavior

Visiting the next tab (LSP) seems to inherit the row/cursor position, but at the third tab there is nowhere to go to and we are on the top screen with cursor positioned in the middle. Going to tab 5 and back to 1 we will be at the first screen of “All” once more.

Expected behavior

Either we should start out on top whenever we switch tabs, or when first visiting a tab we should be on top and on a subsequent visit at the previous position. Right now it’s a little confusing.

Healthcheck output

## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - OK: **cargo**: `cargo 1.62.1 (a748cf5a3 2022-06-08)`
  - WARNING: **luarocks**: not available
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.12.1`
  - OK: **node**: `v16.14.0`
  - OK: **python3**: `Python 3.10.5`
  - OK: **pip3**: `pip 21.3.1 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - WARNING: **javac**: not available
  - OK: **java**: `openjdk version "17.0.3" 2022-04-19`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on linux-gnu.`
  - OK: **curl**: `curl 7.82.0 (x86_64-redhat-linux-gnu) libcurl/7.82.0 OpenSSL/3.0.5 zlib/1.2.11 brotli/1.0.9 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.46.0 OpenLDAP/2.6.2`
  - OK: **gzip**: `gzip 1.11`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-redhat-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: **python3_host_prog**: `Python 3.10.5`
  - OK: GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Do 28 Jul 2022 00:57:59.

Screenshots

No response

Add command to see list of available packages

I've searched open issues for similar requests

  • Yes

Is your feature request related to a problem? Please describe.

There is currently no way to see the list of available package to install

Describe the solution you'd like

Add command like: MasonShow to show the info of installed and available packages

Describe potential alternatives you've considered

No response

Additional context

No response

Add ensure_installed option

Is your feature request related to a problem? Please describe.

installing multiple binaries of lspservers/formatters etc will be kinda tiresome if we do it manually ( by clicking their names in the Mason floating window)

It would be nicer to have ensure_installed option in the config so we can write all the needed package names.

Describe the solution you'd like

ensure_installed = { "stylua, "pyright" "efm" , "deno"  }

and a command should be added : MasonInstallAll

So running that command will install all the servers from the ensure_installed option

@williamboman any plans on adding this option? 🤔

Describe potential alternatives you've considered

No response

Additional context

No response

Show installation progress

Is your feature request related to a problem? Please describe.

As title, It would be nice if I can see the download progress of the program so that I know whether the network is not working, or it's merely taking a long time to download some packages.

Describe the solution you'd like

UI like packer.nvim would be ideal.

Describe potential alternatives you've considered

No response

Additional context

No response

"tsc" missing from $PATH for typescript-language-server

I've made an initial investigation into the error and believe this is an error with mason.nvim (or that an improvement could be made)

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Problem description

tsc is not found in $PATH. The problem occurs if the LSP is not attached and null-ls tried to compile the file executing the tsc executable with the current buffer contents.

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@iMac-Pro

Features: +acl +iconv +tui
See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/Cellar/neovim/0.7.2_1/share/nvim"

Run :checkhealth for more info

Operating system/version

Darwin Kernel Version 19.6.0

Affected packages

typescript-language-server

Actual behavior

tsc is NOT in $PATH in neovim.

Expected behavior

tsc is in $PATH in neovim.

Mason output

mason.nvim 
                                                                      press ? for help
                                                         https://github.com/williamboman/mason.nvim
   (1) All   (2) LSP   (3) DAP   (4) Linter   (5) Formatter  
  
  Language Filter: press <C-f> to apply filter

  Installed
    ◍ graphql-language-service-cli
    ◍ json-lsp
    ◍ lua-language-server
    ◍ typescript-language-server
  
  Available
    ◍ angular-language-server
    ◍ ansible-language-server
    ◍ apex-language-server
    ◍ arduino-language-server
    ◍ asm-lsp
    ◍ astro-language-server
    ◍ awk-language-server
    ◍ bash-language-server
    ◍ beancount-language-server
    ◍ bicep-lsp
    ◍ bsl-language-server
    ◍ clangd
    ◍ clarity-lsp
    ◍ clojure-lsp
    ◍ cmake-language-server
    ◍ codeql
    ◍ crystalline
    ◍ csharp-language-server
    ◍ css-lsp
    ◍ cssmodules-language-server
    ◍ cucumber-language-server
    ◍ deno
    ◍ dhall-lsp
    ◍ diagnostic-languageserver
    ◍ dockerfile-language-server
    ◍ dot-language-server
    ◍ efm
    ◍ elixir-ls
    ◍ elm-language-server
    ◍ ember-language-server
    ◍ emmet-ls
    ◍ erlang-ls
    ◍ esbonio
    ◍ eslint-lsp
    ◍ flux-lsp
    ◍ foam-language-server
    ◍ fortls
    ◍ fsautocomplete
    ◍ golangci-lint-langserver
    ◍ gopls
    ◍ grammarly-languageserver
    ◍ groovy-language-server
    ◍ haskell-language-server
    ◍ haxe-language-server
    ◍ hoon-language-server
    ◍ html-lsp
    ◍ intelephense
    ◍ jdtls
    ◍ jedi-language-server
    ◍ jsonnet-language-server
    ◍ julia-lsp
    ◍ kotlin-language-server
    ◍ lelwel
    ◍ lemminx
    ◍ ltex-ls
    ◍ marksman
    ◍ metamath-zero-lsp
    ◍ nickel-lang-lsp
    ◍ nimlsp
    ◍ ocaml-lsp
    ◍ omnisharp
    ◍ omnisharp-mono
    ◍ opencl-language-server
    ◍ perlnavigator
    ◍ phpactor
    ◍ powershell-editor-services
    ◍ prisma-language-server
    ◍ prosemd-lsp
    ◍ psalm
    ◍ puppet-editor-services
    ◍ purescript-language-server
    ◍ pyright
    ◍ python-lsp-server
    ◍ quick-lint-js
    ◍ r-languageserver
    ◍ reason-language-server
    ◍ remark-language-server
    ◍ rescript-lsp
    ◍ rnix-lsp
    ◍ robotframework-lsp
    ◍ rome
    ◍ rust-analyzer
    ◍ salt-lsp
    ◍ serve-d
    ◍ shopify-theme-check
    ◍ slint-lsp
    ◍ solang
    ◍ solargraph
    ◍ solidity
    ◍ sorbet
    ◍ sourcery
    ◍ sqlls
    ◍ sqls
    ◍ stylelint-lsp
    ◍ svelte-language-server
    ◍ svlangserver
    ◍ svls
    ◍ tailwindcss-language-server
    ◍ taplo
    ◍ teal-language-server
    ◍ terraform-ls
    ◍ texlab
    ◍ tflint
    ◍ vala-language-server
    ◍ verible
    ◍ vetur-vls
    ◍ vim-language-server
    ◍ visualforce-language-server
    ◍ vls
    ◍ vue-language-server
    ◍ wgsl-analyzer
    ◍ yaml-language-server
    ◍ zk
    ◍ zls

Installation log

Not really relevant.

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - WARNING: **cargo**: not available
  - WARNING: **luarocks**: not available
  - OK: **Ruby**: `ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]`
  - OK: **RubyGem**: `2.7.3`
  - WARNING: **Composer**: not available
  - OK: **PHP**: `PHP 7.3.29 (cli) (built: Aug 15 2021 23:10:16) ( NTS )`
  - OK: **npm**: `8.5.5`
  - OK: **node**: `v16.15.0`
  - OK: **python3**: `Python 3.9.0`
  - OK: **pip3**: `pip 20.2.3 from /Users/steliyan/.pyenv/versions/3.9.0/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **javac**: `Ok`
  - OK: **java**: `openjdk version "1.8.0_292"`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on darwin19.6.0.`
  - OK: **curl**: `curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2`
  - OK: **gzip**: `Apple gzip 287.100.2`
  - OK: **tar**: `bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.6`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-apple-darwin19.6.0)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 6. Remaining: 54. Limit: 60. Reset: Tue Aug  2 09:37:45 2022.

Screenshots

No response

[New package]: chktex

Package name

chktex

Package homepage

https://www.nongnu.org/chktex/

Languages

latex

How is this package distributed?

There's a link to a vcs repo containing the source code in the home page, I'm assuming no precompiled binaries are provided.

Note: this belongs in the Linter category and can be used via texlab and null-ls

Configurable `npm` command

Is your feature request related to a problem? Please describe.

I am often working across a number of repositories that are on different versions of Node, including major versions. Typically npm modules are installed for the current version of node, but for almost all of the packages that are being used by neovim I am going to want to use a separate node version e.g. I am having to work on a repo using node v12 but for various language servers and formatters I want to use v16 as some of them don't even support v12. There are a number of ways of achieving this but I have found that volta.sh does this very nicely, the main caveat being that instead of doing a normal install:

npm install package_name -g

to get the separate version you use:

volta run --node 16 npm install package_name -g

see here
That being said, from what I can tell from lua/mason-core/managers/npm/init.lua it doesn't look as if global modules are being used.

Describe the solution you'd like

I think I saw that for your nvim-lsp-installer you said that you weren't going to support yarn, I don't know if that still applies here? but one possible solution could be to allow users to configure the command used for npm installations. Being able to fix/lock the node version of the "package" where Mason installs npm dependencies.

Strictly speaking, the solution, rather than implementation, that I am interested in is being able to have the npm managed dependencies used in my neovim config to be independent of my node version.

Describe potential alternatives you've considered

Not using Mason to manage npm dependencies.
Living with some tools not working when working on repos with old node versions.

Additional context

No response

Configuration to auto install missing tools

Is your feature request related to a problem? Please describe.

Not a problem

Describe the solution you'd like

If possible I would like a configuration option to allow passing a table of tools that I would like Mason to automatically install so that when I copy my config to a new machine that it will automatically install all the required tools for my configuration rather than me having to manually install each via the UI.

Describe potential alternatives you've considered

No response

Additional context

No response

Flake8 plugins not working

Problem description

I use flake8 as my linter with a bunch of plugins to add extra linting. If I open a terminal in neovim and ask which flake8 I get

/home/guillem/.local/share/nvim/mason/bin/flake8

confirming that I'm using the flake8 program installed by mason when inside neovim.

I also have a python environment activated prior to opening neovim which I need to do so that the LSP works.

Mason puts itself before the flake8 installed on the venv and so all the flake8 plugins that I had there are not longer available and provide no lints.
I can confirm this by running flake8 outside neovim, this uses the binary from the venv, which shows all the expected lints. However running flake8 from a terminal window inside nvim only shows the small amount of lints provided by flake8 by default. This are the same lints as shown on the diagnostics.

Why do you think this is an issue with mason.nvim?

Mason overrides the flake8 provided by the venv making the plugins unavailable. This wouldn't be so problematic if Mason provided a way to add flake8 plugins. I have installed the plugins using the pip within /home/guillem/.local/share/nvim/mason/bin but this didn't fix the situation.

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

Operating system/version

Linux pop-os 5.11.0

I've manually reviewed the Nvim LPS client log (:MasonLog) to find potential errors

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

mason.nvim

Steps to reproduce

  1. Create a Python venv and install flake8 plus some plugins e.g. pep8-naming and flake8-variables-names
  2. Activate the venv prior to opening neovim
  3. Install and configure flake8 with Mason, plus an LSP.
  4. Close neovim and open it while editing a python file.
  5. Attempt to trigger a lint on one of the plugins e.g. x=2 -> single character variable names are not allowed

The above steps may require a .flake8 file to actually "activate" the relevant lints.

Actual behavior

Lints from flake8 don't show when using Mason.

Expected behavior

Lints from flake8 plugins on the venv should show when using Mason or Mason should allow some way to add flake8 plugins

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - WARNING: **Go**: not available
  - OK: **cargo**: `cargo 1.62.1 (a748cf5a3 2022-06-08)`
  - WARNING: **luarocks**: not available
  - OK: **Ruby**: `ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux-gnu]`
  - OK: **RubyGem**: `3.2.5`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `7.5.2`
  - ERROR: **node**: unsupported version `v12.21.0`. Node version must be >= 14
  - OK: **python3**: `Python 3.9.5`
  - OK: **pip3**: `pip 22.2 from /home/guillem/.local/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **javac**: `javac 11.0.11`
  - OK: **java**: `openjdk version "11.0.11" 2021-04-20`
  - OK: **julia**: `julia version 1.7.2`
  - OK: **wget**: `GNU Wget 1.21 built on linux-gnu.`
  - OK: **curl**: `curl 7.74.0 (x86_64-pc-linux-gnu) libcurl/7.74.0 OpenSSL/1.1.1j zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh/0.9.5/openssl/zlib nghttp2/1.43.0 librtmp/2.3`
  - OK: **gzip**: `gzip 1.10`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: **python3_host_prog**: `Python 3.9.7`
  - OK: GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Thu 28 Jul 2022 02:52:50 PM BST.

Screenshots or recordings

No response

...\\pack\\packer\\start\\mason.nvim/lua/mason-core/receipt.lua:104: primary_source is required

I've made an initial investigation into the error myself

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Problem description

When installing the taplo language server, I get the following error:

...\\pack\\packer\\start\\mason.nvim/lua/mason-core/receipt.lua:104: primary_source is required

Neovim version (>= 0.7)

NVIM v0.8.0-dev-768-gb8dcbcc73
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compiled by runneradmin@fv-az8-588

Operating system/version

Windows 11 Version 10.0.22000 Build 22000

Affected packages

Taplo

Actual behavior

...\\pack\\packer\\start\\mason.nvim/lua/mason-core/receipt.lua:104: primary_source is required when trying to install Taplo

Expected behavior

Install with no errors like other LSPs

Mason output

mason.nvim 
                                press ? for help
                   https://github.com/williamboman/mason.nvim
   (1) All   (2) LSP   (3) DAP   (4) Linter   (5) Formatter  
  
  Language Filter: press <C-f> to apply filter

  Installed
    ◍ editorconfig-checker
    ◍ stylua
    ◍ yamllint
    ◍ prettierd
    ◍ pylint
    ◍ csharpier
    ◍ flake8
    ◍ eslint_d
    ◍ pyright
    ◍ stylelint-lsp
    ◍ yaml-language-server
    ◍ typescript-language-server
    ◍ vim-language-server
    ◍ json-lsp
    ◍ powershell-editor-services
    ◍ rust-analyzer
    ◍ html-lsp
    ◍ omnisharp
    ◍ lua-language-server
    ◍ diagnostic-languageserver
    ◍ emmet-ls
    ◍ css-lsp
    ◍ dockerfile-language-server
    ◍ bash-language-server
    ◍ clangd
  
  Failed
    ◍ taplo
      ...\pack\packer\start\mason.nvim/lua/mason-core/receipt.lua:104: primary_source is required

Installation log

[INFO  8/3/2022 3:55:33 PM] ...acker\start\mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=taplo)
[DEBUG 8/3/2022 3:55:34 PM] ...\site\pack\packer\start\mason.nvim/lua/mason-core/fs.lua:70: fs: mkdirp C:\Users\{USER}\AppData\Local\nvim-data\mason\.packages\taplo
[DEBUG 8/3/2022 3:55:34 PM] ...er\start\mason.nvim/lua/mason-core/installer/context.lua:174: Promoting cwd "C:\\Users\\{USER}\\AppData\\Local\\nvim-data\\mason\\.packages\\taplo" to "C:\\Users\\{USER}\\AppData\\Local\\nvim-data\\mason\\packages\\taplo"
[DEBUG 8/3/2022 3:55:34 PM] ...\site\pack\packer\start\mason.nvim/lua/mason-core/fs.lua:83: fs: rename C:\Users\{USER}\AppData\Local\nvim-data\mason\.packages\taplo C:\Users\{USER}\AppData\Local\nvim-data\mason\packages\taplo
[DEBUG 8/3/2022 3:55:34 PM] ...ker\start\mason.nvim/lua/mason-core/installer/linker.lua:80: Linking Package(name=taplo)
[DEBUG 8/3/2022 3:55:34 PM] ...acker\start\mason.nvim/lua/mason-core/installer/init.lua:30: Writing receipt for Package(name=taplo)
[ERROR 8/3/2022 3:55:34 PM] ...acker\start\mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=taplo) error="...\\pack\\packer\\start\\mason.nvim/lua/mason-core/receipt.lua:104: primary_source is required"
[DEBUG 8/3/2022 3:55:34 PM] ...\site\pack\packer\start\mason.nvim/lua/mason-core/fs.lua:46: fs: rmrf C:\Users\{USER}\AppData\Local\nvim-data\mason\packages\taplo
[DEBUG 8/3/2022 3:55:34 PM] ...ker\start\mason.nvim/lua/mason-core/installer/linker.lua:21: Unlinking Package(name=taplo)

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.19 windows/amd64`
  - OK: **cargo**: `cargo 1.62.1 (a748cf5a3 2022-06-08)`
  - WARNING: **luarocks**: not available
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.11.0`
  - OK: **node**: `v16.16.0
`
  - WARNING: **python3**: not available
  - WARNING: **pip3**: not available
  - WARNING: **javac**: not available
  - WARNING: **java**: not available
  - WARNING: **julia**: not available
  - ERROR: **wget**: not available
  - OK: **curl**: `curl 7.83.1 (Windows) libcurl/7.83.1 Schannel
`
  - ERROR: **gzip**: not available
  - OK: **tar**: `bsdtar 3.5.2 - libarchive 3.5.2 zlib/1.2.5.f-ipp bz2lib/1.0.6 
`
  - OK: **python**: `Ok`
  - OK: **pip**: `pip 22.1.2 from C:\Users\{USER}\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)

`
  - OK: GitHub API rate limit. Used: 6. Remaining: 4994. Limit: 5000. Reset: 8/3/2022 4:45:30 PM.

Screenshots

image
image
(It doesn't seem to be caused by mason-tool-installer, as the error references a mason.nvim file)

[New package]: latexindent

Package name

latexindent

Package homepage

https://github.com/cmhughes/latexindent.pl

Languages

latex

How is this package distributed?

It's distributed in a zip file in the github releases page, the zip comes with latexindent.pl and all it's dependencies.

when mason symlinks latexindent.pl it should remove the file extension (latexindent) as that's how it's normally distributed and how other latex utilities reference it.

Note: this belongs in the Formatter category and can be used via texlab and null-ls

Auto-install Packages (Other than LSP Servers)

Is your feature request related to a problem? Please describe.

Currently, mason-lspconfig will auto-install a list of servers with the ensure_installed and automatic_installation options. However, there is no method for auto-installing DAP servers, linters and formatters in mason.

Describe the solution you'd like

Ideally, the same solution as what's currently in mason-lspconfig---I give mason a list of packages to install and it automatically installs them for me.

Alternatively, it might be worthwhile to move the automatic installation logic from mason-lspconfig to mason.

Describe potential alternatives you've considered

Manually installing the packages through the :Mason interface.

Additional context

No response

jdtls not executable

Problem description

Missing symlink to ~/.local/share/nvim/mason/packages/jdtls/bin/jdtls in folder ~/.local/share/nvim/mason/bin/

When manually adding symlink:
ln -s ~/.local/share/nvim/mason/packages/jdtls/bin/jdtls ~/.local/share/nvim/mason/bin/jdtls
jdtls start

Neovim version (>= 0.7)

NVIM v0.8.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

Operating system/version

Linux

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

jdtls

Actual behavior

jdtls not start

Expected behavior

jdtls start

Mason output

No response

Installation log

[INFO  Mon 11 Jul 2022 07:40:08 PM EEST] ...acker/start/mason.nvim/lua/mason-core/installer/init.lua:142: Installation succeeded for Package(name=jdtls)

Healthcheck

n/a

Screenshots

No response

Installing prebuilt stylua binary instead of building it

Is your feature request related to a problem? Please describe.

I want to use stylua, but don't have cargo installed on my system. There is a precompiled binary available on the stylua github page https://github.com/JohnnyMorganz/StyLua/releases/. Can I make mason.nvim download the precompiled binary of stylua instead of trying to cargo install it.

Describe the solution you'd like

Downloading stylua precompiled binary, if cargo is not available

Describe potential alternatives you've considered

Manually downloading the stylua binary and putting it globally into the ~/.local/bin directory

Additional context

No response

Fails to install go-debug-adapter

Problem description

Installing the debug adapter fails.

Neovim version (>= 0.7)

NVIM v0.8.0-dev+550-gf075feee3
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compiled by runneradmin@fv-az177-460

Features: -acl +iconv +tui

Operating system/version

Windows 10 Pro 10.0.19044

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected language packages

go-debug-adapter

Actual behavior

Install fails

Expected behavior

Install doesn't fail

Mason output

Downloading file "https://github.com/golang/vscode-go/releases/download/v0.34.1/go-0.34.1.vsix"...
  ...ker\start\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\Users\\js\\AppData\\Local\\nvim-data\\mason\\packages\\go-debug-adapter\\go-debug-adapter" does not exist.

Installation log

[INFO  08/07/2022 15:28:17] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=delve)
[INFO  08/07/2022 15:28:19] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 15:28:25] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 15:28:25] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'
[INFO  08/07/2022 15:28:28] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=delve)
[INFO  08/07/2022 15:28:28] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:142: Installation succeeded for Package(name=delve)
[INFO  08/07/2022 15:28:35] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 15:28:37] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 15:28:37] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'
[INFO  08/07/2022 15:29:14] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 15:29:16] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 15:29:16] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'
[INFO  08/07/2022 16:01:24] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 16:01:27] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 16:01:27] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'
[INFO  08/07/2022 16:03:31] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=delve)
[INFO  08/07/2022 16:03:51] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 16:03:53] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 16:03:53] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'
[INFO  08/07/2022 16:05:38] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:110: Executing installer for Package(name=go-debug-adapter)
[INFO  08/07/2022 16:05:41] ...\packer\start\mason.nvim/lua/mason/core/package/init.lua:141: Unlinking Package(name=go-debug-adapter)
[ERROR 08/07/2022 16:05:41] ...acker\start\mason.nvim/lua/mason/core/installer/init.lua:146: Installation failed for Package(name=go-debug-adapter) error='...ker\\start\\mason.nvim/lua/mason/core/installer/linker.lua:44: Link target "C:\\\\Users\\\\js\\\\AppData\\\\Local\\\\nvim-data\\\\mason\\\\packages\\\\go-debug-adapter\\\\go-debug-adapter" does not exist.'

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.2 windows/amd64`
  - OK: **cargo**: `cargo 1.60.0 (d1fd9fe2c 2022-03-01)`
  - WARNING: **luarocks**: not available
  - WARNING: **Ruby**: not available
  - WARNING: **RubyGem**: not available
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.12.1`
  - OK: **node**: `v18.4.0
`
  - WARNING: **python3**: not available
  - WARNING: **pip3**: not available
  - OK: **javac**: `javac 17
`
  - OK: **java**: `openjdk version "17" 2021-09-14
`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on cygwin.`
  - OK: **curl**: `curl 7.79.1 (Windows) libcurl/7.79.1 Schannel
`
  - OK: **gzip**: `gzip 1.10`
  - OK: **tar**: `bsdtar 3.5.2 - libarchive 3.5.2 zlib/1.2.5.f-ipp 
`
  - OK: **python**: `Ok`
  - OK: **pip**: `pip 20.3.3 from C:\Users\js\AppData\Local\Programs\Python\Python38\lib\site-packages\pip (python 3.8)

`
  - OK: **JAVA_HOME**: `openjdk version "17" 2021-09-14
`
  - OK: GitHub API rate limit. Used: 5. Remaining: 55. Limit: 60. Reset: 08/07/2022 16:55:08.

Screenshots

No response

ansiblels plugin auto-completion does not work

Problem description

After moving from nvim-lsp-installer to mason.nvim found that ansibles plugin's auto-completion does not working.
LspLog (~/.cache/nvim/lsp.log) show following line on each time I trying to autocomplete:

[ERROR][2022-08-02 16:21:37] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:21:39] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:21:43] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:14] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:30] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:34] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:36] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:36] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:36] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:36] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:38] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:38] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:38] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:38] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"
[ERROR][2022-08-02 16:22:38] ...lsp/handlers.lua:455	"An error occurred in 'onCompletion' handler: [TypeError] Cannot read properties of undefined (reading 'provideRedirectModules')\nTypeError: Cannot read properties of undefined (reading 'provideRedirectModules')\n    at /home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:45:112\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/user/.local/share/nvim/mason/packages/ansible-language-server/node_modules/@ansible/ansible-language-server/out/server/src/providers/completionProvider.js:5:58)"

Why do you think this is an issue with mason.nvim?

When switching back to nvim-lsp-installer everything works again

Neovim version (>= 0.7)

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3

Operating system/version

Linux localhost 5.18.14-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 23 Jul 2022 11:46:17 +0000 x86_64 GNU/Linux

I've manually reviewed the Nvim LPS client log (:MasonLog) to find potential errors

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

ansible-language-server

Steps to reproduce

  1. Install: mason.nvim + mason-lspconfig
  2. Uninstall: nvim-lsp-installer
  3. Install: ansible-language-server
  4. Open ansible-file
  5. Start server with: LspStart ansiblels
  6. Start typing/modifying

Actual behavior

No completion from LSP-source available, only from current buffer

Expected behavior

Should be available completion for ansible modules, for example:
When typing: ansible.builtin.shell - it should display a list of options

Healthcheck

mason: require("mason.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.4 linux/amd64`
  - OK: **cargo**: `cargo 1.62.1`
  - OK: **luarocks**: `/usr/bin/luarocks 3.9.0`
  - OK: **Ruby**: `ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]`
  - OK: **RubyGem**: `3.3.15`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.14.0`
  - OK: **node**: `v18.6.0`
  - OK: **python3**: `Python 3.10.5`
  - OK: **pip3**: `pip 22.1.2 from /usr/lib/python3.10/site-packages/pip (python 3.10)`
  - WARNING: **javac**: not available
  - OK: **java**: `openjdk version "1.8.0_342"`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 for linux-gnu.`
  - OK: **curl**: `curl 7.84.0 (x86_64-pc-linux-gnu) libcurl/7.84.0 OpenSSL/1.1.1q zlib/1.2.12 brotli/1.0.9 zstd/1.5.2 libidn2/2.3.3 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.48.0`
  - OK: **gzip**: `gzip 1.12`
  - OK: **tar**: `tar (GNU tar) 1.34`
  - OK: **bash**: `GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)`
  - OK: **sh**: `Ok`
  - OK: **python3_host_prog**: `Python 3.10.2`
  - OK: GitHub API rate limit. Used: 4. Remaining: 56. Limit: 60. Reset: Вт 02 авг 2022 18:22:20.

Screenshots or recordings

No response

/home/user/.cache/nvim/mason.log

I've made an initial investigation into the error myself

  • Yes

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Problem description

Following the README, I install mason, nvim-lspconfig, mason-lspconfig.
However when I try to install anything with "i" in the Mason GUI, I get the following error message:

E5108: Error executing lua: ...cal/share/nvim/plugged/mason.nvim/lua/mason-core/log.lua:115: /home/jake/.cache/nvim/
mason.log: No such file or directory
stack traceback:
        [C]: in function 'assert'
        ...cal/share/nvim/plugged/mason.nvim/lua/mason-core/log.lua:115: in function 'error'
        .../nvim/plugged/mason.nvim/lua/mason-core/package/init.lua:112: in function 'callback'
        ...re/nvim/plugged/mason.nvim/lua/mason-core/async/init.lua:88: in function 'step'
        ...re/nvim/plugged/mason.nvim/lua/mason-core/async/init.lua:93: in function 'run'
        .../nvim/plugged/mason.nvim/lua/mason-core/package/init.lua:103: in function 'install'
        .../share/nvim/plugged/mason.nvim/lua/mason/ui/instance.lua:411: in function 'effect_handler'
        ...re/nvim/plugged/mason.nvim/lua/mason-core/ui/display.lua:229: in function 'call_effect_handler'
        ...re/nvim/plugged/mason.nvim/lua/mason-core/ui/display.lua:240: in function 'dispatch_effect'
        ...re/nvim/plugged/mason.nvim/lua/mason-core/ui/display.lua:334: in function <...re/nvim/plugged/mason.nvim/
lua/mason-core/ui/display.lua:333>
Press ENTER or type command to continue

Neovim version (>= 0.7)

NVIM v0.8.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

Operating system/version

Linux pop-os 5.17.5-76051705-generic #202204271406165344057622.04~6277a18 SMP PREEMPT Wed May 25 01 x86_64 x86_64 x86_64 GNU/Linux

Affected packages

All

Actual behavior

error message

Expected behavior

to install packages

Mason output

(normal Mason output)

However, after I follow instructions in mason-debugging, I now get the same error message above for "Mason"

Installation log

Is empty

Healthcheck

mason: require("mason.health").check()
========================================================================
  - ERROR: Failed to run healthcheck for "mason" plugin. Exception:
    function health#check, line 20
    Vim(eval):E5108: Error executing lua .../share/nvim/plugged/mason.nvim/lua/mason/health/init.lua:259: ...cal/share/nvim/plugged/mason.nvim/lua/mason-core/log.lua:115: /home/jake/.cache/nvim/mason.log: No such file or directory
    stack traceback:
    [C]: in function 'error'
    ...re/nvim/plugged/mason.nvim/lua/mason-core/async/init.lua:131: in function 'run_blocking'
    .../share/nvim/plugged/mason.nvim/lua/mason/health/init.lua:259: in function 'check'
    [string "luaeval()"]:1: in main chunk

Screenshots

No response

Adding Vscode-java-decompiler

Package name

Vscode-java-decompiler

Package homepage

https://github.com/dgileadi/vscode-java-decompiler

Languages

Java

How is this package distributed?

Github

Hello,

I don't know if this package would be allowed to install. It doesn't seem to fit any of the categories on the homepage. I do think most would want it, or some flavor of a decompiler for Java. Please let me know your thoughts

ccls doesn't install on macOS (M1)

Problem description

This seems to be a rehash of williamboman/nvim-lsp-installer#350 which I believe https://github.com/williamboman/nvim-lsp-installer/pull/352/files fixes, but unfortunately this does not seem to work in mason. Not sure if something needs to be ported over.

Neovim version (>= 0.7)

NVIM v0.8.0-dev+2052-g95c65a6b2

Operating system/version

macOS 12.4

I've recently downloaded the latest plugin version of mason.nvim

  • Yes

Affected packages

ccls

Actual behavior

    ◍ ccls
      Cloning into '.'...
      Submodule 'third_party/rapidjson' (https://github.com/Tencent/rapidjson) registered for path 'third_party/rapidjson'
      Cloning into '/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/third_party/rapidjson'...
      Submodule path 'third_party/rapidjson': checked out '6a905f9311f82d306da77bd963ec5aa5da07da9c'
      Submodule 'thirdparty/gtest' (https://github.com/google/googletest.git) registered for path 'third_party/rapidjson/thirdparty/gtest'
      Cloning into '/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/third_party/rapidjson/thirdparty/gtest'...
      Submodule path 'third_party/rapidjson/thirdparty/gtest': checked out '0a439623f75c029912728d80cb7f1b8b48739ca4'
      From https://github.com/MaskRay/ccls
       * tag               0.20210330 -> FETCH_HEAD
      Note: switching to 'FETCH_HEAD'.
      
      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.
      
      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:
      
        git switch -c <new-branch-name>
      
      Or undo this operation with:
      
        git switch -
      
      Turn off this advice by setting config variable advice.detachedHead to false
      
      HEAD is now at 0ada56e Fix short_name_size when getNameAsString does not return a prefix (#784)
      CMake Warning:
        No source or binary directory provided.  Both will be assumed to be the
        same as the current working directory, but note that this warning will
        become a fatal error in future CMake releases.
      
      
      -- The CXX compiler identification is AppleClang 13.1.6.13160021
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Error at /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:44 (message):
        check_source_compiles: C: needs to be enabled before use.
      Call Stack (most recent call first):
        /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/CheckCSourceCompiles.cmake:76 (cmake_check_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/FindFFI.cmake:44 (check_c_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/LLVMConfig.cmake:236 (find_package)
        /opt/homebrew/opt/llvm/lib/cmake/clang/ClangConfig.cmake:9 (find_package)
        CMakeLists.txt:72 (find_package)
      
      
      -- Could NOT find FFI (missing: HAVE_FFI_CALL) 
      -- Could NOT find Terminfo (missing: Terminfo_LINKABLE) 
      CMake Error at /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:44 (message):
        check_source_compiles: C: needs to be enabled before use.
      Call Stack (most recent call first):
        /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/CheckCSourceCompiles.cmake:76 (cmake_check_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/FindTerminfo.cmake:21 (check_c_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/LLVMConfig.cmake:243 (find_package)
        /opt/homebrew/opt/llvm/lib/cmake/clang/ClangConfig.cmake:9 (find_package)
        CMakeLists.txt:72 (find_package)
      
      
      -- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libz.tbd (found version "1.2.11") 
      -- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libxml2.tbd (found version "2.9.4") 
      -- Looking for C++ include pthread.h
      -- Looking for C++ include pthread.h - found
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
      -- Found Threads: TRUE  
      -- Using local RapidJSON
      fatal: No names found, cannot describe anything.
      -- Configuring incomplete, errors occurred!
      See also "/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/CMakeFiles/CMakeOutput.log".
      See also "/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/CMakeFiles/CMakeError.log".
      spawn: cmake failed with exit code 1 and signal 0. 

Expected behavior

A smooth installation 😄

Mason output

mason.nvim  alpha branch
                                                                    press ? for help
                                                       https://github.com/williamboman/mason.nvim
                             Give usage feedback: https://github.com/williamboman/mason.nvim/discussions/new?category=ideas
   (1) All   (2) LSP   (3) DAP   (4) Linter   (5) Formatter  
  
  Language Filter: press <C-f> to apply filter

  Installed
    ◍ bash-language-server
    ◍ delve
    ◍ gopls
    ◍ graphql-language-service-cli
    ◍ json-lsp
    ◍ lua-language-server
    ◍ marksman
    ◍ pyright
    ◍ rust-analyzer
    ◍ sqls
    ◍ terraform-ls
    ◍ tflint
    ◍ typescript-language-server
    ◍ vim-language-server
    ◍ yaml-language-server
  
  Failed
    ◍ ccls
      Cloning into '.'...
      Submodule 'third_party/rapidjson' (https://github.com/Tencent/rapidjson) registered for path 'third_party/rapidjson'
      Cloning into '/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/third_party/rapidjson'...
      Submodule path 'third_party/rapidjson': checked out '6a905f9311f82d306da77bd963ec5aa5da07da9c'
      Submodule 'thirdparty/gtest' (https://github.com/google/googletest.git) registered for path 'third_party/rapidjson/thirdparty/gtest'
      Cloning into '/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/third_party/rapidjson/thirdparty/gtest'...
      Submodule path 'third_party/rapidjson/thirdparty/gtest': checked out '0a439623f75c029912728d80cb7f1b8b48739ca4'
      From https://github.com/MaskRay/ccls
       * tag               0.20210330 -> FETCH_HEAD
      Note: switching to 'FETCH_HEAD'.
      
      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.
      
      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:
      
        git switch -c <new-branch-name>
      
      Or undo this operation with:
      
        git switch -
      
      Turn off this advice by setting config variable advice.detachedHead to false
      
      HEAD is now at 0ada56e Fix short_name_size when getNameAsString does not return a prefix (#784)
      CMake Warning:
        No source or binary directory provided.  Both will be assumed to be the
        same as the current working directory, but note that this warning will
        become a fatal error in future CMake releases.
      
      
      -- The CXX compiler identification is AppleClang 13.1.6.13160021
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Error at /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:44 (message):
        check_source_compiles: C: needs to be enabled before use.
      Call Stack (most recent call first):
        /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/CheckCSourceCompiles.cmake:76 (cmake_check_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/FindFFI.cmake:44 (check_c_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/LLVMConfig.cmake:236 (find_package)
        /opt/homebrew/opt/llvm/lib/cmake/clang/ClangConfig.cmake:9 (find_package)
        CMakeLists.txt:72 (find_package)
      
      
      -- Could NOT find FFI (missing: HAVE_FFI_CALL) 
      -- Could NOT find Terminfo (missing: Terminfo_LINKABLE) 
      CMake Error at /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/Internal/CheckSourceCompiles.cmake:44 (message):
        check_source_compiles: C: needs to be enabled before use.
      Call Stack (most recent call first):
        /opt/homebrew/Cellar/cmake/3.23.2/share/cmake/Modules/CheckCSourceCompiles.cmake:76 (cmake_check_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/FindTerminfo.cmake:21 (check_c_source_compiles)
        /opt/homebrew/opt/llvm/lib/cmake/llvm/LLVMConfig.cmake:243 (find_package)
        /opt/homebrew/opt/llvm/lib/cmake/clang/ClangConfig.cmake:9 (find_package)
        CMakeLists.txt:72 (find_package)
      
      
      -- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libz.tbd (found version "1.2.11") 
      -- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libxml2.tbd (found version "2.9.4") 
      -- Looking for C++ include pthread.h
      -- Looking for C++ include pthread.h - found
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
      -- Found Threads: TRUE  
      -- Using local RapidJSON
      fatal: No names found, cannot describe anything.
      -- Configuring incomplete, errors occurred!
      See also "/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/CMakeFiles/CMakeOutput.log".
      See also "/Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git/CMakeFiles/CMakeError.log".
      spawn: cmake failed with exit code 1 and signal 0. 
      
  
  Available
    ◍ angular-language-server
    ◍ ansible-language-server
    ◍ apex-language-server
    ◍ arduino-language-server
    ◍ asm-lsp
    ◍ astro-language-server
    ◍ awk-language-server
    ◍ beancount-language-server
    ◍ bicep-lsp
    ◍ black
    ◍ bsl-language-server
    ◍ chrome-debug-adapter
    ◍ clangd
    ◍ clarity-lsp
    ◍ clojure-lsp
    ◍ cmake-language-server
    ◍ codelldb
    ◍ codeql
    ◍ cpplint
    ◍ cpptools
    ◍ crystalline
    ◍ csharp-language-server
    ◍ css-lsp
    ◍ cssmodules-language-server
    ◍ cucumber-language-server
    ◍ debugpy
    ◍ deno
    ◍ dhall-lsp
    ◍ diagnostic-languageserver
    ◍ dockerfile-language-server
    ◍ dot-language-server
    ◍ editorconfig-checker
    ◍ efm
    ◍ elixir-ls
    ◍ elm-format
    ◍ elm-language-server
    ◍ ember-language-server
    ◍ emmet-ls
    ◍ erlang-ls
    ◍ esbonio
    ◍ eslint-lsp
    ◍ eslint_d
    ◍ firefox-debug-adapter
    ◍ flux-lsp
    ◍ foam-language-server
    ◍ fortls
    ◍ fsautocomplete
    ◍ go-debug-adapter
    ◍ gofumpt
    ◍ golangci-lint
    ◍ golangci-lint-langserver
    ◍ golines
    ◍ gomodifytags
    ◍ gotests
    ◍ grammarly-languageserver
    ◍ groovy-language-server
    ◍ haskell-language-server
    ◍ haxe-language-server
    ◍ hoon-language-server
    ◍ html-lsp
    ◍ impl
    ◍ intelephense
    ◍ jdtls
    ◍ jedi-language-server
    ◍ json-to-struct
    ◍ jsonnet-language-server
    ◍ julia-lsp
    ◍ kotlin-language-server
    ◍ ktlint
    ◍ lelwel
    ◍ lemminx
    ◍ lemmy-help
    ◍ ltex-ls
    ◍ luacheck
    ◍ metamath-zero-lsp
    ◍ misspell
    ◍ mockdebug
    ◍ netcoredbg
    ◍ nickel-lang-lsp
    ◍ nimlsp
    ◍ node-debug2-adapter
    ◍ ocaml-lsp
    ◍ omnisharp-roslyn
    ◍ opencl-language-server
    ◍ perlnavigator
    ◍ php-debug-adapter
    ◍ phpactor
    ◍ powershell-editor-services
    ◍ prettier
    ◍ prisma-language-server
    ◍ prosemd-lsp
    ◍ psalm
    ◍ puppet-editor-services
    ◍ purescript-language-server
    ◍ pylint
    ◍ python-lsp-server
    ◍ quick-lint-js
    ◍ r-languageserver
    ◍ reason-language-server
    ◍ remark-language-server
    ◍ rescript-lsp
    ◍ revive
    ◍ rnix-lsp
    ◍ robotframework-lsp
    ◍ rome
    ◍ salt-lsp
    ◍ serve-d
    ◍ shellcheck
    ◍ shfmt
    ◍ shopify-theme-check
    ◍ slint-lsp
    ◍ solang
    ◍ solargraph
    ◍ solidity
    ◍ sorbet
    ◍ sourcery
    ◍ sqlls
    ◍ staticcheck
    ◍ stylelint-lsp
    ◍ stylua
    ◍ svelte-language-server
    ◍ svlangserver
    ◍ svls
    ◍ tailwindcss-language-server
    ◍ taplo
    ◍ teal-language-server
    ◍ texlab
    ◍ vala-language-server
    ◍ verible
    ◍ vetur-vls
    ◍ vint
    ◍ visualforce-language-server
    ◍ vls
    ◍ vue-language-server
    ◍ wgsl-analyzer
    ◍ zk
    ◍ zls


### Installation log

```Text
[INFO  Mon 11 Jul 16:00:18 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[INFO  Mon 11 Jul 16:02:24 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 16:02:31 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 16:03:12 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 16:03:18 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 16:03:31 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 16:03:35 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 16:06:09 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 16:06:14 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 16:10:03 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[INFO  Mon 11 Jul 16:10:23 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 16:10:29 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 17:06:20 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 17:06:25 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 17:09:07 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[INFO  Mon 11 Jul 17:09:07 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 17:09:07 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=".../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:113: Vim:E739: Cannot create directory /Users/akin/.local/share/nvim/mason/.packages/ccls: file already exists"
[ERROR Mon 11 Jul 17:09:13 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 17:10:06 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[INFO  Mon 11 Jul 17:10:06 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 17:10:06 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=".../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:113: ...im/site/pack/packer/opt/mason.nvim/lua/mason-core/fs.lua:65: EEXIST: file already exists: /Users/akin/.local/share/nvim/mason/.packages/ccls/ccls-git"
[ERROR Mon 11 Jul 17:10:06 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: git failed with exit code 128 and signal 0. 
[INFO  Mon 11 Jul 17:11:03 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[INFO  Mon 11 Jul 17:11:03 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 17:11:03 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=".../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:113: Vim:E739: Cannot create directory /Users/akin/.local/share/nvim/mason/.packages/ccls: file already exists"
[ERROR Mon 11 Jul 17:11:08 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 17:51:13 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 17:51:21 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:06:13 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:06:20 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:11:10 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:11:17 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:12:23 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:12:31 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:51:29 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:51:34 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:54:42 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:54:46 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 
[INFO  Mon 11 Jul 18:55:11 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:110: Executing installer for Package(name=ccls)
[ERROR Mon 11 Jul 18:55:16 2022] .../packer/opt/mason.nvim/lua/mason-core/installer/init.lua:146: Installation failed for Package(name=ccls) error=spawn: cmake failed with exit code 1 and signal 0. 


### Healthcheck

```Text
mason-core: require("mason-core.health").check()
========================================================================
## mason.nvim report
  - OK: neovim version >= 0.7.0
  - OK: **Go**: `go version go1.18.3 darwin/arm64`
  - OK: **cargo**: `cargo 1.62.0 (a748cf5a3 2022-06-08)`
  - OK: **luarocks**: `/opt/homebrew/bin/luarocks 3.9.1`
  - OK: **Ruby**: `ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]`
  - OK: **RubyGem**: `3.3.11`
  - WARNING: **Composer**: not available
  - WARNING: **PHP**: not available
  - OK: **npm**: `8.12.1`
  - OK: **node**: `v18.5.0`
  - OK: **python3**: `Python 3.9.8`
  - OK: **pip3**: `pip 21.2.4 from /Users/akin/.pyenv/versions/3.9.8/lib/python3.9/site-packages/pip (python 3.9)`
  - OK: **javac**: `javac 17.0.2`
  - OK: **java**: `openjdk version "17.0.2" 2022-01-18`
  - WARNING: **julia**: not available
  - OK: **wget**: `GNU Wget 1.21.3 built on darwin21.3.0.`
  - OK: **curl**: `curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.45.1`
  - OK: **gzip**: `Apple gzip 353.100.22`
  - OK: **tar**: `bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
  - OK: **bash**: `GNU bash, version 3.2.57(1)-release (arm64-apple-darwin21)`
  - OK: **sh**: `Ok`
  - OK: GitHub API rate limit. Used: 13. Remaining: 4987. Limit: 5000. Reset: Mon 11 Jul 18:57:43 2022.


### Screenshots

_No response_

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.