diff options
-rw-r--r-- | auto_source.js | 7 | ||||
-rw-r--r-- | direct_bookmark.js | 123 | ||||
-rw-r--r-- | edit-vimperator-files.js | 7 | ||||
-rw-r--r-- | feedSomeKeys_3.js | 26 | ||||
-rw-r--r-- | twittperator.js | 139 | ||||
-rw-r--r-- | twittperator/sstp.tw | 8 | ||||
-rw-r--r-- | twittperator/twsidebar.tw | 5 |
7 files changed, 175 insertions, 140 deletions
diff --git a/auto_source.js b/auto_source.js index 2054808..f98696f 100644 --- a/auto_source.js +++ b/auto_source.js @@ -121,9 +121,10 @@ let INFO = xml` (files = files.filter(function (it) (!(it.path.indexOf(filepath) === 0 && func(it)+'-')))); function expandPath (filepath) { - function normalize (filepath) - let (file = io.File(filepath)) - (file.normalize(), file.path); + function normalize (filepath) { + let file = io.File(filepath); + return (file.normalize(), file.path); + } filepath = io.expandPath(filepath); if (filepath.match(/\/|\w:[\\\/]/)) diff --git a/direct_bookmark.js b/direct_bookmark.js index aba403d..76f0d4a 100644 --- a/direct_bookmark.js +++ b/direct_bookmark.js @@ -647,7 +647,8 @@ var INFO = xml`<plugin name=${NAME} version="0.19.0" };
__context__.services = services;
- let (_tags = {}, _empty = true) {
+ (function () {
+ let _tags = {}, _empty = true;
__context__.tags = {
__iterator__: function () Iterator(_tags, true),
update: function (atags) {
@@ -661,7 +662,7 @@ var INFO = xml`<plugin name=${NAME} version="0.19.0" },
get isEmpty () _empty,
};
- }
+ })();
function getTagsAsync(onComplete){
var d,first;
@@ -819,70 +820,74 @@ var INFO = xml`<plugin name=${NAME} version="0.19.0" };
};
- let completer = let (lastURL, lastUserTags, onComplete, done = true) function(context, arg){
- function matchPosition (e){
- let m = liberator.globalVariables.direct_sbm_tag_match || 'prefix';
- switch (m) {
- case 'infix': return e;
- case 'suffix': return e + "$";
- }
- return "^" + e;
- }
+ let completer =
+ (function () {
+ let lastURL, lastUserTags, onComplete, done = true;
+ return function(context, arg){
+ function matchPosition (e){
+ let m = liberator.globalVariables.direct_sbm_tag_match || 'prefix';
+ switch (m) {
+ case 'infix': return e;
+ case 'suffix': return e + "$";
+ }
+ return "^" + e;
+ }
- function set (context, tags) {
- let filter = context.filter;
- var match_result = filter.match(/((?:\[[^\]]*\])*)\[?(.*)/); //[all, commited, now inputting]
- var expr = XMigemoCore && isUseMigemo ? "(" + XMigemoCore.getRegExp(match_result[2]) + ")"
- : match_result[2];
- var m = new RegExp(matchPosition(expr),'i');
+ function set (context, tags) {
+ let filter = context.filter;
+ var match_result = filter.match(/((?:\[[^\]]*\])*)\[?(.*)/); //[all, commited, now inputting]
+ var expr = XMigemoCore && isUseMigemo ? "(" + XMigemoCore.getRegExp(match_result[2]) + ")"
+ : match_result[2];
+ var m = new RegExp(matchPosition(expr),'i');
- context.advance( match_result[1].length );
+ context.advance( match_result[1].length );
- context.incomplete = false;
- context.completions =
- [ ["[" + tag + "]","Tag"]
- for each (tag in tags)
- if (m.test(tag) && match_result[1].indexOf('[' + tag + ']') < 0) ];
- }
+ context.incomplete = false;
+ context.completions =
+ [ ["[" + tag + "]","Tag"]
+ for each (tag in tags)
+ if (m.test(tag) && match_result[1].indexOf('[' + tag + ']') < 0) ];
+ }
- let url = arg[0] || buffer.URL;
- liberator.log(url);
+ let url = arg[0] || buffer.URL;
+ liberator.log(url);
+
+ context.fork('UserTags', 0, context, function(context){
+ context.title = ['User Tags', 'User Tags'];
+
+ onComplete = function(tags){
+ done = true;
+ lastUserTags = tags;
+ context.incomplete = false;
+ set(context, tags);
+ };
+
+ if (url == lastURL){
+ if (done) {
+ onComplete(lastUserTags);
+ } else {
+ context.incomplete = true;
+ }
+ } else {
+ lastURL = url;
+ context.incomplete = true;
+ done = false;
+ getUserTags(url, function (tags) onComplete(tags));
+ }
+ });
- context.fork('UserTags', 0, context, function(context){
- context.title = ['User Tags', 'User Tags'];
+ context.fork('MyTags', 0, context, function(context, arg){
+ context.title = ['My Tag','Description'];
- onComplete = function(tags){
- done = true;
- lastUserTags = tags;
- context.incomplete = false;
- set(context, tags);
+ if(__context__.tags.isEmpty){
+ context.incomplete = true;
+ getTagsAsync(set.bind(null, context)).call([]);
+ } else {
+ set(context, __context__.tags);
+ }
+ });
};
-
- if (url == lastURL){
- if (done) {
- onComplete(lastUserTags);
- } else {
- context.incomplete = true;
- }
- } else {
- lastURL = url;
- context.incomplete = true;
- done = false;
- getUserTags(url, function (tags) onComplete(tags));
- }
- });
-
- context.fork('MyTags', 0, context, function(context, arg){
- context.title = ['My Tag','Description'];
-
- if(__context__.tags.isEmpty){
- context.incomplete = true;
- getTagsAsync(set.bind(null, context)).call([]);
- } else {
- set(context, __context__.tags);
- }
- });
- };
+ })();
let options = [ [['-s','-service'], liberator.modules.commands.OPTION_STRING] ];
diff --git a/edit-vimperator-files.js b/edit-vimperator-files.js index 27fc698..f9e5291 100644 --- a/edit-vimperator-files.js +++ b/edit-vimperator-files.js @@ -91,8 +91,9 @@ let INFO = xml` dirs = util.Array.uniq(util.Array.compact(dirs).map(io.expandPath)); let getItems = - let (lastTime, lastItems) - function () { + (function () { + let lastTime, lastItems; + return function () { if (lastTime && (new Date() - lastTime < 5 * 1000)) return lastItems; return lastItems = util.Array.flatten([ @@ -103,8 +104,8 @@ let INFO = xml` ] for ([, dir] in Iterator(dirs)) ]); - }; + })(); completion.vimperatorFiles = diff --git a/feedSomeKeys_3.js b/feedSomeKeys_3.js index 0256772..7411baa 100644 --- a/feedSomeKeys_3.js +++ b/feedSomeKeys_3.js @@ -34,7 +34,7 @@ THE POSSIBILITY OF SUCH DAMAGE. // INFO {{{ let INFO = -xml`<plugin name="feedSomeKeys" version="1.9.4" +xml`<plugin name="feedSomeKeys" version="1.9.5" href="http://github.com/vimpr/vimperator-plugins/blob/master/feedSomeKeys_3.js" summary="Feed some defined key events into the Web content" lang="en-US" @@ -140,7 +140,7 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" :lazy fmaps -u='http://code.google.com/p/vimperator-labs/issues/detail' u </ex></code> </plugin> - <plugin name="feedSomeKeys" version="1.9.3" + <plugin name="feedSomeKeys" version="1.9.5" href="http://github.com/vimpr/vimperator-plugins/blob/master/feedSomeKeys_3.js" summary="Web コンテンツに直接キーイベントを送ります。" lang="ja" @@ -252,7 +252,7 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" (function () { const EVENTS = 'keypress keydown keyup'.split(/\s+/); - const EVENTS_WITH_V = EVENTS.concat(['v' + n for each (n in EVENTS)]); + const EVENTS_WITH_V = EVENTS.concat(['v' + n for (n of EVENTS)]); const IGNORE_URLS = /<ALL>/; const VKeys = { @@ -315,8 +315,15 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" function id (v) v; - function or (list, func) - (list.length && let ([head,] = list) (func(head) || or(list.slice(1), func))); + function or (list, func) { + return ( + list.length && + (function () { + let [head,] = list; + return (func(head) || or(list.slice(1), func)); + })() + ); + } function getFrames () { function bodyCheck (content) @@ -508,7 +515,7 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" }</span> </span>` ] - for each (map in findMappings({urls: args['-urls'], ignoreUrls: args['-ignoreurls']})) + for (map of findMappings({urls: args['-urls'], ignoreUrls: args['-ignoreurls']})) ]; } @@ -518,7 +525,7 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" let uniq = {}; let result = [ (uniq[map.matchingUrls] = 1, [map.matchingUrls.source, map.names]) - for each (map in maps) + for (map of maps) if (map.matchingUrls && !uniq[map.matchingUrls]) ]; if (currentURL) { @@ -533,7 +540,7 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" function frameCompleter (context, args) { return [ [i, frame.document.location] - for each ([i, frame] in Iterator(getFrames())) + for ([i, frame] of Iterator(getFrames())) ]; } @@ -596,7 +603,8 @@ xml`<plugin name="feedSomeKeys" version="1.9.4" } if (multi) { - let sep = let (s = args['-separator'] || ',') function (v) v.split(s); + let sepStr = s = args['-separator'] || ','; + let sep = function (v) v.split(s); args.literalArg.split(/\s+/).map(String.trim).map(sep).forEach(add); } else { let [, lhs, rhs] = args.literalArg.match(/^(\S+)\s+(.*)$/) || args.literalArg; diff --git a/twittperator.js b/twittperator.js index 8438d11..62d5b55 100644 --- a/twittperator.js +++ b/twittperator.js @@ -1841,9 +1841,10 @@ let INFO = xml` tw.jsonGet(api, query, callback); }, // }}} loadPlugins: function() { // {{{ - function isEnabled(file) - let (name = file.leafName.replace(/\..*/, "").replace(/-/g, "_")) - liberator.globalVariables["twittperator_plugin_" + name]; + function isEnabled(file) { + let name = file.leafName.replace(/\..*/, "").replace(/-/g, "_"); + return liberator.globalVariables["twittperator_plugin_" + name]; + } function loadPluginFromDir(checkGV, candidates) { return function(dir) { @@ -2132,9 +2133,10 @@ let INFO = xml` Store.set("consumerSecret", "gVwj45GaW6Sp7gdua6UFyiF910ffIety0sD1dv36Cz8"); // }}} let Predicates = { // {{{ - notMine: function (st) - let (n = setting.screenName) - (n ? (!st.user || st.user.screen_name !== n) : st), + notMine: function (st) { + let n = setting.screenName; + return n ? (!st.user || st.user.screen_name !== n) : st; + }, selectMine: function (st) (!Predicates.notMine(st)) }; // }}} @@ -2146,9 +2148,10 @@ let INFO = xml` text.replace(/\r\n|[\r\n]/g, ' '); function setTimelineCompleter(context) { // {{{ - function statusObjectFilter(item) - let (desc = item.description) - (this.match(desc.user.screen_name) || this.match(desc.text)); + function statusObjectFilter(item) { + let desc = item.description; + return this.match(desc.user.screen_name) || this.match(desc.text); + } context.compare = void 0; context.createRow = function(item, highlightGroup) { @@ -2248,10 +2251,10 @@ let INFO = xml` get expr() { return RegExp( "^" + - this.command.map(function(c) - let (r = util.escapeRegex(c)) - (/^\W$/.test(c) ? r : r + "( |$)") - ).join("|") + this.command.map(function(c) { + let r = util.escapeRegex(c); + return /^\W$/.test(c) ? r : r + "( |$)"; + }).join("|") ); }, match: function(s) s.match(this.expr), @@ -2592,61 +2595,73 @@ let INFO = xml` bang: true, literal: 0, hereDoc: true, - completer: let (getting, lastTime) function(context, args) { - let now = new Date().getTime(); - let doGet = - setting.autoStatusUpdate && - !getting && - (!lastTime || ((lastTime + setting.statusValidDuration * 1000) < now)); - - let completer = args.bang ? subCommandCompleter : commandCompelter; - let matches = args.bang || args.literalArg.match(/(RT\s+|)@|#|^D\s+/); - - if (!matches) - return; - - context.fork( - "TwittperatorCommand", 0, context, - function(context) { - context.incomplete = doGet; - context.hasitems = !doGet; - - if (doGet) { - getting = true; - lastTime = now; - Twitter.getUserTimeline(null, function() { - getting = false; - completer(context, args); - context.incomplete = false; - }); - return; + completer: (function () { + let getting, lastTime; + return function(context, args) { + let now = new Date().getTime(); + let doGet = + setting.autoStatusUpdate && + !getting && + (!lastTime || ((lastTime + setting.statusValidDuration * 1000) < now)); + + let completer = args.bang ? subCommandCompleter : commandCompelter; + let matches = args.bang || args.literalArg.match(/(RT\s+|)@|#|^D\s+/); + + if (!matches) + return; + + context.fork( + "TwittperatorCommand", 0, context, + function(context) { + context.incomplete = doGet; + context.hasitems = !doGet; + + if (doGet) { + getting = true; + lastTime = now; + Twitter.getUserTimeline(null, function() { + getting = false; + completer(context, args); + context.incomplete = false; + }); + return; + } + completer(context, args); } - completer(context, args); - } - ); - } + ); + }; + })() }, true); // }}} } // }}} // Initialization {{{ let setting = - let (gv = liberator.globalVariables) ({ - useChirp: !!gv.twittperator_use_chirp, - allReplies: !!gv.twittperator_all_replies, - autoStatusUpdate: !!parseInt(gv.twittperator_auto_status_update || 0), - statusValidDuration: parseInt(gv.twitperator_status_valid_duration || 90), - historyLimit: let (v = gv.twittperator_history_limit) (v === 0 ? 0 : (v || 1000)), - showTLURLScheme: let (v = gv.twittperator_show_tl_with_https_url) ("http" + (v === false ? "" : "s")), - proxyHost: gv.twittperator_proxy_host, - proxyPort: gv.twittperator_proxy_port, - screenName: gv.twittperator_screen_name, - apiURLBase: "http" + (!!gv.twittperator_use_ssl_connection_for_api_ep ? "s" : "") + - "://api.twitter.com/" + (gv.twittperator_twitter_api_version || "1.1") + "/", - trackWords: gv.twittperator_track_words, - count: (gv.twittperator_count || 20), - lang: (gv.twittperator_lang || ''), - getAPIURL: function (path) (/^https?\:\/\//.test(path) ? path : this.apiURLBase + path) - }); + (function () { + let gv = liberator.globalVariables; + return { + useChirp: !!gv.twittperator_use_chirp, + allReplies: !!gv.twittperator_all_replies, + autoStatusUpdate: !!parseInt(gv.twittperator_auto_status_update || 0), + statusValidDuration: parseInt(gv.twitperator_status_valid_duration || 90), + historyLimit: (function () { + let v = gv.twittperator_history_limit; + return v === 0 ? 0 : (v || 1000) + })(), + showTLURLScheme: (function () { + let v = gv.twittperator_show_tl_with_https_url; + return "http" + (v === false ? "" : "s"); + })(), + proxyHost: gv.twittperator_proxy_host, + proxyPort: gv.twittperator_proxy_port, + screenName: gv.twittperator_screen_name, + apiURLBase: "http" + (!!gv.twittperator_use_ssl_connection_for_api_ep ? "s" : "") + + "://api.twitter.com/" + (gv.twittperator_twitter_api_version || "1.1") + "/", + trackWords: gv.twittperator_track_words, + count: (gv.twittperator_count || 20), + lang: (gv.twittperator_lang || ''), + getAPIURL: function (path) (/^https?\:\/\//.test(path) ? path : this.apiURLBase + path) + }; + })(); let statusRefreshTimer; diff --git a/twittperator/sstp.tw b/twittperator/sstp.tw index d00afa1..bda0307 100644 --- a/twittperator/sstp.tw +++ b/twittperator/sstp.tw @@ -50,9 +50,11 @@ let INFO = (function () { let socketService = - let (stsvc = Components.classes["@mozilla.org/network/socket-transport-service;1"]) - let (svc = stsvc.getService()) - svc.QueryInterface(Components.interfaces["nsISocketTransportService"]); + (function () { + let stsvc = Components.classes["@mozilla.org/network/socket-transport-service;1"]; + let svc = stsvc.getService(); + return svc.QueryInterface(Components.interfaces["nsISocketTransportService"]); + })(); function talk (name, msg) { let transport = socketService.createTransport(null, 0, '127.0.0.1', 9801, null); diff --git a/twittperator/twsidebar.tw b/twittperator/twsidebar.tw index 77450f7..8f4248e 100644 --- a/twittperator/twsidebar.tw +++ b/twittperator/twsidebar.tw @@ -425,7 +425,10 @@ liberator.modules.TWAnekoSB = ANekoSB = (function () { t.type = 'filter'; appendTweet(t, 'home', streamName); appendTweet(t, 'filter', streamName); - let (s = Config.sound.filter) (s && s.play()); + (function () { + let s = Config.sound.filter; + return s && s.play(); + })(); } } else if (/^(keyword)$/.test(t.type)) { appendTweet(t, 'home', streamName); |