ニコニコ動画プレイヤー
の ext_getPlayheadTime とかって文字列型返すのね。
整数だと思って、一瞬はまった。
completer の仕様変更?
1日たったら変わっていた!
というものなので、どうなるかわからないけど…
commands の completer に渡される引数が以下の三つになった模様。
context
なにか知らないけどコンテキストだよ!!
キャレットの位置などもわかるようになったので、今までよりもまともな補完が出来るはず。
argument
現在入力されている引数を parseArg したものが入っている。
bang
"!" 指定の有無。
新 completer への置き換え方法
completer の返り血で補完リストが決定されるのではなくなりました。多分。
completer への第一引数のオブジェクト context の操作で補完リストを構築します。
completer: function (context, arg) { // 補完リストのカラムタイトル context.tile = ["name", "description"]; // 補完リストにアイテムを追加 context.completions = [['item1', '一個目だよ!'], ['item2', '二個目だよ!'], ['item3', '三個目だよ!']]; // cotext.completions.push([..]) はうまくいかなかった。 // 返り血は要らない! }
こうすると generate に突っ込んだ関数が別スレッドで動いてその値を補完リストに追加する?
どちらでも、特に代わりはなかった。
遅い処理なら違うかも。
completer: function (context, arg) { // 補完リストのカラムタイトル context.tile = ["name", "description"]; // 補完リストジェネレータを設定しているような気分 context.generate = function () { return [['item1', '一個目だよ!'], ['item2', '二個目だよ!'], ['item3', '三個目だよ!']]; }; // 返り血は要らない! }
bang
bang などは、
http://d.hatena.ne.jp/nokturnalmortum/20081127#1227757063
で書いた変更と共に、引数からはなくなりました。
しかし、第二引数の arg のプロパティとしてとれます。
completer: funciton (context, arg) { if (arg.bang) ...
自前補完編
list = 保管用の何かのリスト completer: function (args, bang) { let result = []; list.forEach (function (it) { if (it.indexOf(args) != -1) result.push([it, "説明"]); }); return [0, result];
といった補完であれば、下のように変更すればOK
completer: funciton (context, arg) { context.title = ["name", "description"]; let result = []; list.forEach (function (it) { if (it.indexOf(context.filter) != -1) result.push([it, "説明"]); }); context.completions = result;
completion オブジェクト利用編
大体、今まで文字列を渡してきたところに context を渡すようになる模様。
今まで通り、文字列を渡す物もある。
return completion.file(filter)
これが、
completion.file(context);
こうなる。
まだできたばっかなので
やっぱりやめ!とかあったら無駄になるかもね!
便利になるだけなので、それは無いと思うけど。
試しに
auto_source.js を対応してみた。
http://coderepos.org/share/changeset/24876/lang/javascript/vimperator-plugins/trunk
Caps Lockは何に変更すべきか
みんなどうしているんだろうなぁ。
HHK使えば良いと思うよ!!
Caps Lock みたいな変態キーとか一切無いよ!!
すっきりさわやか!!
反省とかはしません!!
ちなみに、
謎のキー盛りだくさんの変態キーボードを使う人が多いのはなんだろうね。不思議だね。