Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Diagnostic Report Handler TUI #1694

Open
sambacha opened this issue May 22, 2022 · 3 comments
Open

Feature: Diagnostic Report Handler TUI #1694

sambacha opened this issue May 22, 2022 · 3 comments
Labels
C-anvil Command: anvil C-cast Command: cast C-forge Command: forge D-hard Difficulty: hard P-low Priority: low T-feature Type: feature

Comments

@sambacha
Copy link
Contributor

Component

Forge, Cast, Anvil

Describe the feature you would like

Diagnostic Report Handler for Foundry's TUI

Integrate a new terminal/shell interface crate to improve readability and UI/UX

Basically, integrate miette as the presentation interface for displaying error outputs / diagnostic messages from forge tests (and possibly enrich compiler messages to fit the format?)

The miette crate also comes bundled with a default ReportHandler

  • Fancy graphical diagnostic output, using ANSI/Unicode text
  • single- and multi-line highlighting support
  • Screen reader/braille support, gated on NO_COLOR, and other heuristics.
  • Fully customizable graphical theming (or overriding the printers entirely).
  • Cause chain printing
  • Turns diagnostic codes into links in [supported terminals]

Example Error Handling Display


A great example would be providing a diagnostic code URL for the corresponding 4 byte signature of a function. This would basically build on this suggested proposed feature: #1672

Mockup

Not Foundry I know

Diagnostic Code URL

Informative Resources

Hyperlinks (a.k.a. HTML-like anchors) in terminal emulators

miette GitHub repo

miette at docs.rs

Additional context

No response

@sambacha sambacha added the T-feature Type: feature label May 22, 2022
@onbjerg onbjerg added this to Foundry May 22, 2022
@onbjerg onbjerg moved this to Todo in Foundry May 22, 2022
@sambacha
Copy link
Contributor Author

This could also be useful for this issue as well: #1795

@onbjerg onbjerg added C-cast Command: cast C-forge Command: forge P-low Priority: low D-hard Difficulty: hard C-anvil Command: anvil labels Jun 13, 2022
@sambacha
Copy link
Contributor Author

This TUI should actually instead use highlighting as opposed to strictly using symbols for pointing so that it can be independent of terminals screen size

@zerosnacks zerosnacks added this to the v1.0.0 milestone Jul 26, 2024
@zerosnacks
Copy link
Member

Related: #928

@zerosnacks zerosnacks removed this from the v1.0.0 milestone Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-anvil Command: anvil C-cast Command: cast C-forge Command: forge D-hard Difficulty: hard P-low Priority: low T-feature Type: feature
Projects
Archived in project
Development

No branches or pull requests

3 participants