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":"tag","loc":{"start":{"line":1,"column":1},"filename":"/cases/classes-empty.pug","end":{"line":1,"column":2}},"val":"a"}
{"type":"start-attributes","loc":{"start":{"line":1,"column":2},"filename":"/cases/classes-empty.pug","end":{"line":1,"column":3}}}
{"type":"attribute","loc":{"start":{"line":1,"column":3},"filename":"/cases/classes-empty.pug","end":{"line":1,"column":11}},"name":"class","mustEscape":true,"val":"''"}
{"type":"end-attributes","loc":{"start":{"line":1,"column":11},"filename":"/cases/classes-empty.pug","end":{"line":1,"column":12}}}
{"type":"newline","loc":{"start":{"line":2,"column":1},"filename":"/cases/classes-empty.pug","end":{"line":2,"column":1}}}
{"type":"tag","loc":{"start":{"line":2,"column":1},"filename":"/cases/classes-empty.pug","end":{"line":2,"column":2}},"val":"a"}
{"type":"start-attributes","loc":{"start":{"line":2,"column":2},"filename":"/cases/classes-empty.pug","end":{"line":2,"column":3}}}
{"type":"attribute","loc":{"start":{"line":2,"column":3},"filename":"/cases/classes-empty.pug","end":{"line":2,"column":13}},"name":"class","mustEscape":true,"val":"null"}
{"type":"end-attributes","loc":{"start":{"line":2,"column":13},"filename":"/cases/classes-empty.pug","end":{"line":2,"column":14}}}
{"type":"newline","loc":{"start":{"line":3,"column":1},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":1}}}
{"type":"tag","loc":{"start":{"line":3,"column":1},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":2}},"val":"a"}
{"type":"start-attributes","loc":{"start":{"line":3,"column":2},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":3}}}
{"type":"attribute","loc":{"start":{"line":3,"column":3},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":18}},"name":"class","mustEscape":true,"val":"undefined"}
{"type":"end-attributes","loc":{"start":{"line":3,"column":18},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":19}}}
{"type":"eos","loc":{"start":{"line":3,"column":19},"filename":"/cases/classes-empty.pug","end":{"line":3,"column":19}}}