### 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 : auto_indent_prefixes) {
		prefixes.push_back(String::chr(E));
	}
	return prefixes;
}
void CodeEdit::do_indent() {
	if (!is_editable()) {
		return;
	}
	if (has_selection()) {
		indent_lines();
		return;
	}
	if (!indent_using_spaces) {
		insert_text_at_caret("\t");
		return;
	}
	begin_complex_operation();
	Vector<int> caret_edit_order = get_caret_index_edit_order();
	for (const int &i : caret_edit_order) {
		int spaces_to_add = _calculate_spaces_till_next_right_indent(get_caret_column(i));
		if (spaces_to_add > 0) {
			insert_text_at_caret(String(" ").repeat(spaces_to_add), i);
		}
	}
	end_complex_operation();
}
void CodeEdit::indent_lines() {