読者です 読者をやめる 読者になる 読者になる

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

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

corelist.vim というvim プラグインを書きました

corelist.vim
https://github.com/moznion/corelist.vim

Vim Script の勉強・練習がてら書いてみました。ご自宅用感が満載ですが、折角なのでpush しました。
Vim Script ははじめて書いたので、なにかおかしい所とかがあったら指摘していただけると嬉しいです。

注意

Perl 書く人以外は一切うまみのないプラグインです。
もしかしたら、Perl を書く人でもうまみが無いかもしれません。

corelist.vim

モジュールとかを書いていると「アレ、このモジュールってコアモジュールだったっけ…?」みたいな感じで、
使用しているモジュールがコアモジュールかそうじゃないかを知りたくなる瞬間がままあります。*1
で、Perl ではPerl v5.8.9 からModule::CoreList というモジュールがコアモジュール入りしていて、
そのおかげで`corelist` というコマンドを使ってコアモジュールかどうかを調べることが出来ます。
(偶然にも先日、@techno_neko さんがPerl advent calender 2012 casual track #16 で話題に挙げられてましたね)

(Module::CoreList / corelist の使用例)
$ corelist JSON::PP

JSON::PP was first released with perl v5.13.9
まあこれだけでも十分便利なんですけど、いちいちシェルに戻るのがダルくて、
かといってVim で":!corelist JSON::PP" とかやるとダサい事になるので*2
「普通にVim 上で実行してえ、そして極力作業の邪魔をしねえで欲しいのだ、俺は!!」
ということで書きました。

使い方

:Corelist

これでオーケーです。
コアモジュールだったら成功したっぽい感じで表示されますし、コアモジュールじゃなかったら失敗したっぽい感じで表示されます。

▲実行方法

▲コアモジュールだった場合

▲コアモジュールじゃなかった場合

内部的には

`corelist` コマンドを実行してよしなに整形して表示しているだけなので、Module::CoreList に依存しています。
まあ、コアモジュールだから良いかなーとか思って作ってみたら、
バージョンによって出力フォーマットが微妙に変わったりしてて少し泣きました。
一応対応したつもりですが、もしかしたらなんか駄目かもしれないです。その場合はご一報頂けると嬉しいです。

*1:DEPENDENCIES を書いたりしている時なんかは特に。

*2:一度やってみよう!!