diff options
Diffstat (limited to 'char-hints-mod2.js')
-rw-r--r-- | char-hints-mod2.js | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/char-hints-mod2.js b/char-hints-mod2.js index 3ab86e6..78cc07a 100644 --- a/char-hints-mod2.js +++ b/char-hints-mod2.js @@ -89,7 +89,11 @@ set histchars="hjkl" => show char-hint use h, j, k, l. }, //}}}
onInput: function (event) //{{{
{
- var hintString = commandline.command;
+ let eventkey = events.toString(event);
+ if(/^\d$/.test(eventkey)) {
+ commandline.command += eventkey;
+ }
+ let hintString = commandline.command;
commandline.command = hintString.replace(/[A-Z]+/g, "");
charhints.original.onInput(event);
showCharHints();
@@ -100,27 +104,38 @@ set histchars="hjkl" => show char-hint use h, j, k, l. }
if(hintChars.length>0) {
let numstr = String(chars2num(hintChars.join("")));
+ // no setTimeout, don't run nice
setTimeout(function () {
for(let i=0,l=numstr.length;i<l;++i) {
let num = numstr[i];
let alt = new Object;
alt.liberatorString = num;
- hints.onEvent(alt);
+ charhints.original.onEvent(alt);
}
}, 10);
}
}, //}}}
+ onEvent: function (event) //{{{
+ {
+ if(/^\d$/.test(events.toString(event))) {
+ charhints.onInput(event);
+ } else {
+ charhints.original.onEvent(event);
+ }
+ }, //}}}
};
if(!charhints.original) {
charhints.original = {
show: hints.show,
onInput: liberator.eval("onInput", hintContext),
+ onEvent: hints.onEvent,
};
charhints.install = function () //{{{
{
hints.show = charhints.show;
+ hints.onEvent = charhints.onEvent;
liberator.eval("onInput = plugins.charhints.onInput", hintContext);
highlight.CSS = highlight.CSS.replace(
@@ -131,6 +146,7 @@ set histchars="hjkl" => show char-hint use h, j, k, l. charhints.uninstall = function () //{{{
{
hints.show = charhints.original.show;
+ hints.onEvent = charhints.original.onEvent;
liberator.eval("onInput = plugins.charhints.original.onInput", hintContext);
highlight.CSS = highlight.CSS.replace(
@@ -142,4 +158,4 @@ set histchars="hjkl" => show char-hint use h, j, k, l. charhints.install();
})();
-// vim: set fdm=marker sw=4 ts=4 et:
+// vim: set fdm=marker sw=4 ts=4 et fenc=utf-8:
|