ヒント
Highlightに問題があったので修正しました。
hints-ext.js更新しました。
- 標準のHint っぽく text を表示
で HintNumber を 戻す - use_hintchars_ex=2を追加
highlight "Hint>.x" を 追加- highlight "HintExt::before" を 追加
- hint.addModeEx を追加
- use_hints_ext_caret,use_hints_ext_visual を追加
use_hintchars_ex=2を追加
let use_hintchars_ex=2
ヒント選択時のキータイプ数を揃えます。
要は、
Hint>.x
修正に伴い更新
HintExt::before
入力 HintNumber の style です。標準では、何も設定しておりません。
hi HintExt::before opacity: .6;
hi HintExt::before display: none;
とすれば、入力済みを消せます。
_vimperatorrcには、plugin による組込のため、
autocmd VimperatorEnter ".*" :hi HintExt::before opacity: .6;
とする必要があります。
hint.addModeEx を追加
ヒントの 対象を ElementNode 以外への 拡張用関数です。
hints.addModeEx( mode, // 拡張ヒントの割り当て(addMode と同様) prompt, // プロンプト表記(addMode と同様) action, // 選択対象の実行処理(addMode と同様) generate // 後述(サンプルで) );
となります。
使用例
hints.addModeEx("z", "test", function (val) { alert(val); }, function (win, screen) { let w = screen.right - screen.left; let h = screen.bottom - screen.top; let l = screen.left; let t = screen.top; // generator も OK return [ {value: 1 , rect: [plugins.hintsExt.Rect(l , t , l + w/2 , t + h/2)], text: "msg 1", showText: true}, {value: 2 , rect: [plugins.hintsExt.Rect(l + w/2 , t , l + w , t + h/2)], text: "msg 2", showText: true}, {value: 3 , rect: [plugins.hintsExt.Rect(l , t + h/2 , l + w/2 , t + h )], text: "msg 3", showText: true}, {value: 4 , rect: [plugins.hintsExt.Rect(l + w/2 , t + h/2 , l + w , t + h )], text: "msg 4", showText: true}, ]; });
use_hints_ext_caret,use_hints_ext_visual を追加
hint.addModeExをうけて、 hints-caret を 組込みました。
let use_hints_ext_caret="C"
let use_hints_ext_visual="V"
で、";C" で caret mode へ
で、";V" で visual mode へ 移行できます。