Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Apply feedbacks
  • Loading branch information
Cronos87 committed Dec 23, 2024
commit 846d8d8fd05ca9084bf8729f0d10a6b3ad80a74f
8 changes: 7 additions & 1 deletion editor/plugins/script_text_editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,13 @@ void ScriptTextEditor::_set_theme_for_script() {
List<String> block_key_delimiters;
script->get_language()->get_block_key_delimiters(&block_key_delimiters);

text_edit->set_block_key_delimiters(&block_key_delimiters);
Vector<String> block_key_delimiters_vector;

for (const String &delimiter : block_key_delimiters) {
block_key_delimiters_vector.push_back(delimiter);
}

text_edit->set_block_key_delimiters(block_key_delimiters_vector);
}

void ScriptTextEditor::_show_errors_panel(bool p_show) {
Expand Down
22 changes: 11 additions & 11 deletions scene/gui/code_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1200,12 +1200,12 @@ void CodeEdit::_new_line(bool p_split_current_line, bool p_above) {
end_complex_operation();
}

void CodeEdit::_auto_fill_doc_comments(int caret, bool p_above) {
void CodeEdit::_auto_fill_doc_comments(int p_caret, bool p_above) {
if (block_key_delimiters.is_empty()) {
return;
}

const int cl = p_above ? (get_caret_line(caret) + 1) : (get_caret_line(caret) - 1);
const int cl = p_above ? (get_caret_line(p_caret) + 1) : (get_caret_line(p_caret) - 1);
const String line = get_line(cl);

if (is_in_comment(cl) != -1) {
Expand All @@ -1218,7 +1218,7 @@ void CodeEdit::_auto_fill_doc_comments(int caret, bool p_above) {
// Case for inline comments.
if (delimiter_begin == delimiter_end) {
if (line_strip.begins_with(delimiter_begin)) {
insert_text_at_caret(delimiter_begin + " ", caret);
insert_text_at_caret(delimiter_begin + " ", p_caret);
break;
}

Expand All @@ -1233,22 +1233,22 @@ void CodeEdit::_auto_fill_doc_comments(int caret, bool p_above) {
const int non_whitespace_column = get_first_non_whitespace_column(cl);
const String indent = line.substr(0, non_whitespace_column);

insert_text_at_caret(delimiter_begin + " ", caret);
insert_text_at_caret(delimiter_begin + " ", p_caret);

const int line_to_move_on = cl + 1;
const int line_length = get_line(line_to_move_on).length();
set_caret_line(line_to_move_on, false, true, -1, caret);
set_caret_column(line_length, false, caret);
set_caret_line(line_to_move_on, false, true, -1, p_caret);
set_caret_column(line_length, false, p_caret);
break;
}

insert_text_at_caret(delimiter_begin + " ", caret);
insert_text_at_caret(delimiter_begin + " ", p_caret);
break;
}

// Case when the caret is on the same line as the end delimiter.
if (p_above && line_strip.ends_with(delimiter_end)) {
insert_text_at_caret(delimiter_begin + " ", caret);
insert_text_at_caret(delimiter_begin + " ", p_caret);
break;
}

Expand All @@ -1262,7 +1262,7 @@ void CodeEdit::_auto_fill_doc_comments(int caret, bool p_above) {
}

if (line_strip.begins_with(delimiter_begin)) {
insert_text_at_caret(delimiter_begin + " ", caret);
insert_text_at_caret(delimiter_begin + " ", p_caret);
break;
}
}
Expand Down Expand Up @@ -2130,10 +2130,10 @@ Vector<String> CodeEdit::get_block_key_delimiters() const {
return block_key_delimiters;
}

void CodeEdit::set_block_key_delimiters(const List<String> *p_delimiters) {
void CodeEdit::set_block_key_delimiters(const Vector<String> &p_delimiters) {
block_key_delimiters.clear();

for (const String &delimiter : *p_delimiters) {
for (const String &delimiter : p_delimiters) {
block_key_delimiters.push_back(delimiter);
}
}
Expand Down
4 changes: 2 additions & 2 deletions scene/gui/code_edit.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class CodeEdit : public TextEdit {
int _calculate_spaces_till_next_right_indent(int p_column) const;

void _new_line(bool p_split_current_line = true, bool p_above = false);
void _auto_fill_doc_comments(int caret, bool p_above);
void _auto_fill_doc_comments(int p_caret, bool p_above);

/* Auto brace completion */
bool auto_brace_completion_enabled = false;
Expand Down Expand Up @@ -470,7 +470,7 @@ class CodeEdit : public TextEdit {
Point2 get_delimiter_end_position(int p_line, int p_column) const;

Vector<String> get_block_key_delimiters() const;
void set_block_key_delimiters(const List<String> *p_delimiters);
void set_block_key_delimiters(const Vector<String> &p_delimiters);

/* Code hint */
void set_code_hint(const String &p_hint);
Expand Down