### Godot version

4.0.3

### System information

Win7

### Issue description

#if and #else highlighted with the color same as if and else shader statement:

![image](https://github.com/godotengine/godot/assets/28286958/c2d58151-d6d2-4305-b4da-36e76e316caf)


### Steps to reproduce

1. Create shader
2. Add #if and #else

### Minimal reproduction project

N/A
} else {
		code = shader_inc->get_code();
	}
	ShaderPreprocessor preprocessor;
	String code_pp;
	String error_pp;
	List<ShaderPreprocessor::FilePosition> err_positions;
	List<ShaderPreprocessor::Region> regions;
	String filename;
	if (shader.is_valid()) {
		filename = shader->get_path();
	} else if (shader_inc.is_valid()) {
		filename = shader_inc->get_path();
	}
	last_compile_result = preprocessor.preprocess(code, filename, code_pp, &error_pp, &err_positions, &regions);
	for (int i = 0; i < get_text_editor()->get_line_count(); i++) {
		get_text_editor()->set_line_background_color(i, Color(0, 0, 0, 0));
	}
	syntax_highlighter->clear_disabled_branch_regions();
	for (const ShaderPreprocessor::Region &region : regions) {
		if (!region.enabled) {
			if (filename != region.file) {
				continue;
			}
			syntax_highlighter->add_disabled_branch_region(Point2i(region.from_line, region.to_line));
		}
	}
	set_error("");
	set_error_count(0);
	if (last_compile_result != OK) {