Browse Source

fix not printing `Error:` when terminal has no color support

Laytan Laats 1 year ago
parent
commit
e627fcb0e6
2 changed files with 3 additions and 5 deletions
  1. 2 4
      src/error.cpp
  2. 1 1
      tests/issues/run.sh

+ 2 - 4
src/error.cpp

@@ -390,8 +390,6 @@ gb_internal void error_va(TokenPos const &pos, TokenPos end, char const *fmt, va
 			error_out_empty();
 			error_out_empty();
 		} else {
 		} else {
 			error_out_pos(pos);
 			error_out_pos(pos);
-		}
-		if (has_ansi_terminal_colours()) {
 			error_out_coloured("Error: ", TerminalStyle_Normal, TerminalColour_Red);
 			error_out_coloured("Error: ", TerminalStyle_Normal, TerminalColour_Red);
 		}
 		}
 		error_out_va(fmt, va);
 		error_out_va(fmt, va);
@@ -427,8 +425,8 @@ gb_internal void warning_va(TokenPos const &pos, TokenPos end, char const *fmt,
 			error_out_empty();
 			error_out_empty();
 		} else {
 		} else {
 			error_out_pos(pos);
 			error_out_pos(pos);
+			error_out_coloured("Warning: ", TerminalStyle_Normal, TerminalColour_Yellow);
 		}
 		}
-		error_out_coloured("Warning: ", TerminalStyle_Normal, TerminalColour_Yellow);
 		error_out_va(fmt, va);
 		error_out_va(fmt, va);
 		error_out("\n");
 		error_out("\n");
 		show_error_on_line(pos, end);
 		show_error_on_line(pos, end);
@@ -841,4 +839,4 @@ gb_internal void print_all_errors(void) {
 	gb_file_write(f, res, gb_string_length(res));
 	gb_file_write(f, res, gb_string_length(res));
 
 
 	errors_already_printed = true;
 	errors_already_printed = true;
-}
+}

+ 1 - 1
tests/issues/run.sh

@@ -16,7 +16,7 @@ $ODIN test ../test_issue_2466.odin $COMMON
 $ODIN test ../test_issue_2615.odin $COMMON
 $ODIN test ../test_issue_2615.odin $COMMON
 $ODIN test ../test_issue_2637.odin $COMMON
 $ODIN test ../test_issue_2637.odin $COMMON
 $ODIN test ../test_issue_2666.odin $COMMON
 $ODIN test ../test_issue_2666.odin $COMMON
-if [[ $($ODIN build ../test_issue_2395.odin $COMMON 2>&1 >/dev/null | grep -c "must have at least 2 variants") -eq 2 ]] ; then
+if [[ $($ODIN build ../test_issue_2395.odin $COMMON 2>&1 >/dev/null | grep -c "Error:") -eq 2 ]] ; then
 	echo "SUCCESSFUL 1/1"
 	echo "SUCCESSFUL 1/1"
 else
 else
 	echo "SUCCESSFUL 0/1"
 	echo "SUCCESSFUL 0/1"