diff options
| author | 2024-02-20 00:24:06 +0200 | |
|---|---|---|
| committer | 2024-02-20 00:24:06 +0200 | |
| commit | 310f71d11f5ce066cec0450bf60036b25b27ab91 (patch) | |
| tree | cb8b2c72ae1c1b51c4f780337291f3a4fd1410b9 /src/Buffer.zig | |
| parent | Update zig mode and theme (diff) | |
| download | es-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.gz es-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.xz es-310f71d11f5ce066cec0450bf60036b25b27ab91.zip | |
Fix untab crash
Diffstat (limited to 'src/Buffer.zig')
| -rw-r--r-- | src/Buffer.zig | 6 |
1 files changed, 5 insertions, 1 deletions
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) { |