aboutsummaryrefslogtreecommitdiffstats
path: root/exShowElementInfo.js
blob: dd7a603c33baff2f4996fde90912d2fa3710638a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
 * ==VimperatorPlugin==
 * @name            exShowElementInfo.js
 * @description     extend feature that show element's information when extended-hints mode ";?"
 * @description-ja  extended-hints mode の ";?" でみられる要素の情報を拡張する。
 * @author          janus_wel <janus_wel@fb3.so-net.ne.jp>
 * @version         0.11
 * @minversion      2.0pre
 * ==/VimperatorPlugin==
 *
 * LICENSE
 *   New BSD License
 *
 * USAGE
 *   on extended-hints mode ";?", select element and enter
 *
 * HISTORY
 *   2008/11/05 ver. 0.10   - initial written.
 *   2009/04/17 ver. 0.11   - follow the util.js changes
 *
 * */

(function () {

addFeatureToMethodAfter(
    liberator.modules.buffer,
    'showElementInfo',
    function (element) {
        let str = [
            a.name + ': ' + a.value for (a in liberator.modules.util.Array.itervalues(element.attributes))
        ].join("\n");
        liberator.echo("\nextra information\n" + str, liberator.modules.commandline.APPEND_TO_MESSAGES);
    }
);

function addFeatureToMethodAfter(object, method, feature) {
    var original = object[method];
    object[method] = function () {
        var tmp = original.apply(object, arguments);
        feature.apply(object, arguments);
        return tmp;
    };
}
})();

// vim: set sw=4 ts=4 et;