Files
pugz/tests/sample_data/pug-parser/cases/escaping-class-attribute.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

31 lines
4.6 KiB
JSON

{"type":"tag","loc":{"start":{"line":1,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":1,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":1,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":1,"column":5}}}
{"type":"attribute","loc":{"start":{"line":1,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":1,"column":22}},"name":"attr","mustEscape":true,"val":"\"<%= bar %>\""}
{"type":"end-attributes","loc":{"start":{"line":1,"column":22},"filename":"/cases/escaping-class-attribute.pug","end":{"line":1,"column":23}}}
{"type":"newline","loc":{"start":{"line":2,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":2,"column":1}}}
{"type":"tag","loc":{"start":{"line":2,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":2,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":2,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":2,"column":5}}}
{"type":"attribute","loc":{"start":{"line":2,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":2,"column":23}},"name":"class","mustEscape":true,"val":"\"<%= bar %>\""}
{"type":"end-attributes","loc":{"start":{"line":2,"column":23},"filename":"/cases/escaping-class-attribute.pug","end":{"line":2,"column":24}}}
{"type":"newline","loc":{"start":{"line":3,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":3,"column":1}}}
{"type":"tag","loc":{"start":{"line":3,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":3,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":3,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":3,"column":5}}}
{"type":"attribute","loc":{"start":{"line":3,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":3,"column":23}},"name":"attr","mustEscape":false,"val":"\"<%= bar %>\""}
{"type":"end-attributes","loc":{"start":{"line":3,"column":23},"filename":"/cases/escaping-class-attribute.pug","end":{"line":3,"column":24}}}
{"type":"newline","loc":{"start":{"line":4,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":4,"column":1}}}
{"type":"tag","loc":{"start":{"line":4,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":4,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":4,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":4,"column":5}}}
{"type":"attribute","loc":{"start":{"line":4,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":4,"column":24}},"name":"class","mustEscape":false,"val":"\"<%= bar %>\""}
{"type":"end-attributes","loc":{"start":{"line":4,"column":24},"filename":"/cases/escaping-class-attribute.pug","end":{"line":4,"column":25}}}
{"type":"newline","loc":{"start":{"line":5,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":5,"column":1}}}
{"type":"tag","loc":{"start":{"line":5,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":5,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":5,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":5,"column":5}}}
{"type":"attribute","loc":{"start":{"line":5,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":5,"column":33}},"name":"class","mustEscape":false,"val":"\"<%= bar %> lol rofl\""}
{"type":"end-attributes","loc":{"start":{"line":5,"column":33},"filename":"/cases/escaping-class-attribute.pug","end":{"line":5,"column":34}}}
{"type":"newline","loc":{"start":{"line":6,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":6,"column":1}}}
{"type":"tag","loc":{"start":{"line":6,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":6,"column":4}},"val":"foo"}
{"type":"start-attributes","loc":{"start":{"line":6,"column":4},"filename":"/cases/escaping-class-attribute.pug","end":{"line":6,"column":5}}}
{"type":"attribute","loc":{"start":{"line":6,"column":5},"filename":"/cases/escaping-class-attribute.pug","end":{"line":6,"column":45}},"name":"class","mustEscape":false,"val":"\"<%= bar %> lol rofl <%= lmao %>\""}
{"type":"end-attributes","loc":{"start":{"line":6,"column":45},"filename":"/cases/escaping-class-attribute.pug","end":{"line":6,"column":46}}}
{"type":"newline","loc":{"start":{"line":7,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":7,"column":1}}}
{"type":"eos","loc":{"start":{"line":7,"column":1},"filename":"/cases/escaping-class-attribute.pug","end":{"line":7,"column":1}}}