Files
pugz/tests/sample_data/pug-parser/cases/inheritance.extend.mixins.tokens.json
Ankit Patial aaf6a1af2d 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
2026-01-25 17:10:02 +05:30

22 lines
3.2 KiB
JSON

{"type":"newline","loc":{"start":{"line":2,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":2,"column":1}}}
{"type":"extends","loc":{"start":{"line":2,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":2,"column":7}}}
{"type":"path","loc":{"start":{"line":2,"column":8},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":2,"column":28}},"val":"auxiliary/layout.pug"}
{"type":"newline","loc":{"start":{"line":4,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":4,"column":1}}}
{"type":"mixin","loc":{"start":{"line":4,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":4,"column":21}},"val":"article","args":"title"}
{"type":"indent","loc":{"start":{"line":5,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":5,"column":3}},"val":2}
{"type":"if","loc":{"start":{"line":5,"column":3},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":5,"column":11}},"val":"title"}
{"type":"indent","loc":{"start":{"line":6,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":6,"column":5}},"val":4}
{"type":"tag","loc":{"start":{"line":6,"column":5},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":6,"column":7}},"val":"h1"}
{"type":"code","loc":{"start":{"line":6,"column":7},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":6,"column":14}},"val":"title","mustEscape":true,"buffer":true}
{"type":"outdent","loc":{"start":{"line":7,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":7,"column":3}}}
{"type":"mixin-block","loc":{"start":{"line":7,"column":3},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":7,"column":8}}}
{"type":"outdent","loc":{"start":{"line":9,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":9,"column":1}}}
{"type":"block","loc":{"start":{"line":9,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":9,"column":14}},"val":"content","mode":"replace"}
{"type":"indent","loc":{"start":{"line":10,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":10,"column":3}},"val":2}
{"type":"call","loc":{"start":{"line":10,"column":3},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":10,"column":34}},"val":"article","args":"\"The meaning of life\""}
{"type":"indent","loc":{"start":{"line":11,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":11,"column":5}},"val":4}
{"type":"tag","loc":{"start":{"line":11,"column":5},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":11,"column":6}},"val":"p"}
{"type":"text","loc":{"start":{"line":11,"column":7},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":11,"column":19}},"val":"Foo bar baz!"}
{"type":"outdent","loc":{"start":{"line":12,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":12,"column":1}}}
{"type":"outdent","loc":{"start":{"line":12,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":12,"column":1}}}
{"type":"eos","loc":{"start":{"line":12,"column":1},"filename":"/cases/inheritance.extend.mixins.pug","end":{"line":12,"column":1}}}