systemctl: highlight filenames in cat

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-12-16 22:34:07 -05:00
parent c0ea486f6e
commit c0fdf09885
2 changed files with 9 additions and 1 deletions

View file

@ -64,6 +64,7 @@ union dirent_storage {
#define ANSI_GREEN_ON "\x1B[32m"
#define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m"
#define ANSI_HIGHLIGHT_YELLOW_ON "\x1B[1;33m"
#define ANSI_HIGHLIGHT_BLUE_ON "\x1B[1;34m"
#define ANSI_HIGHLIGHT_OFF "\x1B[0m"
#define ANSI_ERASE_TO_END_OF_LINE "\x1B[K"
@ -399,6 +400,10 @@ static inline const char *ansi_highlight_yellow(void) {
return on_tty() ? ANSI_HIGHLIGHT_YELLOW_ON : "";
}
static inline const char *ansi_highlight_blue(void) {
return on_tty() ? ANSI_HIGHLIGHT_BLUE_ON : "";
}
static inline const char *ansi_highlight_off(void) {
return on_tty() ? ANSI_HIGHLIGHT_OFF : "";
}

View file

@ -3797,7 +3797,10 @@ static int cat(sd_bus *bus, char **args) {
}
if (!isempty(fragment_path)) {
fprintf(stdout, "# %s\n", fragment_path);
fprintf(stdout, "%s# %s%s\n",
ansi_highlight_blue(),
fragment_path,
ansi_highlight_off());
fflush(stdout);
r = sendfile_full(STDOUT_FILENO, fragment_path);