Exemplo n.º 1
0
char *
nmc_colorize (NmcTermColor color, const char *fmt, ...)
{
	va_list args;
	char *str, *colored;
	const char *ansi_color, *color_end;

	va_start (args, fmt);
	str = g_strdup_vprintf (fmt, args);
	va_end (args);

	ansi_color = nmc_term_color_sequence (color);
	if (*ansi_color)
		color_end = "\33[0m";
	else
		color_end = "";

	colored = g_strdup_printf ("%s%s%s", ansi_color, str, color_end);
	g_free (str);
	return colored;
}
Exemplo n.º 2
0
char *
nmc_colorize (NmCli *nmc, NmcTermColor color, NmcTermFormat format, const char *fmt, ...)
{
	va_list args;
	char *str, *colored;
	const char *ansi_color, *color_end, *ansi_fmt, *format_end;
	static const char *end_seq = "\33[0m";

	va_start (args, fmt);
	str = g_strdup_vprintf (fmt, args);
	va_end (args);

	if (!use_colors (nmc))
		return str;

	ansi_color = nmc_term_color_sequence (color);
	ansi_fmt = nmc_term_format_sequence (format);
	color_end = *ansi_color ? end_seq : "";
	format_end = *ansi_fmt ? end_seq : "";

	colored = g_strdup_printf ("%s%s%s%s%s", ansi_fmt, ansi_color, str, color_end, format_end);
	g_free (str);
	return colored;
}