neovimでvim-neon-darkでエラーが出た
Posted: | Categories: neovim | Tags: neovim, vim-neon-dark
発生したエラー
Error in decoration provider treesitter/highlighter.line:
Error executing lua: .../vim-neon-dark/lua/vim-neon-dark.lua:55: attempt to call field 'get_node_text' (a nil value)
Tree-sitter のハイライト系統の内部で、vim-neon-dark テーマの Lua コードから get_node_text を呼び出していることが原因でした。
検証ログ
Neovim のバージョン
nvim --version
NVIM v0.10.5-dev-22+g0c995c0efb
vim.treesitter.get_node_text が実行時に nil か確認
:lua print(vim.inspect(vim.treesitter.get_node_text))
結果:
<function 1>
→ Neovim 側に関数は存在する
ldd で Tree-sitter が外部ライブラリか確認
ldd $(which nvim) | grep tree-sitter
結果: 空。→ Neovim 側に静的リンクされていると分かる
原因
- vim-neon-dark の Lua コード内で vim.treesitter.query.get_node_text() を呼び出している
- これは Neovim 0.10 以上では存在しない (deprecated)
- vim.treesitter.get_node_text() を使ってみた
対処
エラーの起点
Read more...