Open4

neovimのluaプラグインを作成してみる。

kaepa3kaepa3

hello worldは表示されたがデバッグする方法が難しかった。
requreがlua以下を探しに行かないようなのでluaディレクトリ下で以下コマンドを打つことでどうにかなる。

: luafile ../plugin/swapclear.lua

後出しだが、ディレクトリ構成は下

.
├── Makefile
├── README.md
├── lua
│   ├── swpclear
│   │   └── module.lua
│   └── swpclear.lua
├── plugin
│   └── swpclear.lua
└── tests
    ├── minimal_init.lua
    └── swpclear
        └── swpclear_spec.lua

と思ったけど、再読み込みできてるか謎になってきた。

キャッシュをクリアする必要があるそうな

plugin下のswpclear.luaの頭に追加で毎回更新が動くようになった。

package.loaded["swpclear"] = nil
package.loaded["swpclear.module"] = nil
vim.api.nvim_create_user_command("SwpClear", require("swpclear").swpclr, {force=true})

みんな、、、pluginフォルダ作ってなかったりだなぁとは思ってはいる。

kaepa3kaepa3

Exコマンドの箇所に出力するのは標準出力で良さそう

print("hoge")
kaepa3kaepa3

パッケージのパラメータはこんな感じで定義だと思う。

local M = {}
M.config = {
  -- default config
  opt = "Hello!",
  path = "aa"
}

こんな感じで初期化できる。

require("swpclear").setup({
  path="asda"
})
  M.config = vim.tbl_deep_extend("force", M.config, args or {})

こいつが展開してくれてる、おそらくハッシュテーブルにしてるんだろうけど中身は見てない。