From f5592d9b764a1972fe820a03cd340f29ceb1462d Mon Sep 17 00:00:00 2001 From: Martin Stubenschrott Date: Fri, 14 Sep 2007 03:56:08 +0000 Subject: [PATCH] commands in the -- more -- prompt are now passed to vimperator if they don't make sense in the MOW --- chrome/content/vimperator/buffers.js | 2 ++ chrome/content/vimperator/find.js | 4 +++- chrome/content/vimperator/modes.js | 4 ++-- chrome/content/vimperator/ui.js | 19 ++++++++++--------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/chrome/content/vimperator/buffers.js b/chrome/content/vimperator/buffers.js index 951bf3ec..848817b0 100644 --- a/chrome/content/vimperator/buffers.js +++ b/chrome/content/vimperator/buffers.js @@ -222,6 +222,8 @@ function Buffer() //{{{ [number, title] = items[i][0].split(/:\s+/, 2); url = items[i][1]; + url = url.replace(/>/, ">").replace(//, ">").replace(/  " + number + "" + indicator + "" + title + "" + url + ""; } diff --git a/chrome/content/vimperator/find.js b/chrome/content/vimperator/find.js index f6b68342..0c896ec7 100644 --- a/chrome/content/vimperator/find.js +++ b/chrome/content/vimperator/find.js @@ -129,7 +129,9 @@ function Search() //{{{ } var leader = lastsearch_backwards ? "?" : "/"; - vimperator.commandline.echo(leader + lastsearch); + setTimeout(function() { + vimperator.commandline.echo(leader + lastsearch); + }, 10); var up = reverse ? !lastsearch_backwards : lastsearch_backwards; var result = getBrowser().fastFind.findAgain(up, false); diff --git a/chrome/content/vimperator/modes.js b/chrome/content/vimperator/modes.js index 9b55b259..aadfc122 100644 --- a/chrome/content/vimperator/modes.js +++ b/chrome/content/vimperator/modes.js @@ -133,9 +133,9 @@ vimperator.modes = (function() MENU: 1 << 18, // a popupmenu is active LINE: 1 << 19, // linewise visual mode - reset: function() + reset: function(silent) { - this.set(vimperator.modes.NORMAL, vimperator.modes.NONE); + this.set(vimperator.modes.NORMAL, vimperator.modes.NONE, silent); }, show: function() diff --git a/chrome/content/vimperator/ui.js b/chrome/content/vimperator/ui.js index b08cc866..2eda490c 100644 --- a/chrome/content/vimperator/ui.js +++ b/chrome/content/vimperator/ui.js @@ -342,8 +342,7 @@ function CommandLine() //{{{ { var mode = cur_extended_mode; // save it here, as setMode() resets it addToHistory(command); - vimperator.modes.reset(); //FIXME: use mode stack - //vimperator.modes.set(old_mode, old_extended_mode, true); + vimperator.modes.reset(true); //FIXME: use mode stack //vimperator.focusContent(); completionlist.hide(); vimperator.statusline.updateProgress(""); // we may have a "match x of y" visible @@ -602,11 +601,13 @@ function CommandLine() //{{{ return 2; } - function hide() + function pass(event) { multiline_output_widget.collapsed = true; // FIXME: use mode stack vimperator.modes.reset(); + + vimperator.events.onKeyPress(event); } var key = vimperator.events.toString(event); @@ -622,7 +623,7 @@ function CommandLine() //{{{ if (canScroll() == 2) multiline_output_widget.contentWindow.scrollByLines(1); else - hide(); + pass(event); break; case "k": case "": @@ -630,19 +631,19 @@ function CommandLine() //{{{ if (canScroll() >= 1) multiline_output_widget.contentWindow.scrollByLines(-1); else - hide(); + pass(event); break; case "f": if (canScroll() == 2) multiline_output_widget.contentWindow.scrollByPages(1); else - hide(); + pass(event); break; case "b": if (canScroll() >= 1) multiline_output_widget.contentWindow.scrollByPages(-1); else - hide(); + pass(event); break; case "g": multiline_output_widget.contentWindow.scrollTo(0, 0); @@ -653,9 +654,9 @@ function CommandLine() //{{{ default: if (canScroll() == 0 || vimperator.events.isCancelKey(key)) - hide(); + pass(event); else if (canScroll() == 1 && vimperator.events.isAcceptKey(key)) - hide(); + pass(event); else ; // show a more help inline like in vim }