aboutsummaryrefslogtreecommitdiffstats
path: root/vimiumFrontend.js
diff options
context:
space:
mode:
authorilya2009-12-06 12:40:47 -0800
committerilya2009-12-06 12:40:47 -0800
commit0215cd8444fba8cc3b536b2c6016678e3e756c1f (patch)
tree0dc2e7c74bca0323437da073fbff858c2e6cb53b /vimiumFrontend.js
parent066ed27f2080fd0d4e7cb08559ac2183557b9f9a (diff)
downloadvimium-0215cd8444fba8cc3b536b2c6016678e3e756c1f.tar.bz2
Enable non-alphanumeric characters in find queries. Closes #14.
Fix involved two things: (1) unblocking the display of real spaces in the HUD when mixed in with the fake spaces intentionally inserted, (2) fixing our keydown handler to understand the scenario when we need to use the unicode keyIdentifier.
Diffstat (limited to 'vimiumFrontend.js')
-rw-r--r--vimiumFrontend.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js
index e74b1fbd..1c9a4b50 100644
--- a/vimiumFrontend.js
+++ b/vimiumFrontend.js
@@ -160,17 +160,21 @@ function onKeydown(event) {
return;
// Ignore modifier keys by themselves.
- if (event.keyCode > 31 && event.keyCode < 127) {
- keyChar = String.fromCharCode(event.keyCode).toLowerCase();
+ if (event.keyCode > 31) {
+ if (event.keyCode < 127)
+ keyChar = String.fromCharCode(event.keyCode).toLowerCase();
+ else
+ {
+ unicodeKeyInHex = "0x" + event.keyIdentifier.substring(2);
+ keyChar = String.fromCharCode(parseInt(unicodeKeyInHex)).toLowerCase();
+ }
+
if (event.shiftKey)
keyChar = keyChar.toUpperCase();
if (event.ctrlKey)
keyChar = "<c-" + keyChar + ">";
}
- // NOTE(ilya): Not really sure why yet but / yields 191 (¿) on my mac.
- if (event.keyCode == 191) { keyChar = "/"; }
-
if (insertMode && event.keyCode == keyCodes.ESC)
{
// Remove focus so the user can't just get himself back into insert mode by typing in the same input box.
@@ -263,7 +267,12 @@ function insertSpaces(query) {
var newQuery = "";
for (var i = 0; i < query.length; i++)
- newQuery = newQuery + query[i] + "<span style=\"font-size: 0px;\"> </span>";
+ {
+ if (query[i] == " " || (i + 1 < query.length && query[i + 1] == " "))
+ newQuery = newQuery + query[i];
+ else
+ newQuery = newQuery + query[i] + "<span style=\"font-size: 0px;\"> </span>";
+ }
return newQuery;
}