1824 Commits

Author SHA1 Message Date
Guillaume Gomez
f87027fe1d
Merge pull request #144 from Kijewski/pr-doc_auto_cfg
doc: use `feature(doc_cfg, doc_auto_cfg)` everywhere
2024-08-20 11:10:30 +02:00
Guillaume Gomez
2ba1f7bf41
Merge pull request #143 from Kijewski/pr-dependabot
ci: run dependabot daily
2024-08-20 11:07:57 +02:00
René Kijewski
f449877256 doc: document everything in rinja 2024-08-20 08:10:16 +02:00
René Kijewski
d3138f48cb ci: test doc generation for all published packages 2024-08-20 07:44:47 +02:00
René Kijewski
757ba0ac7e doc: use feature(doc_cfg, doc_auto_cfg) everywhere 2024-08-20 07:36:11 +02:00
René Kijewski
2b173d99c1 ci: run dependabot daily 2024-08-20 07:00:11 +02:00
Guillaume Gomez
88047ac92b
Merge pull request #142 from Kijewski/pr-more-const-lit
derive: escape `int`, `float`, `bool` at compile time
2024-08-19 14:43:09 +02:00
Guillaume Gomez
54d0b3511a
Merge pull request #139 from Kijewski/pr-fuzz-parser
Re-add fuzzing
2024-08-19 14:41:50 +02:00
René Kijewski
d8f2341e46 Minor fix ups 2024-08-19 14:35:09 +02:00
René Kijewski
b2b66ef29a derive: refactor compile_time_escape 2024-08-19 14:35:09 +02:00
René Kijewski
2e342f2e47 derive: escape more literal types at compile time 2024-08-19 14:35:09 +02:00
René Kijewski
fa003fcd0d parser: fix float parsing 2024-08-19 14:35:07 +02:00
René Kijewski
ede4702919 derive: compile time int, float, bool escaping test 2024-08-19 14:33:37 +02:00
René Kijewski
37bbf0b88f parser: parse floats like 123e456 2024-08-19 14:33:37 +02:00
René Kijewski
fe8c88abec derive: cannot write strings with prefix 2024-08-19 14:33:37 +02:00
René Kijewski
22e6667217 Update after #141 was merged 2024-08-19 13:37:15 +02:00
René Kijewski
33e80a2be4 fuzz: fuzz text filters 2024-08-19 13:31:07 +02:00
René Kijewski
1176c654ba fuzz: fuzz everything at once 2024-08-19 13:31:07 +02:00
René Kijewski
79873f6a17 Make clippy happy 2024-08-19 13:31:07 +02:00
René Kijewski
8433e24917 filters: fuzzer for html escaping 2024-08-19 13:31:07 +02:00
René Kijewski
b62d558c21 parser: add fuzzer 2024-08-19 13:31:07 +02:00
Guillaume Gomez
241c60143e
Merge pull request #141 from Kijewski/pr-syntax
Move Syntax configuration and check into parser
2024-08-19 13:27:58 +02:00
René Kijewski
5ee4728292 Move Syntax configuration and check into parser 2024-08-19 06:02:04 +02:00
René Kijewski
cd3ff13e05
Merge pull request #140 from GuillaumeGomez/literal-prefixes
Add support for b'a', b"a" and c"a"
2024-08-19 00:26:14 +02:00
Guillaume Gomez
b8404c7828 Add ui regression test for new escape filter error 2024-08-18 22:43:59 +02:00
Guillaume Gomez
71f49a8fc2 Add support for prefixes for string literals 2024-08-18 22:43:59 +02:00
Guillaume Gomez
1a24ace17b Add support for b prefix for char literals 2024-08-18 22:35:03 +02:00
Guillaume Gomez
f1806f7219
Merge pull request #137 from Kijewski/pr-hash
derive: replace `ahash` with `rustc-hash`
2024-08-16 17:20:23 +02:00
René Kijewski
78eb3579c9 derive: replace ahash with rustc-hash
`ahash` shines when you hash very long inputs, in excess of 1000 bytes.
We only hash file names, variable names, block names … which should for
all reasonable applications less than 100 bytes in length.

`rustc-hash` does not claim to be DoS-resistent like `ahash` is, but we
only operate on trusted data, so this feature is not needed.

See also: <https://blog.goose.love/posts/rosetta-hashing/>.

The performance is mostly unchanged or slightly improved:

```text
hello_world             time:   [61.157 µs 61.336 µs 61.503 µs]
                        change: [-3.5829% -2.8333% -2.0098%] (p = 0.00 < 0.05)
                        Performance has improved.

item_info.html          time:   [69.987 µs 70.137 µs 70.277 µs]
                        change: [-2.5459% -2.1263% -1.7360%] (p = 0.00 < 0.05)
                        Performance has improved.

item_union.html         time:   [185.41 µs 185.80 µs 186.18 µs]
                        change: [-2.9272% -2.4197% -1.9278%] (p = 0.00 < 0.05)
                        Performance has improved.

page.html               time:   [747.83 µs 748.66 µs 749.58 µs]
                        change: [-0.3883% -0.1132% +0.1551%] (p = 0.43 > 0.05)
                        No change in performance detected.

print_item.html         time:   [158.28 µs 158.72 µs 159.28 µs]
                        change: [-1.9084% -1.4402% -0.9742%] (p = 0.00 < 0.05)
                        Change within noise threshold.

short_item_info.html    time:   [133.45 µs 133.66 µs 133.89 µs]
                        change: [-4.0600% -3.7956% -3.5459%] (p = 0.00 < 0.05)
                        Performance has improved.

sidebar.html            time:   [207.27 µs 207.74 µs 208.28 µs]
                        change: [-3.7883% -3.2903% -2.8108%] (p = 0.00 < 0.05)
                        Performance has improved.

source.html             time:   [122.85 µs 123.15 µs 123.53 µs]
                        change: [-1.0462% -0.5575% -0.0943%] (p = 0.03 < 0.05)
                        Change within noise threshold.

type_layout.html        time:   [158.98 µs 159.46 µs 160.00 µs]
                        change: [+0.5711% +0.9257% +1.2877%] (p = 0.00 < 0.05)
                        Change within noise threshold.

type_layout_size.html   time:   [75.699 µs 75.978 µs 76.250 µs]
                        change: [-2.6748% -1.9573% -1.0695%] (p = 0.00 < 0.05)
                        Performance has improved.
```
2024-08-16 16:56:18 +02:00
René Kijewski
5266209c9e
Merge pull request #136 from GuillaumeGomez/add-missing-doc
Add documentation for `|` operator in `when`
2024-08-15 21:49:18 +02:00
Guillaume Gomez
028c27b4d5 Add documentation for | operator in when 2024-08-15 21:46:03 +02:00
René Kijewski
c94fc1d7ca
Merge pull request #135 from GuillaumeGomez/support-pipe-operator
Add support for `|` operator in `when`
2024-08-15 21:32:31 +02:00
Guillaume Gomez
6a440dd3c4 Implement BufferFmt for char` 2024-08-15 21:10:29 +02:00
Guillaume Gomez
7a7e415822 Add support for | operator in when 2024-08-15 21:10:29 +02:00
Guillaume Gomez
c0690865a8
Merge pull request #131 from Kijewski/pr-ci
ci: update and clean up
2024-08-13 20:19:13 +02:00
Guillaume Gomez
275e7e9646
Merge pull request #132 from Kijewski/pr-derive-a-bit
derive: no panics, less work, more compatibility
2024-08-13 20:16:18 +02:00
Guillaume Gomez
72d0e2b250
Merge pull request #133 from Kijewski/pr-typo-in-book
book: fix typo in Template Syntax page
2024-08-13 19:41:23 +02:00
Mateusz Maćkowski
9b5b5be3c6 book: fix typo in Template Syntax page
The semicolon in `{% let entity = entity; %}` causes the template compilation to fail, so this commit removes it.
2024-08-13 19:38:14 +02:00
René Kijewski
68327f1a36 derive: don't write empty string 2024-08-13 19:29:39 +02:00
René Kijewski
871215b529 derive: don't panic if source+path are missing 2024-08-13 19:29:38 +02:00
René Kijewski
90096ef973 ci: sort elements in Cargo.toml 2024-08-13 19:17:37 +02:00
René Kijewski
d5a4f9ca2e ci: add DevSkim test to find oddities in the code 2024-08-13 18:29:06 +02:00
René Kijewski
5626e52d7e ci: move book generation testing into same workflow 2024-08-13 18:27:38 +02:00
René Kijewski
de7cf881bd ci: fix audit warnings 2024-08-13 18:27:29 +02:00
René Kijewski
1f8d1d65ed derive: allow any amount of invisible delimiters 2024-08-13 17:56:52 +02:00
Guillaume Gomez
d5fef24ff7
Merge pull request #119 from Kijewski/pr-no-when
parser: allow `match` nodes w/o `when` if there is an `else`
2024-08-13 17:48:15 +02:00
Guillaume Gomez
c3d9f5d29f
Merge pull request #129 from Kijewski/pr-issue-128
parser: reject closing delimiters that look like an operator
2024-08-13 17:46:15 +02:00
René Kijewski
6e75cb0802
Update book/src/template_syntax.md
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
2024-08-13 17:45:03 +02:00
René Kijewski
ed91a909ab derive: better error messages for syntax testing 2024-08-13 17:39:57 +02:00
René Kijewski
1a74d9350e book: update section on {% match %} 2024-08-13 17:10:00 +02:00