summaryrefslogtreecommitdiffstats
path: root/editor/plugins/text_shader_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/text_shader_editor.cpp')
-rw-r--r--editor/plugins/text_shader_editor.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/editor/plugins/text_shader_editor.cpp b/editor/plugins/text_shader_editor.cpp
index ffd9564816..fab11b3172 100644
--- a/editor/plugins/text_shader_editor.cpp
+++ b/editor/plugins/text_shader_editor.cpp
@@ -730,6 +730,8 @@ void TextShaderEditor::_editor_settings_changed() {
shader_editor->get_text_editor()->add_theme_constant_override("line_spacing", EDITOR_GET("text_editor/appearance/whitespace/line_spacing"));
shader_editor->get_text_editor()->set_draw_breakpoints_gutter(false);
shader_editor->get_text_editor()->set_draw_executing_lines_gutter(false);
+
+ trim_trailing_whitespace_on_save = EDITOR_GET("text_editor/behavior/files/trim_trailing_whitespace_on_save");
}
void TextShaderEditor::_show_warnings_panel(bool p_show) {
@@ -890,6 +892,10 @@ void TextShaderEditor::save_external_data(const String &p_str) {
return;
}
+ if (trim_trailing_whitespace_on_save) {
+ trim_trailing_whitespace();
+ }
+
apply_shaders();
Ref<Shader> edited_shader = shader_editor->get_edited_shader();
@@ -912,6 +918,10 @@ void TextShaderEditor::save_external_data(const String &p_str) {
disk_changed->hide();
}
+void TextShaderEditor::trim_trailing_whitespace() {
+ shader_editor->trim_trailing_whitespace();
+}
+
void TextShaderEditor::validate_script() {
shader_editor->_validate_script();
}
@@ -1169,6 +1179,7 @@ TextShaderEditor::TextShaderEditor() {
warnings_panel->set_h_size_flags(SIZE_EXPAND_FILL);
warnings_panel->set_meta_underline(true);
warnings_panel->set_selection_enabled(true);
+ warnings_panel->set_context_menu_enabled(true);
warnings_panel->set_focus_mode(FOCUS_CLICK);
warnings_panel->hide();
warnings_panel->connect("meta_clicked", callable_mp(this, &TextShaderEditor::_warning_clicked));
@@ -1193,6 +1204,8 @@ TextShaderEditor::TextShaderEditor() {
disk_changed->add_button(TTR("Resave"), !DisplayServer::get_singleton()->get_swap_cancel_ok(), "resave");
disk_changed->connect("custom_action", callable_mp(this, &TextShaderEditor::save_external_data));
+ trim_trailing_whitespace_on_save = EDITOR_GET("text_editor/behavior/files/trim_trailing_whitespace_on_save");
+
add_child(disk_changed);
_editor_settings_changed();