### Godot version

4.0 beta 10

### System information

Ubuntu 22.04.1 LTS

### Issue description

If your node has `'` in its name, autocomplete might still suggest single quotes which results in an error.

![image](https://user-images.githubusercontent.com/85438892/210971332-81c13316-e7de-4d7d-9b08-f5676bf4c598.png)

![image](https://user-images.githubusercontent.com/85438892/210973393-ba999b6f-650c-461e-8d2d-b6a1a21adb76.png)


### Steps to reproduce

1. Add a child and name it `Juan's pancakes`
2. Add a script and type `$'`

### Minimal reproduction project

N/A
if (!found && p_expression->get_datatype().is_hard_type()) {
		r_type.type = p_expression->get_datatype();
		if (!r_type.assigned_expression) {
			r_type.assigned_expression = p_expression;
		}
		found = true;
	}
	return found;
}
static bool _guess_identifier_type(GDScriptParser::CompletionContext &p_context, const StringName &p_identifier, GDScriptCompletionIdentifier &r_type) {
	
	int last_assign_line = -1;
	const GDScriptParser::ExpressionNode *last_assigned_expression = nullptr;
	GDScriptParser::DataType id_type;
	GDScriptParser::SuiteNode *suite = p_context.current_suite;
	bool is_function_parameter = false;
	if (suite) {
		if (suite->has_local(p_identifier)) {
			const GDScriptParser::SuiteNode::Local &local = suite->get_local(p_identifier);
			id_type = local.get_datatype();
			
			switch (local.type) {
				case GDScriptParser::SuiteNode::Local::VARIABLE:
					if (local.variable->initializer) {
						last_assign_line = local.variable->initializer->end_line;
						last_assigned_expression = local.variable->initializer;
					}
					break;
				case GDScriptParser::SuiteNode::Local::CONSTANT: