|
|
|
@ -2073,15 +2073,30 @@ bool Source::View::on_key_press_event_bracket_language(GdkEventKey* key) { |
|
|
|
// return (\n
|
|
|
|
// return (\n
|
|
|
|
// ReactDOM.render(\n <div>\n
|
|
|
|
// ReactDOM.render(\n <div>\n
|
|
|
|
if(open_non_curly_bracket_iter_found && (*open_non_curly_bracket_iter=='[' || *open_non_curly_bracket_iter=='(')) { |
|
|
|
if(open_non_curly_bracket_iter_found && (*open_non_curly_bracket_iter=='[' || *open_non_curly_bracket_iter=='(')) { |
|
|
|
if(condition_iter.get_line()==open_non_curly_bracket_iter.get_line()) |
|
|
|
// If next line should have an extra tab:
|
|
|
|
tabs=get_line_before(start_iter)+tab; |
|
|
|
if(condition_iter.get_line()==open_non_curly_bracket_iter.get_line()) { |
|
|
|
|
|
|
|
get_buffer()->insert_at_cursor("\n"+tabs+tab); |
|
|
|
|
|
|
|
scroll_to(get_buffer()->get_insert()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// Indent as in current or next line:
|
|
|
|
else { |
|
|
|
else { |
|
|
|
start_iter=get_tabs_end_iter(get_buffer()->get_iter_at_line(condition_iter.get_line())); |
|
|
|
auto start_iter=get_tabs_end_iter(get_buffer()->get_iter_at_line(condition_iter.get_line())); |
|
|
|
tabs=get_line_before(start_iter); |
|
|
|
auto tabs=get_line_before(start_iter); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int line_nr=iter.get_line(); |
|
|
|
|
|
|
|
if(iter.ends_line() && (line_nr+1)<get_buffer()->get_line_count()) { |
|
|
|
|
|
|
|
auto next_line_tabs=get_line_before(get_tabs_end_iter(line_nr+1)); |
|
|
|
|
|
|
|
if(next_line_tabs.size()>tabs.size()) { |
|
|
|
|
|
|
|
get_buffer()->insert_at_cursor("\n"+next_line_tabs); |
|
|
|
|
|
|
|
scroll_to(get_buffer()->get_insert()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
get_buffer()->insert_at_cursor("\n"+tabs); |
|
|
|
|
|
|
|
scroll_to(get_buffer()->get_insert()); |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
get_buffer()->insert_at_cursor("\n"+tabs); |
|
|
|
|
|
|
|
scroll_to(get_buffer()->get_insert()); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|