From 310f71d11f5ce066cec0450bf60036b25b27ab91 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 20 Feb 2024 00:24:06 +0200 Subject: Fix untab crash --- src/Buffer.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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 { const desired_rsize = indentation_rsize - 1 - (indentation_rsize - 1) % self.config.tab_stop; const desired_size = row.rxToCx(self.config, desired_rsize); - self.cx -= indentation_size - desired_size; + if (self.cx < indentation_size - desired_size) { + self.cx = 0; + } else { + self.cx -= indentation_size - desired_size; + } // TODO: ArrayList needs orderedRemoveNItems while (indentation_size > desired_size) : (indentation_size -= 1) { -- cgit v1.2.3