From df52dd1f2b5ebfadd088e0c101f8a5233583775e Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Fri, 15 Oct 2010 10:40:27 +1100 Subject: [PATCH] Update straggler commands to use CommandOption. --HG-- extra : rebase_source : c151758b643249af238cb60d7b04ba2c1bb5dbc6 --- melodactyl/content/player.js | 11 ++++++++--- teledactyl/content/addressbook.js | 6 +++--- teledactyl/content/mail.js | 17 ++++++++++------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/melodactyl/content/player.js b/melodactyl/content/player.js index 9e8fd169..6349ebd6 100644 --- a/melodactyl/content/player.js +++ b/melodactyl/content/player.js @@ -582,9 +582,14 @@ const Player = Module("player", { { argCount: "1", completer: function (context) completion.mediaListSort(context), - options: [[["-order", "-o"], commands.OPTION_STRING, - function (arg) /^(up|down)$/.test(arg), - function () [["up", "Sort in ascending order"], ["down", "Sort in descending order"]]]] + options: [ + { + names: ["-order", "-o"], type: CommandOption.STRING, + description: "Specify the sorting order of the given field", + validator: function (arg) /^(up|down)$/.test(arg), + completer: function () [["up", "Sort in ascending order"], ["down", "Sort in descending order"]] + } + ] }); // FIXME: use :add -q like cmus? (not very vim-like are it's multi-option commands) --djk diff --git a/teledactyl/content/addressbook.js b/teledactyl/content/addressbook.js index 48bbdaa2..af458d98 100644 --- a/teledactyl/content/addressbook.js +++ b/teledactyl/content/addressbook.js @@ -107,9 +107,9 @@ const Addressbook = Module("addressbook", { }, { argCount: "+", - options: [[["-firstname", "-f"], commands.OPTION_STRING], - [["-lastname", "-l"], commands.OPTION_STRING], - [["-name", "-n"], commands.OPTION_STRING]] + options: [{ names: ["-firstname", "-f"], type: CommandOption.STRING, description: "The first name of the contact" }, + { names: ["-lastname", "-l"], type: CommandOption.STRING, description: "The last name of the contact" }, + { names: ["-name", "-n"], type: CommandOption.STRING, description: "The display name of the contact" }] }); commands.add(["contacts", "addr[essbook]"], diff --git a/teledactyl/content/mail.js b/teledactyl/content/mail.js index f450b2fc..4092bd59 100644 --- a/teledactyl/content/mail.js +++ b/teledactyl/content/mail.js @@ -423,8 +423,8 @@ const Mail = Module("mail", { let mailargs = {}; mailargs.to = args.join(", "); mailargs.subject = args["-subject"]; - mailargs.bcc = args["-bcc"]; - mailargs.cc = args["-cc"]; + mailargs.bcc = args["-bcc"] || []; + mailargs.cc = args["-cc"] || []; mailargs.body = args["-text"]; mailargs.attachments = args["-attachment"] || []; @@ -441,11 +441,14 @@ const Mail = Module("mail", { mail.composeNewMail(mailargs); }, { - options: [[["-subject", "-s"], commands.OPTION_STRING], - [["-attachment", "-a"], commands.OPTION_LIST], - [["-bcc", "-b"], commands.OPTION_STRING], - [["-cc", "-c"], commands.OPTION_STRING], - [["-text", "-t"], commands.OPTION_STRING]] + // TODO: completers, validators - whole shebang. Do people actually use this? --djk + options: [ + { names: ["-subject", "-s"], type: CommandOption.STRING, description: "Subject line"}, + { names: ["-attachment", "-a"], type: CommandOption.LIST, description: "List of attachments"}, + { names: ["-bcc", "-b"], type: CommandOption.LIST, description: "Blind Carbon Copy addresses"}, + { names: ["-cc", "-c"], type: CommandOption.LIST, description: "Carbon Copy addresses"}, + { names: ["-text", "-t"], type: CommandOption.STRING, description: "Message body"} + ] }); commands.add(["copy[to]"],