### 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
int line_height = get_line_height();
	if (GDVIRTUAL_IS_OVERRIDDEN(_filter_code_completion_candidates)) {
		code_completion_options.clear();
		code_completion_base = "";
		
		TypedArray<Dictionary> completion_options_sources;
		completion_options_sources.resize(code_completion_option_sources.size());
		int i = 0;
		for (const ScriptLanguage::CodeCompletionOption &E : code_completion_option_sources) {
			Dictionary option;
			option["kind"] = E.kind;
			option["display_text"] = E.display;
			option["insert_text"] = E.insert_text;
			option["font_color"] = E.font_color;
			option["icon"] = E.icon;
			option["default_value"] = E.default_value;
			option["location"] = E.location;
			completion_options_sources[i] = option;
			i++;
		}
		TypedArray<Dictionary> completion_options;
		GDVIRTUAL_CALL(_filter_code_completion_candidates, completion_options_sources, completion_options);
		
		if (completion_options.size() == 0) {
			cancel_code_completion();