ariadne icon indicating copy to clipboard operation
ariadne copied to clipboard

feature request: control context lines around labels

Open OmarTawfik opened this issue 1 year ago • 3 comments

Thanks for the really useful crate!

We wanted to suggest a tiny addition to the API, to control/increase the number of context lines around a label. It would make the hint much more readable, and doesn't force the user to click/navigate to the file to figure out the context around it.

For example, this is a typical label shown on line 5:

   ╭─[input.sol:5:5]
   │
 5 │     return r;
   │            ┬  
   │            ╰── some hint text.
───╯

But if user sets Label::with_context_lines(2) (defaults to zero), it will show 2 more lines in both directions around line 5 (above and below):

   ╭─[input.sol:5:5]
   │
 3 │     // fetch result from server:
 4 │     int r = fetchResult();
 5 │     return r;
   │            ┬  
   │            ╰── some hint text.
 6 │   }
 7 │ }
───╯

Or as an improvement, it can also support specific directions, with Label::with_context_lines_above(2) and Label::with_context_lines_below(2) .

Thanks!

OmarTawfik avatar Aug 23 '24 13:08 OmarTawfik

This would make some diagnostic messages (especially ones where white space is not important and the user can do as they please) a more informative and easier to understand.

fogzot avatar Sep 02 '24 08:09 fogzot

Configurable context is something I plan to add to ariadne's rewrite (you can see the ariadne2 branch for current progress, if you're curious).

zesterer avatar Sep 02 '24 14:09 zesterer

Thanks @zesterer! Is there a timeline for shipping v2? Otherwise, I wonder how much work is it to add to v1? any tips?

OmarTawfik avatar Sep 03 '24 01:09 OmarTawfik