Auto() public static method

public static Auto ( ) : JsonPalette
return JsonPalette
Beispiel #1
0
        static int Main(string[] args)
        {
            try
            {
                var defaultBrush = ConsoleBrush.Current;

                var options = new ProgramOptions();
                options.Help   += delegate { Help(); Environment.Exit(0); };
                options.Palette = JsonPalette.Auto(defaultBrush);
                args            = options.Parse(args);

                var path = args.Length > 0 ? args[0] : "-";

                try
                {
                    try
                    {
                        PrettyColorPrint(path, Console.Out, options.Palette);
                    }
                    finally
                    {
                        //
                        // The location of this finally clause is significant
                        // and should not be merged with the outer catch
                        // block. The default brush needs to be restored
                        // in case an error message is about to be printed
                        // and the standard output and error point to the
                        // same console device.
                        //

                        defaultBrush.Apply();
                    }
                }
                catch (JsonException e)
                {
                    //
                    // In case of JsonException, we don't display the
                    // base exception since the root cause would not provide
                    // line and position information and which JsonException
                    // does. For example, "Unterminated string" has the
                    // root case of FormatException, but which bubble as
                    // JsonException with line and position about where the
                    // error was found in the source.
                    //

                    Console.Error.WriteLine(e.Message);
                    Trace.WriteLine(e.ToString());
                    return(2);
                }

                return(0);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.GetBaseException().Message);
                Trace.WriteLine(e.ToString());
                return(1);
            }
        }
Beispiel #2
0
 public JsonColorWriter(JsonWriter inner, JsonPalette palette)
 {
     this.inner   = inner;
     this.Palette = palette ?? JsonPalette.Auto();
 }