Features
- add
EndOfLineinline support to inline parser (353b53f) - add
EndOfLinetoken support to inline lexer (91251a5) - add
Inline::with_spanimplementation (483c029) - add
into_plainimpl forToken(5ececca) - add
Multiplevariant to Inline (35d8e5b) - add
TokenDelimitersstruct and impl (4f81c70) - add api to check whether the cached token is already open (7e0b8b6)
- add api to get span of inline (cf58e5c)
- add api to get textual length of
Token(302dcbd) - add api to iterate over NestedContent (f3e4e33)
- add api to split ambiguous
Tokeninto two non-ambiguousTokens (a212a10) - add arrows support to substitutions (35825d4)
- add basic logging to core crate (200dc22)
- add constructor function to
Position(9c0b0c8) - add Debug derive for ParserStack (93003bd)
- add direct init functions to inline
Token(67166e8) - add direct substitution support to inline lexer (aa419ab)
- add functionality relating to
Inlines (411350c) - add functions to token to aid inline parsing (7781643)
- add getters for
TokenDelimiterstags (a95cba8) - add html tags for text group (a927618)
- add inline caching and merging to parser (137a528)
- add inlines parser - partial implementation (19c9420)
- add inlines parser, starting implementation (49c18d5)
- add more
std::opsimpls for Position (61f7c92) - add more
TokenKindvariants (578a5ed) - add more helper functions to IsKeyword trait (f31b941)
- add new parser module and implement symbol (c96b25c)
- add render crate to extract trait from core (cbd64eb)
- add setup traits and blanket impls for parsing (e31ce69)
- add structs for Inline and InlineContent etc. (49c2257)
- add support for
Inline::Substitution(ee901b4) - add support for multi-line inline formatting (bc9badb)
- add support for nested text groups (86a6844)
- add support for unimarkup text group inline (49fb173)
- add syntax highlighting for verbatim blocks (2102a44)
- add type alias for parser functions (43fd005)
- add unimarkup_inline as dep. to unimarkup_core (7e597a3)
- blanket implement
ParseUnimarkupInlines(9c3c46b) - cache token when split during parsing (95a1aab)
- derive impl of
DebugandCloneonTokenIterator(9f2980f) - expose more
Tokenapi to the inlines crate (cd364fe) - extend functionality of inlines (4f28589)
- extract Render from core and introduce logid (fc7cbac), closes #74
- impl
Renderforunimarkup_inline::Inline(96055ed) - impl some
std::opsfor Spacing (593a456) - implement
TokenBuilder(76c705b) - implement
Tokenizefor&str(f10a561) - implement basic inline lexer (0c006ad)
- implement basic inline tokens (45a71cd)
- implement basic lexer for plain, bold tokens (f380906)
- implement basic lexer for plain, bold tokens (54a8ef7)
- implement basic lexer of plain text (329ff68)
- implement basic token resolver (c75d69f)
- implement basics of MainParser for Unimarkup (e69ab67)
- implement conversion of string into symbols (01cbd31)
- implement ElementParser for Heading (ccb6e28)
- implement ElementParser for Paragraph (fcd4aab)
- implement ElementParser for Verbatim block (a60134d)
- implement getter functions for
Token(52da4d6) - implement lexing of (some) tokens (82079e1)
- implement substitutions of emojis (7e54e71)
- improve
Contentenum API (900e928) - improve
SubstituteAPI (2d9d214) - improve is_whitespace impl on
&str(3986929) - improve lexer and parser (21f8024)
- improve lexing of plain text (5487507)
- inline: add arow and emoji substitution (99231e7)
- inline: add basic collect() functionality (571aea4)
- inline: add basic support for text groups (a63d743)
- inline: add escape functionality (f675e97)
- inline: add escape handling to collect() (89b4fb1)
- inline: add inline token identifiers (82b4fda)
- inline: add newline handling (665b330)
- inline: add offset possibility for parsing (0d538cd)
- inline: add TextGroup element to ast (8761263)
- inline: add verbatim formatting (031dde8)
- inline: implement token resolver (0cd1d59)
- inline: introduce plain newline token (3d3566a)
- inline: switch to grapheme iterator (16eed17)
- introduce
lex_late_tokenand highlight (7711847) - introduce
WhitespaceTokenKind (ce0e8bc) - lex escape sequence, improve lexing of plain (1b9b9df)
- make um elements public (138765c)
- move to inline crate for inline formatting (ba88b48)
- reduce nesting of InlineContent when possible (7946da0)
- reimplement
parse_unimarkupusing new parser (089d995) - rework tests for lexing of
*symbol (88506c0) - substitute emojis in inlines (0e3de0b)
- support more symbols in inlines lexer (49f606d)
- update parser to new
Inlinedata structure (b08bff0) - use constant in IsKeyword is_esc() function (04fa417)
- use new parser implementation in compiler (56663b0)
- use token caching to resolve ambiguity (da0efe2)
- use unimarkup_inline for HeadingBlock (36c129b)
- use unimarkup_inline for ParagraphBlock (c0ee710)
- use unimarkup_inline render implementation (47f3fe6)
Bug Fixes
- add absolute position offsets for inlines (4fc7efd)
- add checks to prevent panic in paragraph parsing (6ca5372)
- add default parser as fallback (d8ddfc0)
- add temporal fix for inline formatting (13d6549)
- avoid subtraction underflow in Lexer -> TokenIterator creation (ceb048d)
- be more careful about next token cache in inlines parser (5ff3eef)
- bump logid version to fix diagnostics (ee7e07a)
- calculate spans and kinds correctly (52fb5bb)
- change heading_level to u8 for easier conversions (82b4fda)
- change to
codetag for inline verbatim (af71710) - cleanup after merging changes in main branch (ee61856)
- correct heading id generation of empty content (20d9765)
- correct lexing when starting with some offset (5e97cb9)
- correctly parse incomplete inlines inside of a scope (9b1d7c9)
- correctly parse interrupted inlines by others (be9f540)
- correctly parse some edge cases (c97e898)
- fix appending of Inline to InlineContent (af11831)
- fix bug in token resolver scoping (78447ac)
- fix newline span calculation (d9c97e5)
- fix position calculation of newline token (eb0a119)
- fix resolver scoping bug (6071640)
- fix spacing sub_assing logic (30e6eb9)
- fix span calculation when prepending content (9b8dbd5)
- force whitespace after heading hash (ede7298)
- handle case where tokens remain after parsing nested inline (401fd89)
- handle empty content (e92e9be)
- implement
todo!()branch intoken.rs(0a2ba94) - improve
spacing_aroundlogic (35986d1) - improve check if inline is closed (2a1723c)
- improve lexing of plain, properly handle
\(167b75f) - improve parsing of some edge cases (9fa6dad)
- inline: add validation against timing issues (520f2bb)
- inline: change 4 open asterisks to plain (dc34282)
- inline: convert verbatim to nested inline (214dd5d)
- inline: correct bold closing (8a17ff1)
- inline: correct bold-italic edge cases (5dfe0fc)
- inline: correct bold-italic ombined opening (1b3af04)
- inline: correct handling of invalid inner italic (e8041dd)
- inline: correct ItalicClose without ItalicOpen (128129a)
- inline: correct nested italic before word (7869d10)
- inline: correct open token cleanup (ff93085)
- inline: correct rightside combined bold-italic (6612553)
- inline: correct splitting of four asterisks (d6ed958)
- inline: correct verbatimOpen str representation (1e913c9)
- inline: enforce open constraint (c2feda1)
- interpret begin/end of line as whitespace (58fd7ad)
- lex open and close parenthesis correctly (e891b97)
- make symbol module public (5cc21de)
- offset inline token and heading positions (3e35948)
- panic when trying to split non-ambiguous token (0a5b315)
- parse non-opening token as plain correctly (8ce5d36)
- push unused inline to the front of the cache (dbd57ed)
- remove file dependency from metadata (3b2a5f6)
- remove offset from inline lexer (b084027)
- remove out-file path validation (2be50d3)
- rename and fix flattening of InlineContent (f4a6e29)
- resolve clippy warning (b5ca79b)
- return correct span from Inline (767d84e)
- return escaped newline only when next line available (745568a)
- set correct logId for frontend (e6d3ad4)
- set same fileoutput style for logs (26bc9f0)
- start lines and columns count from 1 (74e18e7)
- test: remove wrong test case (7e3dde3)
- typos in comments (d44505c)
- update
Span::removeimplementation and docs (447310f) - update
TokenKind::Quoteto""(was") (ad238fa) - update clap to v3 (5ace622)
- update rendering of verbatim and text group (e4e9104)
- use col_utf8 instead of col_grapheme (f94d3d4)
- use correct print (7d95fc6)
Documentation
- add clarification of token resolver (3282eb4)
- add documentation for inline
Parser(d596fad) - add documentation to symbol module (fba95e0)
- add hyperlink definitions to doc comments (75158b8)
- add todo comment about module privacy (e39588a)
- document
Tokenizetrait (59daeec) - document
unimarkup_inlinecrate (713f285) - explain
symbol_lenin doc comment (9d758b4) - explain IsKeyword trait (668c7f0)
- fix typo (469992c)
- make
cached_token_opendocumentation more clear (24f8e43) - make documentation more clear (6e6cae5)
- update doc and explanation comments (e0f1077)
- update doc comments and explanations (2740536)
- update docs for
TokenIterator::next_line(bb3b822) - update documentation (ade6343)
- update Token documentation (ac48016)
Performance
CI
Build
- remove pest from dependencies (6a8d983)
Testing
- adapt file path of log test for actions (27aaae0)
- add (more) tests for esc sequence and plain (04c01c9)
- add 3 parser tests (d700cd1)
- add basic tests for inline lexer (2a3b677)
- add basic tests for plain lexing (26c9ac7)
- add case for nested
Inline::TextGroup(be633be) - add case for not fully closed ambiguous token (59fc129)
- add helper macro for token tests (eaf3a74)
- add log test for cli main (4548e7d)
- add more test cases for parser (28fafc5)
- add test
EndOfLinein multi-line text. (ec7681c) - add test case - unclosed bold in text group (a640f62)
- add test case for
Inline::Substitution(1071da7) - add test case for plain token (a8d706a)
- add test for italic/bold ambiguous token lexing (a3acdc3)
- add testcase for
lex_late_tokenfunction (8b228a2) - add tests for keyword lexing (bfda1f1)
- add tests for lexing with offset position (12f8223)
- change tests structure (2dcd72e)
- double underscore in test names (15898a8)
- fix tests by using None for attributes (6952999)
- ignore doctest of macro (8853723)
- implement changes from testing branch (956b2be)
- inline: add open constraint test (0ccdff1)
- inline: add verbatim testcase for char escaping (d4d28c1)
- inline: update tests with new
Inlinedata structure (1c33e6b) - interpret begin/end of line as whitespace (ee36cf7)
- make tests more compatible with the spec (1aa9c77)
- move inline parser tests to separate module (4ca9f2f)
- move lexer unit tests into its own folder (282cc64)
- print inlines for easier test debugging (79b6ecf)
- remove paragraph unit tests (4ab0fc7)
- remove pest parsing tests for verbatim (2b5f0d1)
- remove pest tests for preamble (255e69a)
- remove unstructured tests for lexer (1101ab7)
- rework tests for lexing of
‾symbol (87d3e88) - rework tests for lexing of
_symbol (83f7053) - rework tests for lexing of
"symbol (3642884) - rework tests for lexing of
"symbol (78f5fe3) - rework tests for lexing of
(and)symbols (e88faf9) - rework tests for lexing of
[and]symbols (ebfd70d) - rework tests for lexing of
{and}symbols (131a277) - rework tests for lexing of
`symbol (5089806) - rework tests for lexing of
^symbol (618a1c9) - rework tests for lexing of
|symbol (11b9c1f) - rework tests for lexing of
$symbol (bce7fe6) - set paths in log test to work in run and dbg (8272903)
- simplify some if-else to match statements (6737869)
- support direct substitution in inline lexer (06b6fa4)
- test for inlines interrupted by other inlines (3661860)
- test general lexing cases (4f1f890)
- test partial
ItalicBoldinline inTextGroup(09db146) - update heading block tests (b16b138)
- update paragraph tests to new parser implementation (63ed44f)
- update parser tests to use
VecDeque(f048a31) - update test to new (incomplete) parser implementation (db854ad)
- update test with new spacing logic (1bd5ddf)
- update tests for Paragraph block (f4b56da)
- update tests to match changes in spec and lexer (beb67a7)
- update tests to use unimarkup_inline (53f5ca4)
- update TextGroup test to actually test parsing (4f6cddb)
- use macro instead of function for assert_blocks_match (3fd7d13)
- use new parser implementation in tests (c85de98)