internal static void WriteDeleteCommand(DeleteCommandOptions options) { WriteOption("ask", options.AskMode == AskMode.File); WriteOption("attributes", options.Attributes); WriteOption("attributes to skip", options.AttributesToSkip); WriteFilter("content filter", options.ContentFilter); WriteOption("content only", options.ContentOnly); WriteEncoding("default encoding", options.DefaultEncoding); WriteOption("directories only", options.DirectoriesOnly); WriteFilter("directory filter", options.DirectoryFilter, options.DirectoryNamePart); WriteDisplayFormat("display", options.Format); WriteOption("dry run", options.DryRun); WriteOption("empty", options.EmptyOption); WriteFilter("extension filter", options.ExtensionFilter); WriteFilePropertyFilter( "file properties", options.SizePredicate, options.CreationTimePredicate, options.ModifiedTimePredicate); WriteOption("files only", options.FilesOnly); WriteOption("highlight options", options.HighlightOptions); WriteOption("including bom", options.IncludingBom); WriteOption("max matching files", options.MaxMatchingFiles); WriteFilter("name filter", options.NameFilter, options.NamePart); WritePaths("paths", options.Paths); WriteOption("progress", options.Progress); WriteOption("recurse subdirectories", options.RecurseSubdirectories); WriteOption("search target", options.SearchTarget); WriteSortOptions("sort", options.SortOptions); }
private static int Delete(DeleteCommandLineOptions commandLineOptions) { var options = new DeleteCommandOptions(); if (!commandLineOptions.TryParse(options)) { return(2); } return(Execute(new DeleteCommand(options))); }
public bool TryParse(DeleteCommandOptions options) { var baseOptions = (CommonFindCommandOptions)options; if (!TryParse(baseOptions)) { return(false); } options = (DeleteCommandOptions)baseOptions; if (!TryParseAsEnumFlags(Highlight, OptionNames.Highlight, out HighlightOptions highlightOptions, defaultValue: HighlightOptions.Default, provider: OptionValueProviders.DeleteHighlightOptionsProvider)) { return(false); } if (!FilterParser.TryParse(Name, OptionNames.Name, OptionValueProviders.PatternOptionsProvider, out Filter nameFilter, allowNull: true)) { return(false); } if (nameFilter == null && options.Paths.Length == 1 && options.Paths[0].Origin == PathOrigin.CurrentDirectory) { Logger.WriteError($"Option '{OptionNames.GetHelpText(OptionNames.Name)}' is required when no path is specified (i.e. current directory is used)."); return(false); } if (!FilterParser.TryParse(Content, OptionNames.Content, OptionValueProviders.PatternOptionsProvider, out Filter contentFilter, allowNull: true)) { return(false); } if (!TryParseDisplay( values: Display, optionName: OptionNames.Display, contentDisplayStyle: out ContentDisplayStyle? _, pathDisplayStyle: out PathDisplayStyle? pathDisplayStyle, lineDisplayOptions: out LineDisplayOptions lineDisplayOptions, displayParts: out DisplayParts displayParts, fileProperties: out ImmutableArray <FileProperty> fileProperties, indent: out string indent, separator: out string separator, contentDisplayStyleProvider: OptionValueProviders.ContentDisplayStyleProvider, pathDisplayStyleProvider: OptionValueProviders.PathDisplayStyleProvider)) { return(false); } if (pathDisplayStyle == PathDisplayStyle.Relative && options.Paths.Length > 1 && options.SortOptions != null) { pathDisplayStyle = PathDisplayStyle.Full; } options.Format = new OutputDisplayFormat( contentDisplayStyle: ContentDisplayStyle.None, pathDisplayStyle: pathDisplayStyle ?? PathDisplayStyle.Full, lineOptions: lineDisplayOptions, displayParts: displayParts, fileProperties: fileProperties, indent: indent, separator: separator); options.Ask = Ask; options.DryRun = DryRun; options.HighlightOptions = highlightOptions; options.SearchTarget = GetSearchTarget(); options.NameFilter = nameFilter; options.ContentFilter = contentFilter; options.ContentOnly = ContentOnly; options.IncludingBom = IncludingBom; options.MaxMatchingFiles = MaxCount; return(true); }