texのsyntaxファイルの問題
環境はMacでHomebrewで入れたNeovim 0.2.1です。
このこの前アップデートされたバージョン0.2.1でファイルタイプがtex
なファイルを開くと
Error detected while processing /usr/local/Cellar/neovim/0.2.1/share/nvim/runtime/syntax/tex.vim:
line 515:
E697: Missing end of List ']':
E15: Invalid expression: s:texMathDelimList + [ ['\\langle' , '〈'] , ['\\rangle' , '〉'] ,
通常a.tex
みたいな拡張子だとset filetype
で調べるとplaintex
というファイルタイプになってますが、
a.latex
みたいな拡張子のファイルを開くとファイルタイプはtex
になります。
また、他のファイルタイプでもsyntaxファイルの中でsyntax/tex.vim
を読み込んでる場合があるので
そういった場合にも上のエラーが出ます。
(今回はMarkdownファイルを開いてる時に出ました。)
ちょっと探してみるとs:texMathDelimList
というリストな変数にリストを追加する時に、
後ろの括弧閉じがコンマになってる、というバグが正体で、
Vimの方で1月位に最初にバグが入って2月に直しています。
Neovimの方を見るとこちらにも Issueが立っていて既にFixされたようですが、 5月にVimにあるような追加を行ってその時は最初同じ様なバグがある状態で その日のうちのコミットで直していますが(もしくはVimのコミットを後追いするようなことをしてる?)、 1週間位前にこのファイルをアップデートした時にまた同じバグを仕込んでしまったようです。 これが5日前に治っています。
runtime: Fix syntax error in
runtime/syntax/tex.vim
(#7518) · neovim/neovim@d0b05e3
0.2.1がリリースされたのが8日で6日前なので丁度バグが入ってる瞬間のものがリリースされてしまっている様です。
ということで、syntax/tex.vim
を使う可能性のある人は0.2.1だとエラーが出るので
最新版を自分でビルドしたり
0.2.2-dev
的なものを使う必要があります。
MacではHomebrewで
$ brew reinstall neovim --HEAD
で入れ直しました。
リリースとしては半年間隔程度で新しいものが出てる感じですが、 これは流石にすぐ直したバージョンが出るかな、と思います。
使い始めは割とこういったことでも嫌になって調べる手間も費やさずに辞めて戻ることも多いので。
(.tex
なLaTeXファイルでも普通はplaintex
になるし、syntax/tex.vim
がほとんど使われてないなら
あれですが。)