Browse Source

Fixed highlighting when word occurs as substring first

Paulb23 9 years ago
parent
commit
9c0e1524e5
1 changed files with 15 additions and 9 deletions
  1. 15 9
      scene/gui/text_edit.cpp

+ 15 - 9
scene/gui/text_edit.cpp

@@ -3219,16 +3219,22 @@ int TextEdit::_get_column_pos_of_word(const String &p_key, const String &p_searc
 			p_from_column = 0;
 		}
 
-		// match case
-		col = p_search.findn(p_key, p_from_column);
-
-		// whole words only
-		if (col != -1) {
-			if (col > 0 && _is_text_char(p_search[col-1])) {
-				col = -1;
-		} else if (_is_text_char(p_search[col+p_key.length()])) {
-				col = -1;
+		 while (col == -1 && p_from_column <= p_search.length()) {
+			// match case
+			col = p_search.findn(p_key, p_from_column);
+
+			// whole words only
+			if (col != -1) {
+				p_from_column=col;
+
+				if (col > 0 && _is_text_char(p_search[col-1])) {
+					col = -1;
+				} else if (_is_text_char(p_search[col+p_key.length()])) {
+					col = -1;
+				}
 			}
+
+			p_from_column+=1;
 		}
 	}
 	return col;