diff options
author | anekos | 2011-05-26 22:28:05 +0900 |
---|---|---|
committer | anekos | 2011-05-26 22:28:05 +0900 |
commit | fafc5d2c62456ac852c5ae0ec7b7d098c93b16c1 (patch) | |
tree | 00cfae5b13c59389531aaefa673a438c0ce7515e | |
parent | 819e9895648eb342f2c9da90e01827fe8429c1af (diff) | |
download | vimperator-plugins-fafc5d2c62456ac852c5ae0ec7b7d098c93b16c1.tar.bz2 |
logout も一応
-rw-r--r-- | loginManager.js | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/loginManager.js b/loginManager.js index b7a6a9f..cab59a2 100644 --- a/loginManager.js +++ b/loginManager.js @@ -217,23 +217,29 @@ function tokenGetter(pattern) //{{{ return RegExp.$1; } }; +} +function getServiceAndUsernameFromArgs(args, logout) +{ + let [servicename, username] = args; + let service = services[servicename]; + if (!service) return; + if (!username) { + let names = service.getUsernames(); + if (names.length === 1) + username = names[0]; + } + return [service, username]; } //}}} // Commands // {{{ commands.addUserCommand(["login"], "Login", function(args){ - let [servicename, username] = args; - let service = services[servicename]; - if (!service) return liberator.echoerr("Argument required. Please supply service name."); - if (!username) { - let names = service.getUsernames(); - if (names.length === 1) { - username = names[0]; - } else { - return liberator.echoerr("Argument required. Please supply user name."); - } - } + let [service, username] = getServiceAndUsernameFromArgs(args); + if (!service) + return liberator.echoerr("Argument required. Please supply service name."); + if (!username) + return liberator.echoerr("Argument required. Please supply user name."); service.login(username); }, { completer: function(context, args){ @@ -251,9 +257,9 @@ commands.addUserCommand(["login"], "Login", }, true); commands.addUserCommand(["logout"], "Logout", function(args){ - let [servicename, username] = args; - let service = services[servicename]; - if (!service) return false; + let [service, username] = getServiceAndUsernameFromArgs(args); + if (!service) + return liberator.echoerr("Argument required. Please supply service name."); service.logout(username); }, { completer: function(context, args){ |