1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-04 00:24:13 +01:00

fix commandline history on Windows - prevent the default cmd_charPrevious

action from being invoked for <Up
This commit is contained in:
Doug Kearns
2007-08-26 14:27:40 +00:00
parent 4351b29d5c
commit 61deeec541
2 changed files with 12 additions and 4 deletions

1
NEWS
View File

@@ -1,6 +1,7 @@
<pre> <pre>
2007-xx-xx: 2007-xx-xx:
* version 0.5.1 * version 0.5.1
* commandline history now works properly on Windows
* filename completion now works on Windows * filename completion now works on Windows
* the Bookmarks Toolbar Folder is now read when bookmarks are first * the Bookmarks Toolbar Folder is now read when bookmarks are first
loaded - it was skipped entirely in the past loaded - it was skipped entirely in the past

View File

@@ -355,24 +355,32 @@ function CommandLine() //{{{
/* user pressed UP or DOWN arrow to cycle history completion */ /* user pressed UP or DOWN arrow to cycle history completion */
else if (key == "<Up>" || key == "<Down>") else if (key == "<Up>" || key == "<Down>")
{ {
//always reset the tab completion if we use up/down keys event.preventDefault();
event.stopPropagation();
// always reset the tab completion if we use up/down keys
completion_index = UNINITIALIZED; completion_index = UNINITIALIZED;
/* save 'start' position for iterating through the history */ // save 'start' position for iterating through the history
if (history_index == UNINITIALIZED) if (history_index == UNINITIALIZED)
{ {
history_index = history.length; history_index = history.length;
history_start = command; history_start = command;
} }
// search the history for the first item matching the current
// commandline string
while (history_index >= -1 && history_index <= history.length) while (history_index >= -1 && history_index <= history.length)
{ {
key == "<Up>" ? history_index-- : history_index++; key == "<Up>" ? history_index-- : history_index++;
if (history_index == history.length) // user pressed DOWN when there is no newer history item
// user pressed DOWN when there is no newer history item
if (history_index == history.length)
{ {
setCommand(history_start); setCommand(history_start);
return; return;
} }
// cannot go past history start/end // cannot go past history start/end
if (history_index <= -1) if (history_index <= -1)
{ {
@@ -393,7 +401,6 @@ function CommandLine() //{{{
return; return;
} }
} }
vimperator.beep();
} }
/* user pressed TAB to get completions of a command */ /* user pressed TAB to get completions of a command */