gitextract_f46w__89/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ └── workflows/ │ ├── rollingversions.yml │ └── test.yml ├── .gitignore ├── .prettierrc.js ├── README.md ├── SECURITY.md ├── package.json ├── packages/ │ ├── pug/ │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── README.md │ │ │ ├── attributes.js │ │ │ ├── attributes.pug │ │ │ ├── code.js │ │ │ ├── code.pug │ │ │ ├── dynamicscript.js │ │ │ ├── dynamicscript.pug │ │ │ ├── each.js │ │ │ ├── each.pug │ │ │ ├── extend-layout.pug │ │ │ ├── extend.js │ │ │ ├── extend.pug │ │ │ ├── form.js │ │ │ ├── form.pug │ │ │ ├── includes/ │ │ │ │ ├── foot.pug │ │ │ │ ├── head.pug │ │ │ │ ├── scripts.pug │ │ │ │ └── style.css │ │ │ ├── includes.js │ │ │ ├── includes.pug │ │ │ ├── layout-debug.js │ │ │ ├── layout.js │ │ │ ├── layout.pug │ │ │ ├── mixins/ │ │ │ │ ├── dialog.pug │ │ │ │ └── profile.pug │ │ │ ├── mixins.js │ │ │ ├── mixins.pug │ │ │ ├── pet.pug │ │ │ ├── rss.js │ │ │ ├── rss.pug │ │ │ ├── text.js │ │ │ ├── text.pug │ │ │ ├── whitespace.js │ │ │ └── whitespace.pug │ │ ├── lib/ │ │ │ └── index.js │ │ ├── package.json │ │ ├── register.js │ │ ├── support/ │ │ │ └── benchmark.js │ │ └── test/ │ │ ├── README.md │ │ ├── __snapshots__/ │ │ │ └── pug.test.js.snap │ │ ├── anti-cases/ │ │ │ ├── attrs.unescaped.pug │ │ │ ├── case-when.pug │ │ │ ├── case-without-with.pug │ │ │ ├── else-condition.pug │ │ │ ├── else-without-if.pug │ │ │ ├── inlining-a-mixin-after-a-tag.pug │ │ │ ├── key-char-ending-badly.pug │ │ │ ├── key-ending-badly.pug │ │ │ ├── mismatched-inline-tag.pug │ │ │ ├── mixin-args-syntax-error.pug │ │ │ ├── mixins-blocks-with-bodies.pug │ │ │ ├── multiple-non-nested-tags-on-a-line.pug │ │ │ ├── non-existant-filter.pug │ │ │ ├── non-mixin-block.pug │ │ │ ├── open-brace-in-attributes.pug │ │ │ ├── readme.md │ │ │ ├── self-closing-tag-with-block.pug │ │ │ ├── self-closing-tag-with-body.pug │ │ │ ├── self-closing-tag-with-code.pug │ │ │ ├── tabs-and-spaces.pug │ │ │ ├── unclosed-interpolated-call.pug │ │ │ ├── unclosed-interpolated-tag.pug │ │ │ └── unclosed-interpolation.pug │ │ ├── browser/ │ │ │ ├── index.html │ │ │ └── index.pug │ │ ├── cases/ │ │ │ ├── attrs-data.html │ │ │ ├── attrs-data.pug │ │ │ ├── attrs.colon.html │ │ │ ├── attrs.colon.pug │ │ │ ├── attrs.html │ │ │ ├── attrs.js.html │ │ │ ├── attrs.js.pug │ │ │ ├── attrs.pug │ │ │ ├── attrs.unescaped.html │ │ │ ├── attrs.unescaped.pug │ │ │ ├── auxiliary/ │ │ │ │ ├── 1794-extends.pug │ │ │ │ ├── 1794-include.pug │ │ │ │ ├── blocks-in-blocks-layout.pug │ │ │ │ ├── dialog.pug │ │ │ │ ├── empty-block.pug │ │ │ │ ├── escapes.html │ │ │ │ ├── extends-empty-block-1.pug │ │ │ │ ├── extends-empty-block-2.pug │ │ │ │ ├── extends-from-root.pug │ │ │ │ ├── extends-relative.pug │ │ │ │ ├── filter-in-include.pug │ │ │ │ ├── includable.js │ │ │ │ ├── include-from-root.pug │ │ │ │ ├── inheritance.extend.mixin.block.pug │ │ │ │ ├── inheritance.extend.recursive-grand-grandparent.pug │ │ │ │ ├── inheritance.extend.recursive-grandparent.pug │ │ │ │ ├── inheritance.extend.recursive-parent.pug │ │ │ │ ├── layout.include.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── mixin-at-end-of-file.pug │ │ │ │ ├── mixins.pug │ │ │ │ ├── pet.pug │ │ │ │ ├── smile.html │ │ │ │ ├── window.pug │ │ │ │ └── yield-nested.pug │ │ │ ├── basic.html │ │ │ ├── basic.pug │ │ │ ├── blanks.html │ │ │ ├── blanks.pug │ │ │ ├── block-code.html │ │ │ ├── block-code.pug │ │ │ ├── block-expansion.html │ │ │ ├── block-expansion.pug │ │ │ ├── block-expansion.shorthands.html │ │ │ ├── block-expansion.shorthands.pug │ │ │ ├── blockquote.html │ │ │ ├── blockquote.pug │ │ │ ├── blocks-in-blocks.html │ │ │ ├── blocks-in-blocks.pug │ │ │ ├── blocks-in-if.html │ │ │ ├── blocks-in-if.pug │ │ │ ├── case-blocks.html │ │ │ ├── case-blocks.pug │ │ │ ├── case.html │ │ │ ├── case.pug │ │ │ ├── classes-empty.html │ │ │ ├── classes-empty.pug │ │ │ ├── classes.html │ │ │ ├── classes.pug │ │ │ ├── code.conditionals.html │ │ │ ├── code.conditionals.pug │ │ │ ├── code.escape.html │ │ │ ├── code.escape.pug │ │ │ ├── code.html │ │ │ ├── code.iteration.html │ │ │ ├── code.iteration.pug │ │ │ ├── code.pug │ │ │ ├── comments-in-case.html │ │ │ ├── comments-in-case.pug │ │ │ ├── comments.html │ │ │ ├── comments.pug │ │ │ ├── comments.source.html │ │ │ ├── comments.source.pug │ │ │ ├── doctype.custom.html │ │ │ ├── doctype.custom.pug │ │ │ ├── doctype.default.html │ │ │ ├── doctype.default.pug │ │ │ ├── doctype.keyword.html │ │ │ ├── doctype.keyword.pug │ │ │ ├── each.else.html │ │ │ ├── each.else.pug │ │ │ ├── escape-chars.html │ │ │ ├── escape-chars.pug │ │ │ ├── escape-test.html │ │ │ ├── escape-test.pug │ │ │ ├── escaping-class-attribute.html │ │ │ ├── escaping-class-attribute.pug │ │ │ ├── filter-in-include.html │ │ │ ├── filter-in-include.pug │ │ │ ├── filters-empty.html │ │ │ ├── filters-empty.pug │ │ │ ├── filters.coffeescript.html │ │ │ ├── filters.coffeescript.pug │ │ │ ├── filters.custom.html │ │ │ ├── filters.custom.pug │ │ │ ├── filters.include.custom.html │ │ │ ├── filters.include.custom.pug │ │ │ ├── filters.include.html │ │ │ ├── filters.include.pug │ │ │ ├── filters.inline.html │ │ │ ├── filters.inline.pug │ │ │ ├── filters.less.html │ │ │ ├── filters.less.pug │ │ │ ├── filters.markdown.html │ │ │ ├── filters.markdown.pug │ │ │ ├── filters.nested.html │ │ │ ├── filters.nested.pug │ │ │ ├── filters.stylus.html │ │ │ ├── filters.stylus.pug │ │ │ ├── html.html │ │ │ ├── html.pug │ │ │ ├── html5.html │ │ │ ├── html5.pug │ │ │ ├── include-extends-from-root.html │ │ │ ├── include-extends-from-root.pug │ │ │ ├── include-extends-of-common-template.html │ │ │ ├── include-extends-of-common-template.pug │ │ │ ├── include-extends-relative.html │ │ │ ├── include-extends-relative.pug │ │ │ ├── include-filter-coffee.coffee │ │ │ ├── include-only-text-body.html │ │ │ ├── include-only-text-body.pug │ │ │ ├── include-only-text.html │ │ │ ├── include-only-text.pug │ │ │ ├── include-with-text-head.html │ │ │ ├── include-with-text-head.pug │ │ │ ├── include-with-text.html │ │ │ ├── include-with-text.pug │ │ │ ├── include.script.html │ │ │ ├── include.script.pug │ │ │ ├── include.yield.nested.html │ │ │ ├── include.yield.nested.pug │ │ │ ├── includes-with-ext-js.html │ │ │ ├── includes-with-ext-js.pug │ │ │ ├── includes.html │ │ │ ├── includes.pug │ │ │ ├── inheritance.alert-dialog.html │ │ │ ├── inheritance.alert-dialog.pug │ │ │ ├── inheritance.defaults.html │ │ │ ├── inheritance.defaults.pug │ │ │ ├── inheritance.extend.html │ │ │ ├── inheritance.extend.include.html │ │ │ ├── inheritance.extend.include.pug │ │ │ ├── inheritance.extend.mixins.block.html │ │ │ ├── inheritance.extend.mixins.block.pug │ │ │ ├── inheritance.extend.mixins.html │ │ │ ├── inheritance.extend.mixins.pug │ │ │ ├── inheritance.extend.pug │ │ │ ├── inheritance.extend.recursive.html │ │ │ ├── inheritance.extend.recursive.pug │ │ │ ├── inheritance.extend.whitespace.html │ │ │ ├── inheritance.extend.whitespace.pug │ │ │ ├── inheritance.html │ │ │ ├── inheritance.pug │ │ │ ├── inline-tag.html │ │ │ ├── inline-tag.pug │ │ │ ├── intepolated-elements.html │ │ │ ├── intepolated-elements.pug │ │ │ ├── interpolated-mixin.html │ │ │ ├── interpolated-mixin.pug │ │ │ ├── interpolation.escape.html │ │ │ ├── interpolation.escape.pug │ │ │ ├── javascript-new-lines.js │ │ │ ├── layout.append.html │ │ │ ├── layout.append.pug │ │ │ ├── layout.append.without-block.html │ │ │ ├── layout.append.without-block.pug │ │ │ ├── layout.multi.append.prepend.block.html │ │ │ ├── layout.multi.append.prepend.block.pug │ │ │ ├── layout.prepend.html │ │ │ ├── layout.prepend.pug │ │ │ ├── layout.prepend.without-block.html │ │ │ ├── layout.prepend.without-block.pug │ │ │ ├── mixin-at-end-of-file.html │ │ │ ├── mixin-at-end-of-file.pug │ │ │ ├── mixin-block-with-space.html │ │ │ ├── mixin-block-with-space.pug │ │ │ ├── mixin-hoist.html │ │ │ ├── mixin-hoist.pug │ │ │ ├── mixin-via-include.html │ │ │ ├── mixin-via-include.pug │ │ │ ├── mixin.attrs.html │ │ │ ├── mixin.attrs.pug │ │ │ ├── mixin.block-tag-behaviour.html │ │ │ ├── mixin.block-tag-behaviour.pug │ │ │ ├── mixin.blocks.html │ │ │ ├── mixin.blocks.pug │ │ │ ├── mixin.merge.html │ │ │ ├── mixin.merge.pug │ │ │ ├── mixins-unused.html │ │ │ ├── mixins-unused.pug │ │ │ ├── mixins.html │ │ │ ├── mixins.pug │ │ │ ├── mixins.rest-args.html │ │ │ ├── mixins.rest-args.pug │ │ │ ├── namespaces.html │ │ │ ├── namespaces.pug │ │ │ ├── nesting.html │ │ │ ├── nesting.pug │ │ │ ├── pipeless-comments.html │ │ │ ├── pipeless-comments.pug │ │ │ ├── pipeless-filters.html │ │ │ ├── pipeless-filters.pug │ │ │ ├── pipeless-tag.html │ │ │ ├── pipeless-tag.pug │ │ │ ├── pre.html │ │ │ ├── pre.pug │ │ │ ├── quotes.html │ │ │ ├── quotes.pug │ │ │ ├── regression.1794.html │ │ │ ├── regression.1794.pug │ │ │ ├── regression.784.html │ │ │ ├── regression.784.pug │ │ │ ├── script.whitespace.html │ │ │ ├── script.whitespace.pug │ │ │ ├── scripts.html │ │ │ ├── scripts.non-js.html │ │ │ ├── scripts.non-js.pug │ │ │ ├── scripts.pug │ │ │ ├── self-closing-html.html │ │ │ ├── self-closing-html.pug │ │ │ ├── single-period.html │ │ │ ├── single-period.pug │ │ │ ├── some-included.styl │ │ │ ├── some.md │ │ │ ├── some.styl │ │ │ ├── source.html │ │ │ ├── source.pug │ │ │ ├── styles.html │ │ │ ├── styles.pug │ │ │ ├── tag.interpolation.html │ │ │ ├── tag.interpolation.pug │ │ │ ├── tags.self-closing.html │ │ │ ├── tags.self-closing.pug │ │ │ ├── template.html │ │ │ ├── template.pug │ │ │ ├── text-block.html │ │ │ ├── text-block.pug │ │ │ ├── text.html │ │ │ ├── text.pug │ │ │ ├── utf8bom.html │ │ │ ├── utf8bom.pug │ │ │ ├── vars.html │ │ │ ├── vars.pug │ │ │ ├── while.html │ │ │ ├── while.pug │ │ │ ├── xml.html │ │ │ ├── xml.pug │ │ │ ├── yield-before-conditional-head.html │ │ │ ├── yield-before-conditional-head.pug │ │ │ ├── yield-before-conditional.html │ │ │ ├── yield-before-conditional.pug │ │ │ ├── yield-head.html │ │ │ ├── yield-head.pug │ │ │ ├── yield-title-head.html │ │ │ ├── yield-title-head.pug │ │ │ ├── yield-title.html │ │ │ ├── yield-title.pug │ │ │ ├── yield.html │ │ │ └── yield.pug │ │ ├── cases-es2015/ │ │ │ ├── attr.html │ │ │ └── attr.pug │ │ ├── dependencies/ │ │ │ ├── dependency1.pug │ │ │ ├── dependency2.pug │ │ │ ├── dependency3.pug │ │ │ ├── extends1.pug │ │ │ ├── extends2.pug │ │ │ ├── include1.pug │ │ │ └── include2.pug │ │ ├── duplicate-block/ │ │ │ ├── __snapshots__/ │ │ │ │ └── index.test.js.snap │ │ │ ├── index.pug │ │ │ ├── index.test.js │ │ │ └── layout-with-duplicate-block.pug │ │ ├── eachOf/ │ │ │ ├── __snapshots__/ │ │ │ │ └── index.test.js.snap │ │ │ ├── error/ │ │ │ │ ├── left-side.pug │ │ │ │ ├── no-brackets.pug │ │ │ │ ├── one-val.pug │ │ │ │ └── right-side.pug │ │ │ ├── index.test.js │ │ │ └── passing/ │ │ │ ├── brackets.pug │ │ │ └── no-brackets.pug │ │ ├── error.reporting.test.js │ │ ├── examples.test.js │ │ ├── extends-not-top-level/ │ │ │ ├── default.pug │ │ │ ├── duplicate.pug │ │ │ ├── index.pug │ │ │ └── index.test.js │ │ ├── fixtures/ │ │ │ ├── append/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── page.html │ │ │ │ └── page.pug │ │ │ ├── append-without-block/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ └── page.pug │ │ │ ├── compile.with.include.locals.error.pug │ │ │ ├── compile.with.include.syntax.error.pug │ │ │ ├── compile.with.layout.locals.error.pug │ │ │ ├── compile.with.layout.syntax.error.pug │ │ │ ├── compile.with.layout.with.include.locals.error.pug │ │ │ ├── compile.with.layout.with.include.syntax.error.pug │ │ │ ├── element-with-multiple-attributes.pug │ │ │ ├── include.locals.error.pug │ │ │ ├── include.syntax.error.pug │ │ │ ├── invalid-block-in-extends.pug │ │ │ ├── issue-1593/ │ │ │ │ ├── include-layout.pug │ │ │ │ ├── include.pug │ │ │ │ ├── index.pug │ │ │ │ └── layout.pug │ │ │ ├── layout.locals.error.pug │ │ │ ├── layout.pug │ │ │ ├── layout.syntax.error.pug │ │ │ ├── layout.with.runtime.error.pug │ │ │ ├── mixin-include.pug │ │ │ ├── mixin.error.pug │ │ │ ├── multi-append-prepend-block/ │ │ │ │ ├── redefine.pug │ │ │ │ └── root.pug │ │ │ ├── perf.pug │ │ │ ├── prepend/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── page.html │ │ │ │ └── page.pug │ │ │ ├── prepend-without-block/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── page.html │ │ │ │ └── page.pug │ │ │ ├── runtime.error.pug │ │ │ ├── runtime.layout.error.pug │ │ │ ├── runtime.with.mixin.error.pug │ │ │ └── scripts.pug │ │ ├── markdown-it/ │ │ │ ├── comment.md │ │ │ ├── index.test.js │ │ │ ├── layout-markdown-include.pug │ │ │ └── layout-markdown-inline.pug │ │ ├── plugins.test.js │ │ ├── pug.test.js │ │ ├── regression-2436/ │ │ │ ├── __snapshots__/ │ │ │ │ └── index.test.js.snap │ │ │ ├── index.test.js │ │ │ ├── issue1.pug │ │ │ ├── issue2.pug │ │ │ ├── layout.pug │ │ │ ├── other1.pug │ │ │ ├── other2.pug │ │ │ └── other_layout.pug │ │ ├── run-es2015.test.js │ │ ├── run-syntax-errors.test.js │ │ ├── run-utils.js │ │ ├── run.test.js │ │ └── shadowed-block/ │ │ ├── __snapshots__/ │ │ │ └── index.test.js.snap │ │ ├── base.pug │ │ ├── index.pug │ │ ├── index.test.js │ │ └── layout.pug │ ├── pug-attrs/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test/ │ │ └── index.test.js │ ├── pug-code-gen/ │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── pug-error/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── test/ │ │ │ └── index.test.js │ │ └── tsconfig.json │ ├── pug-filters/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib/ │ │ │ ├── handle-filters.js │ │ │ └── run-filter.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ ├── filter-aliases.test.js.snap │ │ │ ├── index.test.js.snap │ │ │ └── per-filter-options-applied-to-nested-filters.test.js.snap │ │ ├── cases/ │ │ │ ├── filters-empty.input.json │ │ │ ├── filters.cdata.input.json │ │ │ ├── filters.coffeescript.input.json │ │ │ ├── filters.custom.input.json │ │ │ ├── filters.include.custom.input.json │ │ │ ├── filters.include.custom.pug │ │ │ ├── filters.include.input.json │ │ │ ├── filters.inline.input.json │ │ │ ├── filters.less.input.json │ │ │ ├── filters.markdown.input.json │ │ │ ├── filters.nested.input.json │ │ │ ├── filters.stylus.input.json │ │ │ ├── include-filter-coffee.coffee │ │ │ └── some.md │ │ ├── custom-filters.js │ │ ├── errors/ │ │ │ └── dynamic-option.input.json │ │ ├── errors-src/ │ │ │ └── dynamic-option.jade │ │ ├── filter-aliases.test.js │ │ ├── index.test.js │ │ └── per-filter-options-applied-to-nested-filters.test.js │ ├── pug-lexer/ │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── index.test.js.snap │ │ ├── cases/ │ │ │ ├── attr-es2015.pug │ │ │ ├── attrs-data.pug │ │ │ ├── attrs.js.pug │ │ │ ├── attrs.pug │ │ │ ├── attrs.unescaped.pug │ │ │ ├── basic.pug │ │ │ ├── blanks.pug │ │ │ ├── block-code.pug │ │ │ ├── block-expansion.pug │ │ │ ├── block-expansion.shorthands.pug │ │ │ ├── blockquote.pug │ │ │ ├── blocks-in-blocks.pug │ │ │ ├── blocks-in-if.pug │ │ │ ├── case-blocks.pug │ │ │ ├── case.pug │ │ │ ├── classes-empty.pug │ │ │ ├── classes.pug │ │ │ ├── code.conditionals.pug │ │ │ ├── code.escape.pug │ │ │ ├── code.iteration.pug │ │ │ ├── code.pug │ │ │ ├── comments-in-case.pug │ │ │ ├── comments.pug │ │ │ ├── comments.source.pug │ │ │ ├── doctype.custom.pug │ │ │ ├── doctype.default.pug │ │ │ ├── doctype.keyword.pug │ │ │ ├── each.else.pug │ │ │ ├── escape-chars.pug │ │ │ ├── escape-test.pug │ │ │ ├── escaping-class-attribute.pug │ │ │ ├── filter-in-include.pug │ │ │ ├── filters-empty.pug │ │ │ ├── filters.coffeescript.pug │ │ │ ├── filters.custom.pug │ │ │ ├── filters.include.custom.pug │ │ │ ├── filters.include.pug │ │ │ ├── filters.inline.pug │ │ │ ├── filters.less.pug │ │ │ ├── filters.markdown.pug │ │ │ ├── filters.nested.pug │ │ │ ├── filters.stylus.pug │ │ │ ├── filters.verbatim.pug │ │ │ ├── html.pug │ │ │ ├── html5.pug │ │ │ ├── include-extends-from-root.pug │ │ │ ├── include-extends-of-common-template.pug │ │ │ ├── include-extends-relative.pug │ │ │ ├── include-only-text-body.pug │ │ │ ├── include-only-text.pug │ │ │ ├── include-with-text-head.pug │ │ │ ├── include-with-text.pug │ │ │ ├── include.script.pug │ │ │ ├── include.yield.nested.pug │ │ │ ├── includes-with-ext-js.pug │ │ │ ├── includes.pug │ │ │ ├── inheritance.alert-dialog.pug │ │ │ ├── inheritance.defaults.pug │ │ │ ├── inheritance.extend.include.pug │ │ │ ├── inheritance.extend.mixins.block.pug │ │ │ ├── inheritance.extend.mixins.pug │ │ │ ├── inheritance.extend.pug │ │ │ ├── inheritance.extend.recursive.pug │ │ │ ├── inheritance.extend.whitespace.pug │ │ │ ├── inheritance.pug │ │ │ ├── inline-block-comment.pug │ │ │ ├── inline-tag.pug │ │ │ ├── intepolated-elements.pug │ │ │ ├── interpolated-mixin.pug │ │ │ ├── interpolation.escape.pug │ │ │ ├── javascript-new-lines.js │ │ │ ├── layout.append.pug │ │ │ ├── layout.append.without-block.pug │ │ │ ├── layout.multi.append.prepend.block.pug │ │ │ ├── layout.prepend.pug │ │ │ ├── layout.prepend.without-block.pug │ │ │ ├── mixin-at-end-of-file.pug │ │ │ ├── mixin-block-with-space.pug │ │ │ ├── mixin-hoist.pug │ │ │ ├── mixin-via-include.pug │ │ │ ├── mixin.attrs.pug │ │ │ ├── mixin.block-tag-behaviour.pug │ │ │ ├── mixin.blocks.pug │ │ │ ├── mixin.merge.pug │ │ │ ├── mixins-unused.pug │ │ │ ├── mixins.pug │ │ │ ├── mixins.rest-args.pug │ │ │ ├── namespaces.pug │ │ │ ├── nesting.pug │ │ │ ├── pipeless-comments.pug │ │ │ ├── pipeless-filters.pug │ │ │ ├── pipeless-tag.pug │ │ │ ├── pre.pug │ │ │ ├── quotes.pug │ │ │ ├── regression.1794.pug │ │ │ ├── regression.784.pug │ │ │ ├── script.whitespace.pug │ │ │ ├── scripts.non-js.pug │ │ │ ├── scripts.pug │ │ │ ├── self-closing-html.pug │ │ │ ├── single-period.pug │ │ │ ├── source.pug │ │ │ ├── styles.pug │ │ │ ├── tag-blocks.pug │ │ │ ├── tag.interpolation.pug │ │ │ ├── tags.self-closing.pug │ │ │ ├── template.pug │ │ │ ├── text-block.pug │ │ │ ├── text.pug │ │ │ ├── utf8bom.pug │ │ │ ├── vars.pug │ │ │ ├── while.pug │ │ │ ├── xml.pug │ │ │ ├── yield-before-conditional-head.pug │ │ │ ├── yield-before-conditional.pug │ │ │ ├── yield-head.pug │ │ │ ├── yield-title-head.pug │ │ │ ├── yield-title.pug │ │ │ └── yield.pug │ │ ├── check-lexer-functions.test.js │ │ ├── errors/ │ │ │ ├── attribute-invalid-expression.pug │ │ │ ├── case-with-invalid-expression.pug │ │ │ ├── case-with-no-expression.pug │ │ │ ├── default-with-expression.pug │ │ │ ├── else-with-condition.pug │ │ │ ├── extends-no-path.pug │ │ │ ├── include-filter-no-path-2.pug │ │ │ ├── include-filter-no-path.pug │ │ │ ├── include-filter-no-space.pug │ │ │ ├── include-no-path.pug │ │ │ ├── inconsistent-indentation.pug │ │ │ ├── interpolated-call.pug │ │ │ ├── invalid-class-name-1.pug │ │ │ ├── invalid-class-name-2.pug │ │ │ ├── invalid-class-name-3.pug │ │ │ ├── invalid-id.pug │ │ │ ├── malformed-each.pug │ │ │ ├── malformed-extend.pug │ │ │ ├── malformed-include.pug │ │ │ ├── mismatched-inline-tag.pug │ │ │ ├── mismatched-tag-interpolation.pug │ │ │ ├── multi-line-interpolation.pug │ │ │ ├── old-prefixed-each.pug │ │ │ ├── open-interpolation.pug │ │ │ ├── when-with-no-expression.pug │ │ │ └── while-with-no-expression.pug │ │ └── index.test.js │ ├── pug-linker/ │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── index.test.js.snap │ │ ├── cases/ │ │ │ ├── include-extends-from-root.input.json │ │ │ ├── include-extends-of-common-template.input.json │ │ │ ├── include-extends-relative.input.json │ │ │ ├── include-filter-stylus.input.json │ │ │ ├── include-filter.input.json │ │ │ ├── include-only-text-body.input.json │ │ │ ├── include-only-text.input.json │ │ │ ├── include-with-text-head.input.json │ │ │ ├── include-with-text.input.json │ │ │ ├── include.script.input.json │ │ │ ├── include.yield.nested.input.json │ │ │ ├── includes-with-ext-js.input.json │ │ │ ├── includes.input.json │ │ │ ├── layout.append.input.json │ │ │ ├── layout.append.without-block.input.json │ │ │ ├── layout.multi.append.prepend.block.input.json │ │ │ ├── layout.prepend.input.json │ │ │ └── layout.prepend.without-block.input.json │ │ ├── cases-src/ │ │ │ ├── auxiliary/ │ │ │ │ ├── 1794-extends.pug │ │ │ │ ├── 1794-include.pug │ │ │ │ ├── blocks-in-blocks-layout.pug │ │ │ │ ├── dialog.pug │ │ │ │ ├── empty-block.pug │ │ │ │ ├── escapes.html │ │ │ │ ├── extends-empty-block-1.pug │ │ │ │ ├── extends-empty-block-2.pug │ │ │ │ ├── extends-from-root.pug │ │ │ │ ├── extends-relative.pug │ │ │ │ ├── filter-in-include.pug │ │ │ │ ├── includable.js │ │ │ │ ├── include-from-root.pug │ │ │ │ ├── inheritance.extend.mixin.block.pug │ │ │ │ ├── inheritance.extend.recursive-grand-grandparent.pug │ │ │ │ ├── inheritance.extend.recursive-grandparent.pug │ │ │ │ ├── inheritance.extend.recursive-parent.pug │ │ │ │ ├── layout.include.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── mixin-at-end-of-file.pug │ │ │ │ ├── mixins.pug │ │ │ │ ├── pet.pug │ │ │ │ ├── smile.html │ │ │ │ ├── window.pug │ │ │ │ └── yield-nested.pug │ │ │ ├── include-extends-from-root.pug │ │ │ ├── include-extends-of-common-template.pug │ │ │ ├── include-extends-relative.pug │ │ │ ├── include-filter-coffee.coffee │ │ │ ├── include-filter-stylus.pug │ │ │ ├── include-filter.pug │ │ │ ├── include-only-text-body.pug │ │ │ ├── include-only-text.pug │ │ │ ├── include-with-text-head.pug │ │ │ ├── include-with-text.pug │ │ │ ├── include.script.pug │ │ │ ├── include.yield.nested.pug │ │ │ ├── includes-with-ext-js.pug │ │ │ ├── includes.pug │ │ │ ├── javascript-new-lines.js │ │ │ ├── layout.append.pug │ │ │ ├── layout.append.without-block.pug │ │ │ ├── layout.multi.append.prepend.block.pug │ │ │ ├── layout.prepend.pug │ │ │ ├── layout.prepend.without-block.pug │ │ │ ├── some-included.styl │ │ │ ├── some.md │ │ │ └── some.styl │ │ ├── errors/ │ │ │ ├── child-with-tags.input.json │ │ │ ├── extends-not-first.input.json │ │ │ └── unexpected-block.input.json │ │ ├── errors-src/ │ │ │ ├── child-with-tags.pug │ │ │ ├── extends-not-first.pug │ │ │ └── unexpected-block.pug │ │ ├── fixtures/ │ │ │ ├── append/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── page.html │ │ │ │ └── page.pug │ │ │ ├── append-without-block/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ └── page.pug │ │ │ ├── empty.pug │ │ │ ├── layout.pug │ │ │ ├── mixins.pug │ │ │ ├── multi-append-prepend-block/ │ │ │ │ ├── redefine.pug │ │ │ │ └── root.pug │ │ │ ├── prepend/ │ │ │ │ ├── app-layout.pug │ │ │ │ ├── layout.pug │ │ │ │ ├── page.html │ │ │ │ └── page.pug │ │ │ └── prepend-without-block/ │ │ │ ├── app-layout.pug │ │ │ ├── layout.pug │ │ │ ├── page.html │ │ │ └── page.pug │ │ ├── index.test.js │ │ ├── special-cases/ │ │ │ ├── extending-empty.input.json │ │ │ ├── extending-include.input.json │ │ │ └── root-mixin.input.json │ │ └── special-cases-src/ │ │ ├── extending-empty.pug │ │ ├── extending-include.pug │ │ └── root-mixin.pug │ ├── pug-load/ │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── index.test.js.snap │ │ ├── bar.pug │ │ ├── bing.pug │ │ ├── foo.pug │ │ ├── index.test.js │ │ └── script.js │ ├── pug-parser/ │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib/ │ │ │ └── inline-tags.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ ├── index.test.js.snap │ │ │ └── no-unnecessary-blocks.test.js.snap │ │ ├── cases/ │ │ │ ├── attr-es2015.tokens.json │ │ │ ├── attrs-data.tokens.json │ │ │ ├── attrs.js.tokens.json │ │ │ ├── attrs.tokens.json │ │ │ ├── attrs.unescaped.tokens.json │ │ │ ├── basic.tokens.json │ │ │ ├── blanks.tokens.json │ │ │ ├── block-code.tokens.json │ │ │ ├── block-expansion.shorthands.tokens.json │ │ │ ├── block-expansion.tokens.json │ │ │ ├── blockquote.tokens.json │ │ │ ├── blocks-in-blocks.tokens.json │ │ │ ├── blocks-in-if.tokens.json │ │ │ ├── case-blocks.tokens.json │ │ │ ├── case.tokens.json │ │ │ ├── classes-empty.tokens.json │ │ │ ├── classes.tokens.json │ │ │ ├── code.conditionals.tokens.json │ │ │ ├── code.escape.tokens.json │ │ │ ├── code.iteration.tokens.json │ │ │ ├── code.tokens.json │ │ │ ├── comments-in-case.tokens.json │ │ │ ├── comments.source.tokens.json │ │ │ ├── comments.tokens.json │ │ │ ├── doctype.custom.tokens.json │ │ │ ├── doctype.default.tokens.json │ │ │ ├── doctype.keyword.tokens.json │ │ │ ├── each.else.tokens.json │ │ │ ├── escape-chars.tokens.json │ │ │ ├── escape-test.tokens.json │ │ │ ├── escaping-class-attribute.tokens.json │ │ │ ├── filter-in-include.tokens.json │ │ │ ├── filters-empty.tokens.json │ │ │ ├── filters.coffeescript.tokens.json │ │ │ ├── filters.custom.tokens.json │ │ │ ├── filters.include.custom.tokens.json │ │ │ ├── filters.include.tokens.json │ │ │ ├── filters.inline.tokens.json │ │ │ ├── filters.less.tokens.json │ │ │ ├── filters.markdown.tokens.json │ │ │ ├── filters.nested.tokens.json │ │ │ ├── filters.stylus.tokens.json │ │ │ ├── filters.verbatim.tokens.json │ │ │ ├── html.tokens.json │ │ │ ├── html5.tokens.json │ │ │ ├── include-extends-from-root.tokens.json │ │ │ ├── include-extends-of-common-template.tokens.json │ │ │ ├── include-extends-relative.tokens.json │ │ │ ├── include-only-text-body.tokens.json │ │ │ ├── include-only-text.tokens.json │ │ │ ├── include-with-text-head.tokens.json │ │ │ ├── include-with-text.tokens.json │ │ │ ├── include.script.tokens.json │ │ │ ├── include.yield.nested.tokens.json │ │ │ ├── includes-with-ext-js.tokens.json │ │ │ ├── includes.tokens.json │ │ │ ├── inheritance.alert-dialog.tokens.json │ │ │ ├── inheritance.defaults.tokens.json │ │ │ ├── inheritance.extend.include.tokens.json │ │ │ ├── inheritance.extend.mixins.block.tokens.json │ │ │ ├── inheritance.extend.mixins.tokens.json │ │ │ ├── inheritance.extend.recursive.tokens.json │ │ │ ├── inheritance.extend.tokens.json │ │ │ ├── inheritance.extend.whitespace.tokens.json │ │ │ ├── inheritance.tokens.json │ │ │ ├── inline-block-comment.tokens.json │ │ │ ├── inline-tag.tokens.json │ │ │ ├── intepolated-elements.tokens.json │ │ │ ├── interpolated-mixin.tokens.json │ │ │ ├── interpolation.escape.tokens.json │ │ │ ├── layout.append.tokens.json │ │ │ ├── layout.append.without-block.tokens.json │ │ │ ├── layout.multi.append.prepend.block.tokens.json │ │ │ ├── layout.prepend.tokens.json │ │ │ ├── layout.prepend.without-block.tokens.json │ │ │ ├── mixin-at-end-of-file.tokens.json │ │ │ ├── mixin-block-with-space.tokens.json │ │ │ ├── mixin-hoist.tokens.json │ │ │ ├── mixin-via-include.tokens.json │ │ │ ├── mixin.attrs.tokens.json │ │ │ ├── mixin.block-tag-behaviour.tokens.json │ │ │ ├── mixin.blocks.tokens.json │ │ │ ├── mixin.merge.tokens.json │ │ │ ├── mixins-unused.tokens.json │ │ │ ├── mixins.rest-args.tokens.json │ │ │ ├── mixins.tokens.json │ │ │ ├── namespaces.tokens.json │ │ │ ├── nesting.tokens.json │ │ │ ├── pipeless-comments.tokens.json │ │ │ ├── pipeless-filters.tokens.json │ │ │ ├── pipeless-tag.tokens.json │ │ │ ├── pre.tokens.json │ │ │ ├── quotes.tokens.json │ │ │ ├── regression.1794.tokens.json │ │ │ ├── regression.784.tokens.json │ │ │ ├── script.whitespace.tokens.json │ │ │ ├── scripts.non-js.tokens.json │ │ │ ├── scripts.tokens.json │ │ │ ├── self-closing-html.tokens.json │ │ │ ├── single-period.tokens.json │ │ │ ├── source.tokens.json │ │ │ ├── styles.tokens.json │ │ │ ├── tag-blocks.tokens.json │ │ │ ├── tag.interpolation.tokens.json │ │ │ ├── tags.self-closing.tokens.json │ │ │ ├── template.tokens.json │ │ │ ├── text-block.tokens.json │ │ │ ├── text.tokens.json │ │ │ ├── utf8bom.tokens.json │ │ │ ├── vars.tokens.json │ │ │ ├── while.tokens.json │ │ │ ├── xml.tokens.json │ │ │ ├── yield-before-conditional-head.tokens.json │ │ │ ├── yield-before-conditional.tokens.json │ │ │ ├── yield-head.tokens.json │ │ │ ├── yield-title-head.tokens.json │ │ │ ├── yield-title.tokens.json │ │ │ └── yield.tokens.json │ │ ├── index.test.js │ │ └── no-unnecessary-blocks.test.js │ ├── pug-runtime/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build.js │ │ ├── index.js │ │ ├── package.json │ │ ├── prepublish.js │ │ ├── test/ │ │ │ └── index.test.js │ │ └── wrap.js │ ├── pug-strip-comments/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test/ │ │ ├── __snapshots__/ │ │ │ └── index.test.js.snap │ │ ├── cases/ │ │ │ ├── comments-in-case.input.json │ │ │ ├── comments.input.json │ │ │ └── comments.source.input.json │ │ ├── errors/ │ │ │ ├── comment-in-comment.input.json │ │ │ ├── end.input.json │ │ │ └── startstart.input.json │ │ └── index.test.js │ └── pug-walk/ │ ├── .gitignore │ ├── .travis.yml │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test/ │ └── index.test.js ├── scripts/ │ ├── buffer-serializer.js │ ├── filename-serializer.js │ ├── prebuild.js │ └── prettier-javascript-serializer.js └── tsconfig.json