Marcel Müller
c7ebcaf51e
Group related diagnostics with a graphical line
2022-05-06 11:57:27 +02:00
Marcel Müller
54ede01862
Only print a newline sep. when there is a header
2022-05-06 11:56:20 +02:00
Marcel Müller
db8949f761
Render inner diagnostic with a renderer
...
Previously diagnostics just had their StdError Display implementation
called. This now uses a GraphicalReport if wished.
2022-05-06 11:56:20 +02: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
1a36fa7ec8
fix(graphical): fix issue with duplicate labels when span len is 0 ( #159 )
...
Fixes: https://github.com/zkat/miette/issues/130
2022-04-22 19:31:51 -07:00
Kat Marchán
084ed138b7
feat(related): print related prefixes according to severity ( #158 )
...
Fixes: https://github.com/zkat/miette/issues/139
2022-04-22 18:55:45 -07:00
Kat Marchán
23ee3642d1
feat(labels): allow optional labels in derive macro ( #153 )
...
Fixes: https://github.com/zkat/miette/issues/110
2022-04-17 19:41:10 -07:00
Kat Marchán
37cda4a3a4
fix(fmt): cargo fmt
2022-04-03 20:31:18 -07:00
Kat Marchán
b98b098282
fix(clippy): misc clippy fixes
2022-04-03 18:33:51 -07:00
Christopher Durham
b6a6cc9e75
feat(reporter): Allow GraphicalReportHandler to disable url display ( #137 )
2022-03-18 16:28:54 -07:00
Moritz Mœller
5d23c0d61d
fix(docs): Docs overhaul ( #124 )
...
* Fixed/formatted all intradoc links. Various other small doc fixes/typography/etc.
* Clarified semantic similarity with anyhow/eyre types/macros.
* Removed unused MietteError::SetPrinterFailure.
* README now generaed from lib.rs via `cargo readme`.
* More doc fixes, made ErrorHook type public.
* Indentation (docs).
2022-02-25 08:39:18 -08:00
Paul Colomiets
3a17fceabb
feat(handlers): propagate source code to related errors
...
Fixes #99
2022-02-19 16:58:48 -08:00
Kirill Vasiltsov
1f70140c2e
feat(tabs): Add replace tabs with spaces option ( #82 )
...
Fixes: https://github.com/zkat/miette/issues/73
2021-10-05 21:05:57 -07:00
Kat Marchán
612967d381
fix(deps): remove dep on itertools
2021-09-22 16:34:21 -07:00
Kat Marchán
77c5899bbd
fix(graphical): render URLs even without a code
2021-09-22 16:34:21 -07:00
Kat Marchán
717f8e3d88
feat(graphical): add theming customization for linums
2021-09-22 16:34:21 -07:00
JT
a69020422e
fix(graphical): Fix off-by-one span_applies calculation ( #70 )
...
This changes the span_applies calculation to only count spans where the end of the span is considered part of it if the underline spills into it. I believe this happens if, say, the span.offset() is 10 and span.len() is 2, then we want to count offsets 10 and 11 as part of the span and those would spill, but not 12 as it's the "one past the end" where we know when to stop underlining.
2021-09-22 16:34:21 -07:00
Kat Marchán
72c0bb9e65
feat(graphical): compact even more
2021-09-22 16:34:21 -07:00
Kat Marchán
db637a366b
feat(graphical): compact graphical display a bit
2021-09-22 16:34:21 -07: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
18e0ed7749
fix(graphical): fix coalescing adjacent things when they cross boundaries
2021-09-22 16:34:21 -07:00
Kat Marchán
6c6484633e
feat(graphical): simplify graphical header and remove a dep
2021-09-22 16:34:21 -07:00
Kat Marchán
e2e4027fda
fix(graphical): stop rendering red vbars before the last item
2021-09-22 16:34:21 -07:00
Kat Marchán
1a0f359e3c
feat(report): nicer, non-overlapping same-line highlights
2021-09-22 16:34:21 -07:00
Kat Marchán
4bb9d12102
feat(handlers): Update graphical handler to use new label protocol ( #66 )
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
2c43740346
feat(theme): more styling changes
2021-09-22 16:34:21 -07:00
Kat Marchán
c5c0576ec6
feat(theme): rename some theme items for clarity
...
BREAKING CHANGE: These were part of the public API, so if you were using theming, this might have broken for you
2021-09-22 16:34:21 -07:00
Kat Marchán
93374173e3
feat(footer): add footer support to graphical and narrated
...
Fixes: https://github.com/zkat/miette/issues/34
2021-09-22 16:34:21 -07:00
Kat Marchán
4c2463f9ae
feat(report): make a single big MietteHandler that can switch modes
...
BREAKING CHANGE: linkification option method on GraphicalReportHandler has been changed to .with_links(bool)
2021-09-22 16:34:21 -07:00
Kat Marchán
80036781cd
fix(report): miscellaneous, hacky tweaks to graphical rendering
2021-09-22 16:34:21 -07:00
Robin Appelman
d994add912
fix(report): Fix end of previous line wrongly being included in highlight ( #52 )
2021-09-13 09:57:54 -07:00
Kat Marchán
eb07d5bd66
fix(report): fix wrapping for header and add wrapping for footer
2021-09-11 00:57:53 -07:00
Kat Marchán
eaebde92cf
feat(report): make header line as wide as terminal
2021-09-10 17:09:52 -07:00
Kat Marchán
bc72532465
feat(report): take terminal width into account for wrapping text
2021-09-10 12:39:10 -07:00
Kat Marchán
f482dcec6a
feat(report): wrap multiline messages to keep formatting
...
Fixes: https://github.com/zkat/miette/issues/51
2021-09-10 08:16:40 -07:00
Kat Marchán
1ba3f2f5d2
fix(report): get rid of the weird arrow thing. it does not look good
2021-09-10 07:36:09 -07:00
Kat Marchán
533ff5f348
fix(reporter): improve color situation and style things a little nicer
2021-09-08 20:59:19 -07:00
Kat Marchán
6422f82174
fix(report): don't color error message text to draw eyes back to it
2021-09-08 18:29:41 -07:00
Kat Marchán
824cd8bebe
feat(printer): use uparrow for empty highlights and fix 0-offset display bug
2021-09-07 17:41:28 -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