on master help sign in
Fix indent regression issue with o, O
b1cb982Gokul Soumya
helix-term/src/commands.rs+6−2
@@ -1641,7 +1641,8 @@ fn open(cx: &mut Context, open: Open) {
1641 true,
1641 true,
1642 );
1642 );
1643 let indent = doc.indent_unit().repeat(indent_level);
1643 let indent = doc.indent_unit().repeat(indent_level);
1644+ let indent_len = indent.len();
1644− let mut text = String::with_capacity(1 + indent.len());
1645+ let mut text = String::with_capacity(1 + indent_len);
1645 text.push('\n');
1646 text.push('\n');
1646 text.push_str(&indent);
1647 text.push_str(&indent);
1647 let text = text.repeat(count);
1648 let text = text.repeat(count);
@@ -1653,7 +1654,10 @@ fn open(cx: &mut Context, open: Open) {
1653 offs + linend_index + 1
1654 offs + linend_index + 1
1654 };
1655 };
1655 for i in 0..count {
1656 for i in 0..count {
1657+ // pos -> beginning of reference line,
1658+ // + (i * (1+indent_len)) -> beginning of i'th line from pos
1659+ // + indent_len -> -> indent for i'th line
1656− ranges.push(Range::new(pos + i, pos + i));
1660+ ranges.push(Range::point(pos + (i * (1 + indent_len)) + indent_len));
1657 }
1661 }
1658
1662
1659 offs += text.chars().count();
1663 offs += text.chars().count();