]> git.lizzy.rs Git - micro.git/commitdiff
Move multi-cursors correctly after newlines
authorZachary Yedidia <zyedidia@gmail.com>
Mon, 24 Feb 2020 18:39:34 +0000 (13:39 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Mon, 24 Feb 2020 18:39:34 +0000 (13:39 -0500)
Fixes #1527

internal/buffer/eventhandler.go

index 9e57108d064b7643df1dea3d26091aa6113d136f..3dbc74e29d4a893e1ff88057bdb810ee5f1d94b0 100644 (file)
@@ -144,12 +144,12 @@ func (eh *EventHandler) InsertBytes(start Loc, text []byte) {
 
        for _, c := range eh.cursors {
                move := func(loc Loc) Loc {
-                       if start.Y != end.Y && loc.GreaterThan(start) {
+                       if start.Y != loc.Y && loc.GreaterThan(start) {
                                loc.Y += end.Y - start.Y
                        } else if loc.Y == start.Y && loc.GreaterEqual(start) {
                                loc.Y += end.Y - start.Y
                                if lastnl >= 0 {
-                                       loc.X = textX
+                                       loc.X += textX - start.X
                                } else {
                                        loc.X += textX
                                }