From 34c61fdc28efed1e2afa4f86a254d80a0017c927 Mon Sep 17 00:00:00 2001 From: Paul Hebble Date: Thu, 15 Feb 2018 18:26:50 +0000 Subject: [PATCH 1/2] Show abstracts in available command --- Cmdline/Action/Available.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cmdline/Action/Available.cs b/Cmdline/Action/Available.cs index 1ce3685029..73ab849775 100644 --- a/Cmdline/Action/Available.cs +++ b/Cmdline/Action/Available.cs @@ -22,7 +22,7 @@ public int RunCommand(CKAN.KSP ksp, object raw_options) foreach (CkanModule module in available) { - user.RaiseMessage("* {0} ({1}) - {2}", module.identifier, module.version, module.name); + user.RaiseMessage("* {0} ({1}) - {2} - {3}", module.identifier, module.version, module.name, module.@abstract); } return Exit.OK; From 05501a78c6c22da82ec282451d78fd4e7638abb6 Mon Sep 17 00:00:00 2001 From: Paul Hebble Date: Fri, 16 Feb 2018 11:11:24 -0600 Subject: [PATCH 2/2] Associate abstract display with command line flag --- Cmdline/Action/Available.cs | 18 ++++++++++++++---- Cmdline/Options.cs | 7 ++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Cmdline/Action/Available.cs b/Cmdline/Action/Available.cs index 73ab849775..43a8ae72d3 100644 --- a/Cmdline/Action/Available.cs +++ b/Cmdline/Action/Available.cs @@ -13,16 +13,26 @@ public Available(IUser user) public int RunCommand(CKAN.KSP ksp, object raw_options) { - IRegistryQuerier registry = RegistryManager.Instance(ksp).registry; - + AvailableOptions opts = (AvailableOptions)raw_options; + IRegistryQuerier registry = RegistryManager.Instance(ksp).registry; List available = registry.Available(ksp.VersionCriteria()); user.RaiseMessage("Mods available for KSP {0}", ksp.Version()); user.RaiseMessage(""); - foreach (CkanModule module in available) + if (opts.detail) + { + foreach (CkanModule module in available) + { + user.RaiseMessage("* {0} ({1}) - {2} - {3}", module.identifier, module.version, module.name, module.@abstract); + } + } + else { - user.RaiseMessage("* {0} ({1}) - {2} - {3}", module.identifier, module.version, module.name, module.@abstract); + foreach (CkanModule module in available) + { + user.RaiseMessage("* {0} ({1}) - {2}", module.identifier, module.version, module.name); + } } return Exit.OK; diff --git a/Cmdline/Options.cs b/Cmdline/Options.cs index fe88650b03..395f602061 100644 --- a/Cmdline/Options.cs +++ b/Cmdline/Options.cs @@ -428,7 +428,12 @@ internal class ListOptions : InstanceSpecificOptions internal class VersionOptions : CommonOptions { } internal class CleanOptions : InstanceSpecificOptions { } - internal class AvailableOptions : InstanceSpecificOptions { } + + internal class AvailableOptions : InstanceSpecificOptions + { + [Option("detail", HelpText = "Show short description of each module")] + public bool detail { get; set; } + } internal class GuiOptions : InstanceSpecificOptions {