Repository: godotengine/godot
File: editor/editor_node.h (C/C++)

Code before:
	bool settings_overrides_changed = false;
	bool unsaved_cache = false;

	bool requested_first_scan = false;
	bool waiting_for_first_scan = true;
	bool load_editor_layout_done = false;

	HashSet<Ref<Translation>> tracked_translations;
	bool pending_translation_notification = false;

	int current_menu_option = 0;

	SubViewport *scene_root = nullptr; // Root of the scene being edited.
	Object *current = nullptr;

	Ref<Resource> saving_resource;
	HashSet<Ref<Resource>> saving_resources_in_path;

	uint64_t update_spinner_step_msec = 0;
	uint64_t update_spinner_step_frame = 0;
	int update_spinner_step = 0;

	String saving_scene;
	EditorProgress *save_scene_progress = nullptr;

	DynamicFontImportSettingsDialog *fontdata_import_settings = nullptr;
	SceneImportSettingsDialog *scene_import_settings = nullptr;
	AudioStreamImportSettingsDialog *audio_stream_import_settings = nullptr;

	String import_reload_fn;

	HashSet<String> force_textfile_extensions;
	HashSet<String> textfile_extensions;
	HashSet<String> other_file_extensions;
	HashSet<FileDialog *> file_dialogs;
	HashSet<EditorFileDialog *> editor_file_dialogs;

	Vector<Ref<EditorResourceConversionPlugin>> resource_conversion_plugins;
	PrintHandlerList print_handler;

	HashMap<String, Ref<Texture2D>> icon_type_cache;
	HashMap<Pair<String, String>, Ref<Texture2D>> class_icon_cache;

	ProjectUpgradeTool *project_upgrade_tool = nullptr;
	bool run_project_upgrade_tool = false;

	bool was_window_windowed_last = false;

	bool unfocused_low_processor_usage_mode_enabled = true;

	static EditorBuildCallback build_callbacks[MAX_BUILD_CALLBACKS];

Review comment (suggestion):
Not sure if this kind of future-proofing is worth it now. It could be hard-coded to CSV, with a comment to add a HashSet if more extensions are needed.

Though either way is fine probably.

Code after:
	bool requested_first_scan = false;
	bool waiting_for_first_scan = true;
	bool load_editor_layout_done = false;

	HashSet<Ref<Translation>> tracked_translations;
	bool pending_translation_notification = false;

	int current_menu_option = 0;

	SubViewport *scene_root = nullptr; // Root of the scene being edited.

	Ref<Resource> saving_resource;
	HashSet<Ref<Resource>> saving_resources_in_path;

	uint64_t update_spinner_step_msec = 0;
	uint64_t update_spinner_step_frame = 0;
	int update_spinner_step = 0;

	String saving_scene;
	EditorProgress *save_scene_progress = nullptr;

	DynamicFontImportSettingsDialog *fontdata_import_settings = nullptr;
	SceneImportSettingsDialog *scene_import_settings = nullptr;
	AudioStreamImportSettingsDialog *audio_stream_import_settings = nullptr;

	HashSet<String> force_textfile_extensions;
	HashSet<String> textfile_extensions;
	HashSet<String> other_file_extensions;
	HashSet<FileDialog *> file_dialogs;
	HashSet<EditorFileDialog *> editor_file_dialogs;

	Vector<Ref<EditorResourceConversionPlugin>> resource_conversion_plugins;
	PrintHandlerList print_handler;

	HashMap<String, Ref<Texture2D>> icon_type_cache;
	HashMap<Pair<String, String>, Ref<Texture2D>> class_icon_cache;

	ProjectUpgradeTool *project_upgrade_tool = nullptr;
	bool run_project_upgrade_tool = false;

	bool was_window_windowed_last = false;

	bool unfocused_low_processor_usage_mode_enabled = true;

	static EditorBuildCallback build_callbacks[MAX_BUILD_CALLBACKS];
	static EditorPluginInitializeCallback plugin_init_callbacks[MAX_INIT_CALLBACKS];
	static int build_callback_count;
	static int plugin_init_callback_count;
	static Vector<EditorNodeInitCallback> _init_callbacks;

	String _get_system_info() const;