diff options
author | drry | 2008-10-29 22:01:16 +0000 |
---|---|---|
committer | drry | 2008-10-29 22:01:16 +0000 |
commit | 234105267fdd5d2af0dddaddfccfeb3c9a31d686 (patch) | |
tree | 4cbd6da31bbb8b54896386be4d6a12b955a42d22 /readcatlater.js | |
parent | 92cf3fa2041d42e7139e52af46f03010ff41a91c (diff) | |
download | vimperator-plugins-234105267fdd5d2af0dddaddfccfeb3c9a31d686.tar.bz2 |
* カナダ英語を除去しました。
* 正規表現を修正しました。
* Array オブジェクトに対する `for...in` および `for each` 文を回避しました。
* ほか。
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22343 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'readcatlater.js')
-rw-r--r-- | readcatlater.js | 95 |
1 files changed, 46 insertions, 49 deletions
diff --git a/readcatlater.js b/readcatlater.js index 0d0c2ca..97c545a 100644 --- a/readcatlater.js +++ b/readcatlater.js @@ -17,39 +17,39 @@ // // License: // http://creativecommons.org/licenses/by-sa/2.1/jp/ -// http://creativecommons.org/licenses/by-sa/2.1/jp/deed.en_CA +// http://creativecommons.org/licenses/by-sa/2.1/jp/deed // // Link: // http://d.hatena.ne.jp/nokturnalmortum/20080918#1221729188 -(function () { try{ +(function () { try { liberator.log('readcatlater.js loading'); - + // このプラグインでブックマークしたときに必ずつくタグ - const RCL_TAG = 'readcatlater'; + const RCL_TAG = 'readcatlater'; // このプラグインが保存するブックマークのフォルダ名 // 変更しても良いし、場所を移動しても平気である。 const FOLDER_NAME = 'L'; // 逆順表示 const REVERSE = eval(liberator.globalVariables.readcatlater_reverse || 'false'); - var prefs = { + let prefs = { prefix: 'extensions.vimperator.plugins.readcatlater.', prefs: Components.classes["@mozilla.org/preferences-service;1"]. getService(Components.interfaces.nsIPrefBranch), get: function (name, def) { + var name, type; try { - var name = this.prefix + name; - var type = this.prefs.getPrefType(name); - const nsIPrefBranch = Components.interfaces.nsIPrefBranch; + const nsIPrefBranch = Components.interfaces.nsIPrefBranch; + name = this.prefix + name; + type = this.prefs.getPrefType(name); switch (type) { case nsIPrefBranch.PREF_STRING: try { return this.prefs.getComplexValue(name, Components.interfaces.nsISupportsString).data; - } - catch (e) { + } catch (e) { this.prefs.getCharPref(name); } break; @@ -70,7 +70,7 @@ var name = this.prefix + name; switch (type || typeof value) { case 'string': - var str = Cc['@mozilla.org/supports-string;1']. + let str = Cc['@mozilla.org/supports-string;1']. createInstance(Ci.nsISupportsString); str.data = value; return this.prefs.setComplexValue(name, Components.interfaces.nsISupportsString, str); @@ -98,21 +98,21 @@ const history = Cc["@mozilla.org/browser/nav-history-service;1"]. getService(Ci.nsINavHistoryService); - var [folderId, folderGUID] = [prefs.get('folderId', false), prefs.get('folderGUID', false)]; + let [folderId, folderGUID] = [prefs.get('folderId', false), prefs.get('folderGUID', false)]; if (!(folderGUID && folderId && (folderId == bookmarks.getItemIdForGUID(folderGUID)))) { - folderId = bookmarks.createFolder(bookmarks.toolbarFolder, FOLDER_NAME, bookmarks.DEFAULT_INDEX); + folderId = bookmarks.createFolder(bookmarks.toolbarFolder, FOLDER_NAME, bookmarks.DEFAULT_INDEX); prefs.set('folderId', folderId); prefs.set('folderGUID', bookmarks.getItemGUID(folderId)); } /* // Get an array of tags for a URI - var myTags = tagssvc.getTagsForURI(myURI, {}); + let myTags = tagssvc.getTagsForURI(myURI, {}); // Get an array of URIs for a tag - var taggedURIs = tagssvc.getURIsForTag("mozilla"); + let taggedURIs = tagssvc.getURIsForTag("mozilla"); // Get an array of all tags - var arrayOfAllTags = tagssvc.allTags; + let arrayOfAllTags = tagssvc.allTags; // Remove tags from a URI tagssvc.untagURI(myURI, ["mozilla", "firefox"]); */ @@ -146,44 +146,41 @@ } function splitBySpaces (str) { - return [it for each (it in str.split(/\s+/)) if (it.match && it.match(/\w+/))]; + return [it for each (it in str.split(/\s+/)) if (/\w/.test(it))]; } - function RCL_Bookmarks (terms) { try{ - var query = history.getNewQuery(); + function RCL_Bookmarks (terms) { try { + let query = history.getNewQuery(); query.setFolders([folderId], 1); + let m; if (terms) { - var ts = splitBySpaces(terms).map(function (it) { + let ts = splitBySpaces(terms).map(function (it) { var re = new RegExp(migemo.getRegExp(it), 'i'); var f = function (it) re.exec(it); return {s: it, r: f}; }); - var m = function (it) { - for each (var t in ts) { - if ((it.URI.indexOf(t.s) >= 0) || - (it.title.indexOf(t.s) >= 0) || - (t.r(it.URI)) || - (t.r(it.title)) ) - return true; - } - }; + m = function (it) + ts.some(function (t) + (it.URI.indexOf(t.s) >= 0 || it.title.indexOf(t.s) >= 0 || + t.r(it.URI) || t.r(it.title)) + ? true : false); } else { - var m = function () true; + m = function () true; } - var result = []; - var qres = history.executeQueries([query], 1, history.getNewQueryOptions()); - var folderNode = qres.root; + let result = []; + let qres = history.executeQueries([query], 1, history.getNewQueryOptions()); + let folderNode = qres.root; - var closeOriginally = !folderNode.containerOpen; + let closeOriginally = !folderNode.containerOpen; if (closeOriginally) folderNode.containerOpen = true; - for (var i = 0; i < folderNode.childCount; ++i) { - var node = folderNode.getChild(i); + for (let i = 0; i < folderNode.childCount; ++i) { + let node = folderNode.getChild(i); if (PlacesUtils.nodeIsBookmark(node)) { - var it = {id: node.itemId, + let it = {id: node.itemId, title: node.title, URI: node.uri }; if (m(it)) @@ -195,18 +192,19 @@ folderNode.containerOpen = false; return liberator.globalVariables.readcatlater_reverse ? result.reverse() : result; - }catch(e){ liberator.log(e); }} + } catch (e) { liberator.log(e); } } function completer (args) { - try{ - var cs = [ [it.URI, bookmarks.getItemTitle(it.id)] for each (it in RCL_Bookmarks(args)) if (it.id) ]; + var cs; + try { + cs = [ [it.URI, bookmarks.getItemTitle(it.id)] for each (it in RCL_Bookmarks(args)) if (it.id) ]; return [0, cs] - } catch(e) { liberator.log(e); } - } + } catch (e) { liberator.log(e); } + } function removeItems (uri) { var removed = false; - for each (var id in bookmarks.getBookmarkIdsForURI(makeURI(uri), {})) + for each (let id in bookmarks.getBookmarkIdsForURI(makeURI(uri), {})) if (folderId == bookmarks.getFolderIdForItem(id)) { removed = true; bookmarks.removeItem(id); @@ -243,9 +241,9 @@ uri = uri.string; openURI(uri); if (!bang && removeItems(uri)) - liberator.echo('"' + uri + '" was removed.'); + liberator.echo('"' + uri + '" was removed.'); }, - { + { completer: completer } ); @@ -255,14 +253,13 @@ 'delete cat now', function (uri, bang, num, extra) { if (removeItems(uri)) - liberator.echo('"' + uri + '" was removed.'); + liberator.echo('"' + uri + '" was removed.'); }, - { + { completer: completer } ); liberator.log('readcatlater.js loaded'); -}catch(e){ liberator.log(e); }})(); - +} catch (e) { liberator.log(e); } })(); |