Commit graph

19 commits

Author SHA1 Message Date
dependabot[bot]
d2f792ffae
Bump clap from 4.2.7 to 4.3.0 (#1076)
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.7 to 4.3.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.2.7...clap_complete-v4.3.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-22 02:35:41 +00:00
dependabot[bot]
f2ac44757a
Bump miette from 5.8.0 to 5.9.0 (#1071)
Bumps [miette](https://github.com/zkat/miette) from 5.8.0 to 5.9.0.
- [Release notes](https://github.com/zkat/miette/releases)
- [Changelog](https://github.com/zkat/miette/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zkat/miette/compare/miette-derive-v5.8.0...miette-derive-v5.9.0)

---
updated-dependencies:
- dependency-name: miette
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-19 02:45:22 +00:00
dependabot[bot]
f2703e396a
Bump clap from 4.2.5 to 4.2.7 (#1024) 2023-05-03 04:10:00 +00:00
dependabot[bot]
56b3360b17
Bump clap from 4.2.4 to 4.2.5 (#1017) 2023-04-28 15:27:45 +10:00
github-actions[bot]
613aae2b1e
release: leon v2.0.0 (#1007)
chore: Release

Co-authored-by: github-actions <github-actions@github.com>
2023-04-26 17:30:24 +10:00
Jiahao XU
02fe3d4f27
Fix leon::ValuesFn: impl for Fn(&str) -> Option<Cow<'static, str>> (#998)
If we impl it for `<'f> Fn(&str) -> Option<Cow<'f, str>> + 'f`, then it would somehow imply it to `'static` when using it in `benches/values.rs` and `benches/others.rs`, thus I decided to simplify it back to only implement it for `'static` string.

Users who wants more flexibility should implement `Values` themselves.

This commit also extracts `benches` as a separate crate in an independent workspace to avoid building criterion and tinytemplate in CI, which makes it much slower as more crates need to be built and criterion actually pulls in clap, and a whole lots of other crates.

In additional to that, it:
 - Impl `leon::Values` for `Arc<T>` & `Rc<T>` where T: `Values`
 - Enable lto, abort on panic, stripping, set `codege-units` to 1 for `leon/benches`
 - Move into closure of criterion benchmark loop to reduce indirections
    which also reduce sizes of the closure since the Fns used in `ValuesFn`
    are zero-size.
    This also means that the compiler can now assumes `no-alias`.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-04-26 13:17:41 +10:00
dependabot[bot]
6d9bf0ef21
Bump clap from 4.2.3 to 4.2.4 (#994) 2023-04-20 02:25:32 +00:00
dependabot[bot]
3903b1f6e2
Bump clap from 4.2.2 to 4.2.3 (#992) 2023-04-19 04:13:01 +00:00
dependabot[bot]
913ec83918
Bump miette from 5.7.0 to 5.8.0 (#993)
Bumps [miette](https://github.com/zkat/miette) from 5.7.0 to 5.8.0.
- [Release notes](https://github.com/zkat/miette/releases)
- [Changelog](https://github.com/zkat/miette/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zkat/miette/compare/miette-derive-v5.7.0...miette-derive-v5.8.0)

---
updated-dependencies:
- dependency-name: miette
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 13:46:25 +10:00
Jiahao XU
5683ca2476
Add new crate leon-macros that provide template! with identical syntax as runtime parsing (#946)
`leon_macros::template!` can parse template at compile-time.
It accepts a utf-8 string literal and uses `leon` internally to parse it, then generate code that evaluates to `Template<'static>`.

 - Exclude fuzz from crate leon when publishing
 - Impl fn-like proc-macro `leon_macros::template!`
 - Add dep `leon-macros` to binstalk
 - Use `leon_macros::template!` in `binstalk::fetchers::gh_crate_meta::hosting`
 - Add doc for `leon-macros` in `leon`
 - Improve `std::fmt::Display` impl for `leon::ParseError`
 - Fixed broken infra link in leon

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-04-17 14:50:58 +10:00
dependabot[bot]
a5bf45abe9
Bump clap from 4.2.1 to 4.2.2 (#987) 2023-04-14 02:24:24 +00:00
dependabot[bot]
067af4ea25
Bump serde from 1.0.159 to 1.0.160 (#985)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 13:35:00 +10:00
dependabot[bot]
363dbc650a
Bump miette from 5.6.0 to 5.7.0 (#973) 2023-04-03 03:06:19 +00:00
dependabot[bot]
6bdfa0ee3c
Bump clap from 4.2.0 to 4.2.1 (#966) 2023-03-30 03:21:21 +00:00
dependabot[bot]
b645cc6286
Bump serde from 1.0.158 to 1.0.159 (#959) 2023-03-29 23:12:31 +11:00
dependabot[bot]
57cb1f94ec
Bump clap from 4.1.14 to 4.2.0 (#961) 2023-03-29 23:10:55 +11:00
dependabot[bot]
8109289e81
Bump clap from 4.1.11 to 4.1.14 (#952) 2023-03-28 05:58:21 +00:00
github-actions[bot]
0d730b5e95
release: leon v1.0.0 (#931)
Co-authored-by: github-actions <github-actions@github.com>
2023-03-21 01:59:36 +00:00
Félix Saparelli
2227d363f7
Leon template library (#766)
* leon: first implementation

* Update crates/leon/src/values.rs

Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>

* Workaround orphan rules to make API more intuitive

* Fmt

* Clippy

* Use CoW

* Use cow for items too

* Test that const construction works

* leon: Initial attempt at O(n) parser

* leon: finish parser (except escapes)

* leon: Improve ergonomics of compile-time templates

* Document helpers

* leon: Docs tweaks

* leon: Use macro to minimise parser tests

* leon: add escapes to parser

* leon: test escapes preceding keys

* leon: add multibyte tests

* leon: test escapes following keys

* Format

* Debug

* leon: Don't actually need to keep track of the key

* leon: Parse to vec first

* leon: there's actually no need for string cows

* leon: reorganise and redo macro now that there's no coww

* Well that was silly

* leon: Adjust text end when pushing

* leon: catch unbalanced keys

* Add error tests

* leon: Catch unfinished escape

* Comment out debugging

* leon: fuzz

* Clippy

* leon: Box parse error

* leon: &dyn instead of impl

* Can't impl FromStr, so rename to parse

* Add Vec<> to values

* leon: Add benches for ways to supply values

* leon: Add bench comparing to std and tt

* Fix fuzz

* Fmt

* Split ParseError and RenderError

* Make miette optional

* Remove RenderError lifetime

* Simplify ParseError type schema

* Write concrete Values types instead of generics

* Add license files

* Reduce criterion deps

* Make default a cow

* Add a CLI leon tool

* Fix tests

* Clippy

* Disable cli by default

* Avoid failing the build when cli is off

* Add to ci

* Update crates/leon/src/main.rs

Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>

* Update crates/leon/Cargo.toml

Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>

* Bump version

* Error not transparent

* Diagnostic can do forwarding

* Simplify error type

* Expand doc examples

* Generic Values for Hash and BTree maps

* One more borrowed

* Forward implementations

* More generics

* Add has_keys

* Lock stdout in leon tool

* No more debug comments in parser

* Even more generics

* Macros to reduce bench duplication

* Further simplify error

* Fix leon main

* Stable support

* Clippy

---------

Co-authored-by: Jiahao XU <Jiahao_XU@outlook.com>
2023-03-21 01:36:02 +00:00