summaryrefslogtreecommitdiff
path: root/src/Buffer.zig
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2024-02-20 00:24:06 +0200
committerGravatar Uko Kokņevičs2024-02-20 00:24:06 +0200
commit310f71d11f5ce066cec0450bf60036b25b27ab91 (patch)
treecb8b2c72ae1c1b51c4f780337291f3a4fd1410b9 /src/Buffer.zig
parentUpdate zig mode and theme (diff)
downloades-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.gz
es-310f71d11f5ce066cec0450bf60036b25b27ab91.tar.xz
es-310f71d11f5ce066cec0450bf60036b25b27ab91.zip
Fix untab crash
Diffstat (limited to 'src/Buffer.zig')
-rw-r--r--src/Buffer.zig6
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) {