Hatena::Groupvimperator

Vimple Star Sprites RSSフィード

 | 

2009-11-05

#vimperator 新ヘルプシステム 00:45 #vimperator 新ヘルプシステム - Vimple Star Sprites を含むブックマーク はてなブックマーク - #vimperator 新ヘルプシステム - Vimple Star Sprites

今月あたりからvimperator nightyビルドの方が新しいヘルプシステムに替わっているわけだけれども。

なんと、というか、ついにasciidocから脱却して、XMLドキュメントをXSLTでHTMLに変換して出力というシステムになっている。

んで、単に使うだけなら、ふ~ん、で済むのだが、プラグイン開発者にとって面白いことに、プラグインのヘルプも表示できる。

f:id:teramako:20091105230508p:image

ためしに、手元のwalk-input.jsにヘルプをつけてみたところ、:help <A-i><Tab>で補完も出来た。

f:id:teramako:20091105230509p:image

んで、このプラグインのヘルプだが、pluginManager.jsでやる様な方式に似ていて、プラグインファイルにE4Xな変数を定義すること実現する。

書き方

まず、宣言する変数名はINFOである。

var INFO =
<plugin name="プラグイン名" version="バージョン"
        href="ソースURL"
        summary="サマリ文"
        xmlns="http://vimperator.org/namespaces/liberator">
  <author emal="hoge@example.com">作者名</author>
  <project name="Vimperator" minVersion="2.2">
  <p>
    
  </p>
  <item>
    <tags>タグ(スペース区切り?)</tags>
    <spec>シンタックス</spec>
    <description>
      <p></p>
    </description>
  </item>
  
</plugin>;

大枠はこんな感じ。pluginManager.jsのより構造化されているが、よりXML臭さが残る感じだ。

plugin子要素の先頭部分やitem > descriptionの子には結構自由に書ける。が、まるっきりHTMLというわけではないので注意。common/locale/en-US/以下のXMLファイルと:help XMLファイル名(.xml除く)の結果とを見比べつつ書くと良いかも。

特殊要素

幾つか特殊な要素を挙げておく。

link要素

後述するけど、a要素がanchorじゃないので、この要素でリンクを張ることになる。

<link topic="http://example.com">example.com</link>
oa要素

省略可能文字列を記述するための要素と思われる。(omission attributeの略?)

例えば、:noremapコマンドは:noと省略できるが、その様なとき

<item>
  <spec>:no<oa>remap</oa> <a>lhs</a> <a>rhs</a></spec>
  <description>
    <p>Map the <t>key-seqence</t> <a>lhs</a> to <a>rhs</a> for ...
  </description>
</item>

などと書く。この要素を使用すると[]で括られる

a要素

コマンド引数などの変数っぽいものを書くための要素。(anchorじゃなくてattributeの略?)

この要素を使用すると{}で括られる。

code要素

コードを記述するための要素。HTMLのpre要素の様な感じ。

HTMLの様な<,>を記述する場合は

<code><![CDATA[
<hoge><foo>bar</foo></hoge>
]]></code>

CDATAセクションにしておくと無難。

ex要素

例を示すための要素と思われ、code要素と共に使うことが多そう。

<code><ex>:map <k name="F2"/> :echo new Date().toDateString()<k name="CR"/></ex></code>
k要素

なんかバグっているのかうまくレンダリングされてない雰囲気だけど、たぶんキーマップを書くための要素。

<k name="F2"/>

って書くと、<F2>となってハイライトされるんじゃないかな。

warning要素

警告を書くためのブロック要素かな。先頭にWarning: が付加される。

kuykuy2009/11/06 01:38":undo<TAB>" ではなく ":undo <TAB>" の書き間違い?

teramakoteramako2009/11/06 10:18その通りですね。
修正します。
ご指摘ありがとうございました。

トラックバック - http://vimperator.g.hatena.ne.jp/teramako/20091105
 |