Commit graph

455 commits

Author SHA1 Message Date
Noah Hellman
95bf52a31e update tree 2023-02-05 20:36:49 +01:00
Noah Hellman
768699d138 optionally use btree maps instead of hash maps
btree maps are deterministic which is useful for fuzzing. hash maps,
however have better performance in our case
2023-02-05 20:36:49 +01:00
Noah Hellman
fc96f3408f make: add cov recipe 2023-02-05 20:36:49 +01:00
Noah Hellman
924d6c44ac inline: disallow '<' in autolinks
avoid hangs on long <<<<<< sequences
2023-02-05 20:36:49 +01:00
Noah Hellman
82adc631d9 allow attributes on thematic breaks 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
4cb9c07cfc fixup! block attributes 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
d2df3eb8a1 fixup! mv spans to separate span file 2023-02-05 20:36:49 +01:00
Noah Hellman
1bbfd4a96a prepass: avoid consecutive '-' in heading id 2023-02-05 20:36:49 +01:00
Noah Hellman
fb6a44283d inline: do not emit empty events 2023-02-05 20:36:49 +01:00
Noah Hellman
a5d88b64ae parser: avoid panic 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
28c2bfbe8c add afl fuzz target 2023-02-05 20:36:49 +01:00
Noah Hellman
78987f7ba3 add bench target and scripts to run simple benchmark 2023-02-05 20:36:48 +01:00
Noah Hellman
87d4f7c270 prepass: use hash set to avoid duplicate heading ids
linear lookup becomes problematic for large amount of headings with same
title
2023-02-05 20:36:40 +01:00
Noah Hellman
6a94e694f9 block: enforce valid div classes 2023-02-05 20:36:40 +01:00
Noah Hellman
30351500bb fixup! attr valid: return whether attrs non-empty 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
4b52fb0832 fixup! inline fixup 2023-02-05 20:36:40 +01:00
Noah Hellman
8dd4db11ec html: escape user provided attribute values 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
de7404137e parser: keep inlines of code blocks verbatim 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
08332bed5e test suite: add djot.js bench files as tests 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
Noah Hellman
6c630798f8 spec tests: filter out non-applicable test files 2023-02-05 20:36:40 +01:00
Noah Hellman
60dcf09c1a impl automatic heading identifiers 2023-02-05 20:36:40 +01:00
Noah Hellman
b726580724 parser: fix end section eating block attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
7b8157cb51 fixup! parse inline attrs 2023-02-05 20:36:40 +01:00
Noah Hellman
3e8b80059e fixup! parser: impl link references 2023-02-05 20:36:40 +01:00
Noah Hellman
493a9b3563 heading event: limit level to u16 2023-02-05 20:36:40 +01:00
Noah Hellman
1135cf7054 fixup! block: parse tables 2023-02-05 20:36:40 +01:00
Noah Hellman
df8846cdba block: fix headings with first line empty 2023-02-05 20:36:40 +01:00
Noah Hellman
bfa58dfc0d block: allow repeating '#' in headings 2023-02-05 20:36:40 +01:00
Noah Hellman
451b2360f4 fixup! parser: apply link def attrs to link 2023-02-05 20:36:40 +01:00
Noah Hellman
dcb3b787a2 block: add MeteredBlock as intermediate struct 2023-02-05 20:36:40 +01:00
Noah Hellman
1c77b035b2 fixup! fixup! 27d710969473894b59f23ad981fc50cbd3b78977 2023-02-05 20:36:40 +01:00
Noah Hellman
25864fa467 fixup! block: add hierarchical heading sections 2023-02-05 20:36:40 +01:00
Noah Hellman
530820a04e block: add hierarchical heading sections 2023-02-05 20:36:40 +01:00
Noah Hellman
5347def13c fixup! block: split parse_block function 2023-02-05 20:36:40 +01:00
Noah Hellman
1f47a1729e parser: impl autolinks 2023-02-05 20:36:40 +01:00
Noah Hellman
2e992f5726 fixup! parser: allow linebreak in text of link tag refs 2023-02-05 20:36:40 +01:00