[gitg] Higlight trailing whitespace
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Higlight trailing whitespace
- Date: Wed, 25 Jun 2014 17:21:21 +0000 (UTC)
commit 3daef3124cd8f0e98b96e01c6c879e6dd79fefa9
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Wed Jun 25 19:20:40 2014 +0200
Higlight trailing whitespace
https://bugzilla.gnome.org/show_bug.cgi?id=732233
libgitg/gitg-diff-view-request-diff.vala | 8 +++++++-
libgitg/resources/diff-view-html-builder.js | 16 +++++++++++++++-
libgitg/resources/diff-view.css | 4 ++++
3 files changed, 26 insertions(+), 2 deletions(-)
---
diff --git a/libgitg/gitg-diff-view-request-diff.vala b/libgitg/gitg-diff-view-request-diff.vala
index 1c6ab7f..e2eadeb 100644
--- a/libgitg/gitg-diff-view-request-diff.vala
+++ b/libgitg/gitg-diff-view-request-diff.vala
@@ -172,9 +172,15 @@ namespace Gitg
builder.begin_object();
{
var content = line.get_content();
+ var text = line.get_text();
+
+ // Split off trailing whitespace
+ var chomped = text.chomp();
+ var ws = text.slice(chomped.length, text.length);
builder.set_member_name("type").add_int_value((int64)line.get_origin());
- builder.set_member_name("content").add_string_value(line.get_text());
+ builder.set_member_name("content").add_string_value(chomped);
+ builder.set_member_name("trailing_whitespace").add_string_value(ws);
builder.set_member_name("offset").add_int_value((int64)line.get_content_offset());
builder.set_member_name("length").add_int_value((int64)content.length);
}
diff --git a/libgitg/resources/diff-view-html-builder.js b/libgitg/resources/diff-view-html-builder.js
index 0fdc620..3e901bb 100644
--- a/libgitg/resources/diff-view-html-builder.js
+++ b/libgitg/resources/diff-view-html-builder.js
@@ -144,7 +144,21 @@ function diff_file(file, lnstate, data)
}
row += '<td class="gutter type">' + o + '</td>';
- row += '<td class="code">' + html_escape(l.content).replace(/\t/g, tabrepl) + '</td>';
+
+ var content = html_escape(l.content);
+ content = content.replace(/\t/g, tabrepl);
+
+ var ws = '';
+
+ if (l.trailing_whitespace.length > 0)
+ {
+ ws = html_escape(l.trailing_whitespace);
+ ws = ws.replace(/\t/g, tabrepl);
+
+ ws = '<span class="trailing-whitespace">' + ws + '</span>';
+ }
+
+ row += '<td class="code">' + content + ws + '</td>';
row += '</tr>';
diff --git a/libgitg/resources/diff-view.css b/libgitg/resources/diff-view.css
index 77e73f3..16886d0 100644
--- a/libgitg/resources/diff-view.css
+++ b/libgitg/resources/diff-view.css
@@ -76,6 +76,10 @@ span.tab {
display: inline-block;
}
+span.trailing-whitespace {
+ background-color: #cc3333;
+}
+
div#diff div.file table.wrapped td.code {
white-space: pre-wrap;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]