Пример #1
0
        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);
            }
        }