From e58241048c76a7ab49487662ebc6854e06c481d1 Mon Sep 17 00:00:00 2001 From: anekos Date: Fri, 9 Jan 2009 15:06:21 +0000 Subject: Fix command's action. Change storage. git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@28213 d0d07461-0603-4401-acd4-de1884942a52 --- garbage_finder.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'garbage_finder.js') diff --git a/garbage_finder.js b/garbage_finder.js index ae00c26..0a40630 100644 --- a/garbage_finder.js +++ b/garbage_finder.js @@ -39,7 +39,7 @@ let PLUGIN_INFO = ゴミ探し Finds the taints in global(window object) グローバル(window オブジェクト)の汚染を調べる - 1.0.0 + 1.0.1 anekos new BSD License (Please read the source code comments of this plugin) 修正BSDライセンス (ソースコードのコメントを参照してください) @@ -62,10 +62,15 @@ let PLUGIN_INFO = (function () { - const STORAGE_NAME = 'plugin-garbage-finder-vars'; + const STORAGE_NAME = 'plugin-garbage-finder'; const IGNORES = (let (gv = liberator.globalVariables.garbage_finder_ignore) gv === undefined ? 'DownloadUtils PluralForm' : gv).split(/\s+/); + function Somali (n) + let(V,[l,s,j,t]=liberator.eval('[loadPref,savePref,json,Object]',storage.newObject)) + ({load:function(d)let(v=l(n,true,t))(V=v?v.value:d), + save:function(v)s({store:true,name:n,serial:j.encode({value:v===undefined?V:v})})}); + function vars () { let result = []; for (let name in window) @@ -92,16 +97,11 @@ let PLUGIN_INFO = ary.filter(function (it) !has(IGNORES, it)); - let store = storage.newArray(STORAGE_NAME, true); - // 速度を稼ぐためのかんたん黒魔術 - let raw = liberator.eval('array', store.get); - let prevVars = raw.map(id); + let store = new Somali(STORAGE_NAME); + let prevVars = store.load(vars()); - function save () { - raw.splice(0); - raw.push.apply(raw, vars()); - store.save(); - } + function save () + store.save(vars()); autocommands.add( 'VimperatorEnter', @@ -112,7 +112,7 @@ let PLUGIN_INFO = commands.addUserCommand( ['garbages'], 'Display garbages', - function (context, args) { + function (args) { function makeLI (list) { if (list.length) { let result = <>; -- cgit v1.2.3