non-regex based implementation of split_lines
This commit is contained in:
parent
af8e8d27d4
commit
4f452474c8
|
@ -493,7 +493,18 @@ void split_regex(Context& context)
|
||||||
|
|
||||||
void split_lines(Context& context)
|
void split_lines(Context& context)
|
||||||
{
|
{
|
||||||
context.editor().multi_select(std::bind(split_selection, _1, _2, Regex{"^"}));
|
context.editor().multi_select([](const Buffer& buffer, const Selection& sel) {
|
||||||
|
if (sel.first().line == sel.last().line)
|
||||||
|
return SelectionList{ sel };
|
||||||
|
SelectionList res;
|
||||||
|
auto min = sel.min();
|
||||||
|
auto max = sel.max();
|
||||||
|
res.push_back({min, {min.line, buffer[min.line].length()-1}});
|
||||||
|
for (auto line = min.line+1; line < max.line; ++line)
|
||||||
|
res.push_back({line, {line, buffer[line].length()-1}});
|
||||||
|
res.push_back({max.line, max});
|
||||||
|
return res;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void join_select_spaces(Context& context)
|
void join_select_spaces(Context& context)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user