[pacman-dev] [PATCH 11/14] colorize the output if -Qi/Si
Allan McRae
allan at archlinux.org
Wed Mar 6 11:03:15 EST 2013
On 07/03/13 01:54, Allan McRae wrote:
> 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;
There is a lot of churn going on here over the patches. Just add these
all at the start in the "introduce colstr for colourizing" patch. All
the colours are defined then anyway.
> }
> }
>
> @@ -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 = "";
As above.
>
> 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)
>
-Qs/-Ss stuff here... accidental merge?
(Incidentally, -Qs/-Ss is too coloured for me... That might force me to
allow colours to be configured in the future)
> 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 :"),
(as an aside... we should do something with the alignment here to stop
relying on translators to do it for us).
> + 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);
Huh... looks like a bad rebase or something...
> fflush(stream);
>
> if(config->noconfirm) {
>
More information about the pacman-dev
mailing list