[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70602":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},70602,"mason.nvim","mason-org\u002Fmason.nvim","mason-org","Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.","",null,"Lua",10319,339,25,263,0,4,9,47,12,84.79,"Apache License 2.0",false,"main",[26,27,28,29,30,31,32,33,34,35],"lua","mason","neovim","neovim-plugin","nvim","nvim-lsp-installer","nvim-plugin","package","package-manager","packages","2026-06-12 04:00:56","![Linux](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLinux-%23.svg?logo=linux&color=FCC624&logoColor=black)\n![macOS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS-%23.svg?logo=apple&color=000000&logoColor=white)\n![Windows](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWindows-%23.svg?logo=windows&color=0078D6&logoColor=white)\n[![GitHub CI](https:\u002F\u002Fgithub.com\u002Fmason-org\u002Fmason.nvim\u002Fworkflows\u002FTests\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmason-org\u002Fmason.nvim\u002Factions?query=workflow%3ATests+branch%3Amain+event%3Apush)\n[![Sponsors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fsponsors\u002Fwilliamboman)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fwilliamboman)\n\n\u003Ch1>\n    \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F6705160\u002F177613416-0c0354d2-f431-40d8-87f0-21310f0bba0e.png\" alt=\"mason.nvim\" \u002F>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n    Portable package manager for Neovim that runs everywhere Neovim runs.\u003Cbr \u002F>\n    Easily install and manage LSP servers, DAP servers, linters, and formatters.\u003Cbr \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n    \u003Ccode>:help mason.nvim\u003C\u002Fcode>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n    \u003Csup>Latest version: v2.2.1\u003C\u002Fsup> \u003C!-- x-release-please-version -->\n\u003C\u002Fp>\n\n## Table of Contents\n\n-   [Introduction](#introduction)\n-   [Installation & Usage](#installation--usage)\n    - [Recommended setup for `lazy.nvim`](#recommended-setup-for-lazynvim)\n-   [Requirements](#requirements)\n-   [Commands](#commands)\n-   [Registries](#registries)\n-   [Screenshots](#screenshots)\n-   [Configuration](#configuration)\n\n## Introduction\n\n> [`:h mason-introduction`][help-mason-introduction]\n\n`mason.nvim` is a Neovim plugin that allows you to easily manage external editor tooling such as LSP servers, DAP servers,\nlinters, and formatters through a single interface. It runs everywhere Neovim runs (across Linux, macOS, Windows, etc.),\nwith only a small set of [external requirements](#requirements) needed.\n\nPackages are installed in Neovim's data directory ([`:h standard-path`][help-standard-path]) by default. Executables are\nlinked to a single `bin\u002F` directory, which `mason.nvim` will add to Neovim's PATH during setup, allowing seamless access\nfrom Neovim builtins (LSP client, shell, terminal, etc.) as well as other 3rd party plugins.\n\nFor a list of all available packages, see \u003Chttps:\u002F\u002Fmason-registry.dev\u002Fregistry\u002Flist>.\n\n## Installation & Usage\n\n> [`:h mason-quickstart`][help-mason-quickstart]\n\nInstall using your plugin manager of choice. **Setup is required**:\n\n```lua\nrequire(\"mason\").setup()\n```\n\n`mason.nvim` is optimized to load as little as possible during setup. Lazy-loading the plugin, or somehow deferring the\nsetup, is not recommended.\n\nRefer to the [Configuration](#configuration) section for information about which settings are available.\n\n### Recommended setup for `lazy.nvim`\n\nThe following is the recommended setup when using `lazy.nvim`. It will set up the plugin for you, meaning **you don't have\nto call `require(\"mason\").setup()` yourself**.\n\n```lua\n{\n    \"mason-org\u002Fmason.nvim\",\n    opts = {}\n}\n```\n\n## Requirements\n\n> [`:h mason-requirements`][help-mason-requirements]\n\n`mason.nvim` relaxes the minimum requirements by attempting multiple different utilities (for example, `wget`,\n`curl`, and `Invoke-WebRequest` are all perfect substitutes).\nThe _minimum_ recommended requirements are:\n\n-   neovim `>= 0.10.0`\n-   For Unix systems:\n    -   `git(1)`\n    -   `curl(1)` or `GNU wget(1)`\n    -   `unzip(1)`\n    -   GNU tar (`tar(1)` or `gtar(1)` depending on platform)\n    -   `gzip(1)`\n-   For Windows systems:\n    -   pwsh or powershell\n    -   git\n    -   GNU tar\n    -   One of the following:\n        -   [7zip][7zip]\n        -   [peazip][peazip]\n        -   [archiver][archiver]\n        -   [winzip][winzip]\n        -   [WinRAR][winrar]\n\nNote that `mason.nvim` will regularly shell out to external package managers, such as `cargo` and `npm`. Depending on\nyour personal usage, some of these will also need to be installed. Refer to `:checkhealth mason` for a full list.\n\n[7zip]: https:\u002F\u002Fwww.7-zip.org\u002F\n[archiver]: https:\u002F\u002Fgithub.com\u002Fmholt\u002Farchiver\n[peazip]: https:\u002F\u002Fpeazip.github.io\u002F\n[winzip]: https:\u002F\u002Fwww.winzip.com\u002F\n[winrar]: https:\u002F\u002Fwww.win-rar.com\u002F\n\n## Commands\n\n> [`:h mason-commands`][help-mason-commands]\n\n-   `:Mason` - opens a graphical status window\n-   `:MasonUpdate` - updates all managed registries\n-   `:MasonInstall \u003Cpackage> ...` - installs\u002Fre-installs the provided packages\n-   `:MasonUninstall \u003Cpackage> ...` - uninstalls the provided packages\n-   `:MasonUninstallAll` - uninstalls all packages\n-   `:MasonLog` - opens the `mason.nvim` log file in a new tab window\n\n## Registries\n\nMason's core package registry is located at [mason-org\u002Fmason-registry](https:\u002F\u002Fgithub.com\u002Fmason-org\u002Fmason-registry).\nBefore any packages can be used, the registry needs to be downloaded. This is done automatically for you when using the\ndifferent Mason commands (e.g. `:MasonInstall`), but can also be done manually by using the `:MasonUpdate` command.\n\nIf you're utilizing Mason's Lua APIs to access packages, it's recommended to use the\n[`:h mason-registry.refresh()`][help-mason-registry-refresh] or [`:h mason-registry.update()`][help-mason-registry-update]\nfunctions to ensure you have the latest package information before retrieving packages.\n\n## Screenshots\n\n|                                                                                                                                                        |                                                                                                                                                  |                                                                                                                                        |\n| :----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: |\n|           \u003Cimg alt=\"Main window\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb9a57d21-f551-45ad-a1e5-a9fd66291510\">           |                 \u003Cimg alt=\"Language search\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3d24fb7b-2c57-4948-923b-0a42bb627cbe\">                 | \u003Cimg alt=\"Language filter\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc0ca5818-3c74-4071-bc41-427a2cd1056d\"> |\n| \u003Cimg alt=\"Package information\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6f9f6819-ac97-483d-a77c-8f6c6131ac85\"> | \u003Cimg alt=\"New package versions\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fff1adc4d-2fcc-46df-ab4c-291c891efa50\"> |   \u003Cimg alt=\"Help window\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1fbe75e4-fe69-4417-83e3-82329e1c236e\">   |\n\n## Configuration\n\n> [`:h mason-settings`][help-mason-settings]\n\nYou may optionally configure certain behavior of `mason.nvim` when calling the `.setup()` function. Refer to the\n[default configuration](#default-configuration) for a list of all available settings.\n\nExample:\n\n```lua\nrequire(\"mason\").setup({\n    ui = {\n        icons = {\n            package_installed = \"✓\",\n            package_pending = \"➜\",\n            package_uninstalled = \"✗\"\n        }\n    }\n})\n```\n\n### Configuration using `lazy.nvim`\n\n```lua\n{\n    \"mason-org\u002Fmason.nvim\",\n    opts = {\n        ui = {\n            icons = {\n                package_installed = \"✓\",\n                package_pending = \"➜\",\n                package_uninstalled = \"✗\"\n            }\n        }\n    }\n}\n```\n\n### Default configuration\n\n```lua\n---@class MasonSettings\nlocal DEFAULT_SETTINGS = {\n    ---@since 1.0.0\n    -- The directory in which to install packages.\n    install_root_dir = path.concat { vim.fn.stdpath \"data\", \"mason\" },\n\n    ---@since 1.0.0\n    -- Where Mason should put its bin location in your PATH. Can be one of:\n    -- - \"prepend\" (default, Mason's bin location is put first in PATH)\n    -- - \"append\" (Mason's bin location is put at the end of PATH)\n    -- - \"skip\" (doesn't modify PATH)\n    ---@type '\"prepend\"' | '\"append\"' | '\"skip\"'\n    PATH = \"prepend\",\n\n    ---@since 1.0.0\n    -- Controls to which degree logs are written to the log file. It's useful to set this to vim.log.levels.DEBUG when\n    -- debugging issues with package installations.\n    log_level = vim.log.levels.INFO,\n\n    ---@since 1.0.0\n    -- Limit for the maximum amount of packages to be installed at the same time. Once this limit is reached, any further\n    -- packages that are requested to be installed will be put in a queue.\n    max_concurrent_installers = 4,\n\n    ---@since 1.0.0\n    -- [Advanced setting]\n    -- The registries to source packages from. Accepts multiple entries. Should a package with the same name exist in\n    -- multiple registries, the registry listed first will be used.\n    registries = {\n        \"github:mason-org\u002Fmason-registry\",\n    },\n\n    ---@since 2.3.0\n    -- [Advanced setting]\n    -- The registries to source system packages from. Accepts multiple entries. Should a package with the same name exist in\n    -- multiple registries, the registry listed first will be used.\n    system_registries = {\n        \"github:mason-org\u002Fmason-system-registry\",\n    },\n\n    ---@since 1.0.0\n    -- The provider implementations to use for resolving supplementary package metadata (e.g., all available versions).\n    -- Accepts multiple entries, where later entries will be used as fallback should prior providers fail.\n    -- Builtin providers are:\n    --   - mason.providers.registry-api  - uses the https:\u002F\u002Fapi.mason-registry.dev API\n    --   - mason.providers.client        - uses only client-side tooling to resolve metadata\n    providers = {\n        \"mason.providers.registry-api\",\n        \"mason.providers.client\",\n    },\n\n    github = {\n        ---@since 1.0.0\n        -- The template URL to use when downloading assets from GitHub.\n        -- The placeholders are the following (in order):\n        -- 1. The repository (e.g. \"rust-lang\u002Frust-analyzer\")\n        -- 2. The release version (e.g. \"v0.3.0\")\n        -- 3. The asset name (e.g. \"rust-analyzer-v0.3.0-x86_64-unknown-linux-gnu.tar.gz\")\n        download_url_template = \"https:\u002F\u002Fgithub.com\u002F%s\u002Freleases\u002Fdownload\u002F%s\u002F%s\",\n    },\n\n    pip = {\n        ---@since 1.0.0\n        -- Whether to upgrade pip to the latest version in the virtual environment before installing packages.\n        upgrade_pip = false,\n\n        ---@since 1.0.0\n        -- These args will be added to `pip install` calls. Note that setting extra args might impact intended behavior\n        -- and is not recommended.\n        --\n        -- Example: { \"--proxy\", \"https:\u002F\u002Fproxyserver\" }\n        install_args = {},\n    },\n\n    npm = {\n        ---@since 2.3.0\n        -- These args will be added to `npm install` calls. Note that setting extra args might impact intended behavior\n        -- and is not recommended.\n        --\n        -- Example: { \"--registry\", \"https:\u002F\u002Fregistry.npmjs.org\u002F\" }\n        install_args = {},\n    },\n\n    ui = {\n        ---@since 1.0.0\n        -- Whether to automatically check for new versions when opening the :Mason window.\n        check_outdated_packages_on_open = true,\n\n        ---@since 1.0.0\n        -- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.\n        -- Defaults to `:h 'winborder'` if nil.\n        border = nil,\n\n        ---@since 1.11.0\n        -- The backdrop opacity. 0 is fully opaque, 100 is fully transparent.\n        backdrop = 60,\n\n        ---@since 1.0.0\n        -- Width of the window. Accepts:\n        -- - Integer greater than 1 for fixed width.\n        -- - Float in the range of 0-1 for a percentage of screen width.\n        width = 0.8,\n\n        ---@since 1.0.0\n        -- Height of the window. Accepts:\n        -- - Integer greater than 1 for fixed height.\n        -- - Float in the range of 0-1 for a percentage of screen height.\n        height = 0.9,\n\n        icons = {\n            ---@since 1.0.0\n            -- The list icon to use for installed packages.\n            package_installed = \"◍\",\n            ---@since 1.0.0\n            -- The list icon to use for packages that are installing, or queued for installation.\n            package_pending = \"◍\",\n            ---@since 1.0.0\n            -- The list icon to use for packages that are not installed.\n            package_uninstalled = \"◍\",\n        },\n\n        keymaps = {\n            ---@since 1.0.0\n            -- Keymap to expand a package\n            toggle_package_expand = \"\u003CCR>\",\n            ---@since 1.0.0\n            -- Keymap to install the package under the current cursor position\n            install_package = \"i\",\n            ---@since 1.0.0\n            -- Keymap to reinstall\u002Fupdate the package under the current cursor position\n            update_package = \"u\",\n            ---@since 1.0.0\n            -- Keymap to check for new version for the package under the current cursor position\n            check_package_version = \"c\",\n            ---@since 1.0.0\n            -- Keymap to update all installed packages\n            update_all_packages = \"U\",\n            ---@since 1.0.0\n            -- Keymap to check which installed packages are outdated\n            check_outdated_packages = \"C\",\n            ---@since 1.0.0\n            -- Keymap to uninstall a package\n            uninstall_package = \"X\",\n            ---@since 1.0.0\n            -- Keymap to cancel a package installation\n            cancel_installation = \"\u003CC-c>\",\n            ---@since 1.0.0\n            -- Keymap to apply language filter\n            apply_language_filter = \"\u003CC-f>\",\n            ---@since 1.1.0\n            -- Keymap to toggle viewing package installation log\n            toggle_package_install_log = \"\u003CCR>\",\n            ---@since 1.8.0\n            -- Keymap to toggle the help view\n            toggle_help = \"g?\",\n        },\n    },\n}\n```\n\n---\n\n\u003Csup>\n👋 didn't find what you were looking for? Try looking in the \u003Ca href=\".\u002Fdoc\u002Fmason.txt\">help docs\u003C\u002Fa> \u003Ccode>:help mason.nvim\u003C\u002Fcode>!\n\u003C\u002Fsup>\n\n[help-mason-commands]: .\u002Fdoc\u002Fmason.txt#L140\n[help-mason-introduction]: .\u002Fdoc\u002Fmason.txt#L11\n[help-mason-quickstart]: .\u002Fdoc\u002Fmason.txt#L42\n[help-mason-registry-refresh]: .\u002Fdoc\u002Fmason.txt#L520\n[help-mason-registry-update]: .\u002Fdoc\u002Fmason.txt#L513\n[help-mason-requirements]: .\u002Fdoc\u002Fmason.txt#L25\n[help-mason-settings]: .\u002Fdoc\u002Fmason.txt#L200\n[help-standard-path]: https:\u002F\u002Fneovim.io\u002Fdoc\u002Fuser\u002Fstarting.html#standard-path\n","mason.nvim 是一个适用于 Neovim 的便携式包管理器，支持在所有 Neovim 运行的平台上轻松安装和管理 LSP 服务器、DAP 服务器、代码检查工具和格式化工具。其核心功能包括通过单一界面管理和配置各种编辑器工具，并将这些工具安装到 Neovim 的数据目录中，同时自动链接到一个统一的 `bin\u002F` 目录，确保从 Neovim 内置功能及其他第三方插件中无缝访问。该插件采用 Lua 编写，具有跨平台兼容性（Linux、macOS 和 Windows），非常适合需要在不同操作系统上保持一致开发环境的 Neovim 用户。",2,"2026-06-11 03:32:57","high_star"]