예제 #1
0
        private static void Main(string[] args)
        {
            VT100.TryEnable();

            if (args.Length > 0 && args[0] == "-ignoreDbg")
            {
                AphidErrorHandling.IgnoreDebugger = true;
                args = args.Skip(1).ToArray();
            }
            else if (AphidConfig.Current.IgnoreDebugger)
            {
                AphidErrorHandling.IgnoreDebugger = true;
            }

            var runRepl = args.Length == 0;

            if (Cli.HasConsole)
            {
                try
                {
                    var cursorVisible = Console.CursorVisible;
                    AppDomain.CurrentDomain.ProcessExit += (o, e) =>
                                                           Console.CursorVisible = cursorVisible;
                }
                catch
                {
                }
            }

            AppDomain.CurrentDomain.ProcessExit += (o, e) => Console.ResetColor();
            CliApplication.SetTitle("Aphid", showHeader: runRepl);

            if (runRepl)
            {
                RunRepl();
            }
            else if (args[0][0] == '?')
            {
                RunExpression(args);
            }
            else if (args[0][0] == '*')
            {
                RunStatements(args);
            }
            else if (args[0][0] == '!')
            {
                RunQuotedStatements(args);
            }
            else
            {
                RunScript(args);
            }
        }
예제 #2
0
 public static string ToVT100String(this IEnumerable <ColoredText> source) =>
 VT100.GetString(source);
 public void SetUnderline(bool isEnabled)
 {
     _lastKnownUnderlineSetting = isEnabled;
     Write($"{VT100.SequenceStarter}{(isEnabled ? VT100.SequenceGraphicsRenditionUnderline : VT100.SequenceGraphicsRenditionNoUnderline)}{VT100.SequenceTerminatorGraphicsRendition}");
 }
 public void SetInvertedColors(bool isEnabled) => Write($"{VT100.SequenceStarter}{(isEnabled ? VT100.SequenceGraphicsRenditionNegative : VT100.SequenceGraphicsRenditionPositive)}{VT100.SequenceTerminatorGraphicsRendition}");