Open5
nvim再構築@2025
v0.11になってLSPの書き方がガラっとかわるので、これを期に作りなおす
現在の設定
augroupってなんだ?
augroupはautocmdグループ名を定義するためのコマンド
autocmdが重複して設定されないようにするための仕組みらしい
This prevents having the autocommands defined twice (e.g., after sourcing the vimrc file again).
dpp#make_state({base-path}, {config-path}[, {name}])
dppのstateを保存し、スタートアップスクリプトをconfig-pathに生成する
第2引数はdppの設定ファイルへのパスを指定する
DenopsReady以降に呼び出す必要がある
runtimepathを動的に変更したあとに呼び出してはいけない
dppの設定ファイルは以下のようなオブジェクトを返す
{
checkFiles: string[], // タイムスタンプ更新時にチェックするファイルパス
plugins: Plugin[], // プラグイン一覧
stateLines: string[], // dpp-extに依存した追加のstate lines
}
dpp#min#load_state({base-path}[, {name}])
dppのstateを読み込み、生成されたスタートアップスクリプトを実行する
スタートアップスクリプトが古いか、不正か、見つからなければ1を返す
dpp.ts
- BaseConfigを継承して、Configというクラスを作ってexportする
- 返り値はConfigArguments
args.contextBuilder.setGlobal
引数は↓を参照
- inlineVimrcs
-
dpp#min#load_state()
で生成されるstartup.vim
に展開されるvimrc - Neovimではluaファイルも使える
-
- protocols
- プロトコルリスト
- extParams
- dpp-ext-{hoge}-paramを設定する場所
- extOptions
- dpp-ext-{hoge}-optionを設定する場所
args.contextBuilder.get
プラグイン管理に必要なcontextとoptionsを生成・取得する
args.denops.dispatcher.getExt("toml")
toml拡張(dpp-ext-toml)を取得し、その拡張の各種情報や操作(アクション)を使えるようにする