You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
Add bookmarks for easier code navigation
This commit is contained in:
@@ -84,6 +84,7 @@ void ShaderTextEditor::_load_theme_settings() {
|
||||
Color function_color = EDITOR_GET("text_editor/highlighting/function_color");
|
||||
Color member_variable_color = EDITOR_GET("text_editor/highlighting/member_variable_color");
|
||||
Color mark_color = EDITOR_GET("text_editor/highlighting/mark_color");
|
||||
Color bookmark_color = EDITOR_GET("text_editor/highlighting/bookmark_color");
|
||||
Color breakpoint_color = EDITOR_GET("text_editor/highlighting/breakpoint_color");
|
||||
Color executing_line_color = EDITOR_GET("text_editor/highlighting/executing_line_color");
|
||||
Color code_folding_color = EDITOR_GET("text_editor/highlighting/code_folding_color");
|
||||
@@ -113,6 +114,7 @@ void ShaderTextEditor::_load_theme_settings() {
|
||||
get_text_edit()->add_color_override("function_color", function_color);
|
||||
get_text_edit()->add_color_override("member_variable_color", member_variable_color);
|
||||
get_text_edit()->add_color_override("mark_color", mark_color);
|
||||
get_text_edit()->add_color_override("bookmark_color", bookmark_color);
|
||||
get_text_edit()->add_color_override("breakpoint_color", breakpoint_color);
|
||||
get_text_edit()->add_color_override("executing_line_color", executing_line_color);
|
||||
get_text_edit()->add_color_override("code_folding_color", code_folding_color);
|
||||
@@ -304,6 +306,22 @@ void ShaderEditor::_menu_option(int p_option) {
|
||||
|
||||
goto_line_dialog->popup_find_line(shader_editor->get_text_edit());
|
||||
} break;
|
||||
case BOOKMARK_TOGGLE: {
|
||||
|
||||
shader_editor->toggle_bookmark();
|
||||
} break;
|
||||
case BOOKMARK_GOTO_NEXT: {
|
||||
|
||||
shader_editor->goto_next_bookmark();
|
||||
} break;
|
||||
case BOOKMARK_GOTO_PREV: {
|
||||
|
||||
shader_editor->goto_prev_bookmark();
|
||||
} break;
|
||||
case BOOKMARK_REMOVE_ALL: {
|
||||
|
||||
shader_editor->remove_all_bookmarks();
|
||||
} break;
|
||||
}
|
||||
if (p_option != SEARCH_FIND && p_option != SEARCH_REPLACE && p_option != SEARCH_GOTO_LINE) {
|
||||
shader_editor->get_text_edit()->call_deferred("grab_focus");
|
||||
@@ -535,6 +553,16 @@ ShaderEditor::ShaderEditor(EditorNode *p_node) {
|
||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
|
||||
search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
|
||||
|
||||
PopupMenu *bookmarks = memnew(PopupMenu);
|
||||
bookmarks->set_name("bookmarks");
|
||||
edit_menu->get_popup()->add_child(bookmarks);
|
||||
edit_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "bookmarks");
|
||||
bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
|
||||
bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
|
||||
bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
|
||||
bookmarks->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
|
||||
bookmarks->connect("id_pressed", this, "_edit_option");
|
||||
|
||||
add_child(main_container);
|
||||
main_container->add_child(hbc);
|
||||
hbc->add_child(search_menu);
|
||||
|
||||
Reference in New Issue
Block a user