public int Run(string[] args) { try { if (args.Length != 2) { _console.WriteLine("Wrong number of arguments"); _consoleCommandHandler.ShowHelp(); return(0); } string path = args[1]; if (!FileValidator.ValidateFile(path, out var errorMessage)) { _console.WriteLine(errorMessage); } else { _textManager.LoadFile(path); _logger.Info($"Line editor initialized by path: {path}"); string userInput = string.Empty; bool quitRequired = false; do { userInput = _console.ReadLine(); List <IConsoleCommand> consoleCommands = _consoleCommandHandler.ParseInput(userInput); ExecuteConsoleCommmands(consoleCommands, out quitRequired); }while (!quitRequired); } return(0); } catch (Exception ex) { _logger.Error(ex, "An unhandled exception occured"); return(-1); } }