[pacman-dev] [PATCH 11/14] colorize the output if -Qi/Si
Allan McRae
allan at archlinux.org
Wed Mar 6 10:54:16 EST 2013
From: Simon Gomizelj <simongmzlj at gmail.com>
Signed-off-by: Simon Gomizelj <simongmzlj at gmail.com>
---
For review...
src/pacman/conf.c | 28 ++++++++++++++++++----------
src/pacman/conf.h | 4 ++++
src/pacman/package.c | 27 +++++++++++++++++----------
src/pacman/util.c | 8 ++++----
4 files changed, 43 insertions(+), 24 deletions(-)
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index f488234..7ab8ec6 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -62,11 +62,15 @@ config_t *config = NULL;
void enable_colors(int colors)
{
if(colors == PM_COLOR_ON) {
- config->colstr.colon = BOLDBLUE "::" BOLDWHITE " ";
- config->colstr.title = BOLDWHITE;
- config->colstr.warn = BOLDYELLOW;
- config->colstr.err = BOLDRED;
- config->colstr.nc = NC;
+ config->colstr.colon = BOLDBLUE "::" BOLDWHITE " ";
+ config->colstr.title = BOLDWHITE;
+ config->colstr.repo = BOLDMAGENTA;
+ config->colstr.version = BOLDGREEN;
+ config->colstr.groups = BOLDBLUE;
+ config->colstr.meta = BOLDCYAN;
+ config->colstr.warn = BOLDYELLOW;
+ config->colstr.err = BOLDRED;
+ config->colstr.nc = NC;
}
}
@@ -91,11 +95,15 @@ config_t *config_new(void)
newconfig->remotefilesiglevel = ALPM_SIG_USE_DEFAULT;
}
- newconfig->colstr.colon = ":: ";
- newconfig->colstr.title = "";
- newconfig->colstr.warn = "",
- newconfig->colstr.err = "",
- newconfig->colstr.nc = "";
+ newconfig->colstr.colon = ":: ";
+ newconfig->colstr.title = "";
+ newconfig->colstr.repo = "";
+ newconfig->colstr.version = "";
+ newconfig->colstr.groups = "";
+ newconfig->colstr.meta = "";
+ newconfig->colstr.warn = "";
+ newconfig->colstr.err = "";
+ newconfig->colstr.nc = "";
return newconfig;
}
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 18bfb02..d2702ed 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -25,6 +25,10 @@
typedef struct __colstr_t {
const char *colon;
const char *title;
+ const char *repo;
+ const char *version;
+ const char *groups;
+ const char *meta;
const char *warn;
const char *err;
const char *nc;
diff --git a/src/pacman/package.c b/src/pacman/package.c
index 7deb3db..2abf39e 100644
--- a/src/pacman/package.c
+++ b/src/pacman/package.c
@@ -167,13 +167,16 @@ void dump_pkg_full(alpm_pkg_t *pkg, int extra)
size = humanize_size(alpm_pkg_get_size(pkg), 'K', 2, &label);
if(from == ALPM_PKG_FROM_SYNCDB) {
- printf(_("Download Size : %6.2f %s\n"), size, label);
+ printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Download Size :"),
+ config->colstr.nc, size, label);
} else if(from == ALPM_PKG_FROM_FILE) {
- printf(_("Compressed Size: %6.2f %s\n"), size, label);
+ printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Compressed Size:"),
+ config->colstr.nc, size, label);
}
size = humanize_size(alpm_pkg_get_isize(pkg), 'K', 2, &label);
- printf(_("Installed Size : %6.2f %s\n"), size, label);
+ printf("%s%s%s %6.2f %s\n", config->colstr.title, _("Installed Size :"),
+ config->colstr.nc, size, label);
string_display(_("Packager :"), alpm_pkg_get_packager(pkg), cols);
string_display(_("Build Date :"), bdatestr, cols);
@@ -267,7 +270,8 @@ void dump_pkg_backups(alpm_pkg_t *pkg)
{
alpm_list_t *i;
const char *root = alpm_option_get_root(config->handle);
- printf(_("Backup Files:\n"));
+ printf("%s%s%s", config->colstr.title, _("Backup Files:\n"),
+ config->colstr.nc);
if(alpm_pkg_get_backup(pkg)) {
/* package has backup files, so print them */
for(i = alpm_pkg_get_backup(pkg); i; i = alpm_list_next(i)) {
@@ -348,10 +352,11 @@ void print_installed(alpm_db_t *db_local, alpm_pkg_t *pkg)
alpm_pkg_t *lpkg = alpm_db_get_pkg(db_local, pkgname);
if(lpkg) {
const char *lpkgver = alpm_pkg_get_version(lpkg);
+ const colstr_t *colstr = &config->colstr;
if(strcmp(lpkgver, pkgver) == 0) {
- printf(" [%s]", _("installed"));
+ printf(" %s[%s]%s", colstr->meta, _("installed"), colstr->nc);
} else {
- printf(" [%s: %s]", _("installed"), lpkgver);
+ printf(" %s[%s: %s]%s", colstr->meta, _("installed"), lpkgver, colstr->nc);
}
}
}
@@ -362,6 +367,7 @@ int dump_pkg_search(alpm_db_t *db, alpm_list_t *targets, alpm_db_t *installed_in
int freelist = 0;
alpm_list_t *i, *searchlist;
unsigned short cols;
+ const colstr_t *colstr = &config->colstr;
/* if we have a targets list, search for packages matching it */
if(targets) {
@@ -383,12 +389,13 @@ int dump_pkg_search(alpm_db_t *db, alpm_list_t *targets, alpm_db_t *installed_in
if(config->quiet) {
fputs(alpm_pkg_get_name(pkg), stdout);
} else {
- printf("%s/%s %s", alpm_db_get_name(db),
- alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
+ printf("%s%s/%s%s %s%s%s", colstr->repo, alpm_db_get_name(db),
+ colstr->title, alpm_pkg_get_name(pkg),
+ colstr->version, alpm_pkg_get_version(pkg), colstr->nc);
if((grp = alpm_pkg_get_groups(pkg)) != NULL) {
alpm_list_t *k;
- fputs(" (", stdout);
+ printf(" %s(", colstr->groups);
for(k = grp; k; k = alpm_list_next(k)) {
const char *group = k->data;
fputs(group, stdout);
@@ -397,7 +404,7 @@ int dump_pkg_search(alpm_db_t *db, alpm_list_t *targets, alpm_db_t *installed_in
putchar(' ');
}
}
- putchar(')');
+ printf(")%s", colstr->nc);
}
if(installed_in) {
diff --git a/src/pacman/util.c b/src/pacman/util.c
index 0b1b7b7..b0f4918 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -427,7 +427,7 @@ static size_t string_length(const char *s)
void string_display(const char *title, const char *string, unsigned short cols)
{
if(title) {
- printf("%s ", title);
+ printf("%s%s%s ", config->colstr.title, title, config->colstr.nc);
}
if(string == NULL || string[0] == '\0') {
printf(_("None"));
@@ -620,7 +620,7 @@ void list_display(const char *title, const alpm_list_t *list,
if(title) {
len = string_length(title) + 1;
- printf("%s ", title);
+ printf("%s%s%s ", config->colstr.title, title, config->colstr.nc);
}
if(!list) {
@@ -660,7 +660,7 @@ void list_display_linebreak(const char *title, const alpm_list_t *list,
if(title) {
len = (unsigned short)string_length(title) + 1;
- printf("%s ", title);
+ printf("%s%s%s ", config->colstr.title, title, config->colstr.nc);
}
if(!list) {
@@ -1502,7 +1502,7 @@ static int question(short preset, const char *format, va_list args)
fprintf(stream, " %s ", _("[y/N]"));
}
- fputs(colstr.nc, stream);
+ fputs(config->colstr.nc, stream);
fflush(stream);
if(config->noconfirm) {
--
1.8.1.5
More information about the pacman-dev
mailing list