aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/easylogging++/easylogging++.cc14
-rw-r--r--external/easylogging++/easylogging++.h4
2 files changed, 14 insertions, 4 deletions
diff --git a/external/easylogging++/easylogging++.cc b/external/easylogging++/easylogging++.cc
index 90a2299bb..d60b8e268 100644
--- a/external/easylogging++/easylogging++.cc
+++ b/external/easylogging++/easylogging++.cc
@@ -1244,11 +1244,19 @@ std::string OS::currentHost(void) {
#endif // ELPP_OS_UNIX && !ELPP_OS_ANDROID
}
+static bool endswith(const std::string &s, const std::string &ending)
+{
+ return s.size() >= ending.size() && s.substr(s.size() - ending.size()) == ending;
+}
+
+bool OS::termSupportsColor(std::string& term) {
+ return term == "xterm" || term == "screen" || term == "linux" || term == "cygwin"
+ || endswith(term, "-color") || endswith(term, "-256color");
+}
+
bool OS::termSupportsColor(void) {
std::string term = getEnvironmentVariable("TERM", "");
- return term == "xterm" || term == "xterm-color" || term == "xterm-256color"
- || term == "screen" || term == "linux" || term == "cygwin"
- || term == "screen-256color" || term == "screen.xterm-256color";
+ return termSupportsColor(term);
}
// DateTime
diff --git a/external/easylogging++/easylogging++.h b/external/easylogging++/easylogging++.h
index 3407b8a18..be7fb713a 100644
--- a/external/easylogging++/easylogging++.h
+++ b/external/easylogging++/easylogging++.h
@@ -1210,7 +1210,9 @@ class OS : base::StaticClass {
///
/// @detail For android systems this is device name with its manufacturer and model seperated by hyphen
static std::string currentHost(void);
- /// @brief Whether or not terminal supports colors
+ /// @brief Whether or not the named terminal supports colors
+ static bool termSupportsColor(std::string& term);
+ /// @brief Whether or not the process's current terminal supports colors
static bool termSupportsColor(void);
};
/// @brief Contains utilities for cross-platform date/time. This class make use of el::base::utils::Str