From 498bb2abfc44bfcfdfabb0006b5b18bef9cec40d Mon Sep 17 00:00:00 2001 From: anekos Date: Wed, 7 Sep 2011 21:46:18 +0900 Subject: 一応保存できるようにした --- my-style.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'my-style.js') diff --git a/my-style.js b/my-style.js index 7a761d4..9452d1f 100644 --- a/my-style.js +++ b/my-style.js @@ -165,7 +165,9 @@ EOM ); } - const Currents = {}; + let Currents = {}; + + const store = storage.newMap(__context__.NAME, {store: true}); function expand (css) css.replace(/\w+/g, function (n) (DefinedStyles.hasOwnProperty(n) ? DefinedStyles[n] : n)); @@ -220,15 +222,17 @@ EOM ]; } + function set (url, css) { + Currents[url] = css; + styles.addSheet(false, StyleNamePrefix + url, url, expand(css)); + } const SubCommands = [ new Command( ['s[et]'], 'Set style', function (args) { - let m = args[0]; - Currents[m] = args.literalArg; - styles.addSheet(false, StyleNamePrefix + m, m, expand(args.literalArg)); + set(args[0], args.literalArg); }, { literal: 1, @@ -257,6 +261,19 @@ EOM literal: 1, completer: styleNameCompleter } + ), + + new Command( + ['p[ermanent]'], + 'Permanent current styles', + function (args) { + store.set('permanent', Currents); + store.save(); + liberator.echo('Permanent current styles'); + }, + { + argCount: '0', + } ) ]; @@ -274,6 +291,11 @@ EOM true ); + Currents = store.get('permanent', {}); + for (let [url, css] in Iterator(Currents)) { + set(url, css); + } + })(); // vim:sw=2 ts=2 et si fdm=marker: -- cgit v1.2.3