[gitg] Reflow commit messages in diff view
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Reflow commit messages in diff view
- Date: Sat, 12 Jul 2014 08:55:13 +0000 (UTC)
commit d4d987fde36f7a11a7cfebc6df948f81139df27b
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Sat Jul 12 10:52:59 2014 +0200
Reflow commit messages in diff view
This aims to reformat commit messages in the diff view to look better
when presented in a GUI such as gitg. Hard-wrapping is undone so that
lines are soft-wrapped naturally in the available space, while trying
to preserve intentional formatting such as lists, indentation and
paragraphs.
libgitg/resources/diff-view.js | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
---
diff --git a/libgitg/resources/diff-view.js b/libgitg/resources/diff-view.js
index ac90a0f..f2ea5e4 100644
--- a/libgitg/resources/diff-view.js
+++ b/libgitg/resources/diff-view.js
@@ -105,6 +105,37 @@ function write_avatar(avatar, commit)
loader.attr('src', gravatar);
}
+function prettify_message(message)
+{
+ var lines = message.split(/\n/);
+ var ret = '';
+ var isempty = false;
+
+ for (var i = 0; i < lines.length; i++)
+ {
+ var l = lines[i];
+ l = l.trimRight();
+
+ if (isempty && l.length != 0)
+ {
+ ret += '\n\n';
+ }
+ else if (l.match(/^[^a-zA-Z_]/))
+ {
+ ret += '\n';
+ }
+ else if (l.length != 0 && ret.length != 0)
+ {
+ ret += ' ';
+ }
+
+ ret += l;
+ isempty = (l.length == 0);
+ }
+
+ return ret;
+}
+
function write_commit(content, commit)
{
var elems = get_commit_elements(content);
@@ -118,7 +149,7 @@ function write_commit(content, commit)
elems.date.text(commit.author.time);
// Message
- elems.message.text(commit.message);
+ elems.message.text(prettify_message(commit.message));
// Sha1
elems.sha1.text(commit.id);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]