51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
|
|
using System;
|
|
using System.Diagnostics;
|
|
|
|
namespace mpvnet
|
|
{
|
|
public static class Terminal
|
|
{
|
|
static int Padding { get; } = 60;
|
|
|
|
public static void WriteError(object obj, string module = "mpv.net")
|
|
{
|
|
Write(obj, module, ConsoleColor.DarkRed, false);
|
|
}
|
|
|
|
public static void Write(object obj, string module = "mpv.net")
|
|
{
|
|
Write(obj, module, ConsoleColor.Black, true);
|
|
}
|
|
|
|
public static void Write(object obj, string module, ConsoleColor color, bool useDefaultColor)
|
|
{
|
|
if (obj == null)
|
|
return;
|
|
|
|
string value = obj.ToString();
|
|
|
|
if (!string.IsNullOrEmpty(module))
|
|
module = "[" + module + "] ";
|
|
|
|
if (useDefaultColor)
|
|
Console.ResetColor();
|
|
else
|
|
Console.ForegroundColor = color;
|
|
|
|
value = module + value;
|
|
|
|
if (value.Length < Padding)
|
|
value = value.PadRight(Padding);
|
|
|
|
if (color == ConsoleColor.Red || color == ConsoleColor.DarkRed)
|
|
Console.Error.WriteLine(value);
|
|
else
|
|
Console.WriteLine(value);
|
|
|
|
Console.ResetColor();
|
|
Trace.WriteLine(obj);
|
|
}
|
|
}
|
|
}
|