// ==VimperatorPlugin== // @name echopy // @description echo and copy // @description-ja echo and copy // @license Creative Commons 2.1 (Attribution + Share Alike) // @version 1.0 // @author anekos (anekos@snca.net) // @maxVersion 2.0pre // @minVersion 2.0pre // ==/VimperatorPlugin== // // Usage: // :echo // echo with copy (to clipboard). // // Usage-ja: // :echo // echo すると同時にクリップボードにコピー // // Links: // http://d.hatena.ne.jp/nokturnalmortum/20081111#1226414487 (function () { function neko (obj, useColor) { switch (typeof obj) { case 'object': return liberator.modules.util.objectToString(obj, useColor); case 'function': return liberator.modules.util.escapeHTML(obj.toString()); case 'number': case 'boolean': return '' + obj; case 'undefined': return 'undefined'; } return obj; } let echo = commands.get('echo'); let original_action = echo.action; echo.action = function (arg, bang) { if (bang) { try { if (arg.string == '') return; let obj = liberator.eval(arg.string); liberator.echo(neko(obj, true)); liberator.modules.util.copyToClipboard(neko(obj, false)); } catch (e) { liberator.echoerr(e); } } else { original_action.apply(this, arguments); } }; echo.bang = true; })(); option> for Vimperator plugins
aboutsummaryrefslogtreecommitdiffstats
blob: 0c6fb81d45b89d54e0f31376eccc8cf3d2e7028e (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88