this repo has no description
13
fork

Configure Feed

Select the types of activity you want to include in your feed.

widgets(terminal): implement CNL

+19 -19
+11 -10
src/widgets/terminal/Screen.zig
··· 310 310 } 311 311 } 312 312 313 + pub fn cursorUp(self: *Screen, n: usize) void { 314 + self.cursor.pending_wrap = false; 315 + if (self.withinScrollingRegion()) 316 + self.cursor.row = @max( 317 + self.cursor.row -| n, 318 + self.scrolling_region.top, 319 + ) 320 + else 321 + self.cursor.row -|= n; 322 + } 323 + 313 324 pub fn cursorLeft(self: *Screen, n: usize) void { 314 325 self.cursor.pending_wrap = false; 315 326 if (self.withinScrollingRegion()) ··· 395 406 } 396 407 } 397 408 } 398 - 399 - pub fn carriageReturn(self: *Screen) void { 400 - self.cursor.pending_wrap = false; 401 - self.cursor.col = if (self.mode.origin) 402 - self.scrolling_region.left 403 - else if (self.cursor.col >= self.scrolling_region.left) 404 - self.scrolling_region.left 405 - else 406 - 0; 407 - }
+8 -9
src/widgets/terminal/Terminal.zig
··· 260 260 switch (seq.final) { 261 261 // Cursor up 262 262 'A', 'k' => { 263 - self.back_screen.cursor.pending_wrap = false; 264 263 var iter = seq.iterator(u16); 265 264 const delta = iter.next() orelse 1; 266 - if (self.back_screen.withinScrollingRegion()) 267 - self.back_screen.cursor.row = @max( 268 - self.back_screen.cursor.row -| delta, 269 - self.back_screen.scrolling_region.top, 270 - ) 271 - else 272 - self.back_screen.cursor.row = self.back_screen.cursor.row -| delta; 265 + self.back_screen.cursorUp(delta); 273 266 }, 274 267 // Cursor Down 275 268 'B' => { ··· 296 289 }, 297 290 // Cursor Left 298 291 'D', 'j' => { 299 - self.back_screen.cursor.pending_wrap = false; 300 292 var iter = seq.iterator(u16); 301 293 const delta = iter.next() orelse 1; 302 294 self.back_screen.cursorLeft(delta); ··· 306 298 var iter = seq.iterator(u16); 307 299 const delta = iter.next() orelse 1; 308 300 self.back_screen.cursorDown(delta); 301 + self.carriageReturn(); 302 + }, 303 + // Cursor Previous Line 304 + 'F' => { 305 + var iter = seq.iterator(u16); 306 + const delta = iter.next() orelse 1; 307 + self.back_screen.cursorUp(delta); 309 308 self.carriageReturn(); 310 309 }, 311 310 'H', 'f' => {