Browse Source

Improved indentation when inserting snippets

merge-requests/413/merge
eidheim 2 years ago
parent
commit
9e080d0f77
  1. 7
      src/source_base.cpp

7
src/source_base.cpp

@ -1669,6 +1669,9 @@ void Source::BaseView::insert_snippet(Gtk::TextIter iter, const std::string &sni
};
std::function<void(bool)> parse_snippet = [&](bool stop_at_curly_end) {
auto tabs_end_iter = get_tabs_end_iter();
auto prefix_tabs = get_line_before(iter < tabs_end_iter ? iter : tabs_end_iter);
int number;
for(; i < snippet.size() && !(stop_at_curly_end && snippet[i] == '}');) {
if(snippet[i] == '\\') {
@ -1723,6 +1726,10 @@ void Source::BaseView::insert_snippet(Gtk::TextIter iter, const std::string &sni
else if(parse_variable() == ParseVariableResult::not_found)
insert += '$';
}
else if(snippet[i] == '\n') {
insert += '\n' + prefix_tabs;
++i;
}
else {
insert += snippet[i];
++i;

Loading…
Cancel
Save