Skip to content

Latest commit

 

History

History
534 lines (470 loc) · 65.2 KB

CHANGELOG.md

File metadata and controls

534 lines (470 loc) · 65.2 KB

Changelog

0.4.0 (2023-04-23)

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)

0.3.0 (2022-01-14)

Features

  • add api for creating pest error with span in UmError (47b55e6)
  • add attributes to blocks (91ec175)
  • add basic attributes support to existing blocks (7c6c248)
  • add function for id generation (259e9dd)
  • add parsing, validation and merge with CLI for preamble (08bcd6c)
  • add validation of configs (7dea7c5)
  • add validation of configs (ade82b0)
  • added testing to preamble (883f61b)
  • backend: implement ParseFromIr for VerbatimBlock (a100ae4)
  • backend: implement Render for VerbatimBlock (fac7605)
  • backend: load Verbatim blocks from IR (2852533)
  • checks paragraph content for inline-formatting (9207fd1)
  • frontend: add attributes grammar for headings (f680542)
  • frontend: add attributes grammar for paragraph (c49d96f)
  • frontend: add attributes to verbatim in grammar (d7dd8d1)
  • frontend: add function for id generation (1f4d7fb)
  • frontend: impl attributes parsing for paragraph (d2dd1cd)
  • frontend: implement UmParse for verbatim block (d19664d)
  • frontend: introduce attributes rule in grammar (5f94226)
  • frontend: parse attributes for verbatim block (c8bf790)
  • frontend: parse attributes on heading blocks (7579502)
  • frontend: setup parser for enclosed blocks (9a7afe9)
  • implement AsIrLines for VerbatimBlock (f274017)
  • implement render for html of unimarkup blocks (144defb)
  • inline formatting in grammar (8fac206)
  • introduce grammar for verbatim block (5c516a8)
  • introduce VerbatimBlock (4100f15)
  • parses inline formatting and saves in a vector (58b2123)
  • parsing preamble at the beginning of file and add to cli configs (a0d51f5)
  • split umblock_tests into more files (5c0404f)
  • write root file into metadata table (ad73663)

Bug Fixes

  • add content to all_syntax.um (7724081)
  • add documentation to public function (398895f)
  • add suggestion from comment (68450de)
  • added suggestions form PR, (f53f933)
  • added suggestions from PR (c31ecee)
  • cargo fmt (3d0a379)
  • cargo format (5a7e168)
  • change config of test_valid_config() (fd05740)
  • change if statement to let Some, (5efc48e)
  • change ownership of config because of merge conflict (faaa228)
  • changing umblock_tests because of changes in parser (4eaf3b3)
  • correct verbatim block rendering (37757dd)
  • fix logger when using installed unimarkup-rs (cea675d)
  • fix simple_logger causing panic when using installed version of unimarkup-rs (efdd2dd)
  • frontend: change verbatim grammar to reduce false-positives (af47f00)
  • frontend: convert implicit heading id to lowercase (c191c62)
  • frontend: fix headings grammar to get correct line numbers (669462a)
  • frontend: handle blank_line rule when parsing (3c0ac08)
  • frontend: handle verbatim_end rule in verbatim block (64169e1)
  • frontend: improve clarity of error message (9c64da6)
  • frontend: return error on unknown rule in verbatim block (6befb00)
  • frontend: skip rule when Rule::EOI encountered (418fc60)
  • frontend: use custom whitespace rules in grammar (d7eee86)
  • frontend: warn on fallback use when parsing enclosed blocks (1118202)
  • handle expect messages (55fce22)
  • make code consistent (f38c2e8)
  • merge branch 'main' into preamble (cd85eb5)
  • Merge branch 'main' into umblock-tests (a4860b8)
  • Merge branch 'main' of https://github.com/Unimarkup/unimarkup-rs into umblock-tests (e2e6bd7)
  • merge main into inline and clean up merge conflicts (8d66522)
  • more organised split up of tests (d7b1490)
  • pass error message from caller to custom pest error (df2f28c)
  • remove unnecessary println (7ed91b3)
  • rename variable um_blocks to um_file (098d0d5)
  • rework AsIrLines and add Clone trait (7034e2b)
  • shorten filepath to string conversion (9de190b)
  • split up tests into corresponding file (8bbe839)
  • update verbatim grammar to capture language attribute (ad81085)
  • use env_logger instead of simple_logger (fa67333)

Documentation

  • add documentation to the crate (57326b8)
  • add overall documentation for backend module (b7e642e)
  • backend: document backend module (ed88b6a)
  • backend: update wording (2108800)
  • document config module (b120b8a)
  • document the (current) unimarkup elements (10dd452)
  • document the BackendError (f6d949b)
  • document the config module (9d3e4b2)
  • document the frontend module (eb1ed07)
  • document the renderer module (4cba48f)
  • document the UmError (defb7d6)
  • document the unimarkup-rs compiler (2126fb7)
  • enforce documenting code (1cfdba7)
  • fronted: document the frontend module (4f82e96)
  • frontend: update wording (f88cac8)
  • middleend: document the middleend module (9330451)
  • middleend: update wording (162881c)
  • um_elements: update wording (9030ad8)
  • um_error: update wording (10e6068)
  • update the README.md (700a48f)
  • updated wording in general files (eb79e4f)

Testing

  • add render test for verbatim block (bd9dba5)
  • add test file for attributes (76e4844)
  • add testcase validating metadata IR entry (f2aa566)
  • add unit tests for VerbatimBlock (b9d0f03)
  • add verbatim blocks to attr.um test file (6364e36)
  • frontend: add test case with bad verbatim syntax (184acdf)
  • frontend: update generate_id tests according to new api (653e733)
  • split up UmBlock tests into individual test cases (133fc1b)
  • use new parser api in tests (2bcf8fa)

0.2.0 (2021-12-17)

Features

  • add cli -> config conversion (020b472)
  • add cli draft (590fa6f)
  • add macro From<UM_BLOCK> for UnimarkupType (af9200a)
  • backend: impl parse from IR for Heading (f7415d4)
  • backend: implement Render for HeadingBlock (2a7e20e)
  • backend: implement um_type parser in loader (989ac3d)
  • backend: implement write html to file (939efa3)
  • backend: include backend module in lib.rs (0a7cbe5)
  • backend: introduce loader - parser from IR (ee82615)
  • backend: introduce renderer (8e578db)
  • backend: load, parse & render ParagraphBlocks (4078463)
  • backend: prepare parsing of UMBlocks from IR (2bbf54d)
  • extend UmError with general error variant (4292c78)
  • frontend: introduce headings grammar (73f3978)
  • frontent: introduce paragraph grammar (036e5cc)
  • implement ParseFromIr for ParagraphBlock (995e1c6)
  • implement parsing of paragraphs (97b50c1)
  • implement pipeline for heading blocks (661ac31)
  • implement write_to_ir in parser_pest (5ffaac2)
  • introduce backend error variant of UmError (71f2f98)
  • introduce backend module (568a42c)
  • make UnimarkupType variants comparable (1586f18)

Bug Fixes

  • adapt cli and add matching config struct (48ca9c8)
  • add clean, rebuild and dot-unimarkup args (7dd26e0)
  • add features not enabled by default in clap (c2a3111)
  • add html-standalone flag (b85a859)
  • add ParseFromIr trait bound to UnimarkupBlock (799519c)
  • add template for unimarkup.rs (c61b097)
  • backend: handle fallback fields for heading (3e3b388)
  • change UmParse to only parse() (75695b0)
  • check text line per line to avoid different behavior on different OS (baf67f5)
  • distribute all options to general and outputs (1068440)
  • move to clap_derive (8781d77)
  • move to option<> for optional config fields (67d3c49)
  • parse multiple blank lines correctly (2e5588c)
  • prepare compile method (3f45a47)
  • remove multiple config output options (aac6726)
  • remove Option for flag arguments (7d98fb6)
  • return error when paragraph type not valid (4018ef5)
  • set config as mutable for frontend (b4f16b4)
  • set macro/var definition in UmBlockElements (1588b4d)
  • set output_formats as optional arguments (0abb076)
  • specify macro/variable definition as options (d2ff4b4)
  • type of ContentIrLine in AsIrLines fixed (e72ed38)

Testing

  • add cli test cases for all config fields (7d98fb6)
  • add frontend parsing tests for heading and paragraph (557cee1)
  • add nested multiline heading test (011923a)
  • add test for line number headings (2e5588c)
  • add test um files for parser testing (99a5a29)
  • backend: add basic test for backend::run() (8654ab7)
  • backend: add unit test for Heading rendering (85c6cc5)
  • backend: add unit test for Paragraph (fc74d54)
  • backend: check if html file is created (82bd344)
  • backend: replace hard-coded values with variables (da1881e)
  • backend: test render_html of ParagraphBlock (5b1154d)

0.1.0 (2021-11-18)

Features

  • Add ContentIrLine retrieval from IR (7aab3dd)
  • Add IR setup (8e19e16)
  • Add MacroIrLine retrieval from IR (882094c)
  • Add MetadataIrLine retrieval from IR (946f3b2)
  • Add ResourceIrLine retrieval from IR (b8455fe)
  • add simple logging functionality (1155018)
  • add statement to query all content rows (37fe4d2)
  • Add VariablesIrLine retrieval from Ir (4324bf0)
  • implement Display + Debug for UmError (bd3fd09)
  • implement Display trait for IrError (3ff2c77)
  • implement UmError wrapper for error types (f1a79ed)
  • Implement write_to_ir for IrBlock, IrLines (f425efc)
  • introduce function new for IrError (b002d51)
  • Set table name as trait per IrLine struct (c776235)

Bug Fixes

  • add rusqlite error info in ir setup (93cab60)
  • Change return of entry exists query to i64 (3956a07)
  • Check if values are already in table (b8c1f7d)
  • commit transactions for all middle end tests (d2fc728)
  • Commit transactions for content test (f7e7eae)
  • handle errors for vec to utf8 conversion (bba8729)
  • handle line_nr conversion for OutOfRange (f359be1)
  • remove clippy warnings (2c47494)
  • Update IR entry if already existing (48c7d1e)
  • write_to_ir for IrLines (00aeeca)

CI

  • add workflow for auto-generated changelog (167aed4)

Testing

  • add update and exist tests for all IrLines (1dd584f)
  • Test IR setup (8e19e16)

Documentation

  • add '!' syntax support to commit-msg hook (ddff236)
  • add color to commit-msg output (09e2d48)
  • add commit types from CONTRIBUTING guideline (9c1bab7)
  • add git hook for commit message styles (288a2ae)
  • add help for contributing to unimarkup-rs (e8490f3)
  • add help on usage of provided git hooks (811fc50)
  • change auto-changelog category selection (5d0b109)
  • echo warning when commit is too long (8bd797d)
  • use unimarkup syntax in CONTRIBUTING.md (40e92c5)

Build

  • migrate to Rust 2021 edition (4a23fea)
  • migrate to Rust 2021 edition (019ab07)