エラーになるプロジェクトとそうでないプロジェクトもあって、なんやろうなって。
エラーについて
具体的には、こういうエラー。(ちょっと整形した)
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: ...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:35:
Error executing lua: ...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:36:
BufReadPost Autocommands for "*"..FileType Autocommands for "*"..function
<SNR>1_LoadFTPlugin[20]..script /opt/homebrew/Cellar/neovim/0.10.2_1/share/nvim/runtime/ftplugin/astro.vim[163]..function
<SNR>25_CollectPathsFromConfig, line 11: Vim(let):E474: Trailing comma: } }
stack traceback:
[C]: in function 'nvim_cmd'
...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:36: in function <...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:35>
[C]: in function 'nvim_buf_call'
...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:35: in function <...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:10>
stack traceback:
[C]: in function 'nvim_buf_call'
...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:35: in function <...w/Cellar/neovim/0.10.2_1/share/nvim/runtime/filetype.lua:10>
nvim
のバージョンも変えてみたけど、stableでもnightlyでも関係なかった。
拡張子ごとに自動で呼ばれる処理の中で、なにやらエラーが起きてるとのこと。
runtime/filetype.lua
の処理の一連の流れの中のruntime/ftplugin/astro.vim
の中でCollectPathsFromConfig()
という処理中にエラー
エラーメッセージはTrailing comma:
とだけで、なんのことやら。
該当部分のコードを見ても、別に怪しいカンマなんかない。
なぜ
あれこれ調べてみたところ、このCollectPathsFromConfig()
は、tsconfig.json
かjsconfig.json
を利用するらしい。
で、その過程でいわゆるJSONパースをしてて、そこが失敗してる模様。
というのも、我らがTypeScriptのtsconfig.json
は名ばかりだから。
JSON with Comments(.jsonc
)やっけ?かなんかで、コメントも書けるし末尾カンマも許されるほぼJSみたいなJSONだから。
なので、正規のJSONを期待してるコードは、パースできずにエラーになっちゃう。
どうする
tsconfig.json
を真のJSONフォーマットにした。
ちなみにこれ、NeovimじゃなくVimでも起きると思う。
というところで、Vimにパッチを投げ、Neovimに取り込まれるのを待ち・・・というのが正攻法なんやろうけど、それは時間があるときに・・・。