This repository was archived by the owner on Jun 25, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +18
-9
lines changed
Expand file tree Collapse file tree 2 files changed +18
-9
lines changed Original file line number Diff line number Diff line change @@ -1630,13 +1630,18 @@ bool Source::View::on_key_press_event_basic(GdkEventKey* key) {
16301630 iter=get_buffer ()->get_insert ()->get_iter ();
16311631 auto tabs=get_line_before (get_tabs_end_iter (iter));
16321632
1633- int line_nr=iter.get_line ();
1634- if (iter.ends_line () && (line_nr+1 )<get_buffer ()->get_line_count ()) {
1635- auto next_line_tabs=get_line_before (get_tabs_end_iter (line_nr+1 ));
1636- if (next_line_tabs.size ()>tabs.size ()) {
1637- get_buffer ()->insert_at_cursor (" \n " +next_line_tabs);
1638- scroll_to (get_buffer ()->get_insert ());
1639- return true ;
1633+ auto previous_iter=iter;
1634+ if (previous_iter.backward_char () && *previous_iter==' :' && language && language->get_id ()==" python" ) // Python indenting after :
1635+ tabs+=tab;
1636+ else {
1637+ int line_nr=iter.get_line ();
1638+ if (iter.ends_line () && (line_nr+1 )<get_buffer ()->get_line_count ()) {
1639+ auto next_line_tabs=get_line_before (get_tabs_end_iter (line_nr+1 ));
1640+ if (next_line_tabs.size ()>tabs.size ()) {
1641+ get_buffer ()->insert_at_cursor (" \n " +next_line_tabs);
1642+ scroll_to (get_buffer ()->get_insert ());
1643+ return true ;
1644+ }
16401645 }
16411646 }
16421647 get_buffer ()->insert_at_cursor (" \n " +tabs);
Original file line number Diff line number Diff line change @@ -1229,8 +1229,12 @@ void Source::LanguageProtocolView::setup_autocomplete() {
12291229 // In case ( is missing in insert but is present in label
12301230 if (label.size ()>insert.size () && label.back ()==' )' && insert.find (' (' )==std::string::npos) {
12311231 auto pos=label.find (' (' );
1232- if (pos!=std::string::npos && pos==insert.size () && pos+1 <label.size ())
1233- insert+=" (${1:" +label.substr (pos+1 , label.size ()-1 -(pos+1 ))+" })" ;
1232+ if (pos!=std::string::npos && pos==insert.size () && pos+1 <label.size ()) {
1233+ if (pos+2 ==label.size ()) // If no parameters
1234+ insert+=" ()" ;
1235+ else
1236+ insert+=" (${1:" +label.substr (pos+1 , label.size ()-1 -(pos+1 ))+" })" ;
1237+ }
12341238 }
12351239 }
12361240 else {
You can’t perform that action at this time.
0 commit comments