1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 04:37:58 +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:26:20 +00:00
parent 49a9c016c8
commit 321b0d95b3
2 changed files with 13 additions and 4 deletions

2
NEWS
View File

@@ -1,6 +1,8 @@
<pre> <pre>
2007-xx-xx: 2007-xx-xx:
* version 0.6 * version 0.6
* commandline history now works properly on Windows
* filename completion now works on Windows
* Fixed search for :open (previously needed to do :o <tab> ONCE to initialize them) * Fixed search for :open (previously needed to do :o <tab> ONCE to initialize them)
* added :set {option}! support to toggle a boolean option's value * added :set {option}! support to toggle a boolean option's value
* added :set all and :set all& support to show the current value of all * added :set all and :set all& support to show the current value of all

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