1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-03-07 21:45:45 +01:00

initial mapping tables for all modes at startup

This commit is contained in:
Doug Kearns
2007-07-22 14:59:23 +00:00
parent 1a6d1eb3a8
commit caa9fb529c

View File

@@ -108,10 +108,15 @@ function Mappings() //{{{
////////////////////// PRIVATE SECTION ///////////////////////////////////////// ////////////////////// PRIVATE SECTION /////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{ /////////////////////////////////////////////////////////////////////////////{{{
// TODO: initialize empty map tables?
var main = []; // array of default Map() objects var main = []; // array of default Map() objects
var user = []; // array of objects created by :map var user = []; // array of objects created by :map
for each (var mode in vimperator.modes)
{
main[mode] = [];
user[mode] = [];
}
function addDefaultMap(map) function addDefaultMap(map)
{ {
if (!main[map.mode]) if (!main[map.mode])
@@ -122,16 +127,18 @@ function Mappings() //{{{
function getMap(mode, cmd, stack) function getMap(mode, cmd, stack)
{ {
if (!stack || !stack[mode] || !stack[mode].length) //if (!stack || !stack[mode] || !stack[mode].length)
return null; // return null;
var substack = stack[mode]; var maps = stack[mode];
var names;
for (var i = 0; i < substack.length; i++) for (var i = 0; i < maps.length; i++)
{ {
for (var j = 0; j < substack[i].names.length; j++) names = maps[i].names;
if (substack[i].names[j] == cmd) for (var j = 0; j < names.length; j++)
return substack[i]; if (names[j] == cmd)
return maps[i];
} }
return null; return null;
@@ -165,10 +172,7 @@ function Mappings() //{{{
var mappings = main[mode]; var mappings = main[mode];
//// FIXME: do we want to document user commands by default? //// FIXME: do we want to document user commands by default?
//if (user[mode]) //mappings = user[mode].concat(main[mode]);
// mappings = user[mode].concat(main[mode]);
//else
// mappings = main[mode]
for (var i = 0; i < mappings.length; i++) for (var i = 0; i < mappings.length; i++)
yield mappings[i]; yield mappings[i];
@@ -212,9 +216,6 @@ function Mappings() //{{{
this.add = function(map) this.add = function(map)
{ {
if (!user[map.mode])
user[map.mode] = [];
for (var i = 0; i < map.names.length; i++) for (var i = 0; i < map.names.length; i++)
removeMap(map.mode, map.names[i]); removeMap(map.mode, map.names[i]);
@@ -253,10 +254,7 @@ function Mappings() //{{{
var mappings = []; var mappings = [];
var matches = []; var matches = [];
if (user[mode]) mappings = user[mode].concat(main[mode]);
mappings = user[mode].concat(main[mode]);
else
mappings = main[mode];
for (var i = 0; i < mappings.length; i++) for (var i = 0; i < mappings.length; i++)
{ {