From 61deeec541c2fffc72720efc8f31ed52602866ca Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Sun, 26 Aug 2007 14:27:40 +0000 Subject: [PATCH] fix commandline history on Windows - prevent the default cmd_charPrevious action from being invoked for 2007-xx-xx: * version 0.5.1 + * commandline history now works properly on Windows * filename completion now works on Windows * the Bookmarks Toolbar Folder is now read when bookmarks are first loaded - it was skipped entirely in the past diff --git a/chrome/content/vimperator/ui.js b/chrome/content/vimperator/ui.js index 2f87d4be..3fa02b6e 100644 --- a/chrome/content/vimperator/ui.js +++ b/chrome/content/vimperator/ui.js @@ -355,24 +355,32 @@ function CommandLine() //{{{ /* user pressed UP or DOWN arrow to cycle history completion */ else if (key == "" || key == "") { - //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; - /* save 'start' position for iterating through the history */ + // save 'start' position for iterating through the history if (history_index == UNINITIALIZED) { history_index = history.length; history_start = command; } + // search the history for the first item matching the current + // commandline string while (history_index >= -1 && history_index <= history.length) { key == "" ? 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); return; } + // cannot go past history start/end if (history_index <= -1) { @@ -393,7 +401,6 @@ function CommandLine() //{{{ return; } } - vimperator.beep(); } /* user pressed TAB to get completions of a command */