private static bool RemoveListOption (Config config, Option option, string[] args) { string[] new_args = new string[args.Length - 3]; Array.Copy (args, 3, new_args, 0, args.Length - 3); bool to_save = false; if (config.RemoveListOptionValue (option.Name, new_args)) { Console.WriteLine ("Removing:"); to_save = true; DisplayListItem (config.GetListOptionParams (option.Name), new_args); } else { Console.WriteLine ("No such option exists: " + String.Join (" ", new_args)); } return to_save; }
private static void ShowOption (Config config, Option option) { if (option.Type == OptionType.Bool) { Console.WriteLine (" - {0}={2} ({1})", option.Name, option.Description, config.GetOption (option.Name, true)); } else if (option.Type == OptionType.String) { Console.WriteLine (" - {0}={2} ({1})", option.Name, option.Description, config.GetOption (option.Name, String.Empty)); } else if (option.Type == OptionType.List) { Console.WriteLine (" - {0} : ({1})", option.Name, option.Description); Console.Write (" Parameters:"); string[] param_names = config.GetListOptionParams (option.Name); for (int j = 0; j < param_names.Length; ++j) Console.Write (" [{0}] ", param_names [j]); Console.WriteLine (); List<string[]> items = config.GetListOptionValues (option.Name); if (items == null) return; Console.WriteLine (" Values:"); foreach (string[] item in items) { DisplayListItem (param_names, item); } } }