|
|
|
|
@ -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; |
|
|
|
|
|