### Godot version

4.0.2.stable

### System information

Manjaro Linux 5.15.113-1-MANJARO

### Issue description

When I was trying to figure out #77725 i stumbled upon this:
![image](https://github.com/godotengine/godot/assets/14893831/364b89ce-00b2-4aef-a85e-f10c16936005)

pressing enter results in 
![image](https://github.com/godotengine/godot/assets/14893831/07d53b82-c919-4635-80e2-e1809b6bb11f)


It looks simmilar to #48436 , but it started happening to every code completion and I have absolutely no clue how it happened.

It happened after I moved(using shift+arrow keys to select, tab to indent and alt+arrow keys to move down)  the three dicts in the picture to within the function and added the dict 4.

### Steps to reproduce

Here's roughly what I did 
(might be slightly inaccurate, I was basically messing around to try and see the scope of $77725 when it happened)

1) create an empty script
2) declare a couple of dictionaries
3) declare a function
4) try out code completion within the function
5) create a lambda within the function and try 4) again
6) move the dictionaries' declaration within the function using keyboard shortcuts and try 4)




### Minimal reproduction project

N/A
const char32_t *string_to_complete_char_lower = &string_to_complete_lower[0];
		const char32_t *target_char_lower = &target_lower[0];
		Vector<Vector<Pair<int, int>>> all_possible_subsequence_matches;
		for (int i = 0; *target_char_lower; i++, target_char_lower++) {
			if (*target_char_lower == *string_to_complete_char_lower) {
				all_possible_subsequence_matches.push_back({ { i, 1 } });
			}
		}
		string_to_complete_char_lower++;
		for (int i = 1; *string_to_complete_char_lower && (all_possible_subsequence_matches.size() > 0); i++, string_to_complete_char_lower++) {
			
			Vector<int> all_ocurence;
			if (long_option) {
				all_ocurence.push_back(target_lower.find_char(*string_to_complete_char_lower));
			} else {
				for (int j = i; j < target_lower.length(); j++) {
					if (target_lower[j] == *string_to_complete_char_lower) {
						all_ocurence.push_back(j);
					}
				}
			}
			Vector<Vector<Pair<int, int>>> next_subsequence_matches;
			for (Vector<Pair<int, int>> &subsequence_match : all_possible_subsequence_matches) {
				Pair<int, int> match_last_segment = subsequence_match[subsequence_match.size() - 1];
				int next_index = match_last_segment.first + match_last_segment.second;
				
				
				if (target_lower[next_index] == *string_to_complete_char_lower) {
					Vector<Pair<int, int>> new_match = subsequence_match;
					new_match.write[new_match.size() - 1].second++;