2012年11月12日月曜日

[Mac] QLColorCode の日本語表示

MacのQuick Lookはプラグインによって様々な機能が提供されます。
その中のQLColorCodeというプラグインでは、ソースコードを表示する際に色分けしてくれたりする訳です。

しかし、エンコードがShift-JIS等のとき日本語で書かれたコメントが文字化けします。
それの日本語の文字化けを今更やっと、導入から数年経って解決したメモ

調べればなんぼでも出てました。

  1. Xcodeが提供している、SourceCode.qlgeneratorを無効化
    以下にあるSourceCode.qlgeneratorを読み込まれないようリネームし無効化した。
    /Developer/Applications/Xcode.app/Contents/Library/QuickLook/SourceCode.qlgenerator
    そもそも、数年間見てたソースコードのクイックルックは、上記のプラグインによるものでした。
    導入時期が同じなので、気づかなかった。
  2. nkfの導入
    macportでnkfのインストール
    $ sudo port install nkf 
  3. QLColorCode.qlgeneratorの編集
    QLColorCodeのバージョンは2.0.2です。
    バージョンによって、編集行は変わるようです。

    以下のファイルを編集する。
    /Library/QuickLook/QLColorCode.qlgenerator/Contents/Resources/colorize.sh

    Line37から
    cmdOpts=(-I --font $font --quiet --add-data-dir $rsrcDir/override \
             --data-dir $rsrcDir/highlight/share/highlight \
             --add-config-dir $rsrcDir/override/config --style $hlTheme \
    #         --font-size $fontSizePoints --encoding $textEncoding ${=extraHLFlags})
    --font-size $fontSizePoints --encoding utf-8 ${=extraHLFlags})

    Line45行目の
    #reader=(cat $target)
    reader=(/opt/local/bin/nkf -w -Lu $target)
  4. 最後に一応...
    $ qlmanage -r
    で、Quick Lookの再設定
  5. おまけ 行番号
    $ defaults write org.n8gray.QLColorCode extraHLFlags '-l'

できました。
色が地味...次はgo言語とかに対応する方法を

参考
趣日雑記 - QuickLookでソースをカラーリング:QLColorCodeの改良.

0 件のコメント:

コメントを投稿