Ejemplo n.º 1
0
        static void PrintLines(IEnumerable <GitInfo> g)
        {
            g = g.ToList();
            foreach (var a in g)
            {
                if (a.Branch.Length > 30)
                {
                    a.Branch = a.Branch.Substring(0, 27) + "...";
                }

                if (a.Remote.Contains(".visualstudio.com"))
                {
                    a.Remote = $"{a.Remote}/commit/{a.FullHash}";
                }
            }

            var topLevelLengths = g.Select(x => x.TopLevel.Length);
            var maxLevel        = topLevelLengths.OrderByDescending(x => x).FirstOrDefault();
            var branchMaxLevel  = g.Select(x => x.Branch.Length).OrderByDescending(x => x).FirstOrDefault();

            var remotePad    = 0;
            var remotePadStr = new string(' ', remotePad);

            var renderer = new InfoRender()
            {
                RepoPad   = maxLevel + 5,
                BranchPad = branchMaxLevel + 2,
                RemotePad = remotePad
            };

            var colorWriter = new ConsoleColorWriter();

            colorWriter.WL($"Repo{"".PadRight(renderer.RepoPad-4)}Branch{"".PadRight(renderer.BranchPad-6)}Hash{"".PadRight(10-4)}Remote", ConsoleColor.Blue)
            .WL(new string('=', 160), ConsoleColor.Cyan);

            foreach (var l in g)
            {
                renderer.PrintLineRow(l);
            }
        }
Ejemplo n.º 2
0
 public InfoRender()
 {
     _writer = new ConsoleColorWriter();
 }
 public static ConsoleColorWriter W(this ConsoleColorWriter writer, string message, ConsoleColor color)
 {
     writer.Write(color, message);
     return(writer);
 }
 public static ConsoleColorWriter Write(this ConsoleColorWriter writer, string message)
 {
     writer.Write(message);
     return(writer);
 }