mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 10:58:10 +01:00
ANSI escapes in "new" only when output is a tty
When running "notmuch new --verbose", ANSI escapes are used. This may not be desirable when the output of the command is *not* being sent to a terminal (e.g. when piping output into another command). In that case each file processed is printed in a new line and ANSI escapes are not used at all.
This commit is contained in:
parent
ceee152fca
commit
d024ab4a04
2 changed files with 9 additions and 4 deletions
|
@ -74,6 +74,7 @@ typedef void (*add_files_callback_t) (notmuch_message_t *message);
|
|||
typedef struct {
|
||||
int ignore_read_only_directories;
|
||||
int saw_read_only_directory;
|
||||
int output_is_a_tty;
|
||||
int verbose;
|
||||
|
||||
int total_files;
|
||||
|
|
|
@ -180,10 +180,15 @@ add_files_recursive (notmuch_database_t *notmuch,
|
|||
state->processed_files++;
|
||||
|
||||
if (state->verbose) {
|
||||
printf ("\r\033[K%i/%i: %s\r",
|
||||
if (state->output_is_a_tty)
|
||||
printf("\r\033[K");
|
||||
|
||||
printf ("%i/%i: %s",
|
||||
state->processed_files,
|
||||
state->total_files,
|
||||
next);
|
||||
|
||||
putchar((state->output_is_a_tty) ? '\r' : '\n');
|
||||
fflush (stdout);
|
||||
}
|
||||
|
||||
|
@ -282,9 +287,7 @@ add_files (notmuch_database_t *notmuch,
|
|||
return NOTMUCH_STATUS_FILE_ERROR;
|
||||
}
|
||||
|
||||
if (isatty (fileno (stdout)) && ! debugger_is_active ()
|
||||
&& ! state->verbose)
|
||||
{
|
||||
if (state->output_is_a_tty && ! debugger_is_active () && ! state->verbose) {
|
||||
/* Setup our handler for SIGALRM */
|
||||
memset (&action, 0, sizeof (struct sigaction));
|
||||
action.sa_handler = handle_sigalrm;
|
||||
|
@ -405,6 +408,7 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
|
|||
int i;
|
||||
|
||||
add_files_state.verbose = 0;
|
||||
add_files_state.output_is_a_tty = isatty (fileno (stdout));
|
||||
|
||||
for (i = 0; i < argc && argv[i][0] == '-'; i++) {
|
||||
if (STRNCMP_LITERAL (argv[i], "--verbose") == 0) {
|
||||
|
|
Loading…
Reference in a new issue