From a4c14d4763ed5cd4264596aabd3b3a7a78d90bf0 Mon Sep 17 00:00:00 2001 From: anekos Date: Tue, 25 Nov 2008 10:15:50 +0000 Subject: addUserMap を使用しないようにした git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@24841 d0d07461-0603-4401-acd4-de1884942a52 --- ldrize_cooperation.js | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'ldrize_cooperation.js') diff --git a/ldrize_cooperation.js b/ldrize_cooperation.js index 165a147..41706d1 100644 --- a/ldrize_cooperation.js +++ b/ldrize_cooperation.js @@ -1,6 +1,6 @@ // Vimperator plugin: 'Cooperation LDRize Mappings' -// Version: 0.21 -// Last Change: 21-Oct-2008. Jan 2008 +// Version: 0.22 +// Last Change: 21-Nov-2008. Jan 2008 // License: Creative Commons // Maintainer: Trapezoid - http://unsigned.g.hatena.ne.jp/Trapezoid // @@ -109,6 +109,15 @@ var _isEnable; + function replaceMap (mode, key, desc, aroundFunc, extra) { + let old = liberator.modules.mappings.getDefault(mode, key); + let oldAction = old.action; + old.description = desc; + old.action = function () + let (self = this, args = arguments) + aroundFunc(function () oldAction.apply(self, args)); + } + var LDRizeCooperation = new Class(); LDRizeCooperation.prototype = { initialize: function(){ @@ -226,27 +235,26 @@ setHinttags(self.isEnableLDRizeCooperation() && self.isModHints); },{}); - liberator.modules.mappings.addUserMap([liberator.modules.modes.NORMAL], ["f"], + replaceMap(liberator.modules.modes.NORMAL, "f", "Start QuickHint mode", - function(){ + function(f){ setHinttags(self.isEnableLDRizeCooperation() && self.isModHints); - liberator.modules.hints.show("o"); - },{}); + f(); + }); - liberator.modules.mappings.addUserMap([liberator.modules.modes.NORMAL], ["F"], + replaceMap(liberator.modules.modes.NORMAL, "F", "Start QuickHint mode, but open link in a new tab", - function(){ + function(f){ setHinttags(self.isEnableLDRizeCooperation() && self.isModHints); - liberator.modules.hints.show("t"); - },{}); + f(); + }); - liberator.modules.mappings.addUserMap([liberator.modules.modes.NORMAL], [";"], + replaceMap(liberator.modules.modes.NORMAL, ";", "Start an extended hint mode", - function(arg){ + function(f){ setHinttags(self.isEnableLDRizeCooperation() && self.isModHints); - liberator.modules.hints.show(arg); - }, - { flags: liberator.modules.Mappings.flags.ARGUMENT }); + f(); + }); //Commands liberator.modules.commands.addUserCommand(["pin"], "LDRize Pinned Links", function(){ -- cgit v1.2.3