diff options
| -rw-r--r-- | TODO.md | 2 | ||||
| -rw-r--r-- | src/Buffer.zig | 6 |
2 files changed, 5 insertions, 3 deletions
| @@ -1,6 +1,4 @@ | |||
| 1 | + S-<tab> crashes editor if cursor is too early. | ||
| 2 | + C-<home>, C-<end> | 1 | + C-<home>, C-<end> |
| 3 | + When saving create new folders | ||
| 4 | + Copying | 2 | + Copying |
| 5 | + Undo | 3 | + Undo |
| 6 | + Nicer key-binding setup | 4 | + Nicer key-binding setup |
diff --git a/src/Buffer.zig b/src/Buffer.zig index 473674c..57ecd20 100644 --- a/src/Buffer.zig +++ b/src/Buffer.zig | |||
| @@ -584,7 +584,11 @@ pub fn unindent(self: *Buffer) !void { | |||
| 584 | const desired_rsize = indentation_rsize - 1 - (indentation_rsize - 1) % self.config.tab_stop; | 584 | const desired_rsize = indentation_rsize - 1 - (indentation_rsize - 1) % self.config.tab_stop; |
| 585 | const desired_size = row.rxToCx(self.config, desired_rsize); | 585 | const desired_size = row.rxToCx(self.config, desired_rsize); |
| 586 | 586 | ||
| 587 | self.cx -= indentation_size - desired_size; | 587 | if (self.cx < indentation_size - desired_size) { |
| 588 | self.cx = 0; | ||
| 589 | } else { | ||
| 590 | self.cx -= indentation_size - desired_size; | ||
| 591 | } | ||
| 588 | 592 | ||
| 589 | // TODO: ArrayList needs orderedRemoveNItems | 593 | // TODO: ArrayList needs orderedRemoveNItems |
| 590 | while (indentation_size > desired_size) : (indentation_size -= 1) { | 594 | while (indentation_size > desired_size) : (indentation_size -= 1) { |