aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilya2009-12-06 12:40:47 -0800
committerilya2009-12-06 12:40:47 -0800
commit0215cd8444fba8cc3b536b2c6016678e3e756c1f (patch)
tree0dc2e7c74bca0323437da073fbff858c2e6cb53b
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.
-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;
}