diff --git a/tools/update_gdscript_highlighter.gd b/tools/update_gdscript_highlighter.gd new file mode 100644 index 00000000..7f4ec066 --- /dev/null +++ b/tools/update_gdscript_highlighter.gd @@ -0,0 +1,49 @@ +@tool +extends EditorScript + +const GDSCRIPT_HIGHLIGHTER = preload("uid://bfcfig5upwkjc") + +var current_keyword_color: Color = GDSCRIPT_HIGHLIGHTER.keyword_colors["func"] +var current_engine_type: Color = GDSCRIPT_HIGHLIGHTER.keyword_colors["AESContext"] +var current_base_type: Color = GDSCRIPT_HIGHLIGHTER.keyword_colors["AABB"] +var current_flow_control: Color = GDSCRIPT_HIGHLIGHTER.keyword_colors["break"] + +# Called when the script is executed (using File -> Run in Script Editor). +func _run() -> void: + var plgn := EditorPlugin.new() + var es := plgn.get_editor_interface().get_editor_settings() + var gshl := GDSCRIPT_HIGHLIGHTER.duplicate(true) + var comment_color :Color = es.get_setting("text_editor/theme/highlighting/comment_color") + var keyword_color :Color = es.get_setting("text_editor/theme/highlighting/keyword_color") + var flow_control_color :Color = es.get_setting("text_editor/theme/highlighting/control_flow_keyword_color") + var engine_type :Color = es.get_setting("text_editor/theme/highlighting/engine_type_color") + var base_type_color :Color = es.get_setting("text_editor/theme/highlighting/base_type_color") + var string_color :Color = es.get_setting("text_editor/theme/highlighting/string_color") + var string_placeholder :Color = es.get_setting("text_editor/theme/highlighting/string_placeholder_color") + var number_color :Color = es.get_setting("text_editor/theme/highlighting/number_color") + var function_color :Color = es.get_setting("text_editor/theme/highlighting/function_color") + var member_color :Color = es.get_setting("text_editor/theme/highlighting/member_variable_color") + var symbol_color :Color = es.get_setting("text_editor/theme/highlighting/symbol_color") + + plgn.free() + gshl.symbol_color = symbol_color + gshl.member_variable_color = member_color + gshl.function_color = function_color + gshl.number_color = number_color + gshl.color_regions["#"] = comment_color + gshl.color_regions["\" \""] = string_color + gshl.color_regions["&\" \""] = string_placeholder + gshl.color_regions["' '"] = string_color + + for keyword in gshl.keyword_colors: + match gshl.keyword_colors[keyword]: + current_keyword_color: + gshl.keyword_colors[keyword] = keyword_color + current_base_type: + gshl.keyword_colors[keyword] = base_type_color + current_flow_control: + gshl.keyword_colors[keyword] = flow_control_color + current_engine_type: + gshl.keyword_colors[keyword] = engine_type + + ResourceSaver.save(gshl, "res://UI/assets/gdscript_highlighter4.tres") diff --git a/tools/update_gdscript_highlighter.gd.uid b/tools/update_gdscript_highlighter.gd.uid new file mode 100644 index 00000000..8982f837 --- /dev/null +++ b/tools/update_gdscript_highlighter.gd.uid @@ -0,0 +1 @@ +uid://b8mcg3kns0blx