🔧

dpp.vim(dpp-ext-installer)のinstallとupdateを少し使いやすくする

2024/05/23に公開

目的

以下のコマンドでプラグインのインストールと更新を行えるようにする。

" インストール
:DppInstall
" 全て更新
:DppUpdate
" 指定したプラグインのみ更新
:DppUpdate plugin_name

対象

  • Neovimユーザー
  • luaで設定が書ける
  • dpp.vimdpp-ext-installerを導入済み

方法

以下をinit.luaなど設定のどこかに追加してださい

-- install
vim.api.nvim_create_user_command('DppInstall', "call dpp#async_ext_action('installer', 'install')", {})
-- update
vim.api.nvim_create_user_command(
    'DppUpdate', 
    function(opts)
        local args = opts.fargs
        vim.fn['dpp#async_ext_action']('installer', 'update', { names = args })
    end, 
    { nargs = '*' }
)

やっていること

dpp.vimの拡張であるdpp-ext-installerを導入していると

call dpp#async_ext_action('installer', 'install')

で新規プラグインをインストール

" 全て更新
call dpp#async_ext_action('installer', 'update')
" 指定したプラグインだけ更新
call dpp#async_ext_action('installer', 'update', #{ names: ['dpp.vim'] })

で導入済みの拡張の更新を行うことができます。

これをそれぞれ:DppInstall, :DppUpdateというコマンドで呼べるようにしています。
:DppUpdateでは引数を受け取れるようにしているので

:DppUpdate A B

のようにすることでプラグイン名がAとBのものだけを更新できます。

余談

私はLazyからの移行のときに少しずつプラグインを追加したり設定を変えたりしていたのでこのコマンドを追加することで楽になりました。
dpp-ext-installerには他にもコマンドがあるので同じように追加していけば捗るかもしれません。

Discussion