// 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