From d2e6d0871c0da39c28e612dca34e0d2770d06b54 Mon Sep 17 00:00:00 2001 From: Viktor Kojouharov Date: Sun, 23 Sep 2007 19:25:27 +0000 Subject: [PATCH] mapleader support --- chrome/content/vimperator/commands.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/chrome/content/vimperator/commands.js b/chrome/content/vimperator/commands.js index da146378..8a3c313a 100644 --- a/chrome/content/vimperator/commands.js +++ b/chrome/content/vimperator/commands.js @@ -628,10 +628,12 @@ function Commands() //{{{ return vimperator.echoerr("E15: Invalid expression: " + match[4]); else { - if (!reference[0] && reference[2] == 'g') - reference[0] = vimperator.globalVariables; - else - return; // for now + if (!reference[0]) { + if (reference[2] == 'g') + reference[0] = vimperator.globalVariables; + else + return; // for now + } if (match[3]) { @@ -687,6 +689,15 @@ function Commands() //{{{ var matches = args.match(/^([^\s]+)(?:\s+(.+))?$/) var [lhs, rhs] = [matches[1], matches[2]]; + var leader_reg = new RegExp('', 'i'); + + if (leader_reg.test(lhs)) + { + var leader_ref = vimperator.variableReference('mapleader'); + var leader = leader_ref[0] ? leader_ref[0][leader_ref[1]] : '\\'; + + lhs = lhs.replace(leader_reg, leader); + } if (rhs) {