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); }
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; }