]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
ansi-color: add support for italics markup
authorLennart Poettering <lennart@amutable.com>
Thu, 23 Apr 2026 22:08:30 +0000 (00:08 +0200)
committerLennart Poettering <lennart@amutable.com>
Fri, 24 Apr 2026 09:04:37 +0000 (11:04 +0200)
src/basic/ansi-color.h

index 1ddb9c6681c874f5388a5d981bd54922c8d0f1bc..20f6b3bf62dcf03300d06b906c5e5d1434526895 100644 (file)
@@ -91,6 +91,8 @@ bool looks_like_ansi_color_code(const char *str);
 #define ANSI_UNDERLINE "\x1B[0;4m"
 #define ANSI_ADD_UNDERLINE "\x1B[4m"
 #define ANSI_ADD_UNDERLINE_GREY ANSI_ADD_UNDERLINE "\x1B[58:5:245m"
+#define ANSI_ITALICS "\x1B[0;3m"
+#define ANSI_ADD_ITALICS "\x1B[3m"
 #define ANSI_HIGHLIGHT "\x1B[0;1;39m"
 #define ANSI_HIGHLIGHT_UNDERLINE "\x1B[0;1;4m"
 
@@ -180,6 +182,15 @@ static inline const char* ansi_add_underline_grey(void) {
                 (colors_enabled() ? ANSI_ADD_UNDERLINE_GREY : ANSI_ADD_UNDERLINE) : "";
 }
 
+static inline const char* ansi_italics(void) {
+        /* We hook italics also into the underline checks, close enough */
+        return underline_enabled() ? ANSI_ITALICS : "";
+}
+
+static inline const char* ansi_add_italics(void) {
+        return underline_enabled() ? ANSI_ADD_ITALICS : "";
+}
+
 #define DEFINE_ANSI_FUNC_UNDERLINE(name, NAME)                          \
         static inline const char* ansi_##name##_underline(void) {       \
                 return underline_enabled() ? ANSI_##NAME##_UNDERLINE :  \