Neovimのビルトインプラグインマネージャー`vim.pack`を試す
Neovimにvim.packが
HEADビルドしてインストール
vim.packについて
mini.nvimの
この
nvim-treesitterを追加してみる
以下の:restartコマンドで
helpの
local function gh(repo)
return "https://github.com/" .. repo
end
vim.pack.add({
{ src = gh("nvim-treesitter/nvim-treesitter") },
})
require('nvim-treesitter.configs').setup {
ensure_installed = { "lua" },
highlight = { enable = true },
indent = { enable = true },
}
プラグイン一覧を確認する
:= vim.pack.get()
{ {
active = true,
path = "/Users/kmkkiii/.local/share/nvim/site/pack/core/opt/nvim-treesitter",
spec = {
name = "nvim-treesitter",
src = "https://github.com/nvim-treesitter/nvim-treesitter",
version = "master"
}
} }
Press ENTER or type command to continue
依存関係や他のオプションはどうするのか(未検証)
vim.pack.addの
blink.cmpでは
:help vim.pack
ChatGPTに
⸻
vim.pack - 組み込みプラグインマネージャー
開発中の
概要
• プラグインは
要件
• Git
⸻
使用例
基本的な
init.lua に
vim.pack.add({
-- plugin1 をデフォルトブランチでインストール
'https://github.com/user/plugin1',
-- テーブル形式(オプション指定が可能)
{ src = 'https://github.com/user/plugin1' },
-- プラグイン名を明示的に指定("plugin2")
{ src = 'https://github.com/user/generic-name', name = 'plugin2' },
-- バージョンを指定
{
src = 'https://github.com/user/plugin3',
version = vim.version.range('1.0'),
},
{
src = 'https://github.com/user/plugin4',
version = 'main',
},
})
その後
plugin1 = require(‘plugin1’)
次に
vim.pack.update()
• 更新内容を確認し、:write で適用、:quit で破棄。
⸻
プラグインの
⸻
更新を
フリーズ解除
• version を
⸻
プラグインの
vim.pack.del({ ‘plugin-name’ })
• init.lua からも削除しないと、再インストールされます。
⸻
フック
イベント名 タイミング PackChangedPre プラグイン状態変更前 PackChanged プラグイン状態変更後
各イベントで
⸻
vim.pack.Spec 仕様
フィールド 型 説明
src string Git URIstring vim.VersionRange?
⸻
関数一覧
vim.pack.add({specs}, {opts})
現在の
オプション
フィールド 型 説明
load boolean plugin/ や
⸻
vim.pack.del({names})
指定した
⸻
vim.pack.get()
管理中の
⸻
vim.pack.update({names}, {opts})
プラグインを
更新手順
⸻
更新履歴は
⸻