CUC day1

記事

元記事 techblog.kayac.com

関連記事

techblog.kayac.com code.visualstudio.com

2行まとめ

気になり

Perlシンタックスハイライトを js のVSCode で如何に実現しているか

そもそもシンタックスハイライトがどうやって実現されているかというと、Tokenization でテキストをトークンに分割して Theming でそれぞれのトークンにスタイルを割り当てるという2ステップで実現されています。

VSCode では、Tokenization に TextMate grammer を採用しているので、Perl だろうとなんだろうとTextMate grammer の設定ファイル(XMLまたはJSON)を書いてあげればいいわけですね! TextMate grammer に用意されている Perl の文法規則を include してあげることで Perlトークンに分割することが可能になります。(ソースコード中のsource.perlとかですね)

github.com

Theming も定義されたルールに従ってスタイルが付けられていきます。Perl の文法だったら、事前に定義されたスタイルが使わるという感じです。カスタマイズももちろん可能です。

感想

VSCodeシンタックスハイライトの仕組みを少し勉強できてよかった