using System;

namespace Quadarax.Foundation.Core.QConsole
{
    internal class Defaults
    {
        public class Arguments
        {
            internal const int ItemsPerPage = 20;
        }
        internal class Console
        {
            internal const bool InteractiveAllowed = true;
            internal const bool PresetAllowed = false;
            internal const bool ConsoleDebugMode = false;
            internal const ConsoleColor ConsoleDebugForeColor = ConsoleColor.DarkGray;
            internal const bool DisableDefaultCommands = false;
            internal const bool WaitOnKeyInNonInteractiveMode = false;
            internal const bool ShowStatusOnEveryCommand = false;
            internal const bool UseDefaultHadlers = true;
        }

        internal class Formats
        {
            internal const string DateFormat = "dd.MM.YYYY";
            internal const string TimeFormat = "hh:MM:ss";
        }

        internal class RoleCharacters
        {
            internal const string ConsoleLineIntroduce = ">";
            internal const string OrdinalArgumentSeparator = " ";
            internal const string NamedArgumentSeparator = "-";
            internal const string NamedArgumentValueSeparator = ":";
            internal const string TextValueBraceSeparator = "\"";
            internal const string InputSelectionValueSeparator = ",";
            internal const string InputIncrementPageCharacter = "+";
            internal const string InputDecrementPageCharacter = "-";
            internal const string InputFirstPageCharacter = "f";
            internal const string InputLastPageCharacter = "l";
            internal const string InputExitPageCharacter = "";
            internal const string SelectionVariablePrefixCharacter = "@";
            internal const string SelectionVariablePropertyCharacter = ".";
        }
    }
}
