Script Editor: automatic indentation after a colon
This commit is contained in:
parent
b0dbcccb6c
commit
c93a005fb6
3 changed files with 15 additions and 1 deletions
|
@ -1610,6 +1610,13 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if(auto_indent){
|
||||||
|
// indent once again if previous line will end with ':'
|
||||||
|
// (i.e. colon precedes current cursor position)
|
||||||
|
if(cursor.column>0 && text[cursor.line][cursor.column-1]==':') {
|
||||||
|
ins+="\t";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_insert_text_at_cursor(ins);
|
_insert_text_at_cursor(ins);
|
||||||
_push_current_op();
|
_push_current_op();
|
||||||
|
@ -2869,6 +2876,10 @@ bool TextEdit::is_syntax_coloring_enabled() const {
|
||||||
return syntax_coloring;
|
return syntax_coloring;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextEdit::set_auto_indent(bool p_auto_indent) {
|
||||||
|
auto_indent = p_auto_indent;
|
||||||
|
}
|
||||||
|
|
||||||
void TextEdit::cut() {
|
void TextEdit::cut() {
|
||||||
|
|
||||||
if (!selection.active)
|
if (!selection.active)
|
||||||
|
@ -3836,7 +3847,7 @@ TextEdit::TextEdit() {
|
||||||
next_operation_is_complex=false;
|
next_operation_is_complex=false;
|
||||||
auto_brace_completion_enabled=false;
|
auto_brace_completion_enabled=false;
|
||||||
brace_matching_enabled=false;
|
brace_matching_enabled=false;
|
||||||
|
auto_indent=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEdit::~TextEdit()
|
TextEdit::~TextEdit()
|
||||||
|
|
|
@ -213,6 +213,7 @@ class TextEdit : public Control {
|
||||||
|
|
||||||
bool auto_brace_completion_enabled;
|
bool auto_brace_completion_enabled;
|
||||||
bool brace_matching_enabled;
|
bool brace_matching_enabled;
|
||||||
|
bool auto_indent;
|
||||||
bool cut_copy_line;
|
bool cut_copy_line;
|
||||||
|
|
||||||
uint64_t last_dblclk;
|
uint64_t last_dblclk;
|
||||||
|
@ -323,6 +324,7 @@ public:
|
||||||
brace_matching_enabled=p_enabled;
|
brace_matching_enabled=p_enabled;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
void set_auto_indent(bool p_auto_indent);
|
||||||
|
|
||||||
void cursor_set_column(int p_col, bool p_adjust_viewport=true);
|
void cursor_set_column(int p_col, bool p_adjust_viewport=true);
|
||||||
void cursor_set_line(int p_row, bool p_adjust_viewport=true);
|
void cursor_set_line(int p_row, bool p_adjust_viewport=true);
|
||||||
|
|
|
@ -614,6 +614,7 @@ CodeTextEditor::CodeTextEditor() {
|
||||||
text_editor->add_font_override("font",get_font("source","Fonts"));
|
text_editor->add_font_override("font",get_font("source","Fonts"));
|
||||||
text_editor->set_show_line_numbers(true);
|
text_editor->set_show_line_numbers(true);
|
||||||
text_editor->set_brace_matching(true);
|
text_editor->set_brace_matching(true);
|
||||||
|
text_editor->set_auto_indent(true);
|
||||||
|
|
||||||
line_col = memnew( Label );
|
line_col = memnew( Label );
|
||||||
add_child(line_col);
|
add_child(line_col);
|
||||||
|
|
Loading…
Reference in a new issue