diff options
| author | 2021-12-31 21:02:23 +0200 | |
|---|---|---|
| committer | 2021-12-31 21:02:23 +0200 | |
| commit | 758a0611d098876ca93ae49179148f5ef5cf1b06 (patch) | |
| tree | f9bc54241f95b7e8647c5c5a1836d7fe86a5c14e /src/Buffer.zig | |
| parent | Some changes (diff) | |
| download | es-758a0611d098876ca93ae49179148f5ef5cf1b06.tar.gz es-758a0611d098876ca93ae49179148f5ef5cf1b06.tar.xz es-758a0611d098876ca93ae49179148f5ef5cf1b06.zip | |
Now can do soft tabs yay
Diffstat (limited to '')
| -rw-r--r-- | src/Buffer.zig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Buffer.zig b/src/Buffer.zig index cb89935..f105c55 100644 --- a/src/Buffer.zig +++ b/src/Buffer.zig | |||
| @@ -291,6 +291,13 @@ pub fn insertChar(self: *Buffer, char: u8) !void { | |||
| 291 | self.dirty = true; | 291 | self.dirty = true; |
| 292 | } | 292 | } |
| 293 | 293 | ||
| 294 | pub fn insertNChars(self: *Buffer, char: u8, count: usize) !void { | ||
| 295 | var remaining = count; | ||
| 296 | while (remaining > 0) : (remaining -= 1) { | ||
| 297 | try self.insertChar(char); | ||
| 298 | } | ||
| 299 | } | ||
| 300 | |||
| 294 | pub fn insertNewline(self: *Buffer) !void { | 301 | pub fn insertNewline(self: *Buffer) !void { |
| 295 | self.dirty = true; | 302 | self.dirty = true; |
| 296 | 303 | ||
| @@ -331,6 +338,14 @@ pub fn insertRow(self: *Buffer, at: usize, data: []const u8) !void { | |||
| 331 | self.dirty = true; | 338 | self.dirty = true; |
| 332 | } | 339 | } |
| 333 | 340 | ||
| 341 | pub fn insertTab(self: *Buffer) !void { | ||
| 342 | if (self.config.hard_tabs) { | ||
| 343 | return self.insertChar('\t'); | ||
| 344 | } else { | ||
| 345 | return self.insertNChars(' ', self.config.tab_stop - self.cx % self.config.tab_stop); | ||
| 346 | } | ||
| 347 | } | ||
| 348 | |||
| 334 | pub fn killLine(self: *Buffer) !void { | 349 | pub fn killLine(self: *Buffer) !void { |
| 335 | return self.deleteRow(self.cy); | 350 | return self.deleteRow(self.cy); |
| 336 | } | 351 | } |