### 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
const Vector<ShaderLanguage::ModeInfo> &modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
		for (int i = 0; i < modes.size(); i++) {
			const ShaderLanguage::ModeInfo &mode_info = modes[i];
			if (!mode_info.options.is_empty()) {
				for (int j = 0; j < mode_info.options.size(); j++) {
					built_ins.push_back(String(mode_info.name) + "_" + String(mode_info.options[j]));
				}
			} else {
				built_ins.push_back(String(mode_info.name));
			}
		}
	}
	const Color user_type_color = EDITOR_GET("text_editor/theme/highlighting/user_type_color");
	for (const String &E : built_ins) {
		syntax_highlighter->add_keyword_color(E, user_type_color);
	}
	
	const Color comment_color = EDITOR_GET("text_editor/theme/highlighting/comment_color");
	syntax_highlighter->clear_color_regions();
	syntax_highlighter->add_color_region("/*", "*/", comment_color, false);
	syntax_highlighter->add_color_region("//", "", comment_color, true);
	
	syntax_highlighter->set_disabled_branch_color(Color(EDITOR_GET("text_editor/theme/highlighting/text_color")) * Color(1, 1, 1, 0.5));
	te->clear_comment_delimiters();
	te->add_comment_delimiter("/*", "*/", false);
	te->add_comment_delimiter("//", "", true);
	if (!te->has_auto_brace_completion_open_key("/*")) {
		te->add_auto_brace_completion_pair("/*", "*/");
	}