Commit graph

127 commits

Author SHA1 Message Date
Noah Hellman
599b712f36 attr: rm unused ret bool from valid 2023-05-16 17:01:42 +02:00
Noah Hellman
68a5a34f7b block: rm unused Display impls 2023-05-15 21:57:56 +02:00
Noah Hellman
bbdb314ae1 parse: do not inline parse link definitions
better match the actual url produced, which is verbatim
2023-05-15 19:05:22 +02:00
Noah Hellman
c377aa9998 block: ensure section span end before attrs
e.g

    # sec1
                        <-- end sec1 here
    {.sec2-class0}
    {.sec2-class1}      <-- instead of here
    # sec2
2023-05-15 19:05:22 +02:00
Noah Hellman
edd89f2b20 block: expand parse_attr test 2023-05-15 19:05:22 +02:00
Noah Hellman
e84385c2db block: replace tree with event vec
a lot simpler to use and reason about

should also make it easier to move to streaming
2023-05-15 19:05:22 +02:00
Noah Hellman
5e99d98f4f block: use separate spans for start/end events 2023-05-15 19:05:22 +02:00
Noah Hellman
631c9eff42 block: extend parse_description_list 2023-05-15 19:05:22 +02:00
Noah Hellman
8d1381144e block: extend parse_code_block 2023-05-15 19:05:22 +02:00
Noah Hellman
c21138d5b9 block: extend parse_table_align 2023-05-15 19:05:22 +02:00
Noah Hellman
4f863f91d5 block: add test parse_description_list_empty 2023-05-15 19:05:22 +02:00
Noah Hellman
d9804d963c block: add parse_table_empty 2023-05-15 19:05:22 +02:00
Noah Hellman
ee9ea2e023 block: specify heading pos in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
898ed90a24 block: specify div class in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
6cebdfcc0c block: specify footnote label in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
116245367a block: specify task check in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
6200b07287 block: specify list marker in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
dbedeeb5ee block: specify lang in code block event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
e90594f2b7 block: specify link def label in event
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
bc4dd794bc block: store level in event
do not use span length as level
2023-05-15 19:05:22 +02:00
Noah Hellman
8be7c4c840 block: replace int literals with byte chars 2023-05-15 19:05:22 +02:00
Noah Hellman
c29b926d16 block: rm redundant block scope 2023-05-15 19:05:22 +02:00
Noah Hellman
3a1a3996e9 inline: take str per line instead of full inline iter
gets rid of DiscontinousChars which is large and requires cloning on
peek

resolves #4
2023-04-05 21:17:33 +02:00
Noah Hellman
1e5e56c463 only assert in debug builds
these are primarily used to detect bugs during e.g. fuzzing.

most of these asserts have negligible impact on performance, but if they
are not debug asserts it is not obvious that they dont affect
performance of release builds
2023-04-05 21:17:33 +02:00
Noah Hellman
0719b2de65 block: fix class attribute parsing
match reference implementation
2023-03-17 18:57:36 +01:00
Noah Hellman
413fecfe6a fix/allow clippy lints 2023-02-12 00:59:18 +01:00
Noah Hellman
b572790ac9 bug: fix tightness, ignore end blanklines 2023-02-07 21:51:31 +01:00
Noah Hellman
0d560901eb block: add Element::list 2023-02-07 21:49:35 +01:00
Noah Hellman
f98ebd477f bug: fix indent of footnote/list inner
when starting multiple blocks on same line, e.g. inner part of

    - - a
      - b

was

     - a
      - b

instead of

     - a
     - b
2023-02-06 23:09:48 +01:00
Noah Hellman
42360d7001 fixup! block: add MeteredBlock as intermediate struct 2023-02-06 23:09:48 +01:00
Noah Hellman
61f0d6281e rm unused 2023-02-05 20:36:49 +01:00
Noah Hellman
cc5a196149 fixup! parse block elements 2023-02-05 20:36:49 +01:00
Noah Hellman
cc89a06964 fixup! fixup! test_parse, test_block 2023-02-05 20:36:49 +01:00
Noah Hellman
fbd8811c86 block: parse description list 2023-02-05 20:36:49 +01:00
Noah Hellman
95bf52a31e update tree 2023-02-05 20:36:49 +01:00
Noah Hellman
670763dd93 fixup! do not treat \0 as EOF 2023-02-05 20:36:49 +01:00
Noah Hellman
59450ed9ad fixup! block: split parse_block function 2023-02-05 20:36:49 +01:00
Noah Hellman
cadf49fc53 fix usage of byte vs char count 2023-02-05 20:36:49 +01:00
Noah Hellman
82e1fd74f5 fixup! block: add MeteredBlock as intermediate struct 2023-02-05 20:36:49 +01:00
Noah Hellman
59be7070de block: count indent in chars instead of bytes 2023-02-05 20:36:49 +01:00
Noah Hellman
ca7f3c7e89 do not treat \0 as EOF
may appear in input
2023-02-05 20:36:49 +01:00
Noah Hellman
3425ad4189 fixup! block: avoid panic on too short table line 2023-02-05 20:36:49 +01:00
Noah Hellman
c4a3acaf70 block: avoid panic on too short table line 2023-02-05 20:36:49 +01:00
Noah Hellman
6a94e694f9 block: enforce valid div classes 2023-02-05 20:36:40 +01:00
Noah Hellman
dc38076f50 block: limit ordered list number width
use 64-bit to not let limit be too low, 32-bit allows for only 6 alpha
digits, "zzzzzz".
2023-02-05 20:36:40 +01:00
Noah Hellman
f9655dfa9b fixup! block: fix parsing end of list 2023-02-05 20:36:40 +01:00
Noah Hellman
5d9f90342c block: fix parsing end of list
following paragraphs were considered part of list
2023-02-05 20:36:40 +01:00
Noah Hellman
5672ef4198 block: fix empty lines in code block
were accidentaly removed
2023-02-05 20:36:40 +01:00
Noah Hellman
2893977dae fixup! block: fix headings with first line empty 2023-02-05 20:36:40 +01:00
Noah Hellman
9ab8be5d30 block: move Block::from to Kind::block
allow more inputs
2023-02-05 20:36:40 +01:00