All notable changes to this project will be documented in this file.
- Fix ci
- Fix clippy
- Add example of custom node to html-to-string-macro.
- Add eq and partial eq implementation.
- Move custom node implementation to separate crate.
- Refactor CustomNode trait
- Add readme to rstml-controll-flow
- Refine visitor api (remove clone/debug bounds)
- Add custom node visitor implementation
- Apply fmt/tests
- Refactor custom node visitor.
- Refactor code coverage script.
- Support for custom node
- Parsing utilities for custom nodes
- Add macro matcher
- Add visitor api.
- Implement extendable custom node
- Fix imports in example
- Empty input parsing
- Make Recoverable field public.
- Fix spelling mistake "witespace" to "whitespace"
- Add unquoted text custom node integration
- Use config and diagnostc from invalid_block in attribute place.
-
Use example from inline docs in readme
-
Address review
-
Allow multiple puncts in a row in NodeName
-
Added test for consecutive punctuation in NodeName
Signed-off-by: max gmx.sht@gmail.com
-
Update README.md
-
Default impl for Parser (#51)
-
Initial implementation of block attributes
-
Implement braced key value attribute. See also: #54
-
Remove scratch
-
Rename KVAttributeValue::Braced -> KVAttributeValue::InvalidBraced
- Update html-to-macro example
- Move ide feature of html-to-string example to separate macro.
- Fix ci
- Add powered by section in readme.
- Allow disabling color diagnostics
- Export NodeNameFragment
- Coresponding -> corresponding
- Clippy ci
- Apply fmt fixes
- Add tests for fn binding syntax.
- Doc test formatting
- Add generics support to node element.
- FnBinding pattern
- Feat: add number support in NodeName attribute Make NodeName compatible with SGML basic types specification (by adding support of more than one punctuation in series).
- Allow wildcard in any element.
-
Update README.md
-
Allow wildcard close tag for block elements
-
Make block element close wildcard more general
- Fix docs build.
- Fix fmt add git-hook
- Remove dbg macro.
- Fixup cargo docs
- Refactor node module, split types into submodules
- Update to syn 2.0
- Implement config passing, and allow to emit more than one error from macro expansion.
- Make Node types clonable.
- Fix recoverable parser. Now try to recover if any sequence is incorrect.
- Bump syn_derive to 0.1.6 to avoid nightly
- Start a new version history
- Add comparsion with syn-rsx
- Remove attributes from node list, and make type guaranties that attribute will be stored only in Element
- Improve tag close handling.
- Allow parsing of invalid rust code blocks
- Add support of unqoted text.
- Refactor ToTokens implementation and node structure to contain all source tokens.
- Re-implement tree flattening.
- Reimplement transform_block and fix tests
- Attribute value parsing span
- Updated example, bench, made fragment parsing recoverable.
- Make public keyed attribute fields.
- RawText to_source implementation on stable
-
Move node.rs to separate module.
-
Remove Display implementation for most of node types.
-
Simlify Parse and ToToken impl, by using syn_derive.
-
Refactor: remove NodeValueExpr type NodeValueExpr was replaced by syn::Expr in all places where expr is needed. For places where {code} is expected NodeBlock was used.
-
Cleanup of parsing code.
-
Refactor recoverable parser.
-
Refactor: Remove tls context at all. Use RecoverableContext instead.
- TRYBUILD=overwrite in ui tests
- Mixed name punctuation and node span (#44)
- Missing module documentation (#45)
- Fix formatting (#46)
- Fix code block (#47)
- Track the source span for all nodes (#42)
- [breaking] Replace Colon and Dash with a merged variant (#34)
- Add rustfmt.toml
- Update README
- Update example
- Update html macro docs
- Add link to example
- Fix node links
- Improve parser docs
- Remove TODO
- Fix attribute value example (#28)
- Fix blocks example (#29)
- Fix typo (#30)
- [breaking] Make path_to_string private
- Move flat tree converter back into node parser
- Switch fmt to nightly toolchain
- [breaking] Drop
NodeName::span
method - Pass block_transform a forked stream
- Move flat tree converter to node method
- Replace extrude with let-else (#31)
- Add Cargo.lock to .gitignore
- Add git-cliff configuration
- Add CHANGELOG
- Use the actual html-to-string-macro crate as example
- Update README badges
- Move config into dedicated module
- [breaking] Switch
Node
to enum-style (#23)
- Clippy
- Clippy
- Remove Cargo.lock
- Bump dependencies
- Update README
- Fix and sync
- Typo
- Doctypes, comments and fragments
- Value_as_string support for
ExprPath
- Should be value not name
- Remove unnecessary
Result
- More reserved keywords tests
- Sync lib with readme
- [breaking] Block in node name position (#11)
- Tarpaulin and codecov
- Node
- Properly handle empty elements
- [breaking] Transform_block callback (#9)
- [breaking] Doctype (#6)
- [breaking] Html comments (#7)
- [breaking] Fragments (#8)
- Formatting
- Bump criterion
- Cleanup
- Rephrase misleading unquoted text hint
- Update node description
- Update NodeName description
- Value_as_block method for nodes
- Implement ToString for NodeName
- Support blocks in html-to-string-macro
- Implement ToTokens for NodeName
- Only count top level nodes in case of flat_tree
- Parse2 with criterion
- More test tokens
- Update
- More peeking and better block parsing (#5)
- Use
node_name_punctuated_ident
to parse name path
- Better error reporting
- Rename test file
- Switch impl ToString on Node to impl Display
- Merge text and block handling
- Error reporting
- Expose span fn on NodeName as well
- Better error messages
- Check after parsing is done
- Update readme
- Update readme
- Test feature examples
- Helper function to get node name span
- Support blocks as attributes
- Configure maximum number of allowed top level nodes
- Configure type of top level nodes
- Bump
- Add html_to_string macro
- Peek to determine node type
- Better error messages
- Move integration tests into tests folder
- Move parse configuration from arg to dedicated fns
- Check value first
- Get rid of helper struct
- Exactly required number of top level nodes
- Update cargo lock
- Typo
- Update cargo.lock
- Exposed Dash and minor improvements
- Node names with colons
- Cleanup
- Rename Dashed to Dash
- Tests cleanup
- Dashed node names
- Update readme
- Cleanup
- Update example
- Rename childs to children (#1)
- Spelling
- Update example
- Update readme
- Change node name to
syn::ExprPath
- Use advance_to after fork
- Restructure code
- Cleanup
- Update readme
- Parse tag name and attribute value as
syn::Path
- Clippy lints
- Cleanup
- Use iter::once
- Cleanup
- Block expression parsing
- Update cargo.lock
- Bump syn dep
- Project keywords
- Parse full block
- Update cargo.lock
- Readme badges
- Readme key for crates.io
- Update
- Update readme
-
Initial commit
-
Build workflow
- Pub not needed
- Parse blocks as NodeType::Block