diff options
| author | 2024-02-20 00:24:06 +0200 | |
|---|---|---|
| committer | 2024-02-20 00:24:06 +0200 | |
| commit | 310f71d11f5ce066cec0450bf60036b25b27ab91 (patch) | |
| tree | cb8b2c72ae1c1b51c4f780337291f3a4fd1410b9 | |
| parent | Update zig mode and theme (diff) | |
| download | es-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.gz es-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.xz es-310f71d11f5ce066cec0450bf60036b25b27ab91.zip | |
Fix untab crash
| -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) { |