我認同大部分情況下 Emacs 內建的高亮就足夠了. 不過像是某些語言 (C#, Python, 等等), 近年來語法越來越複雜, 使用 TreeSitter 的優勢就會開始顯現出來. 我認為的優劣勢大概是:
優勢
- 速度更快; 特別在 Windows 有更明顯的區別
- 更準確; 不過大部分的情況下是可以接受的
- 寫擴充更簡單了. 例如 ts-fold, codemetrics, ts-docstr, 等等.
劣勢
目前還真想不到, 除了一些 Emacs 內置 TreeSitter 的封裝理念以外. 我其實對它沒什麼太大的意見.
對我來說, 第三點算是個福音. 因為某些插件的邏輯特別複雜, 而 TreeSitter 寫起來比 RegEx 相對簡單些. 可以更清楚的專注在實現功能上面.