summaryrefslogtreecommitdiffstats
path: root/editor/plugins/script_text_editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/script_text_editor.cpp')
-rw-r--r--editor/plugins/script_text_editor.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp
index 070471f3f3..34557b26b4 100644
--- a/editor/plugins/script_text_editor.cpp
+++ b/editor/plugins/script_text_editor.cpp
@@ -302,16 +302,14 @@ void ScriptTextEditor::_warning_clicked(const Variant &p_line) {
void ScriptTextEditor::_error_clicked(const Variant &p_line) {
if (p_line.get_type() == Variant::INT) {
- code_editor->get_text_editor()->remove_secondary_carets();
- code_editor->get_text_editor()->set_caret_line(p_line.operator int64_t());
+ goto_line_centered(p_line.operator int64_t());
} else if (p_line.get_type() == Variant::DICTIONARY) {
Dictionary meta = p_line.operator Dictionary();
const String path = meta["path"].operator String();
const int line = meta["line"].operator int64_t();
const int column = meta["column"].operator int64_t();
if (path.is_empty()) {
- code_editor->get_text_editor()->remove_secondary_carets();
- code_editor->get_text_editor()->set_caret_line(line);
+ goto_line_centered(line, column);
} else {
Ref<Resource> scr = ResourceLoader::load(path);
if (!scr.is_valid()) {
@@ -456,16 +454,16 @@ void ScriptTextEditor::tag_saved_version() {
code_editor->get_text_editor()->tag_saved_version();
}
-void ScriptTextEditor::goto_line(int p_line, bool p_with_error) {
- code_editor->goto_line(p_line);
+void ScriptTextEditor::goto_line(int p_line, int p_column) {
+ code_editor->goto_line(p_line, p_column);
}
void ScriptTextEditor::goto_line_selection(int p_line, int p_begin, int p_end) {
code_editor->goto_line_selection(p_line, p_begin, p_end);
}
-void ScriptTextEditor::goto_line_centered(int p_line) {
- code_editor->goto_line_centered(p_line);
+void ScriptTextEditor::goto_line_centered(int p_line, int p_column) {
+ code_editor->goto_line_centered(p_line, p_column);
}
void ScriptTextEditor::set_executing_line(int p_line) {
@@ -919,8 +917,7 @@ void ScriptTextEditor::_breakpoint_item_pressed(int p_idx) {
if (p_idx < 4) { // Any item before the separator.
_edit_option(breakpoints_menu->get_item_id(p_idx));
} else {
- code_editor->goto_line(breakpoints_menu->get_item_metadata(p_idx));
- callable_mp((TextEdit *)code_editor->get_text_editor(), &TextEdit::center_viewport_to_caret).call_deferred(0); // Needs to be deferred, because goto uses call_deferred().
+ code_editor->goto_line_centered(breakpoints_menu->get_item_metadata(p_idx));
}
}
@@ -1816,9 +1813,9 @@ static String _get_dropped_resource_line(const Ref<Resource> &p_resource, bool p
}
if (is_script) {
- variable_name = variable_name.to_pascal_case().validate_identifier();
+ variable_name = variable_name.to_pascal_case().validate_ascii_identifier();
} else {
- variable_name = variable_name.to_snake_case().to_upper().validate_identifier();
+ variable_name = variable_name.to_snake_case().to_upper().validate_ascii_identifier();
}
return vformat("const %s = preload(%s)", variable_name, _quote_drop_data(path));
}
@@ -1932,13 +1929,13 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
path = sn->get_path_to(node);
}
for (const String &segment : path.split("/")) {
- if (!segment.is_valid_identifier()) {
+ if (!segment.is_valid_ascii_identifier()) {
path = _quote_drop_data(path);
break;
}
}
- String variable_name = String(node->get_name()).to_snake_case().validate_identifier();
+ String variable_name = String(node->get_name()).to_snake_case().validate_ascii_identifier();
if (use_type) {
StringName class_name = node->get_class_name();
Ref<Script> node_script = node->get_script();
@@ -1975,7 +1972,7 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
}
for (const String &segment : path.split("/")) {
- if (!segment.is_valid_identifier()) {
+ if (!segment.is_valid_ascii_identifier()) {
path = _quote_drop_data(path);
break;
}
@@ -2376,6 +2373,7 @@ void ScriptTextEditor::_enable_code_editor() {
ScriptTextEditor::ScriptTextEditor() {
code_editor = memnew(CodeTextEditor);
+ code_editor->set_toggle_list_control(ScriptEditor::get_singleton()->get_left_list_split());
code_editor->add_theme_constant_override("separation", 2);
code_editor->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT);
code_editor->set_code_complete_func(_code_complete_scripts, this);