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:
@@ -0,0 +1,212 @@
|
||||
{
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Extends",
|
||||
"file": {
|
||||
"type": "FileReference",
|
||||
"path": "../fixtures/layout.pug",
|
||||
"line": 1,
|
||||
"filename": "root-mixin.pug",
|
||||
"fullPath": "../fixtures/layout.pug",
|
||||
"str": "doctype\n\nhtml\n head\n block head\n <title>Hello world!</title>\n body\n block body\n",
|
||||
"ast": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Doctype",
|
||||
"val": "",
|
||||
"line": 1,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
},
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "html",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "head",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "NamedBlock",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Text",
|
||||
"val": "<title>Hello world!</title>",
|
||||
"filename": "../fixtures/layout.pug",
|
||||
"line": 6,
|
||||
"isHtml": true
|
||||
}
|
||||
],
|
||||
"line": 5,
|
||||
"filename": "../fixtures/layout.pug",
|
||||
"name": "head",
|
||||
"mode": "replace"
|
||||
}
|
||||
],
|
||||
"line": 4,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 4,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
},
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "body",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "NamedBlock",
|
||||
"nodes": [],
|
||||
"line": 8,
|
||||
"filename": "../fixtures/layout.pug",
|
||||
"name": "body",
|
||||
"mode": "replace"
|
||||
}
|
||||
],
|
||||
"line": 7,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 7,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
}
|
||||
],
|
||||
"line": 3,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 3,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
}
|
||||
],
|
||||
"line": 0,
|
||||
"filename": "../fixtures/layout.pug"
|
||||
}
|
||||
},
|
||||
"line": 1,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
{
|
||||
"type": "Mixin",
|
||||
"name": "myMixin",
|
||||
"args": null,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "p",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Text",
|
||||
"val": "Hello world",
|
||||
"line": 4,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
],
|
||||
"line": 4,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 4,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
],
|
||||
"line": 4,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
"call": false,
|
||||
"line": 3,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
{
|
||||
"type": "NamedBlock",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "p",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Text",
|
||||
"val": "Before",
|
||||
"line": 7,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
],
|
||||
"line": 7,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 7,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
{
|
||||
"type": "Mixin",
|
||||
"name": "myMixin",
|
||||
"args": null,
|
||||
"block": null,
|
||||
"call": true,
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"line": 8,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
{
|
||||
"type": "Tag",
|
||||
"name": "p",
|
||||
"selfClosing": false,
|
||||
"block": {
|
||||
"type": "Block",
|
||||
"nodes": [
|
||||
{
|
||||
"type": "Text",
|
||||
"val": "After",
|
||||
"line": 9,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
],
|
||||
"line": 9,
|
||||
"filename": "root-mixin.pug"
|
||||
},
|
||||
"attrs": [],
|
||||
"attributeBlocks": [],
|
||||
"isInline": false,
|
||||
"line": 9,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
],
|
||||
"line": 6,
|
||||
"filename": "root-mixin.pug",
|
||||
"name": "body",
|
||||
"mode": "replace"
|
||||
}
|
||||
],
|
||||
"line": 0,
|
||||
"filename": "root-mixin.pug"
|
||||
}
|
||||
Reference in New Issue
Block a user