This change adds `track_caller` annotations to `context.rs` on various trait helper methods (`wrap_err`) that were missing it. It also adds tests for these APIs to ensure that the location captured is in the file that created the error.
* Add color scheme backwards compatibility test
* Rewrote test case for color schemes
* implementation
* Add missing test data
* Update src/config.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
* Update src/config.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
* Update src/config.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
* Implement suggestions
* bump versions and update control copy of test output
* move THEME setting into core method
* update theme install and propagation to avoid a once-cell
* disable spantrace theme-ing with feature
* fix panic theme test to include a spantrace in the panic itself
* fix inconsistent theme propagation
* disable panic test for different feature configs
* cleanup logs
* try copying control from raw github test logs
* add rust-src for test consistency
* update test outputs
* just dont bother testing source resolution
* format unknown files consistently with known ones
* test format for multiple feature combinations
* store data for alternate theme configurations
* fix dependency coloration when missing hash suffix
* update changelog
* depend on as of yet unreleased owo-colors version
* (cargo-release) version 0.5.10
Co-authored-by: d4h0 <d4h0@obyz.de>
Co-authored-by: Jane Lusby <jlusby@yaah.dev>
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
* init
* Add missing test data
* Implement requested changes
* Rename test/styles.rs and tests/data/style_control.txt
* bump version on owo-colors and run rustfmt
* update control to include source lines
* tweek the documentation a little
* bump version and prep for release
* (cargo-release) start next development iteration 0.1.6-alpha.0
Co-authored-by: d4h0 <d4h0@obyz.de>
Co-authored-by: Jane Lusby <jlusby@yaah.dev>
* add example of desired usage
* reimplement all of kellpossibles pr
* reorganizing to minimize diff
* update changelog for release
* (cargo-release) version 0.5.8
* (cargo-release) start next development iteration 0.5.9-alpha.0
Co-authored-by: Jane Lusby <jlusby@yaah.dev>
* update changelog for new release
* update gitignore so cargo release likes me again
* (cargo-release) version 0.5.7
* (cargo-release) start next development iteration 0.5.8-alpha.0
* try using matrix for feature combinations
* Add feature more gates for capture-spantrace
When only the `issue-url` features is enabled, with the default
features being disabled, the crate fails to build
```
$ cargo build --no-default-features --features issue-url
Compiling color-eyre v0.5.7-alpha.0 (/Users/paul/dev/color-eyre)
error[E0432]: unresolved import `tracing_error`
--> src/section/github.rs:5:5
|
5 | use tracing_error::SpanTrace;
| ^^^^^^^^^^^^^ use of undeclared type or module `tracing_error`
error[E0282]: type annotations needed
--> src/section/github.rs:28:25
|
28 | span_trace: None,
| ^^^^ cannot infer type for type parameter `T` declared on the enum `Option`
error: aborting due to 2 previous errors
```
This commit add feature gates for capture-spantrace to the github
issue module, so that the issue-url feature can be used standalone.
* ignore broken doctest and add new ci configs
* make the ci configs differentiable
Co-authored-by: Jane Lusby <jlusby@yaah.dev>
* Add support for track caller via new feature flag
* edit changelog
* add missing cfgs
* (cargo-release) version 0.5.6
* (cargo-release) start next development iteration 0.5.7-alpha.0
* Implement track caller support for eyre::Report
* fix errors on old compiler version
* fix tests
* add a changelog
* (cargo-release) version 0.6.1-rc.1
* Allow missing replacement for diff range
* maybe it has to be deleted
* okay try removing it entirely...
* (cargo-release) version 0.6.1
* (cargo-release) start next development iteration 0.6.2-alpha.0
* add back missing replacement
* add support for filtering issue generation for errors
* cleanup for release candidate
* fix error in doc test
* fix other errors in doctest
* now the doc test actually passes
* (cargo-release) version 0.5.5-rc.1
* (cargo-release) version 0.5.5
* (cargo-release) start next development iteration 0.5.6-alpha.0
* Initial implementation of github issue generator
* document the hookbuilder methods
* fix doctest
* make issue generation feature optional
* update changelog
* (cargo-release) version 0.5.4-rc.1
* add doc cfg attr to new methods
* (cargo-release) version 0.5.4-rc.2
* supress issue sections when they'd be empty
* (cargo-release) version 0.5.4-rc.3
* (cargo-release) version 0.5.4
* (cargo-release) start next development iteration 0.5.5-alpha.0
* (cargo-release) start next development iteration 0.5.3-alpha.0
* bump version in lib.rs too
* add more configuration to help with release process
* fix replace section for html_root_url
* (cargo-release) start next development iteration 0.5.3-alpha.0
* add support for customized panic messages
* reorg a little
* add example and changelog
* reorder items in example
* fix missing semi
* Use `<span>` instead of `<font>` in documentation
The `<font>` tag was deprecated in [HTML 4.01]. Let's use the verbose
but standardized `<span>` tag with discouraged but supported inline
styles instead.
(I was wrong when I said it was deprecated before I was born; though
[HTML 4]'s spec was published in 1997, about 6 months before I was born,
`<font>` was only deprecated in HTML 4.01, published 2 years later when
I was about 16 months old.)
[HTML 4]: https://www.w3.org/TR/REC-html40-971218/
[HTML 4.01]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/font
* Add script to convert `<span>` to `<font>` in docs
```
$ ./scripts/fix_html_examples.py --help
usage: fix_html_examples.py [-h] file [file ...]
Convert HTML from Gnome terminal's 'Copy as HTML' feature to use modern
<span> tags and inline CSS. This script is idempotent, i.e. multiple
invocations will not change the output past the first invocation.
positional arguments:
file Rust file to update <pre> blocks in.
optional arguments:
-h, --help show this help message and exit
$ ./scripts/fix_html_examples.py src/*.rs
Nothing to fix in src/config.rs
Nothing to fix in src/handler.rs
Updated example colored output in src/lib.rs
Nothing to fix in src/private.rs
Nothing to fix in src/writers.rs
$ ./scripts/fix_html_examples.py src/*.rs
Nothing to fix in src/config.rs
Nothing to fix in src/handler.rs
Nothing to fix in src/lib.rs
Nothing to fix in src/private.rs
Nothing to fix in src/writers.rs
```
Co-authored-by: Rebecca Turner <rturner@linkedin.com>
* print panics via eprinln to leverage test io capture
* move things into a display impl to only acquire the lock once
* unfuck indentation
* use original identifier for output stream
* add testing for wasm
utilize wasm-bindgen-test as a developer dependency in order to
actively run wasm tests. wasm currently doesn't have support for
running doctests (and reportedly won't "anytime soon"), and in
order to actually run the tests we need a wasm environment.
the easiest of these to setup & use is wasm-pack which is primarly
built for nodejs. however, if it works in nodejs it should ideally
work in other wasm environments that are similar.
as such a wasm-pack (which utilizies wasm-bindgen) as a developer
dependency has been added that creates a simple error message,
and validates it contains the text of the error (and sections)
sans any formatting. this is meant to validate a base level
of functionality as time goes on.
* fix format
* only add dev-dependency for wasm32
* fix clippy warning
Co-authored-by: Jane Lusby <jlusby@yaah.dev>
* port color-eyre to new eyre with global hook
* add a singular hook configuration
* add panic handler to globally installed hook
* getting near the end
* remove unused module
* temp: working on capture consistency
* walk back changes that make porting to new release harder
* merge main into hooked
* switch to github color-spantrace and copy from htmlgit status
* move spantrace capture default mode into hook
* rename and reorg section stuff
* switch to released deps
* copy changes from lib.rs to readme
* update snippets and revert to images for readme
* remove extremely fragile format tests
* Switch report handler to a global hook
* more cleanup
* remove default from example
* remove broken support for no_std
* back out the unneeded nostd check
* remove one stackframe when capturing a Handler
* update docs and prep for release
* port lib.rs docs updates to readme
* fix type inference issue in eyre macro autoderef behavior
* use the upstream example
* update testcase compile err output
* remove cruft
* bump version for breaking change