その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

Pod::Text::Color::Delight というモジュールをリリースしました

[追記]
色々と問題を修正しましたので、最新版 (v0.0.5) をご利用なさる事をおすすめ致します。
(問題を報告して下さった@さん、@さんありがとうございます)
[追記ここまで]


この度、Pod::Text::Color::Delight というモジュールをリリース致しました。
https://metacpan.org/pod/Pod::Text::Color::Delight
https://github.com/moznion/Pod-Text-Color-Delight


Perlの入門書や入門エントリ等を読みますと、「Perlのドキュメント調べるなら、`perldoc` コマンドでひくのが手っ取り早くて良い!」みたいな事がよく書かれていて、まあまあそれはその通りだよなーとは感じつつも、
`perldoc` コマンドで出力されるドキュメントって白黒で淡泊すぎるから取っつきにくくね? と思うわけですね。読むなら色が付いてた方が読みやすいじゃんか、と。


で、そういう問題を解決しよう! と思ったのか思わなかったのかは定かではありませんが、Pod::Text::Color というモジュールが世間には既に存在します。
これはこれで良いモジュールなんですが、いかんせん Pod のハイライトが貧弱で、あまり着色されなくて淋しい感じがする訳ですね。


という訳で「もっとアグレッシブにハイライトしようや!!」ということで出来たのが、この Pod::Text::Color::Delight です。
こんな感じでハイライトされます。

f:id:moznion:20131026235502p:plain
f:id:moznion:20131027004000p:plain


Solarized だとこんな感じ (後述する個別設定を行う必要があります)
f:id:moznion:20131027001540p:plain
f:id:moznion:20131027004014p:plain

なんだか見やすい感じ!


Pod::Text::Color::Delight と Pod::Text::Color の差としては、

  • ヘッドラインがハイライトされる
  • F<...> (ファイル名) がハイライトされる
  • L<...> (リンク) がハイライトされる
  • C<...> (コード) がめっちゃハイライトされる
  • コードセクション (SYNOPSIS など) がめっちゃハイライトされる

などといった差があります (他にもちまちまハイライトされています)。


なお、これはデフォルトの設定の話であって、ホームディレクトリに “.pod_text_color_delight”という設定ファイルを配置すると Pod の各要素に独自の色を指定する事が出来ます。
設定ファイルのサンプルは以下です。

https://github.com/moznion/Pod-Text-Color-Delight/tree/master/sample/configurations

(上記の Solarized のスクリーンショットを撮った際は、https://github.com/moznion/Pod-Text-Color-Delight/blob/master/sample/configurations/solarized.sample を適用しています)


モジュール自体の使い方は至って簡単です。
cpanm などでPod::Text::Color::Delight をインストールしてから、

$ perldoc -MPod::Text::Color::Delight perlfunc

(“perlfunc” の部分は参照したいドキュメントの名前)

などとおもむろにタイプしてやると、良い感じにハイライトされて出力されます。
-MPod::Text::Color::Delight とタイプするのが面倒であれば、

alias perldoc="perldoc -M Pod::Text::Color::Delight"

みたいな感じでシェルの alias に設定してあげると良いでしょう。

もちろん、SYNOPSIS に書いてあるような使い方も可能です。


便利っぽいのでどうぞご利用ください!