0.4.0 (2023-04-23)
- 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 forToken
(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-ambiguousToken
s (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
Inline
s (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
andClone
onTokenIterator
(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
forunimarkup_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)
- 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 intoken.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)
- 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)
- remove pest from dependencies (6a8d983)
- 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 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)
0.3.0 (2022-01-14)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- add workflow for auto-generated changelog (167aed4)
- 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)