Signed-off-by: Daniel Wallace <daniel.wallace@gatech.edu> --- src/pacman/query.c | 57 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 13 deletions(-) diff --git a/src/pacman/query.c b/src/pacman/query.c index 9b1ea6f..1155b42 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -35,6 +35,7 @@ #include "package.h" #include "conf.h" #include "util.h" +#include "color.h" #define LOCAL_PREFIX "local/" @@ -270,7 +271,13 @@ static int query_search(alpm_list_t *targets) alpm_pkg_t *pkg = i->data; if(!config->quiet) { - printf(LOCAL_PREFIX "%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + if (config->color) { + color_printf(COLOR_MAGENTA_ALL, LOCAL_PREFIX); + color_printf(COLOR_WHITE_ALL, "%s ", alpm_pkg_get_name(pkg)); + color_printf(COLOR_GREEN_ALL, "%s",alpm_pkg_get_version(pkg)); + } else { + printf(LOCAL_PREFIX "%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + } } else { fputs(alpm_pkg_get_name(pkg), stdout); } @@ -279,16 +286,25 @@ static int query_search(alpm_list_t *targets) if(!config->quiet) { if((grp = alpm_pkg_get_groups(pkg)) != NULL) { alpm_list_t *k; - fputs(" (", stdout); - for(k = grp; k; k = alpm_list_next(k)) { - const char *group = k->data; - fputs(group, stdout); - if(alpm_list_next(k)) { - /* only print a spacer if there are more groups */ - putchar(' '); + if (config->color) { + color_printf(COLOR_BLUE_ALL, " ("); + for(k = grp; k; k = alpm_list_next(k)) { + const char *group = k->data; + color_printf(COLOR_BLUE_ALL, "%s%s", group, + (alpm_list_next(k) ? " " : ")")); + } + } else { + fputs(" (", stdout); + for(k = grp; k; k = alpm_list_next(k)) { + const char *group = k->data; + fputs(group, stdout); + if(alpm_list_next(k)) { + /* only print a spacer if there are more groups */ + putchar(' '); + } } + putchar(')'); } - putchar(')'); } /* we need a newline and initial indent first */ @@ -319,7 +335,12 @@ static int query_group(alpm_list_t *targets) for(p = grp->packages; p; p = alpm_list_next(p)) { alpm_pkg_t *pkg = p->data; - printf("%s %s\n", grp->name, alpm_pkg_get_name(pkg)); + if (config->color) { + color_printf(COLOR_BLUE_ALL, "%s ", grp->name); + color_printf(COLOR_WHITE_ALL, "%s\n", alpm_pkg_get_name(pkg)); + } else { + printf("%s %s\n", grp->name, alpm_pkg_get_name(pkg)); + } } } } else { @@ -331,8 +352,13 @@ static int query_group(alpm_list_t *targets) const alpm_list_t *p; for(p = grp->packages; p; p = alpm_list_next(p)) { if(!config->quiet) { - printf("%s %s\n", grpname, - alpm_pkg_get_name(p->data)); + if (config->color) { + color_printf(COLOR_BLUE_ALL, "%s ", grpname); + color_printf(COLOR_WHITE_ALL, "%s", alpm_pkg_get_name(p->data)); + } else { + printf("%s %s\n", grpname, + alpm_pkg_get_name(p->data)); + } } else { printf("%s\n", alpm_pkg_get_name(p->data)); } @@ -482,7 +508,12 @@ static int display(alpm_pkg_t *pkg) if(!config->op_q_info && !config->op_q_list && !config->op_q_changelog && !config->op_q_check) { if(!config->quiet) { - printf("%s %s\n", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + if (config->color) { + color_printf(COLOR_WHITE_ALL, "%s ", alpm_pkg_get_name(pkg)); + color_printf(COLOR_GREEN_ALL, "%s\n", alpm_pkg_get_version(pkg)); + } else { + printf("%s %s\n", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + } } else { printf("%s\n", alpm_pkg_get_name(pkg)); } -- 1.7.11.4