38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
# @lezer/html
|
||
|
||
This is an HTML grammar for the
|
||
[lezer](https://lezer.codemirror.net/) parser system.
|
||
|
||
The code is licensed under an MIT license.
|
||
|
||
## Interface
|
||
|
||
This package exports two bindings:
|
||
|
||
**`parser`**`: Parser`
|
||
|
||
The parser instance for the basic HTML grammar. Supports two dialects:
|
||
|
||
- `"noMatch"` turns off tag matching, creating regular syntax nodes
|
||
even for mismatched tags.
|
||
|
||
- `"selfClosing"` adds support for `/>` self-closing tag syntax.
|
||
|
||
**`configureNesting`**`(tags?: {`\
|
||
` tag: string,`\
|
||
` attrs?: (attrs: {[attr: string]: string}) => boolean,`\
|
||
` parser: Parser,`\
|
||
`}[], attributes?: {`\
|
||
` name: string,`\
|
||
` tagName?: string,`\
|
||
` parser: Parser,`\
|
||
`}[]): ParseWrapper`
|
||
|
||
Create a nested parser config object which overrides the way the
|
||
content of some tags or attributes is parsed. Each tag override is an
|
||
object with a `tag` property holding the (lower case) tag name to
|
||
override, and an optional `attrs` predicate that, if given, has to
|
||
return true for the tag's attributes for this override to apply.
|
||
|
||
The `parser` property describes the way the tag's content is parsed.
|