Merge pull request #2737 from akien-mga/type-specific-error-output

Display error type (error, warning, script error) in OS::print_error + cleanup error ANSI coloring
This commit is contained in:
Juan Linietsky
2015-11-18 18:58:22 -03:00
4 changed files with 63 additions and 25 deletions

View File

@ -1768,15 +1768,26 @@ void OS_Windows::print_error(const char* p_function,const char* p_file,int p_lin
HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);
if (!hCon || hCon==INVALID_HANDLE_VALUE) {
if (p_rationale && p_rationale[0]) {
print("\E[1;31;40mERROR: %s: \E[1;37;40m%s\n",p_function,p_rationale);
print("\E[0;31;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
} else {
print("\E[1;31;40mERROR: %s: \E[1;37;40m%s\n",p_function,p_code);
print("\E[0;31;40m At: %s:%i.\E[0;0;37m\n",p_file,p_line);
const char* err_details;
if (p_rationale && p_rationale[0])
err_details=p_rationale;
else
err_details=p_code;
switch(p_type) {
case ERR_ERROR:
print("\E[1;31mERROR: %s: \E[0m\E[1m%s\n",p_function,err_details);
print("\E[0;31m At: %s:%i.\E[0m\n",p_file,p_line);
break;
case ERR_WARNING:
print("\E[1;33mWARNING: %s: \E[0m\E[1m%s\n",p_function,err_details);
print("\E[0;33m At: %s:%i.\E[0m\n",p_file,p_line);
break;
case ERR_SCRIPT:
print("\E[1;35mSCRIPT ERROR: %s: \E[0m\E[1m",p_function,err_details);
print("\E[0;35m At: %s:%i.\E[0m\n",p_file,p_line);
break;
}
} else {