fix: add scoped error logging for lexer/parser errors

- Add std.log.scoped(.pugz) to template.zig and view_engine.zig
- Log detailed error info (code, line, column, message) when parsing fails
- Log template path context in ViewEngine on parse errors
- Remove debug print from lexer, use proper scoped logging instead
- Move benchmarks, docs, examples, playground, tests out of src/ to project root
- Update build.zig and documentation paths accordingly
- Bump version to 0.3.1
This commit is contained in:
2026-01-25 17:10:02 +05:30
parent 9d3b729c6c
commit aaf6a1af2d
1148 changed files with 57 additions and 330 deletions

View File

@@ -0,0 +1,15 @@
{"type":"newline","loc":{"start":{"line":2,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":2,"column":1}}}
{"type":"code","loc":{"start":{"line":2,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":2,"column":15}},"val":"var id = 42;","mustEscape":false,"buffer":false}
{"type":"newline","loc":{"start":{"line":3,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":3,"column":1}}}
{"type":"tag","loc":{"start":{"line":3,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":3,"column":4}},"val":"foo"}
{"type":"indent","loc":{"start":{"line":4,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":4,"column":3}},"val":2}
{"type":"text","loc":{"start":{"line":4,"column":5},"filename":"/cases/interpolation.escape.pug","end":{"line":4,"column":9}},"val":"some"}
{"type":"newline","loc":{"start":{"line":5,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":5,"column":3}}}
{"type":"text","loc":{"start":{"line":5,"column":5},"filename":"/cases/interpolation.escape.pug","end":{"line":5,"column":13}},"val":"#{text}"}
{"type":"newline","loc":{"start":{"line":6,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":6,"column":3}}}
{"type":"text","loc":{"start":{"line":6,"column":5},"filename":"/cases/interpolation.escape.pug","end":{"line":6,"column":9}},"val":"here"}
{"type":"newline","loc":{"start":{"line":7,"column":1},"filename":"/cases/interpolation.escape.pug","end":{"line":7,"column":3}}}
{"type":"text","loc":{"start":{"line":7,"column":5},"filename":"/cases/interpolation.escape.pug","end":{"line":7,"column":11}},"val":"My ID "}
{"type":"interpolated-code","loc":{"start":{"line":7,"column":11},"filename":"/cases/interpolation.escape.pug","end":{"line":7,"column":31}},"mustEscape":true,"buffer":true,"val":"\"is {\" + id + \"}\""}
{"type":"outdent","loc":{"start":{"line":7,"column":31},"filename":"/cases/interpolation.escape.pug","end":{"line":7,"column":31}}}
{"type":"eos","loc":{"start":{"line":7,"column":31},"filename":"/cases/interpolation.escape.pug","end":{"line":7,"column":31}}}