[gitg] Remove carriage returns in diff view



commit 3ca15914e5f1a53784187c379478e924c1676097
Author: Jesse van den Kieboom <jessevdk gnome org>
Date:   Sun Feb 14 16:15:57 2016 +0100

    Remove carriage returns in diff view

 libgitg/gitg-diff-view-file-renderer-text.vala |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/libgitg/gitg-diff-view-file-renderer-text.vala b/libgitg/gitg-diff-view-file-renderer-text.vala
index b991c14..b6fc537 100644
--- a/libgitg/gitg-diff-view-file-renderer-text.vala
+++ b/libgitg/gitg-diff-view-file-renderer-text.vala
@@ -339,6 +339,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
                try
                {
                        yield loader.load_async(GLib.Priority.LOW, cancellable, null);
+                       this.strip_carriage_returns(buffer);
                }
                catch (Error e)
                {
@@ -353,6 +354,21 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
                return buffer;
        }
 
+       private void strip_carriage_returns(Gtk.SourceBuffer buffer)
+       {
+               var search_settings = new Gtk.SourceSearchSettings();
+
+               search_settings.regex_enabled = true;
+               search_settings.search_text = "\\r";
+
+               var search_context = new Gtk.SourceSearchContext(buffer, search_settings);
+
+               try
+               {
+                       search_context.replace_all("", 0);
+               } catch (Error e) {}
+       }
+
        private void update_highlighting_ready()
        {
                if (!d_old_highlight_ready && !d_new_highlight_ready)
@@ -542,7 +558,7 @@ class Gitg.DiffViewFileRendererText : Gtk.SourceView, DiffSelectable, DiffViewFi
                for (var i = 0; i < lines.size; i++)
                {
                        var line = lines[i];
-                       var text = line.get_text();
+                       var text = line.get_text().replace("\r", "");
                        var added = false;
                        var removed = false;
                        var origin = line.get_origin();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]