mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +00:00
detect unix color support
This commit is contained in:
@@ -2547,6 +2547,10 @@ gb_internal int strip_semicolons(Parser *parser) {
|
|||||||
return cast(int)failed;
|
return cast(int)failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(GB_SYSTEM_OSX) || defined(GB_SYSTEM_UNIX)
|
||||||
|
#include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
gb_internal void init_terminal(void) {
|
gb_internal void init_terminal(void) {
|
||||||
build_context.has_ansi_terminal_colours = false;
|
build_context.has_ansi_terminal_colours = false;
|
||||||
#if defined(GB_SYSTEM_WINDOWS)
|
#if defined(GB_SYSTEM_WINDOWS)
|
||||||
@@ -2558,6 +2562,18 @@ gb_internal void init_terminal(void) {
|
|||||||
build_context.has_ansi_terminal_colours = true;
|
build_context.has_ansi_terminal_colours = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#elif defined(GB_SYSTEM_OSX) || defined(GB_SYSTEM_UNIX)
|
||||||
|
FILE* file = popen("tput colors", "r");
|
||||||
|
if (file) {
|
||||||
|
char buffer[20];
|
||||||
|
if (fgets(&buffer[0], 20, file)) {
|
||||||
|
u64 colors = gb_str_to_u64(buffer, nullptr, 10);
|
||||||
|
if (colors >= 8) {
|
||||||
|
build_context.has_ansi_terminal_colours = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pclose(file);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!build_context.has_ansi_terminal_colours) {
|
if (!build_context.has_ansi_terminal_colours) {
|
||||||
|
|||||||
Reference in New Issue
Block a user