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
|
||||
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);
|
||||
_push_current_op();
|
||||
|
@ -2869,6 +2876,10 @@ bool TextEdit::is_syntax_coloring_enabled() const {
|
|||
return syntax_coloring;
|
||||
}
|
||||
|
||||
void TextEdit::set_auto_indent(bool p_auto_indent) {
|
||||
auto_indent = p_auto_indent;
|
||||
}
|
||||
|
||||
void TextEdit::cut() {
|
||||
|
||||
if (!selection.active)
|
||||
|
@ -3836,7 +3847,7 @@ TextEdit::TextEdit() {
|
|||
next_operation_is_complex=false;
|
||||
auto_brace_completion_enabled=false;
|
||||
brace_matching_enabled=false;
|
||||
|
||||
auto_indent=false;
|
||||
}
|
||||
|
||||
TextEdit::~TextEdit()
|
||||
|
|
|
@ -213,6 +213,7 @@ class TextEdit : public Control {
|
|||
|
||||
bool auto_brace_completion_enabled;
|
||||
bool brace_matching_enabled;
|
||||
bool auto_indent;
|
||||
bool cut_copy_line;
|
||||
|
||||
uint64_t last_dblclk;
|
||||
|
@ -323,6 +324,7 @@ public:
|
|||
brace_matching_enabled=p_enabled;
|
||||
update();
|
||||
}
|
||||
void set_auto_indent(bool p_auto_indent);
|
||||
|
||||
void cursor_set_column(int p_col, 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->set_show_line_numbers(true);
|
||||
text_editor->set_brace_matching(true);
|
||||
text_editor->set_auto_indent(true);
|
||||
|
||||
line_col = memnew( Label );
|
||||
add_child(line_col);
|
||||
|
|
Loading…
Reference in a new issue