private static IMessage GetMessage(RepositoryFilterOptions options) { // default should be listing all repositories IMessage message = new ListRepositoriesMessage(); ApplyMessageFilters(options); if (options is ListOptions) { if (options.HasFileFilter) { message = new ListRepositoryFilesMessage(options); } else { message = new ListRepositoriesMessage(options); } } if (options is ChangeDirectoryOptions) { message = new ChangeToDirectoryMessage(options); } if (options is GetDirectoryOptions) { message = new GetDirectoryMessage(options); } if (options is OpenDirectoryOptions) { if (options.HasFileFilter) { message = new OpenFileMessage(options); } else { message = new OpenDirectoryMessage(options); } } return(message); }
private static void ParseCommandLineOptions(string verb, object options, out IMessage message) { // default should be listing all repositories message = new ListRepositoriesMessage(); var filter = options as RepositoryFilterOptions; if (filter != null) { ApplyMessageFilters(filter); if (verb == CommandLineOptions.ListCommand) { if (filter.HasFileFilter) { message = new ListRepositoryFilesMessage(filter); } else { message = new ListRepositoriesMessage(filter); } } if (verb == CommandLineOptions.ChangeDirectoryCommand) { message = new ChangeToDirectoryMessage(filter); } if (verb == CommandLineOptions.OpenDirectoryCommand) { if (filter.HasFileFilter) { message = new OpenFileMessage(filter); } else { message = new OpenDirectoryMessage(filter); } } } }