git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] branch -v: align even when the first column is in UTF-8
@ 2012-08-24 14:17 Nguyễn Thái Ngọc Duy
  2012-08-24 17:25 ` Junio C Hamano
  2012-08-25 10:48 ` [PATCH] branch -v: align even when the first column is " Erik Faye-Lund
  0 siblings, 2 replies; 7+ messages in thread
From: Nguyễn Thái Ngọc Duy @ 2012-08-24 14:17 UTC (permalink / raw)
  To: git; +Cc: Nguyễn Thái Ngọc Duy

Branch names are usually in ASCII so they are not the problem. The
problem most likely comes from "(no branch)" translation, which is in
UTF-8 and makes length calculation just wrong.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 So far all git translations are utf-8 compatible. Branch names may
 use filesystem encoding, but then packed-refs specifies no encoding.
 Anyway branch names should be in utf-8.. at least internally, imo.

 builtin/branch.c | 8 +++++---
 1 tập tin đã bị thay đổi, 5 được thêm vào(+), 3 bị xóa(-)

diff --git a/builtin/branch.c b/builtin/branch.c
index 0e060f2..7c1ffa8 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -17,6 +17,7 @@
 #include "revision.h"
 #include "string-list.h"
 #include "column.h"
+#include "utf8.h"
 
 static const char * const builtin_branch_usage[] = {
 	"git branch [options] [-r | -a] [--merged | --no-merged]",
@@ -490,11 +491,12 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
 	}
 
 	strbuf_addf(&name, "%s%s", prefix, item->name);
-	if (verbose)
+	if (verbose) {
+		int utf8_compensation = strlen(name.buf) - utf8_strwidth(name.buf);
 		strbuf_addf(&out, "%c %s%-*s%s", c, branch_get_color(color),
-			    maxwidth, name.buf,
+			    maxwidth + utf8_compensation, name.buf,
 			    branch_get_color(BRANCH_COLOR_RESET));
-	else
+	} else
 		strbuf_addf(&out, "%c %s%s%s", c, branch_get_color(color),
 			    name.buf, branch_get_color(BRANCH_COLOR_RESET));
 
-- 
1.7.12.rc2.18.g61b472e

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-08-26 18:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-24 14:17 [PATCH] branch -v: align even when the first column is in UTF-8 Nguyễn Thái Ngọc Duy
2012-08-24 17:25 ` Junio C Hamano
2012-08-25 18:17   ` [PATCH v2] branch -v: align even when branch names are " Nguyễn Thái Ngọc Duy
2012-08-26 18:04     ` Junio C Hamano
2012-08-25 10:48 ` [PATCH] branch -v: align even when the first column is " Erik Faye-Lund
2012-08-25 11:19   ` Nguyen Thai Ngoc Duy
2012-08-26 18:28   ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).