mirror of
https://github.com/systemd/systemd.git
synced 2024-11-06 08:26:52 +03:00
util: rework ANSI escape code macros
This commit is contained in:
parent
9ddc4a26e5
commit
c1072ea0da
@ -89,10 +89,10 @@ int ask_password_tty(
|
||||
goto finish;
|
||||
}
|
||||
|
||||
loop_write(ttyfd, "\x1B[1m", 4, false);
|
||||
loop_write(ttyfd, ANSI_HIGHLIGHT_ON, sizeof(ANSI_HIGHLIGHT_ON)-1, false);
|
||||
loop_write(ttyfd, message, strlen(message), false);
|
||||
loop_write(ttyfd, " ", 1, false);
|
||||
loop_write(ttyfd, "\x1B[0m", 4, false);
|
||||
loop_write(ttyfd, ANSI_HIGHLIGHT_OFF, sizeof(ANSI_HIGHLIGHT_OFF)-1, false);
|
||||
|
||||
new_termios = old_termios;
|
||||
new_termios.c_lflag &= ~(ICANON|ECHO);
|
||||
|
@ -488,16 +488,16 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
|
||||
break;
|
||||
|
||||
case JOB_FAILED:
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_ON "FAILED" ANSI_HIGHLIGHT_OFF, "Failed to start %s", unit_description(u));
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, "Failed to start %s", unit_description(u));
|
||||
unit_status_printf(u, NULL, "See 'systemctl status %s' for details.", u->meta.id);
|
||||
break;
|
||||
|
||||
case JOB_DEPENDENCY:
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_ON " ABORT" ANSI_HIGHLIGHT_OFF, "Dependency failed. Aborted start of %s", unit_description(u));
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " ABORT" ANSI_HIGHLIGHT_OFF, "Dependency failed. Aborted start of %s", unit_description(u));
|
||||
break;
|
||||
|
||||
case JOB_TIMEOUT:
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out starting %s", unit_description(u));
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out starting %s", unit_description(u));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -509,7 +509,7 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
|
||||
switch (result) {
|
||||
|
||||
case JOB_TIMEOUT:
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out stopping %s", unit_description(u));
|
||||
unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON " TIME " ANSI_HIGHLIGHT_OFF, "Timed out stopping %s", unit_description(u));
|
||||
break;
|
||||
|
||||
case JOB_DONE:
|
||||
|
@ -344,7 +344,7 @@ static int write_to_console(
|
||||
}
|
||||
|
||||
if (highlight)
|
||||
IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_ON);
|
||||
IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_RED_ON);
|
||||
IOVEC_SET_STRING(iovec[n++], buffer);
|
||||
if (highlight)
|
||||
IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_OFF);
|
||||
|
@ -166,12 +166,12 @@ static void agent_open_if_enabled(void) {
|
||||
agent_open();
|
||||
}
|
||||
|
||||
static const char *ansi_highlight(bool b) {
|
||||
static const char *ansi_highlight_red(bool b) {
|
||||
|
||||
if (!on_tty())
|
||||
return "";
|
||||
|
||||
return b ? ANSI_HIGHLIGHT_ON : ANSI_HIGHLIGHT_OFF;
|
||||
return b ? ANSI_HIGHLIGHT_RED_ON : ANSI_HIGHLIGHT_OFF;
|
||||
}
|
||||
|
||||
static const char *ansi_highlight_green(bool b) {
|
||||
@ -383,14 +383,14 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) {
|
||||
n_shown++;
|
||||
|
||||
if (streq(u->load_state, "error")) {
|
||||
on_loaded = ansi_highlight(true);
|
||||
off_loaded = ansi_highlight(false);
|
||||
on_loaded = ansi_highlight_red(true);
|
||||
off_loaded = ansi_highlight_red(false);
|
||||
} else
|
||||
on_loaded = off_loaded = "";
|
||||
|
||||
if (streq(u->active_state, "failed")) {
|
||||
on_active = ansi_highlight(true);
|
||||
off_active = ansi_highlight(false);
|
||||
on_active = ansi_highlight_red(true);
|
||||
off_active = ansi_highlight_red(false);
|
||||
} else
|
||||
on_active = off_active = "";
|
||||
|
||||
@ -593,8 +593,8 @@ static void output_unit_file_list(const UnitFileList *units, unsigned c) {
|
||||
if (u->state == UNIT_FILE_MASKED ||
|
||||
u->state == UNIT_FILE_MASKED_RUNTIME ||
|
||||
u->state == UNIT_FILE_DISABLED) {
|
||||
on = ansi_highlight(true);
|
||||
off = ansi_highlight(false);
|
||||
on = ansi_highlight_red(true);
|
||||
off = ansi_highlight_red(false);
|
||||
} else if (u->state == UNIT_FILE_ENABLED) {
|
||||
on = ansi_highlight_green(true);
|
||||
off = ansi_highlight_green(false);
|
||||
@ -2069,8 +2069,8 @@ static void print_status_info(UnitStatusInfo *i) {
|
||||
printf("\t Follow: unit currently follows state of %s\n", i->following);
|
||||
|
||||
if (streq_ptr(i->load_state, "error")) {
|
||||
on = ansi_highlight(true);
|
||||
off = ansi_highlight(false);
|
||||
on = ansi_highlight_red(true);
|
||||
off = ansi_highlight_red(false);
|
||||
} else
|
||||
on = off = "";
|
||||
|
||||
@ -2086,8 +2086,8 @@ static void print_status_info(UnitStatusInfo *i) {
|
||||
ss = streq_ptr(i->active_state, i->sub_state) ? NULL : i->sub_state;
|
||||
|
||||
if (streq_ptr(i->active_state, "failed")) {
|
||||
on = ansi_highlight(true);
|
||||
off = ansi_highlight(false);
|
||||
on = ansi_highlight_red(true);
|
||||
off = ansi_highlight_red(false);
|
||||
} else if (streq_ptr(i->active_state, "active") || streq_ptr(i->active_state, "reloading")) {
|
||||
on = ansi_highlight_green(true);
|
||||
off = ansi_highlight_green(false);
|
||||
@ -2163,8 +2163,8 @@ static void print_status_info(UnitStatusInfo *i) {
|
||||
good = is_clean_exit(p->code, p->status);
|
||||
|
||||
if (!good) {
|
||||
on = ansi_highlight(true);
|
||||
off = ansi_highlight(false);
|
||||
on = ansi_highlight_red(true);
|
||||
off = ansi_highlight_red(false);
|
||||
} else
|
||||
on = off = "";
|
||||
|
||||
@ -2274,8 +2274,8 @@ static void print_status_info(UnitStatusInfo *i) {
|
||||
|
||||
if (i->need_daemon_reload)
|
||||
printf("\n%sWarning:%s Unit file changed on disk, 'systemctl %s daemon-reload' recommended.\n",
|
||||
ansi_highlight(true),
|
||||
ansi_highlight(false),
|
||||
ansi_highlight_red(true),
|
||||
ansi_highlight_red(false),
|
||||
arg_scope == UNIT_FILE_SYSTEM ? "--system" : "--user");
|
||||
}
|
||||
|
||||
|
@ -2467,14 +2467,14 @@ int ask(char *ret, const char *replies, const char *text, ...) {
|
||||
bool need_nl = true;
|
||||
|
||||
if (on_tty)
|
||||
fputs("\x1B[1m", stdout);
|
||||
fputs(ANSI_HIGHLIGHT_ON, stdout);
|
||||
|
||||
va_start(ap, text);
|
||||
vprintf(text, ap);
|
||||
va_end(ap);
|
||||
|
||||
if (on_tty)
|
||||
fputs("\x1B[0m", stdout);
|
||||
fputs(ANSI_HIGHLIGHT_OFF, stdout);
|
||||
|
||||
fflush(stdout);
|
||||
|
||||
|
@ -68,7 +68,8 @@ typedef struct dual_timestamp {
|
||||
#define FORMAT_TIMESTAMP_PRETTY_MAX 256
|
||||
#define FORMAT_TIMESPAN_MAX 64
|
||||
|
||||
#define ANSI_HIGHLIGHT_ON "\x1B[1;31m"
|
||||
#define ANSI_HIGHLIGHT_ON "\x1B[1;39m"
|
||||
#define ANSI_HIGHLIGHT_RED_ON "\x1B[1;32m"
|
||||
#define ANSI_HIGHLIGHT_GREEN_ON "\x1B[1;32m"
|
||||
#define ANSI_HIGHLIGHT_OFF "\x1B[0m"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user