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,61 @@
{"type":"newline","loc":{"start":{"line":2,"column":1},"filename":"/cases/comments.pug","end":{"line":2,"column":1}}}
{"type":"comment","loc":{"start":{"line":2,"column":1},"filename":"/cases/comments.pug","end":{"line":2,"column":7}},"val":" foo","buffer":true}
{"type":"newline","loc":{"start":{"line":3,"column":1},"filename":"/cases/comments.pug","end":{"line":3,"column":1}}}
{"type":"tag","loc":{"start":{"line":3,"column":1},"filename":"/cases/comments.pug","end":{"line":3,"column":3}},"val":"ul"}
{"type":"indent","loc":{"start":{"line":4,"column":1},"filename":"/cases/comments.pug","end":{"line":4,"column":3}},"val":2}
{"type":"comment","loc":{"start":{"line":4,"column":3},"filename":"/cases/comments.pug","end":{"line":4,"column":9}},"val":" bar","buffer":true}
{"type":"newline","loc":{"start":{"line":5,"column":1},"filename":"/cases/comments.pug","end":{"line":5,"column":3}}}
{"type":"tag","loc":{"start":{"line":5,"column":3},"filename":"/cases/comments.pug","end":{"line":5,"column":5}},"val":"li"}
{"type":"text","loc":{"start":{"line":5,"column":6},"filename":"/cases/comments.pug","end":{"line":5,"column":9}},"val":"one"}
{"type":"newline","loc":{"start":{"line":6,"column":1},"filename":"/cases/comments.pug","end":{"line":6,"column":3}}}
{"type":"comment","loc":{"start":{"line":6,"column":3},"filename":"/cases/comments.pug","end":{"line":6,"column":9}},"val":" baz","buffer":true}
{"type":"newline","loc":{"start":{"line":7,"column":1},"filename":"/cases/comments.pug","end":{"line":7,"column":3}}}
{"type":"tag","loc":{"start":{"line":7,"column":3},"filename":"/cases/comments.pug","end":{"line":7,"column":5}},"val":"li"}
{"type":"text","loc":{"start":{"line":7,"column":6},"filename":"/cases/comments.pug","end":{"line":7,"column":9}},"val":"two"}
{"type":"outdent","loc":{"start":{"line":9,"column":1},"filename":"/cases/comments.pug","end":{"line":9,"column":1}}}
{"type":"comment","loc":{"start":{"line":9,"column":1},"filename":"/cases/comments.pug","end":{"line":9,"column":3}},"val":"","buffer":true}
{"type":"start-pipeless-text","loc":{"start":{"line":9,"column":3},"filename":"/cases/comments.pug","end":{"line":9,"column":3}}}
{"type":"text","loc":{"start":{"line":10,"column":3},"filename":"/cases/comments.pug","end":{"line":10,"column":5}},"val":"ul"}
{"type":"newline","loc":{"start":{"line":11,"column":1},"filename":"/cases/comments.pug","end":{"line":11,"column":3}}}
{"type":"text","loc":{"start":{"line":11,"column":3},"filename":"/cases/comments.pug","end":{"line":11,"column":11}},"val":" li foo"}
{"type":"newline","loc":{"start":{"line":12,"column":1},"filename":"/cases/comments.pug","end":{"line":12,"column":1}}}
{"type":"text","loc":{"start":{"line":12,"column":1},"filename":"/cases/comments.pug","end":{"line":12,"column":1}},"val":""}
{"type":"end-pipeless-text","loc":{"start":{"line":12,"column":1},"filename":"/cases/comments.pug","end":{"line":12,"column":1}}}
{"type":"newline","loc":{"start":{"line":13,"column":1},"filename":"/cases/comments.pug","end":{"line":13,"column":1}}}
{"type":"comment","loc":{"start":{"line":13,"column":1},"filename":"/cases/comments.pug","end":{"line":13,"column":9}},"val":" block","buffer":true}
{"type":"start-pipeless-text","loc":{"start":{"line":13,"column":9},"filename":"/cases/comments.pug","end":{"line":13,"column":9}}}
{"type":"text","loc":{"start":{"line":14,"column":3},"filename":"/cases/comments.pug","end":{"line":14,"column":19}},"val":"// inline follow"}
{"type":"newline","loc":{"start":{"line":15,"column":1},"filename":"/cases/comments.pug","end":{"line":15,"column":3}}}
{"type":"text","loc":{"start":{"line":15,"column":3},"filename":"/cases/comments.pug","end":{"line":15,"column":11}},"val":"li three"}
{"type":"newline","loc":{"start":{"line":16,"column":1},"filename":"/cases/comments.pug","end":{"line":16,"column":1}}}
{"type":"text","loc":{"start":{"line":16,"column":1},"filename":"/cases/comments.pug","end":{"line":16,"column":1}},"val":""}
{"type":"end-pipeless-text","loc":{"start":{"line":16,"column":1},"filename":"/cases/comments.pug","end":{"line":16,"column":1}}}
{"type":"newline","loc":{"start":{"line":17,"column":1},"filename":"/cases/comments.pug","end":{"line":17,"column":1}}}
{"type":"comment","loc":{"start":{"line":17,"column":1},"filename":"/cases/comments.pug","end":{"line":17,"column":9}},"val":" block","buffer":true}
{"type":"start-pipeless-text","loc":{"start":{"line":17,"column":9},"filename":"/cases/comments.pug","end":{"line":17,"column":9}}}
{"type":"text","loc":{"start":{"line":18,"column":3},"filename":"/cases/comments.pug","end":{"line":18,"column":29}},"val":"// inline followed by tags"}
{"type":"newline","loc":{"start":{"line":19,"column":1},"filename":"/cases/comments.pug","end":{"line":19,"column":3}}}
{"type":"text","loc":{"start":{"line":19,"column":3},"filename":"/cases/comments.pug","end":{"line":19,"column":5}},"val":"ul"}
{"type":"newline","loc":{"start":{"line":20,"column":1},"filename":"/cases/comments.pug","end":{"line":20,"column":3}}}
{"type":"text","loc":{"start":{"line":20,"column":3},"filename":"/cases/comments.pug","end":{"line":20,"column":12}},"val":" li four"}
{"type":"newline","loc":{"start":{"line":21,"column":1},"filename":"/cases/comments.pug","end":{"line":21,"column":1}}}
{"type":"text","loc":{"start":{"line":21,"column":1},"filename":"/cases/comments.pug","end":{"line":21,"column":1}},"val":""}
{"type":"end-pipeless-text","loc":{"start":{"line":21,"column":1},"filename":"/cases/comments.pug","end":{"line":21,"column":1}}}
{"type":"newline","loc":{"start":{"line":22,"column":1},"filename":"/cases/comments.pug","end":{"line":22,"column":1}}}
{"type":"comment","loc":{"start":{"line":22,"column":1},"filename":"/cases/comments.pug","end":{"line":22,"column":13}},"val":"if IE lt 9","buffer":true}
{"type":"start-pipeless-text","loc":{"start":{"line":22,"column":13},"filename":"/cases/comments.pug","end":{"line":22,"column":13}}}
{"type":"text","loc":{"start":{"line":23,"column":3},"filename":"/cases/comments.pug","end":{"line":23,"column":12}},"val":"// inline"}
{"type":"newline","loc":{"start":{"line":24,"column":1},"filename":"/cases/comments.pug","end":{"line":24,"column":3}}}
{"type":"text","loc":{"start":{"line":24,"column":3},"filename":"/cases/comments.pug","end":{"line":24,"column":25}},"val":"script(src='/lame.js')"}
{"type":"newline","loc":{"start":{"line":25,"column":1},"filename":"/cases/comments.pug","end":{"line":25,"column":3}}}
{"type":"text","loc":{"start":{"line":25,"column":3},"filename":"/cases/comments.pug","end":{"line":25,"column":16}},"val":"// end-inline"}
{"type":"newline","loc":{"start":{"line":26,"column":1},"filename":"/cases/comments.pug","end":{"line":26,"column":1}}}
{"type":"text","loc":{"start":{"line":26,"column":1},"filename":"/cases/comments.pug","end":{"line":26,"column":1}},"val":""}
{"type":"end-pipeless-text","loc":{"start":{"line":26,"column":1},"filename":"/cases/comments.pug","end":{"line":26,"column":1}}}
{"type":"newline","loc":{"start":{"line":27,"column":1},"filename":"/cases/comments.pug","end":{"line":27,"column":1}}}
{"type":"tag","loc":{"start":{"line":27,"column":1},"filename":"/cases/comments.pug","end":{"line":27,"column":2}},"val":"p"}
{"type":"text","loc":{"start":{"line":27,"column":3},"filename":"/cases/comments.pug","end":{"line":27,"column":7}},"val":"five"}
{"type":"newline","loc":{"start":{"line":29,"column":1},"filename":"/cases/comments.pug","end":{"line":29,"column":1}}}
{"type":"class","loc":{"start":{"line":29,"column":1},"filename":"/cases/comments.pug","end":{"line":29,"column":5}},"val":"foo"}
{"type":"text","loc":{"start":{"line":29,"column":6},"filename":"/cases/comments.pug","end":{"line":29,"column":22}},"val":"// not a comment"}
{"type":"eos","loc":{"start":{"line":29,"column":22},"filename":"/cases/comments.pug","end":{"line":29,"column":22}}}