// PLUGIN_INFO//{{{
var PLUGIN_INFO =
{NAME}
character hint mode.
hogelog
0.0.1
2.0pre
2.0pre
select hint-matcher.
UpperCase => select char-hint.
== OPTIONS ==
set histchars="hjkl" => show char-hint use h, j, k, l.
let g:multi_requester_use_wedata = "false" // true by default
]]>
;
//}}}
(function (){
const DEFAULT_HINTCHARS = "HJKLASDFGYUIOPQWERTNMZXCVB";
options.add(["hintchars", "hchar"],
"Hint characters",
"string", DEFAULT_HINTCHARS);
function chars2num(chars) //{{{
{
var num = 0;
var hintchars = options.hintchars.toUpperCase();
var base = hintchars.length;
for(let i=0;i0);
return chars;
} //}}}
function showCharHints() //{{{
{
for (let elem in buffer.evaluateXPath("//*[@liberator:highlight and @number]", window.content.document))
{
let num = elem.getAttribute("number");
let hintchar = num2chars(parseInt(num, 10));
elem.setAttribute("hintchar", hintchar);
}
} //}}}
let hintContext = hints.addMode;
let charhints = plugins.charhints = {
show: function(minor, filter, win) //{{{
{
charhints.original.show(minor, filter, win);
showCharHints();
}, //}}}
onInput: function(event) //{{{
{
let hintString = commandline.command;
commandline.command = hintString.replace(/[A-Z]/g, "");
for(let i=0;i