前回はエスケープシーケンスを使ってターミナルのサイズを取得する部分やその方法を紹介した。ソースコードはkilo / kilo.cで閲覧できるので参考にしてもらえればと思う。コメント抜きで1,000行以内なので実用的なCのコードを勉強するには扱いやすい教材だ。今回はKiloで実装されているシンタックスハイライトについて取り上げる。 処理を最初から見ていこう。まず、520行目辺りから始まっているeditorSelectSyntaxHighlight()という関数の中で、どのハイライトを利用するかを調べている。判断の基準はファイル名の拡張子だ。530行目辺りにある「strstr(filename,s->filematch[i])」の処理で拡張子が.cかまたは.cppだった場合に条件に一致するようになっており、今のところこの2つの拡張子にだけ対応している。 どのシンタックスハイライトを使用するか判
![C言語1000行以下のエディタ「Kilo」を理解する(7) シンタックスハイライトを知る](https://cdn-ak-scissors.b.st-hatena.com/image/square/e218a7e210aba4f06aad7a3384c672d7149a6861/height=288;version=1;width=512/https%3A%2F%2Fnews.mynavi.jp%2Ftechplus%2Farticle%2Fkilo-7%2Findex_images%2Findex.jpg)