From a8edfd8598c7f35e5f529c7f84466f180f2e6ef8 Mon Sep 17 00:00:00 2001 From: secondlife Date: Tue, 3 Mar 2009 13:59:10 +0000 Subject: 抽象化 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@30735 d0d07461-0603-4401-acd4-de1884942a52 --- hatena-bookmark-search.js | 49 ++++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 30 deletions(-) (limited to 'hatena-bookmark-search.js') 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() { -- cgit v1.2.3