Merge pull request #80365 from dalexeev/gds-allow-mix-indent-on-blank-lines

GDScript: Allow mixed indentation on blank lines
This commit is contained in:
Rémi Verschelde 2023-08-17 11:25:04 +02:00
commit e71ec0b5eb
No known key found for this signature in database
GPG key ID: C3336907360768E1
4 changed files with 35 additions and 9 deletions

View file

@ -1162,15 +1162,6 @@ void GDScriptTokenizer::check_indent() {
_advance();
}
if (mixed && !(line_continuation || multiline_mode)) {
Token error = make_error("Mixed use of tabs and spaces for indentation.");
error.start_line = line;
error.start_column = 1;
error.leftmost_column = 1;
error.rightmost_column = column;
push_error(error);
}
if (_is_at_end()) {
// Reached the end with an empty line, so just dedent as much as needed.
pending_indents -= indent_level();
@ -1214,6 +1205,15 @@ void GDScriptTokenizer::check_indent() {
continue;
}
if (mixed && !line_continuation && !multiline_mode) {
Token error = make_error("Mixed use of tabs and spaces for indentation.");
error.start_line = line;
error.start_column = 1;
error.leftmost_column = 1;
error.rightmost_column = column;
push_error(error);
}
if (line_continuation || multiline_mode) {
// We cleared up all the whitespace at the beginning of the line.
// But if this is a continuation or multiline mode and we don't want any indentation change.

View file

@ -0,0 +1,2 @@
[*.{gd,out}]
trim_trailing_whitespace = false

View file

@ -0,0 +1,20 @@
# Empty line:
# Comment line:
# Comment.
func test():
print(1)
if true:
# Empty line:
print(2)
# Comment line:
# Comment.
print(3)

View file

@ -0,0 +1,4 @@
GDTEST_OK
1
2
3