Esempio n. 1
0
        public void ViewHelpForCommand(string commandName)
        {
            ICommand         command   = _commandManager.GetCommand(commandName);
            CommandAttribute attribute = command.CommandAttribute;

            Console.WriteLine("usage: {0} {1} {2}", _commandExe, attribute.CommandName, attribute.UsageSummary);
            Console.WriteLine();

            if (!String.IsNullOrEmpty(attribute.AltName))
            {
                Console.WriteLine("alias: {0}", attribute.AltName);
                Console.WriteLine();
            }

            Console.WriteLine(attribute.Description);
            Console.WriteLine();

            if (attribute.UsageDescription != null)
            {
                const int padding = 5;
                Console.PrintJustified(padding, attribute.UsageDescription);
                Console.WriteLine();
            }

            var options = _commandManager.GetCommandOptions(command);

            if (options.Count > 0)
            {
                Console.WriteLine("options:");
                Console.WriteLine();

                // Get the max option width. +2 for showing + against multivalued properties
                int maxOptionWidth = options.Max(o => o.Value.Name.Length) + 2;
                // Get the max altname option width
                int maxAltOptionWidth = options.Max(o => (o.Key.AltName ?? String.Empty).Length);

                foreach (var o in options)
                {
                    Console.Write(" -{0, -" + (maxOptionWidth + 2) + "}", o.Value.Name +
                                  (TypeHelper.IsMultiValuedProperty(o.Value) ? " +" : String.Empty));
                    Console.Write(" {0, -" + (maxAltOptionWidth + 4) + "}", GetAltText(o.Key.AltName));

                    Console.PrintJustified((10 + maxAltOptionWidth + maxOptionWidth), o.Key.Description);
                }

                Console.WriteLine();
            }

            if (!string.IsNullOrEmpty(attribute.UsageExample))
            {
                Console.WriteLine("examples:");
                Console.WriteLine();
                Console.WriteLine(attribute.UsageExample);
                Console.WriteLine();
            }

            Console.WriteLine(string.Format(CultureInfo.InvariantCulture,
                                            LocalizedResourceManager.GetString("HelpCommandForMoreInfo"),
                                            CommandLineConstants.NuGetDocsCommandLineReference));

            Console.WriteLine();
        }
Esempio n. 2
0
 private void PrintCommand(int maxWidth, CommandAttribute commandAttribute)
 {
     // Write out the command name left justified with the max command's width's padding
     Console.Write(" {0, -" + maxWidth + "}   ", GetCommandText(commandAttribute));
     // Starting index of the description
     int descriptionPadding = maxWidth + 4;
     Console.PrintJustified(descriptionPadding, commandAttribute.Description);
 }
Esempio n. 3
0
 private static string GetCommandText(CommandAttribute commandAttribute)
 {
     return(commandAttribute.CommandName + GetAltText(commandAttribute.AltName));
 }
Esempio n. 4
0
 private static string GetCommandText(CommandAttribute commandAttribute)
 {
     return commandAttribute.CommandName + GetAltText(commandAttribute.AltName);
 }