Fix auto-indentation in typed arrays, comments, and after colon
Now the editor won't add indentation when pressing enter, is declaring typed variables and there is a colon in the comment example: var a:=0#:[press enter] no indentation
This commit is contained in:
parent
49a196277f
commit
fa7e6ddb83
@ -1075,7 +1075,7 @@ void CodeEdit::_new_line(bool p_split_current_line, bool p_above) {
|
|||||||
|
|
||||||
for (; line_col < cc; line_col++) {
|
for (; line_col < cc; line_col++) {
|
||||||
char32_t c = line[line_col];
|
char32_t c = line[line_col];
|
||||||
if (auto_indent_prefixes.has(c)) {
|
if (auto_indent_prefixes.has(c) && is_in_comment(cl, line_col) == -1) {
|
||||||
should_indent = true;
|
should_indent = true;
|
||||||
indent_char = c;
|
indent_char = c;
|
||||||
continue;
|
continue;
|
||||||
|
@ -2300,6 +2300,17 @@ TEST_CASE("[SceneTree][CodeEdit] indent") {
|
|||||||
SEND_GUI_ACTION("ui_text_newline_blank");
|
SEND_GUI_ACTION("ui_text_newline_blank");
|
||||||
CHECK(code_edit->get_line(0) == "test{}");
|
CHECK(code_edit->get_line(0) == "test{}");
|
||||||
CHECK(code_edit->get_line(1) == "");
|
CHECK(code_edit->get_line(1) == "");
|
||||||
|
|
||||||
|
/* If there is something after a colon
|
||||||
|
and there is a colon in the comment it
|
||||||
|
should not indent. */
|
||||||
|
code_edit->add_comment_delimiter("#", "");
|
||||||
|
code_edit->set_text("");
|
||||||
|
code_edit->insert_text_at_caret("test:test#:");
|
||||||
|
SEND_GUI_ACTION("ui_text_newline");
|
||||||
|
CHECK(code_edit->get_line(0) == "test:test#:");
|
||||||
|
CHECK(code_edit->get_line(1) == "");
|
||||||
|
code_edit->remove_comment_delimiter("#");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user