diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-15 13:13:36 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-15 17:24:42 -0300 |
| commit | 8ec8924cd577f71953f8e420af1cd60da92f3300 (patch) | |
| tree | fb28f12321fd263a3dda07e9c82c24477df1f48f /src/builtins.zig | |
| parent | ffc700d14d61fd5e6ca874a186932300c447c836 (diff) | |
| download | pardes-8ec8924cd577f71953f8e420af1cd60da92f3300.tar.gz pardes-8ec8924cd577f71953f8e420af1cd60da92f3300.zip | |
Add optional tree-sitter declaration context
Diffstat (limited to 'src/builtins.zig')
| -rw-r--r-- | src/builtins.zig | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/builtins.zig b/src/builtins.zig index c483482a..f4e22308 100644 --- a/src/builtins.zig +++ b/src/builtins.zig @@ -312,6 +312,26 @@ pub const FontSel = struct { } }; +pub const TreeContext = struct { + pub const enabled = pardes.syntax.enabled; + pub const takes_arg = true; + + pub fn run(c: Ctx) void { + if (comptime !enabled) unreachable; + if (!panes.File.supportsContext(c.pane)) return; + const file = &c.pane.file.?; + const arg = std.mem.trim(u8, c.arg orelse "", " \t\r\n"); + const on = if (arg.len == 0) !file.tree_context else if (std.mem.eql(u8, arg, "on")) true else if (std.mem.eql(u8, arg, "off")) false else { + c.p.reportError(c.id, "TreeContext", error.ExpectedOnOrOff); + return; + }; + file.tree_context = on; + file.syntax_dirty = true; + c.pane.wrap_n = 0; + c.pane.context_rows = 0; + } +}; + pub const PdfFit = struct { pub const enabled = pardes.pdf_enabled; pub fn run(c: Ctx) void { |
