diff options
author | Dave Reisner <dreisner@archlinux.org> | 2012-10-15 15:38:46 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2012-11-27 15:16:15 +1000 |
commit | d9e8197e60a6ffea1fd470aa746f6cc4849dac72 (patch) | |
tree | 2345fe348e6cc0aa57876b33a17f9995c17eacc8 | |
parent | 8054a254cb70229da30d758f57ff6203d2215eed (diff) | |
download | pacman-d9e8197e60a6ffea1fd470aa746f6cc4849dac72.tar.xz |
pactree: unify output between utf8 and ascii
Ensure that both output formats have equal spacing, and therefore an
equivalent layout. This change also removes the styling from the
toplevel package being searched for.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | src/util/pactree.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/util/pactree.c b/src/util/pactree.c index 1ed40250..7b8fd93d 100644 --- a/src/util/pactree.c +++ b/src/util/pactree.c @@ -56,15 +56,15 @@ static struct graph_style graph_utf8 = { UTF_VR UTF_H, UTF_UR UTF_H, UTF_V " ", - 3 + 2 }; static struct graph_style graph_default = { " provides", - "|--", - "`--", + "|-", + "`-", "|", - 3 + 2 }; static struct graph_style graph_linear = { @@ -335,25 +335,29 @@ static void cleanup(void) static void print_text(const char *pkg, const char *provision, tdepth *depth, int last) { - const char* tip = last ? style->last : style->tip; + const char* tip = ""; int level = 0; if(!pkg && !provision) { /* not much we can do */ return; } - /* print limbs */ - while(depth->prev) { - depth = depth->prev; - } - printf("%s", color->branch1); - while(depth->next){ - printf("%*s%-*s", style->indent * (depth->level - level), "", - style->indent, style->limb); - level = depth->level + 1; - depth = depth->next; + if(depth->level > 0) { + tip = last ? style->last : style->tip; + + /* print limbs */ + while(depth->prev) { + depth = depth->prev; + } + printf("%s", color->branch1); + while(depth->next){ + printf("%*s%-*s", style->indent * (depth->level - level), "", + style->indent, style->limb); + level = depth->level + 1; + depth = depth->next; + } + printf("%*s", style->indent * (depth->level - level), ""); } - printf("%*s", style->indent * (depth->level - level), ""); /* print tip */ if(!pkg && provision) { |