aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsecondlife2009-03-03 13:59:10 +0000
committersecondlife2009-03-03 13:59:10 +0000
commita8edfd8598c7f35e5f529c7f84466f180f2e6ef8 (patch)
treeaf9d64b4f232cf36a28b00b8c1843d74ae390022
parent4607f61ab4d92717a1f99438fd1b2e590e3170f4 (diff)
downloadvimperator-plugins-a8edfd8598c7f35e5f529c7f84466f180f2e6ef8.tar.bz2
抽象化
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@30735 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--hatena-bookmark-search.js49
1 files changed, 19 insertions, 30 deletions
diff --git a/hatena-bookmark-search.js b/hatena-bookmark-search.js
index b92e749..bb7cfba 100644
--- a/hatena-bookmark-search.js
+++ b/hatena-bookmark-search.js
@@ -145,24 +145,27 @@ HatenaBookmark.Command = {
}
}
},
+ createCompleter: function(titles) {
+ return function(context) {
+ context.format = {
+ anchored: true,
+ title: titles,
+ keys: { text: "url", description: "url", icon: "icon", extra: "extra"},
+ process: [
+ HatenaBookmark.Command.templateTitleIcon,
+ HatenaBookmark.Command.templateDescription,
+ ],
+ }
+ context.ignoreCase = true;
+ if (context.migemo) delete context.migemo;
+ context.filters = [HatenaBookmark.Command.filter];
+ context.completions = HatenaBookmark.UserData.bookmarks;
+ }
+ }
}
HatenaBookmark.Command.options = {
- completer: function(context) {
- context.format = {
- anchored: true,
- title: ['TITLE', 'Info'],
- keys: { text: "url", description: "url", icon: "icon", extra: "extra"},
- process: [
- HatenaBookmark.Command.templateTitleIcon,
- HatenaBookmark.Command.templateDescription,
- ],
- }
- context.ignoreCase = true;
- if (context.migemo) delete context.migemo;
- context.filters = [HatenaBookmark.Command.filter];
- context.completions = HatenaBookmark.UserData.bookmarks;
- },
+ completer: HatenaBookmark.Command.createCompleter(['TITLE', 'Info']),
literal: 0,
argCount: '*',
bang: true,
@@ -187,21 +190,7 @@ commands.addUserCommand(
true
);
-completion.addUrlCompleter("H", "Hatena Bookmarks", function(context){
- context.format = {
- anchored: true,
- title: ['Hatena Bookmarks'],
- keys: { text: "url", description: "url", icon: "icon", extra: "extra"},
- process: [
- HatenaBookmark.Command.templateTitleIcon,
- HatenaBookmark.Command.templateDescription,
- ],
- }
- context.ignoreCase = true;
- if (context.migemo) delete context.migemo;
- context.filters = [HatenaBookmark.Command.filter];
- context.completions = HatenaBookmark.UserData.bookmarks;
-});
+completion.addUrlCompleter("H", "Hatena Bookmarks", HatenaBookmark.Command.createCompleter(["Hatena Bookmarks"]));
HatenaBookmark.UserData = {
get bookmarks() {