Example #1
0
        public static DiffLineViewModel Create(string lineNumber, string s)
        {
            var viewModel = new DiffLineViewModel();

            viewModel.LineNumber = lineNumber;

            if (s.StartsWith("+"))
            {
                viewModel.Style          = DiffContext.Added;
                viewModel.PrefixForStyle = "+";
                viewModel.Text           = s.Substring(1);
            }
            else if (s.StartsWith("-"))
            {
                viewModel.Style          = DiffContext.Deleted;
                viewModel.PrefixForStyle = "-";
                viewModel.Text           = s.Substring(1);
            }
            else
            {
                viewModel.Style          = DiffContext.Context;
                viewModel.PrefixForStyle = "";
                viewModel.Text           = s.Length > 1 ? s.Substring(1) : s; // lol hax
            }

            return(viewModel);
        }
Example #2
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            List <string>            allLines = File.ReadAllLines(@"C:\Users\Ratnasai\Downloads\Output_huge.txt").ToList();
            List <DiffLineViewModel> dLines   = new List <DiffLineViewModel>();

            for (int i = 0; i < allLines.Count; i++)
            {
                DiffLineViewModel dLine = new DiffLineViewModel();
                dLine.LineNumber     = Convert.ToString(i + 1);
                dLine.PrefixForStyle = "+";
                if (i % 2 == 0)
                {
                    dLine.Style = DiffContext.Added;
                }
                else
                {
                    dLine.Style = DiffContext.Deleted;
                }
                dLine.Text = allLines[i];
                dLines.Add(dLine);
            }
            left.TextArea.TextView.BackgroundRenderers.Add(new DiffLineBackgroundRenderer {
                Lines = dLines
            });
            left.Text     = string.Join("\r\n", allLines);
            left.WordWrap = true;
            left.TextArea.TextView.ScrollOffsetChanged += TextView_ScrollOffsetChanged;
            right.TextArea.TextView.BackgroundRenderers.Add(new DiffLineBackgroundRenderer {
                Lines = dLines
            });
            right.Text     = string.Join("\r\n", allLines);
            right.WordWrap = true;
            right.TextArea.TextView.ScrollOffsetChanged += TextView_ScrollOffsetChanged;
        }