ex-command

http://d.hatena.ne.jp/janus_wel/20081206/1228593023#c で教えてもらった commandBookmarklet.js いじってたらいつの間にか別物になっていた ( refactoring 的な意味で。

http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/commandBookmarklet.js

差し出がましく PLUGIN_INFO も書いちゃったけどこんなんでいいのかな。 h1 要素は man 風に全部大文字にしてみたり detail を英日両言語で書いたりしたけど。 pluginManager.js はちゃんと lang 属性まで考慮されてて id:teramakoid:nokturnalmortum のいい仕事ぶりに感嘆したりした。

あと vimp の ex-command は ASCII alphabet しか受け付けないんだね。いろいろ試して判明した事実。はてなブックマークbookmarklet はそのままだと「ブックマークする」って普通に日本語なんだけど、これそのまま ex-command にできないかなと思って ( 日本語使えないかなと思って ) 、以下のコード試してみたけど補完はされるものの実際にたたくと「そんなコマンドはねぇ !!」って怒られる。まぁいざ使えたとしてうれしいかどうかと聞かれると微妙なんだけど。

commands.addUserCommand(
    [fromUTF8Octets('ふもっふ')],
    fromUTF8Octets('ふも!ふももふもふもっふ!'),
    function () {
        liberator.echo('ふももふもふもふっふ!');
    },
    {}
);

// refer: http://nanto.asablo.jp/blog/2006/10/23/572458
function fromUTF8Octets(octets)
    decodeURIComponent(octets.replace(/[%\x80-\xFF]/g, function (c)
        '%' + c.charCodeAt(0).toString(16)));