private bool AssingStatus() { var arguments = _args.ToList(); if (ArgumentsExist(arguments)) { return(true); } if (arguments.Contains("-v")) { _finderStatus = FinderStatus.NotContaining; RemoveCommand(arguments, "-v"); } if (arguments.Contains("-color")) { _colorStatus = ColorStatus.Colored; RemoveCommand(arguments, "-color"); } if (ArgumentsExist(arguments)) { return(true); } _chain = arguments.FirstOrDefault(); if (arguments.Count > 1) { _path = arguments.LastOrDefault(); } return(false); }
public Command(string[] args) { _args = args; _colorStatus = ColorStatus.NotColored; _finderStatus = FinderStatus.Containing; _chain = String.Empty; _path = String.Empty; }
public static IFinder GetFinder(FinderStatus finderStatus) { switch (finderStatus) { case FinderStatus.NotContaining: return(new NotContainingChainFinder()); case FinderStatus.Containing: return(new ContainingChainFinder()); default: throw new ArgumentOutOfRangeException(nameof(finderStatus), finderStatus, null); } }
public bool ReturnCommands(out FinderStatus finderStatus, out ColorStatus colorStatus, out string chain, out string path) { finderStatus = FinderStatus.Containing; colorStatus = ColorStatus.NotColored; chain = String.Empty; path = String.Empty; if (_args.Length < 1) { return(true); } bool isError = AssingStatus(); finderStatus = _finderStatus; colorStatus = _colorStatus; chain = _chain; path = _path; return(isError); }