public MovePathCommand( IFileService fileService) : base(typeof(MovePathCommand).Namespace, nameof(MovePathCommand), HelpDefinition) { CommandSourcePathParameter = new CommandParameterDefinition( "sourcepath", CommandParameterDefinition.TypeValue.String, "Source file or folder for move", "sp"); CommandDestinationFolderParameter = new CommandParameterDefinition( "destionationfolder", CommandParameterDefinition.TypeValue.String, "destination folder", "df"); CommandPatternParameter = new CommandParameterDefinition( "pattern", CommandParameterDefinition.TypeValue.String, "file pattern if move a folder. Default value: *.*", "p"); CommandParametersDefinition.Add(CommandSourcePathParameter); CommandParametersDefinition.Add(CommandDestinationFolderParameter); CommandParametersDefinition.Add(CommandPatternParameter); FileService = fileService ?? throw new ArgumentNullException(nameof(fileService)); }
public ZipCommand( IFileService fileService) : base(typeof(ZipCommand).Namespace, nameof(ZipCommand), HelpDefinition) { CommandPathParameter = new CommandParameterDefinition( "path", CommandParameterDefinition.TypeValue.String, "Indicates the path (file or directory) for zip", "p"); CommandParametersDefinition.Add(CommandPathParameter); FileService = fileService ?? throw new ArgumentNullException(nameof(fileService)); }
public ReplaceFileContentCommand( IFileService fileService) : base(typeof(ReplaceFileContentCommand).Namespace, nameof(ReplaceFileContentCommand), HelpDefinition) { CommandPathParameter = new CommandParameterDefinition( "path", CommandParameterDefinition.TypeValue.String, "Indicates the path (file or directory) for replacing", "p"); CommandOldValueParameter = new CommandParameterDefinition( "oldvalue", CommandParameterDefinition.TypeValue.String, "Old value for replace", "o"); CommandOldValuePatternParameter = new CommandParameterDefinition( "oldvaluepattern", CommandParameterDefinition.TypeValue.String, "Old value for replace. Use regex pattern", "op"); CommandNewValueParameter = new CommandParameterDefinition( "newvalue", CommandParameterDefinition.TypeValue.String, "New value for replace", "n"); CommandPatternParameter = new CommandParameterDefinition( "pattern", CommandParameterDefinition.TypeValue.String, "Pattern for files (use more than one with ;). Default value: *.*", "a"); CommandTimesParameter = new CommandParameterDefinition( "times", CommandParameterDefinition.TypeValue.Integer, "How many times the old value will be replaced. By default = -1, which means the old value will be replaced in the whole file", "t"); CommandParametersDefinition.Add(CommandPathParameter); CommandParametersDefinition.Add(CommandOldValueParameter); CommandParametersDefinition.Add(CommandOldValuePatternParameter); CommandParametersDefinition.Add(CommandNewValueParameter); CommandParametersDefinition.Add(CommandPatternParameter); CommandParametersDefinition.Add(CommandTimesParameter); FileService = fileService ?? throw new ArgumentNullException(nameof(fileService)); }
public OpenRepoCommand( IFileService directoryService, IPromptCommandService promptCommandService, IClipboardService clipboardService) : base(typeof(OpenRepoCommand).Namespace, nameof(OpenRepoCommand), HelpDefinition) { NameParameter = new CommandParameterDefinition( "name", CommandParameterDefinition.TypeValue.String, "Indicates the name or part of it for search and open this folder", "n"); CommandParametersDefinition.Add(NameParameter); DirectoryService = directoryService ?? throw new ArgumentNullException(nameof(directoryService)); PromptCommandService = promptCommandService ?? throw new ArgumentNullException(nameof(promptCommandService)); ClipboardService = clipboardService ?? throw new ArgumentNullException(nameof(clipboardService)); }
public RenameFolderCommand( IFileService fileService) : base(typeof(RenameFolderCommand).Namespace, nameof(RenameFolderCommand), HelpDefinition) { CommandPathOldFolderParameter = new CommandParameterDefinition( "oldpath", CommandParameterDefinition.TypeValue.String, "Source path for rename", "o"); CommandPathNewFolderParameter = new CommandParameterDefinition( "newpath", CommandParameterDefinition.TypeValue.String, "New name of the folder", "n"); CommandParametersDefinition.Add(CommandPathOldFolderParameter); CommandParametersDefinition.Add(CommandPathNewFolderParameter); FileService = fileService ?? throw new ArgumentNullException(nameof(fileService)); }
public UnzipCommand( IFileService fileService) : base(typeof(UnzipCommand).Namespace, nameof(UnzipCommand), HelpDefinition) { CommandPathParameter = new CommandParameterDefinition( "path", CommandParameterDefinition.TypeValue.String, "Indicates the path (file) for unzip", "p"); CommandDestinationParameter = new CommandParameterDefinition( "destination", CommandParameterDefinition.TypeValue.String, "Indicates the destination folder", "d"); CommandParametersDefinition.Add(CommandPathParameter); CommandParametersDefinition.Add(CommandDestinationParameter); FileService = fileService ?? throw new ArgumentNullException(nameof(fileService)); }
public void ExecuteHelp() { var data = new StringBuilder(); data.AppendLine($"# Namespace: {CommandNameSpace}"); data.AppendLine($"# Command Name: {CommandName}"); data.AppendLine($"# Invocation Name: {GetInvocationCommandName()}"); data.AppendLine($"# Description: {Description}"); data.AppendLine( CommandParametersDefinition.ToDisplayList( item => { StringBuilder line = new StringBuilder(); line.Append($"--{item.Name}"); if (item.ShortCut != null) { line.Append($" [-{item.ShortCut}]"); } line.Append($", Type value: {item.Type.ToString()}, Description: {item.Description}"); return(line.ToString()); }, "Parameters:", "")); Log(data.ToString()); }
public bool IsParamOk(List <CommandParameter> parameters, string name) { var paremeterDefinition = CommandParametersDefinition .FirstOrDefault(k => k.Name == name); if (paremeterDefinition == null) { throw new KeyNotFoundException($"Parameter with name '{name}' doesnt exist in the definition of '{GetInvocationCommandName()}'"); } var parameter = parameters.FirstOrDefault(k => k.ParameterName == name); if (parameter != null) { if (paremeterDefinition.Type == CommandParameterDefinition.TypeValue.Boolean) { return(true); } else if (paremeterDefinition.Type == CommandParameterDefinition.TypeValue.Decimal) { return(true); } else if (paremeterDefinition.Type == CommandParameterDefinition.TypeValue.Integer) { return(true); } else if (paremeterDefinition.Type == CommandParameterDefinition.TypeValue.String) { return(!string.IsNullOrEmpty(parameter.ValueString)); } else if (paremeterDefinition.Type == CommandParameterDefinition.TypeValue.Guid) { return(parameter.ValueGuid != Guid.Empty); } } return(false); }
public void ImplementHelpCommand() { var helpCommand = new CommandParameterDefinition("help", CommandParameterDefinition.TypeValue.Boolean, "Details about the command and it's available parameters"); CommandParametersDefinition.Add(helpCommand); }