### Godot version

4.0.2

### System information

Windows 11

### Issue description

Double clicking on `$MyNode` in the script editor will select the whole name including the "$".

But double clicking on `%MyNode` (unique name) will select the name but will not include the "%".

Dragging a node from the scene tree into the script editor brings up the property/method hint list, even though a "." has not been typed. Pressing enter appends "new()" even though this makes no sense as there is no period so it is just appending it directly to the node name: `$MyNodenew()`


### Steps to reproduce

Type `%MyNode` in a script and double click on it.

Type `@onready var x =` in a script, drag a node from the scene tree, then press enter.


### Minimal reproduction project

N/A
TypedArray<String> prefixes;
	for (const char32_t &E : code_completion_prefixes) {
		prefixes.push_back(String::chr(E));
	}
	return prefixes;
}
String CodeEdit::get_text_for_code_completion() const {
	StringBuilder completion_text;
	const int text_size = get_line_count();
	for (int i = 0; i < text_size; i++) {
		String line = get_line(i);
		if (i == get_caret_line()) {
			completion_text += line.substr(0, get_caret_column());
			
			completion_text += String::chr(0xFFFF);
			completion_text += line.substr(get_caret_column(), line.size());
		} else {
			completion_text += line;
		}
		if (i != text_size - 1) {
			completion_text += "\n";
		}
	}
	return completion_text.as_string();
}
void CodeEdit::request_code_completion(bool p_force) {