### 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
}
bool CodeCompletionOptionCompare::operator()(const ScriptLanguage::CodeCompletionOption &l, const ScriptLanguage::CodeCompletionOption &r) const {
	TypedArray<int> lcharac = l.get_option_cached_characteristics();
	TypedArray<int> rcharac = r.get_option_cached_characteristics();
	if (lcharac != rcharac) {
		return lcharac < rcharac;
	}
	
	for (int i = 0; i < l.matches.size(); ++i) {
		if (l.matches[i].first != r.matches[i].first) {
			return l.matches[i].first < r.matches[i].first;
		}
		if (l.matches[i].second != r.matches[i].second) {
			return l.matches[i].second > r.matches[i].second;
		}
	}
	return l.display.naturalnocasecmp_to(r.display) < 0;
}