Esempio 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);
            }
        }
Esempio n. 2
0
        static void PrintLine(GitInfo g)
        {
            var infoRender = new InfoRender();

            infoRender.PrintLineDetails(g);
        }