// See https://aka.ms/new-console-template for more information

using System.Reflection;
using Quadarax.Foundation.Core.Logging;
using Quadarax.Foundation.Core.QConsole;
using Quadarax.Foundation.Core.QConsole.Configuration;
using Quadarax.Foundation.Core.QConsole.Context;
using Quadarax.Foundation.Core.Reflection.Extensions;

var config = new StartupConfiguration("QMonitor Console", Assembly.GetExecutingAssembly().GetName().Version);
config.ConsoleCopyright = Assembly.GetExecutingAssembly().GetCopyright();
config.AllowInteractive = false;
config.WaitOnKeyInNonInteractiveMode = false;
config.CommandDefinitionAssebmly = new[]{Assembly.GetEntryAssembly()};
config.DisableDefaultCommands();
config.ShowStatusOnEveryCommand = false;
config.IsConsoleDebug = true;
config.DefaultLoggerFactory = new ConsoleLogger(LogSeverityEnum.Trace);

var console = new Engine(config, new DefualtEngineContext(), args);
console.Start();

