Skip to content

unimarkup-rs v0.4.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 23 Apr 19:40
343a6e4

Features

  • add EndOfLine inline support to inline parser (353b53f)
  • add EndOfLine token support to inline lexer (91251a5)
  • add Inline::with_span implementation (483c029)
  • add into_plain impl for Token (5ececca)
  • add Multiple variant to Inline (35d8e5b)
  • add TokenDelimiters struct 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 Token into two non-ambiguous Tokens (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 TokenDelimiters tags (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::ops impls for Position (61f7c92)
  • add more TokenKind variants (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 Debug and Clone on TokenIterator (9f2980f)
  • expose more Token api to the inlines crate (cd364fe)
  • extend functionality of inlines (4f28589)
  • extract Render from core and introduce logid (fc7cbac), closes #74
  • impl Render for unimarkup_inline::Inline (96055ed)
  • impl some std::ops for Spacing (593a456)
  • implement TokenBuilder (76c705b)
  • implement Tokenize for &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 Content enum API (900e928)
  • improve Substitute API (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_token and highlight (7711847)
  • introduce Whitespace TokenKind (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_unimarkup using 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 Inline data 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 code tag 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 in token.rs (0a2ba94)
  • improve spacing_around logic (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::remove implementation and docs (447310f)
  • update TokenKind::Quote to "" (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 Tokenize trait (59daeec)
  • document unimarkup_inline crate (713f285)
  • explain symbol_len in doc comment (9d758b4)
  • explain IsKeyword trait (668c7f0)
  • fix typo (469992c)
  • make cached_token_open documentation 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

  • add parsing hot-circuiting to default parser (8cbe258)
  • use VecDeque for NestedContent (0e5cdd5)

CI

  • lock icu version used (for now) (9f788df)
  • run workflows on feature branch (a28adcf)

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 EndOfLine in 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_token function (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 Inline data 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 ItalicBold inline in TextGroup (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)