Quick Lookプラグイン「QLColorCode」の対応言語を拡張する(1)

海上忍
2010-01-26 18:24:06
  • このエントリーをはてなブックマークに追加

 前回前々回と取りあげた「QLColorCode」。各種ソースコードを色分け表示するQuick Lookプラグインで、それ単体でも150を超える数の言語やフォーマットに対応する。しかし「自分がよく使う予約語がハイライトされない!」と困るケースも出てくる。そこで今回は、QLColorCodeの定義ファイルをカスタマイズする方法を紹介する。

 そのQLColorCodeだが、シンタックスハイライトを処理するエンジン部分には、「Highlight」というオープンソースソフトウェアを使用している。定義ファイルはそっくりそのままHightlightのものが流用できるので、「User contributions and updates」を探してみよう。有志ユーザーが作成した定義ファイルや、まだQLColorCodeにはマージされていない最新の定義ファイルが入手できる。現時点で最新の「lang_update_122009.tar.gz」には、Googleの提案する新しいプログラミング言語「Go」に対応した定義ファイルが含まれるので、これを例に説明してみよう。

 入手した定義ファイルは、QLColorCodeのバンドル内にある追加用の「langDefs」フォルダ(QLColorCode.qlgenerator/Contents/Resources/override/langDefs)へコピーすればOK。これでターミナルから「qlmanage -r」を実行してQuick Lookサーバを再起動すれば、めでたく拡張子「.go」のソースコードはシンタックスハイライト……されない。ただ白いファイルが表示されるだけだ。

 原因は、Goソースコードのデータタイプがシステムに登録されていないため。mdlsコマンドで確認しても、UTIは「public.c-source」のような意味のあるものではなく、kMDItemContentTypeには「dyn」から始まる不可解な文字列が並ぶにすぎない。この問題の解決には多少厄介な作業が必要となるので、また次回。

「Go」のソースコード 「Go」のソースコードもQuick Look可能だが、ひと手間必要になる