Commit Graph

154 Commits

Author SHA1 Message Date
Nathan Whitaker bd4a4435cc \#[allow] false positive lint 2022-08-22 20:35:40 -07:00
Nathan Whitaker ca9b0fd836 Appease clippy 2022-08-22 20:23:30 -07:00
Nathan Whitaker 550034acdd Run miri in CI 2022-08-22 20:17:35 -07:00
Nathan Whitaker 6b6aeb6cf6 Small doc comments for raw pointer wrappers 2022-08-20 14:05:12 -07:00
Nathan Whitaker 42d2768d3b vtable function only works on erased `ErrorImpl`
+ slight reorg
2022-08-20 13:49:01 -07:00
Nathan Whitaker 460de635e0 Port the fix for miri failure from anyhow 2022-08-19 18:02:45 -07:00
Luca Palmieri b9ea587159
feat(graphical): Allow miette users to opt-out of the rendering of the cause chain (#192)
Fixes: https://github.com/zkat/miette/issues/191
2022-08-09 17:32:02 -07:00
Andrew Hickman c3e6c98336
fix(utils): Fix off-by-one error in SourceOffset::from_location (#190) 2022-08-02 14:38:22 -07:00
Leon Breedt c95f58c87a
feat(json): `causes` support (#188)
Fixes: https://github.com/zkat/miette/issues/187
2022-07-31 11:47:06 -07:00
Kat Marchán e286c705fd
fix(docs): readme was getting cut off during generation
Fixes: https://github.com/zkat/miette/issues/174
2022-07-24 10:24:07 -07:00
Rain 12dc40070a
fix(graphical): handle an empty source (#183)
In some cases the source can be completely empty -- handle that in a reasonable fashion.
2022-07-08 19:41:12 -07:00
Andrew Hickman 85da6a8407
feat(protocol): Implement SourceCode for Arc<str> (and similar types) (#181) 2022-06-25 10:58:56 -07:00
Benjamin Lee 1816b06a2e
feat(theme): restructure automatic color selection (#177)
Fixes: https://github.com/zkat/miette/issues/176

Change the default ansi color theme to use colors that are more similar
to the colors from the default RGB theme. In particular, don't use red
for any of the span labels, since that color is also used for errors.

BREAKING CHANGES:
* the default theme now prefers ANSI colors, even if RGB is supported
* `MietteHandlerOpts::ansi_colors` is removed
* `MietteHandlerOpts::rgb_color` now takes an enum that controls the
  color format used when color support is enabled, and has no effect
  otherwise.
2022-06-24 08:30:36 -07:00
Aria Beingessner b193d3c002
fix(json): Don't escape single-quotes, that's not valid json (#180) 2022-06-24 08:28:01 -07:00
Kat Marchán 0a4cf4ad24
fix(tests): add Display impl to diagnostic_source example 2022-05-05 12:44:49 -07:00
Kat Marchán a03bfe2e1b
docs: document new diagnostic_source feature 2022-05-05 08:56:27 -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
Matthias Beyer 33c8903313
fix: cargo fmt (#168)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-05-05 08:30:13 -07:00
Marcel Müller 2451ad6a96
docs(IntoDiagnostic): Warn of potential data loss (#161)
Fixes: https://github.com/zkat/miette/issues/160

This patch expands on the effects of using IntoDiagnostic and warns
users of potential loss of information when using it on `Diagnostic`
types.
2022-04-23 11:35:39 -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 1e1d615253 feat(spans): add From shorthand for zero-length SourceSpans 2022-04-22 18:44:09 -07:00
Kat Marchán 9da62cd05d feat(label): use macro magic instead of optional flag for optional labels 2022-04-17 22:43:01 -07:00
Kat Marchán ea55f458fa feat(help): allow non-option values in #[help] fields 2022-04-17 22:43:01 -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 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
Rain 5e54b29acf
feat(spans): make SourceSpan implement Copy (#151)
SourceSpan is just a pair of usizes, so it's cheap to copy.
2022-04-17 15:27:11 -07:00
Rain 97197601ee
fix(theme): set correct field in MietteHandlerOpts::ansi_colors (#150) 2022-04-13 17:21:22 -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
Finomnis b4a9d4cd9b
feat(report): Add conversion from Report to Box<dyn Error> (#149) 2022-04-03 13:10:32 -07:00
Bartek Iwańczuk 5151411ebb
feat: add fancy-no-backtrace feature (#144) 2022-03-22 12:30:52 -07:00
Christopher Durham 70e84f9a01
fix(handler): Apply MietteHandlerOpts::graphical_theme (#138)
Fixes: https://github.com/zkat/miette/issues/134
2022-03-18 16:30:00 -07:00
Christopher Durham b6a6cc9e75
feat(reporter): Allow GraphicalReportHandler to disable url display (#137) 2022-03-18 16:28:54 -07:00
Christopher Durham 209275d437
fix(colors): handler_opts.color(false) should disable color (#133) 2022-03-17 20:35:45 -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 50bcec909a
fix(handlers): source code propagation for JSON handler (#122)
A part of fix of #99, follow up of #117
2022-02-22 16:06:29 -08:00
Paul Colomiets 75d4505e7d
feat(derive): allow `Report` in `related` (#121)
Fixes: #119
2022-02-21 19:12:37 -08:00
Paul Colomiets 3a17fceabb feat(handlers): propagate source code to related errors
Fixes #99
2022-02-19 16:58:48 -08:00
Paul Colomiets 50519264d4 feat(report): add `with_source_code`
Fixes #64
2022-02-19 16:58:48 -08:00
Kat Marchán 5c085b39e2
fix(graphical): boolean was messing up graphical display 2022-02-17 22:25:05 -08: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
Paul Colomiets 2649fd27c4
feat(Report): adds `.context()` method to the `Report` (#109)
Techically there was a hidden undocumented `context` method. But it was
just copied from the `eyre` and there is no evidence that it was used by
any user in miette (the method was an alias for `.handler()`).

Fixes #108
2022-01-17 17:16:08 -08:00
Paul Colomiets f158f4e370
fix(handlers): Fix label position (#107)
Fixes #106

While fixing the bug I've also extended the handler to print not just
where label starts but also where label ends.

Also implements #97, but for narratabble handler only.

This adds dependency on `unicode-width`, but it was already in the
dependency chain (`textwidth` depends on it). Although, previously it
was only for `"fancy"` feature, now it always required since narratable
handler is supported without `"fancy"`.
2022-01-17 11:07:29 -08:00
Kat Marchán 9dcce5f1bd
fix(colors): treat no-color mode as no-color instead of narratable (#94)
Fixes: https://github.com/zkat/miette/issues/93

BREAKING CHANGE: NO_COLOR no longer triggers the narrated handler. Use
NO_GRAPHICS instead.
2022-01-08 09:11:19 -08:00
Kat Marchán 51146535f5
fix(deps): switch to terminal_size 2022-01-07 17:47:56 -08:00
Paul Colomiets c205d2e71b
docs: fix mentions of eyre and DiagnosticError (#100)
Note: `DiagnosticError` is a private type, `Report` returned from
`into_diagnostic()` instead.
2022-01-07 17:35:48 -08:00
Paul Colomiets 645ef6a1b6
fix(json): proper escapes for JSON strings (#101)
Includes two fixes:
1. Things like `\n` are not doubly-escaped any more
2. The backslash `\` itself in the source is escaped
2022-01-07 17:35:24 -08:00
Paul Colomiets 52e5ec8064
fix(chain): correct `Chain` structure exported (#102)
This fixes all current complier and clippy warnings.
2022-01-07 17:34:39 -08:00
dvermd 53b246829a
feat(handlers): Add JSON handler (#90) 2021-11-15 08:49:22 -08:00