2013年1月23日水曜日

ALMiniumでbashのシンタックスハイライト

redmine+backlogsの環境を構築するのに、ALMiniumを利用した。
(自分でやってハマったせいもある)
https://github.com/alminium/alminium

便利になったなぁ…。
インストールに時間はかかるけど、シェルスクリプト起動しただけでほとんど終わった。

そのまま利用していたが、bashやperlのシンタックスハイライト(syntax highlight)が出来ない。
よく使うのになぁ…。

シンタックスハイライトにはcoderayというものを使っており、現在のバージョン(1.0.8)だと対応言語が少ない…。
http://coderay.rubychan.de/
1.1ではかなり増やす予定らしいが、現時点では使えない

ultravioletという似たようなツールもあり、こっちの方が圧倒的に対応言語が多いのでこっちを使ってみたかったけど、redmineのプラグインは1.3までしか対応してないし、開発も2年前くらいで止まってしまっているような感じ…。
一応、試してみたけどエラーが出てしまって、うまく行かない

coderayでなんとかするしかないかなぁ~と探してみたところ、bashのcoderayスキャナーは発見。
https://github.com/pejuko/coderay_bash
http://odd-eyed-code.org/issues/31
でも、どっちも動かなかった…。

で、発見したのがこちら。
http://www.redmine.org/boards/3/topics/29926

ここのbash.rbをダウンロードして、rubyの/coderay-1.0.8/lib/coderay/scanners入れたら、あっさり動いた!

自分の場合は、/usr/lib/ruby と /usr/lib64/ruby の両方があって、困惑したけど以下のスクリプト書いてパスを出させたらすぐ分かった。

require 'rubygems'

version = '1.0.8'

gem 'coderay', version
print Gem.bin_path('coderay', 'coderay', version)


こんな感じで動きました!

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions



0 件のコメント: