From 4b3ca918b55db33a0166aa9be55c7c0251c467cb Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Sat, 19 Oct 2024 16:40:33 +0200 Subject: [PATCH] mod(node2buffer): correct handling of `code`'s and ```block```'s entries --- src/widget/node2buffer.zig | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/widget/node2buffer.zig b/src/widget/node2buffer.zig index 4c907bf..ae325e9 100644 --- a/src/widget/node2buffer.zig +++ b/src/widget/node2buffer.zig @@ -30,8 +30,7 @@ pub fn toBuffer( style.fg = .{ .index = 2 }; }, .block => { - // TODO: what should I do with blocks? - style.fg = .{ .index = 7 }; + style.dim = true; next_start = node.token.start; }, .code => { @@ -55,7 +54,14 @@ pub fn toBuffer( .text => break :value input[node.token.start..node.token.end], .link => break :value input[node.token.start + 1 .. node.token.start + 1 + node.title.?.len], // TODO: use corresponding link contents to create 'real' links using escape sequences - .bold_close, .italic_close, .block_close, .code_close, .title_close, .href_close => { + .code_close => { + if (next_start) |s| { + next_start = null; + break :value input[s + 1 .. node.token.end - 1]; + } + break :value ""; + }, + .bold_close, .italic_close, .block_close, .title_close, .href_close => { if (next_start) |s| { next_start = null; break :value input[s..node.token.end]; @@ -139,7 +145,7 @@ pub fn toBuffer( }); } }, - .block_close, .code_close => { + .block_close => { // generate a `block` i.e. // 01 | ... // 02 | ... @@ -163,30 +169,30 @@ pub fn toBuffer( for (1..rows + 1) |r| { try array.append(.{ .char = .{ .grapheme = " " }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); try array.append(.{ .char = .{ .grapheme = " " }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); for (1..pad + 1) |i| { const digit = vaxis.widgets.LineNumbers.extractDigit(r, pad - i); try array.append(.{ .char = .{ .grapheme = digits[digit .. digit + 1] }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); } try array.append(.{ .char = .{ .grapheme = " " }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); try array.append(.{ .char = .{ .grapheme = "│" }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); try array.append(.{ .char = .{ .grapheme = " " }, - .style = .{ .dim = true }, + .style = .{ .fg = .{ .index = 0 } }, }); for (c..content.len) |c_i| { try array.append(.{ @@ -221,7 +227,6 @@ pub fn toBuffer( style.fg = .default; }, .block_close => { - // TODO: what should I do with blocks? style.fg = .default; }, .code_close => {