mason.nvim - Neovimが実行されるすべての場所で実行されるNeovimのポータブルパッケージマネージャー。LSPサーバー、DAPサーバー、リンター、フォーマッターを簡単にインストールして管理できます。

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

Created at: 2022-07-07 02:00:30
Language: Lua
License: Apache-2.0

GitHub CI プラットフォーム リポジトリサイズ スポンサー

mason.nvim

Neovimが実行されるすべての場所で実行されるNeovimのポータブルパッケージマネージャー。
LSPサーバー、DAPサーバー、リンター、フォーマッターを簡単にインストールして管理できます。

目次

序章

mason.nvim
は、LSPサーバー、DAPサーバー、リンター、フォーマッターなどの外部エディターツールを単一のインターフェイスから簡単に管理できるようにするNeovimプラグインです。これは、Neovimが実行されるすべての場所(Linux、macOS、Windowsなど)で実行され、必要な外部要件はごくわずかです。

パッケージはデフォルトでNeovimにインストールさ

:h stdpath
れます。実行可能ファイルは単一の
bin/
ディレクトリに リンクされており
mason.nvim
、セットアップ中にNeovimのPATHに追加されるため、Neovimの組み込み(シェル、ターミナルなど)やその他のサードパーティプラグインからシームレスにアクセスできます。

スクリーンショット

メインウィンドウ 言語フィルター
LSPサーバー構成スキーマ 新しいバージョンの確認 ヘルプウィンドウ

要件

mason.nvim
複数の異なるユーティリティを試行することにより、最小要件を緩和します(たとえば、、、
wget
および
curl
Invoke-WebRequest
すべて完全な代替です)。推奨される最小要件は次のとおりです。

  • neovim
    >= 0.7.0
  • Unixシステム
    git(1)
    curl(1)
    場合
    wget(1)
    unzip(1)
    、、、、、、
    tar(1)
    gzip(1)
  • Windowsシステムの場合:powershell、git、tar、および7zipまたはpeazipまたはアーカイバまたはwinzipまたはWinRAR

は、や

mason.nvim
などの外部パッケージマネージャーに定期的に送信されることに注意してください。個人的な使用法によっては、これらのいくつかもインストールする必要があります。完全なリストについては、を参照してください。
cargo
npm
:checkhealth mason

インストール

パッカー

use { "williamboman/mason.nvim" }

vim-plug

Plug 'williamboman/mason.nvim'

設定

require("mason").setup()

mason.nvim
セットアップ中の負荷ができるだけ少なくなるように最適化されています。プラグインを遅延ロードしたり、何らかの方法でセットアップを延期したりすることはお勧めしません。

使用可能な設定については、「構成」セクションを参照してください。

拡張機能

サードパーティの拡張機能のリストについては、 Wikiを参照してください。

コマンド

  • :Mason
    -グラフィカルなステータスウィンドウを開きます
  • :MasonInstall <package> ...
    -提供されたパッケージをインストール/再インストールします
  • :MasonUninstall <package> ...
    -提供されたパッケージをアンインストールします
  • :MasonUninstallAll
    -すべてのパッケージをアンインストールします
  • :MasonLog
    mason.nvim
    -新しいタブウィンドウでログファイルを開きます

構成

mason.nvim
オプションで、関数を呼び出すときの特定の動作を構成できます
.setup()
。使用可能なすべての設定のリストについては、デフォルト構成を参照してください 。

例:

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

デフォルト設定

local DEFAULT_SETTINGS = {
    ui = {
        -- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
        border = "none",

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

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

    -- The directory in which to install packages.
    install_root_dir = path.concat { vim.fn.stdpath "data", "mason" },

    pip = {
        -- 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 = {},
    },

    -- 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,

    -- 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,

    github = {
        -- 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",
    },
}