cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

veek.vimという、変数などの値記録プラグインを作った

Advent Calendar の時期なのにもかかわらず、平常エントリですよこんばんは。

こんなん作った。
LeafCage/veek.vim · GitHub

簡単に言うとデバッグの時に使う、変数とかechomsgみたいなもの。
以前、専用関数で記録するタイプの同じようなプラグインを作って大敗北した*1のに、懲りずにまた作ったった。
今度はコマンドで記録するタイプ。

Veek 2, ['foo', 'bar']

なんて書くと、2番のveekに['foo', 'bar']が記録される。

Veek 3, 6+7, '答えは13になります'

と書くと、3番veekに6+7が評価された13が記録される。さらに3番目の引数である文字列がコメントとして記録され、次回閲覧時に表示される。
気をつけなければいけないのは、引数の区切りは空白文字ではなく,(コンマ)を使わなければいけないこと。

:Veek 2

で2番に記録した値を見ることが出来る。

また、

:Veek! 2

で2番に記録した値の履歴を見られる。

:Veek

で、全てのveekの現在値を閲覧する。


詳しくはplugin/veek.vimにコメントでコマンド一覧を載せておいたからそちらを参照。
そのうち詳細紹介記事書くかも。
Advent Calendarのネタにするかもしれん。

ちなみに今回のプラグインは割といじりやすいと思います。
autoload/veek/instanceのveeks.vimとveeklist.vimが本体のようなもので、他は全てインターフェイスです。
veek#instance#veeks#export()とveek#instance#veeklist#export()を適当な変数に代入したら新しくインターフェイスを作ることも可能です。
unite pluginを作ることも可能でしょう。

*1:インターフェイスが悪すぎたので使わなくなった