### SuperHTML Extend Tag Example Source: https://github.com/kristoff-it/superhtml/blob/main/tree-sitter-superhtml/test/corpus/superhtml.txt Demonstrates the Extend Tag for template inheritance, specifying a base template and overriding content sections. ```html

``` -------------------------------- ### SuperHTML Extend Tag AST Source: https://github.com/kristoff-it/superhtml/blob/main/tree-sitter-superhtml/test/corpus/superhtml.txt The AST representation of the Extend Tag example, showing the parsed structure for template inheritance. ```tree-sitter-grammar (document (element (start_tag (tag_name) (attribute (attribute_name) (quoted_attribute_value (attribute_value))))) (element (start_tag (tag_name) (attribute (attribute_name) (quoted_attribute_value (attribute_value))) (attribute (attribute_name) (quoted_attribute_value (attribute_value)))) (end_tag (tag_name))) (element (start_tag (tag_name) (attribute (attribute_name) (quoted_attribute_value (attribute_value)))) (element (start_tag (tag_name) (attribute (attribute_name) (quoted_attribute_value (attribute_value)))) (end_tag (tag_name))) (element (start_tag (tag_name) (attribute (attribute_name) (quoted_attribute_value (attribute_value)))) (end_tag (tag_name))) (end_tag (tag_name)))) ``` -------------------------------- ### Configure Eglot with SuperHTML using use-package Source: https://github.com/kristoff-it/superhtml/blob/main/editors/emacs/README.md Use this configuration with the `use-package` macro to automatically set up Eglot and the SuperHTML language server for `web-mode`. Ensure `superhtml` is in your PATH. ```elisp (use-package eglot :defer t :hook ((web-mode . eglot-ensure)) :config (add-to-list 'eglot-server-programs '((web-mode :language-id "html") . ("superhtml" "lsp")))) ``` -------------------------------- ### HTML Autoformatting: Whitespace Between Start Tag and Content Source: https://github.com/kristoff-it/superhtml/blob/main/editors/vscode/README.md Demonstrates adding or removing whitespace between an element's start tag and its content. This rule affects how content is indented relative to the opening tag. ```html

Foo

``` ```html

Foo

``` ```html

Foo

``` ```html

Foo

```