From ebba4b29fbc2e31b26ca3d095f5a38b83a819151 Mon Sep 17 00:00:00 2001
From: Tulir Asokan <tulir@maunium.net>
Date: Fri, 29 Sep 2017 23:52:37 +0300
Subject: [PATCH] Indicate if commit message has more lines

---
 gitlab-webhook.go | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gitlab-webhook.go b/gitlab-webhook.go
index bf72406..1fea237 100644
--- a/gitlab-webhook.go
+++ b/gitlab-webhook.go
@@ -105,14 +105,22 @@ func handlePushEvent(payload interface{}, header webhooks.Header) {
 		fmt.Fprintln(&msg, "<ul>")
 		for i := len(data.Commits) - 1; i >= 0; i-- {
 			commit := data.Commits[i]
-			fmt.Fprintf(&msg, "<li>%s (%s)</li>\n", strings.Split(commit.Message, "\n")[0], commit.ID[:8])
+			message := commit.Message
+			if strings.Contains(message, "\n") {
+				message = fmt.Sprintf("%s (...)", strings.Split(message, "\n")[0])
+			}
+			fmt.Fprintf(&msg, "<li>%s (%s)</li>\n", message, commit.ID[:8])
 		}
 		fmt.Fprintln(&msg, "</ul>")
 		room.SendHTML(msg.String())
 	} else {
 		for i := len(data.Commits) - 1; i >= 0; i-- {
 			commit := data.Commits[i]
-			room.SendHTML(fmt.Sprintf("<ul><li>%s (%s)</li></ul>", strings.Split(commit.Message, "\n")[0], commit.ID[:8]))
+			message := commit.Message
+			if strings.Contains(message, "\n") {
+				message = fmt.Sprintf("%s (...)", strings.Split(message, "\n")[0])
+			}
+			room.SendHTML(fmt.Sprintf("<ul><li>%s (%s)</li></ul>", message, commit.ID[:8]))
 		}
 	}
 }
-- 
GitLab