private static string GetEqualitySeparator(CompareViewModel item)
        {
            char separator = VerticalLineChar;

            string result = separator + " " + separator;

            if (item?.LeftItem != null && item.RightItem != null)
            {
                if (item.ContentsComparison == 0)
                {
                    if (item.RelPathComparison != 0)
                    {
                        result = String.Empty + separator + LeftRightArrowChar + separator;
                    }
                    else
                    {
                        result = String.Empty + separator + EqualChar + separator;
                    }
                }
                else
                {
                    result = String.Empty + separator + NotEqualChar + separator;
                }
            }
            return(result);
        }
        public void OutputRow(CompareViewModel viewModel)
        {
            CalculateWidths();

            if (Helpers.GetShouldShowRow(_displayMode, viewModel))
            {
                if (_showHeader)
                {
                    OutputHeader();
                    _showHeader = false;
                }

                var leftPathColour = Console.ForegroundColor;
                var leftDateColour = Console.ForegroundColor;
                var leftSizeColour = Console.ForegroundColor;

                var rightPathColour = Console.ForegroundColor;
                var rightDateColour = Console.ForegroundColor;
                var rightSizeColour = Console.ForegroundColor;

                if (viewModel.LeftItem != null && viewModel.RightItem != null)
                {
                    if (viewModel.LastWriteComparison > 0)
                    {
                        leftDateColour = ConsoleColor.Green;
                    }
                    else if (viewModel.LastWriteComparison < 0)
                    {
                        rightDateColour = ConsoleColor.Green;
                    }

                    if (viewModel.SizeComparison > 0)
                    {
                        leftSizeColour = ConsoleColor.Blue;
                    }
                    else if (viewModel.SizeComparison < 0)
                    {
                        rightSizeColour = ConsoleColor.Blue;
                    }
                }
                Console.ForegroundColor = leftPathColour;
                Console.Write(GetPathAsJustifiedString(viewModel.LeftItem?.RelativePath, Justification.Left));

                Console.ResetColor();
                Console.Write(VerticalLineChar);

                Console.ForegroundColor = leftDateColour;
                Console.Write(GetDateAsJustifiedString(viewModel.LeftItem?.LastWriteTimeUtc, Justification.Left));

                Console.ResetColor();
                Console.Write(VerticalLineChar);

                Console.ForegroundColor = leftSizeColour;
                Console.Write(GetSizeAsJustifiedString(viewModel.LeftItem?.Length, Justification.Right));

                Console.ResetColor();
                Console.Write(GetEqualitySeparator(viewModel));

                Console.ForegroundColor = rightPathColour;
                Console.Write(GetPathAsJustifiedString(viewModel.RightItem?.RelativePath, Justification.Left));

                Console.ResetColor();
                Console.Write(VerticalLineChar);

                Console.ForegroundColor = rightDateColour;
                Console.Write(GetDateAsJustifiedString(viewModel.RightItem?.LastWriteTimeUtc, Justification.Left));

                Console.ResetColor();
                Console.Write(VerticalLineChar);

                Console.ForegroundColor = rightSizeColour;
                Console.Write(GetSizeAsJustifiedString(viewModel.RightItem?.Length, Justification.Right));

                Console.WriteLine();
                Console.ResetColor();
            }
        }