Numbering compiler error messages?
Steven Schveighoffer
schveiguy at yahoo.com
Mon Mar 31 05:10:42 PDT 2014
On Sun, 30 Mar 2014 15:23:44 -0400, Walter Bright
<newshound2 at digitalmars.com> wrote:
> On 3/30/2014 4:04 AM, Paulo Pinto wrote:
>> Am 28.03.2014 19:09, schrieb Walter Bright:
>>> On 3/28/2014 2:23 AM, monarch_dodra wrote:
>>>> Well, I'm just throwing that out there.
>>>
>>> I've thought many times that an error message should be a clickable
>>> link. But until console displays support clickable text, it's just a
>>> fantasy.
>>
>> Actually on GNU/Linux systems many do.
>
> I just tried it on Ubuntu and - you're right! Pretty awesome.
Yes, I think a url, even if not clickable, is way more useful than an
arbitrary error id. It takes not much effort to copy/paste a URL into a
browser.
We can make this easy:
Compiler outputs a URL like this: http://derror.org/2.065/filename.c/l123
Using a function that takes __FILE__ and __LINE__
Then, include a special comment just before the error output that will be
parsed by a post-processor, and link that url to the comment (either in
github, or on a nice web page).
Example:
const char *errurl(const char *file = __FILE__, int line = __LINE__); //
does this work in C++? I can't remember!
// <ERRMSG> A variable cannot be re-defined inside a new scope. See
http://dlang.org/...
error("is shadowing declaration %s%s", s->toPrettyChars(), errurl());
errurl could be configured to print a URL or nothing via a command line
option.
Bonus: those who know the error url format know exactly where to go in the
code to see where it was printed from.
-Steve
More information about the Digitalmars-d
mailing list