The C Programming Language

このほど、「antirez / kilo|GitHub」において、Salvatore Sanfilippo氏によってC言語を使い1000行以下のソースコードで開発されたエディタ「Kilo」が公開された。2条項BSDライセンスの下でオープンソース・ソフトウェアとして公開されている。ほかのライブラリに依存することなく開発されており、作業を始めてから数時間ほどで開発されたと説明がある。C言語による学習素材やエディタ開発のベースソースコードとして利用できる。

Kiloはclocを使ったカウントでコメントや空行を除いた行数が956行とされており、1000行を下回っている。開発にはcursesライブラリといった基本的なライブラリも使われておらず、VT100の基本的なエスケープシーケンスを使って開発されている。エディタにおける保存や終了といった操作には次のキーが割り当てられている。

  • Ctrl-S 保存
  • Ctrl-Q 終了
  • Ctrl-F 検索(検索終了はESC、ナビゲートは矢印キー)

Kiloのソースコードであるkilo.cにはC言語プログラミングで使われてる基本的で実用的な操作が端的にまとまっており参考になる。ソースコードが短く全体が見通しやすい。ターミナルを使ったUIを開発する際のサンプルとしても利用できるなど興味深い教材と言える。

kiloのソースコードkilo.c

clocでカウントすると956行分であることが表示される