mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 04:27:58 +01:00
fix commandline history on Windows - prevent the default cmd_charPrevious
action from being invoked for <Up>
This commit is contained in:
2
NEWS
2
NEWS
@@ -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
|
||||||
|
|||||||
@@ -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>")
|
||||||
{
|
{
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
// always reset the tab completion if we use up/down keys
|
// 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 */
|
||||||
|
|||||||
Reference in New Issue
Block a user