Browse Source

Fixed scientific notaion not highlighting correctly, issue 21435

Paulb23 7 years ago
parent
commit
f051f5110e
2 changed files with 4 additions and 4 deletions
  1. 2 2
      modules/gdscript/editor/gdscript_highlighter.cpp
  2. 2 2
      scene/gui/text_edit.cpp

+ 2 - 2
modules/gdscript/editor/gdscript_highlighter.cpp

@@ -121,8 +121,8 @@ Map<int, TextEdit::HighlighterInfo> GDScriptSyntaxHighlighter::_get_line_syntax_
 			is_hex_notation = false;
 			is_hex_notation = false;
 		}
 		}
 
 
-		// check for dot or underscore or 'x' for hex notation in floating point number
-		if ((str[j] == '.' || str[j] == 'x' || str[j] == '_') && !in_word && prev_is_number && !is_number) {
+		// check for dot or underscore or 'x' for hex notation in floating point number or 'e' for scientific notation
+		if ((str[j] == '.' || str[j] == 'x' || str[j] == '_' || str[j] == 'e') && !in_word && prev_is_number && !is_number) {
 			is_number = true;
 			is_number = true;
 			is_symbol = false;
 			is_symbol = false;
 			is_char = false;
 			is_char = false;

+ 2 - 2
scene/gui/text_edit.cpp

@@ -6400,8 +6400,8 @@ Map<int, TextEdit::HighlighterInfo> TextEdit::_get_line_syntax_highlighting(int
 			is_hex_notation = false;
 			is_hex_notation = false;
 		}
 		}
 
 
-		// check for dot or underscore or 'x' for hex notation in floating point number
-		if ((str[j] == '.' || str[j] == 'x' || str[j] == '_' || str[j] == 'f') && !in_word && prev_is_number && !is_number) {
+		// check for dot or underscore or 'x' for hex notation in floating point number or 'e' for scientific notation
+		if ((str[j] == '.' || str[j] == 'x' || str[j] == '_' || str[j] == 'f' || str[j] == 'e') && !in_word && prev_is_number && !is_number) {
 			is_number = true;
 			is_number = true;
 			is_symbol = false;
 			is_symbol = false;
 			is_char = false;
 			is_char = false;