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
Kat Marchán
92a3150921
fix(derive): Code is no longer required
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
adf0bc933f
fix(derive): #[diagnosic(severity)] works for named and unnamed variants/structs now
...
Fixes: https://github.com/zkat/miette/issues/26
2021-08-21 17:18:12 -07:00
Kat Marchán
d675334e48
feat(reporter): fancy new reporter with unicode, colors, and multiline ( #23 )
...
Fixes: https://github.com/zkat/miette/issues/3
Fixes: https://github.com/zkat/miette/issues/5
2021-08-20 20:09:23 -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
385171eb81
feat(derive): Allow anything Clone + Into<SourceSpan> to be used as a Span
...
Fixes: https://github.com/zkat/miette/issues/12
2021-08-17 19:30:22 -07:00
Kat Marchán
49151bb095
fix(protocol): keep the owned spans
2021-08-17 17:15:05 -07:00
Kat Marchán
f390520b45
feat(protocol): reference-based DiagnosticReport!
2021-08-17 15:30:52 -07:00
Kat Marchán
acfeb9c5b0
feat(protocol): new SourceSpans with labels
2021-08-17 08:41:20 -07:00
Kat Marchán
f704d6a9ae
fix(derive): allow unused variables for the snippets method
2021-08-16 23:10:08 -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
9ef0dd261f
feat(derive): improved derive support, including partial help format string support!
2021-08-15 18:15:50 -07:00
Kat Marchán
9a78a94395
fix(derive): move to plain syn to fix darling issues
2021-08-15 17:27:39 -07:00
Kat Marchán
0e7702700d
feat(derive): added basic derive macro
...
This should be good for most basic use cases. More features will be added over time :)
2021-08-15 11:49:02 -07:00