Fix colors enabling on WIN32

This commit is contained in:
Georgi Gerganov 2023-03-25 21:53:39 +02:00
parent 79b2b266db
commit c2b25b6912
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735

View File

@ -46,13 +46,11 @@ static bool con_use_color = false;
void enable_console_colors() { void enable_console_colors() {
#if defined (_WIN32) #if defined (_WIN32)
if (params.use_color) { // Enable ANSI colors on Windows 10+
// Enable ANSI colors on Windows 10+ unsigned long dwMode = 0;
unsigned long dwMode = 0; void* hConOut = GetStdHandle((unsigned long)-11); // STD_OUTPUT_HANDLE (-11)
void* hConOut = GetStdHandle((unsigned long)-11); // STD_OUTPUT_HANDLE (-11) if (hConOut && hConOut != (void*)-1 && GetConsoleMode(hConOut, &dwMode) && !(dwMode & 0x4)) {
if (hConOut && hConOut != (void*)-1 && GetConsoleMode(hConOut, &dwMode) && !(dwMode & 0x4)) { SetConsoleMode(hConOut, dwMode | 0x4); // ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x4)
SetConsoleMode(hConOut, dwMode | 0x4); // ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x4)
}
} }
#endif #endif
} }
@ -287,7 +285,9 @@ int main(int argc, char ** argv) {
int n_consumed = 0; int n_consumed = 0;
// the first thing we will do is to output the prompt, so set color accordingly // the first thing we will do is to output the prompt, so set color accordingly
enable_console_colors(); if (params.use_color) {
enable_console_colors();
}
set_console_state(CONSOLE_STATE_PROMPT); set_console_state(CONSOLE_STATE_PROMPT);
std::vector<llama_token> embd; std::vector<llama_token> embd;