Commit Graph

16 Commits

Author SHA1 Message Date
jtroo a215720576
feat(deps): update to syn2 (#247)
Fixes: https://github.com/zkat/miette/issues/243
2023-03-29 18:11:14 -07:00
Matthias Beyer bc449c8426
feat(diagnostic_source): add protocol method for Diagnostic-aware source chaining (#165)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-05-05 08:32:37 -07:00
Kat Marchán 45093c2f58
feat(help): update macro to allow optional help text (#152)
Fixes: https://github.com/zkat/miette/issues/148
2022-04-17 18:19:28 -07:00
Kyle Brown 5b8b5478b6
feat(derive): Make derive macro `diagnostic` attribute more flexible. (#115)
Fixes: #114 

* Improved defaulting

* Added correct combining logic
Added variable number of diagnostic attributes

* Error handling, testing, and docs improvements

Co-authored-by: Kyle Brown <kyleb@liquidrocketry.com>
2022-02-17 22:04:03 -08:00
Kat Marchán 8e11baab7b feat(related): Add related diagnostics (#68)
Fixes: https://github.com/zkat/miette/issues/47
2021-09-22 16:34:21 -07:00
Kat Marchán f87b158b22 feat(labels): replace snippet stuff with simpler labels (#62) 2021-09-22 16:34:21 -07:00
Cormac Relf 2fa5551c81
feat(derive): Add `#[diagnostic(forward(field_name), code(...))]` (#41) 2021-09-13 15:39:04 -07:00
Kat Marchán ffe1b558d0
feat(derive): make #[diagnostic] optional for enums, too 2021-09-07 17:45:30 -07:00
Kat Marchán 3f9da04b86
feat(report): anyhow-ify DiagnosticReport (#35)
This PR overhauls the toplevel/main experience for `miette`. It adds a new `Report` type based on `eyre::Report` and overhauls various types to fit into this model, as well as prepare for some [future changes in Rust](https://github.com/nrc/rfcs/pull/1) that will make it possible to integrate `miette` directly with crates like `eyre` instead of having to use this specific `Report`.

As such, this PR is a major breaking change, especially for anyone using `DiagnosticReport` and company.

BREAKING CHANGES:
* `DiagnosticReport` is now just `Report`, and is a different, `eyre::Report`-like type.
* `DiagnosticResult` is now just `Result`.
* `.into_diagnostic()` now just transforms the error into a `Report`.
* `DiagnosticReportPrinter` has been replaced with `ReportHandler`
* `set_printer` has been replaced by `set_hook`
* `code` is now optional.
* `.into_diagnostic()` no longer takes a `code` argument.
* `#[diagnostic]` is now optional when deriving `Diagnostic`.
2021-09-04 21:22:46 -07:00
Cormac Relf 53f5d6d1d6
feat(derive): Add `#[diagnostic(transparent,forward)]` (#36)
Fixes: https://github.com/zkat/miette/issues/16
2021-08-29 12:33:16 -07:00
Kat Marchán 61283e9efe
feat(snippets): Overhauled how snippets handle labels, sources, and messages, including the derive macro
BREAKING CHANGE: this will probably break a lot of your stuff. hopefully rustc helps
2021-08-22 19:06:47 -07:00
Kat Marchán 7e76e2dea4
feat(links): added URL linking support and automatic docs.rs link generation
Fixes: https://github.com/zkat/miette/issues/17
2021-08-22 15:42:08 -07:00
Kat Marchán 8fbad1b1cd
feat(derive): format string support for help()
Fixes: https://github.com/zkat/miette/issues/7
2021-08-18 19:59:50 -07:00
Kat Marchán f6e6acf2d2
feat(derive): Support for deriving snippet method (#18)
Fixes: #11
2021-08-16 22:20:13 -07:00
Kat Marchán 3e5ee0ee4d
fmt: cargo fmt --all 2021-08-15 21:08:53 -07:00
Kat Marchán 9a78a94395
fix(derive): move to plain syn to fix darling issues 2021-08-15 17:27:39 -07:00