All notable changes to this project will be documented in this file.
- Update deps versions.
- Add fix for merge tests.
- Apply clippy fixups.
- Update to new syn version
- Usage of unquoted comments, and package build
- Update deps + fix new nightly line number format.
- Fix typo
- Rewrite parser for Generics in tag.
- Update dependency versions.
- Support HTML comments
- Partial progress toward working const generic arguments
- Destructure WalkNodesOutput extend
- Update html-to-macro example
- Move ide feature of html-to-string example to separate macro.
- Fix ci
- Add powered by section in readme.
- 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.
- Allow disabling color diagnostics
- Support for custom node
- Parsing utilities for custom nodes
- Add macro matcher
- Add visitor api.
- Implement extendable custom node
- Export NodeNameFragment
- 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.
- Coresponding -> corresponding
- 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
- Refactor workspace move rstml to separate folder.
Use workspace version of dependencies whenever is possible.
- 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::spanmethod - 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
Nodeto 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_identto 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