Thread overview
colors in gdc errors
Sep 03, 2013
eles
Sep 03, 2013
Iain Buclaw
Oct 01, 2013
Iain Buclaw
Oct 01, 2013
eles
Oct 01, 2013
Iain Buclaw
Oct 01, 2013
eles
Oct 01, 2013
eles
Oct 02, 2013
Iain Buclaw
Oct 07, 2013
Dejan Lekic
Oct 07, 2013
eles
September 03, 2013
It would be possible to implement this for gdc, too:

http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html#index-fdiagnostics-color-239

?
Also, error messages more similar to those spitted out by gcc. Compare:

test01.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
 int main() {
 ^

with

test01.d:3: Error: no identifier for declarator eroare
test01.d:3: Error: semicolon expected, not 'int'

that is: also provide column, display the offending line, add a caret on the next line.

I know it is not the end of the world, but it would be nice. Did not test with ldc...
September 03, 2013
On 3 September 2013 16:54, eles <eles@eles.com> wrote:
> It would be possible to implement this for gdc, too:
>
> http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html#index-fdiagnostics-color-239
>
> ?
> Also, error messages more similar to those spitted out by gcc. Compare:
>
> test01.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before
> ‘int’
>  int main() {
>  ^
>
> with
>
> test01.d:3: Error: no identifier for declarator eroare test01.d:3: Error: semicolon expected, not 'int'
>
> that is: also provide column, display the offending line, add a caret on the next line.
>
> I know it is not the end of the world, but it would be nice. Did not test with ldc...

The front-end would have to track column numbering for to allow use to use carets in errors.

As for errors, only errors that go through the gcc error system shows in colours.  So would have to modify the frontend accordingly in that case...

eg:

void main() { int a = void; }

gdc -fdiagnostics-color -Wunused foo.d

gdc -fdiagnostics-color -Wunused -Werror foo.d


Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
October 01, 2013
On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>> It would be possible to implement this for gdc, too:
>>
>> http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html#index-fdiagnostics-color-239
>>
>> ?
>> Also, error messages more similar to those spitted out by gcc. Compare:
>>
>> test01.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before
>> ‘int’
>>  int main() {
>>  ^
>>
>> with
>>
>> test01.d:3: Error: no identifier for declarator eroare test01.d:3: Error: semicolon expected, not 'int'
>>
>> that is: also provide column, display the offending line, add a caret on the next line.
>>
>> I know it is not the end of the world, but it would be nice. Did not test with ldc...
>
> The front-end would have to track column numbering for to allow use to use carets in errors.
>
> As for errors, only errors that go through the gcc error system shows in colours.  So would have to modify the frontend accordingly in that case...
>

https://github.com/D-Programming-GDC/GDC/commit/b2a4421180f70475b52497a75ab0fe760ebc82d7

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
October 01, 2013
On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>> It would be possible to implement this for gdc, too:
>> As for errors, only errors that go through the gcc error system shows
>> in colours.  So would have to modify the frontend accordingly in that
>> case...
>>
>
> https://github.com/D-Programming-GDC/GDC/commit/b2a4421180f70475b52497a75ab0fe760ebc82d7

Great! Could you make fdiagnostic-color=auto by default? (instead of never). Just like gcc.

Thank you.
October 01, 2013
On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>
> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>
>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>
>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>
>>>> It would be possible to implement this for gdc, too:
>>>
>>> As for errors, only errors that go through the gcc error system shows
>>>
>>> in colours.  So would have to modify the frontend accordingly in that case...
>>>
>>
>>
https://github.com/D-Programming-GDC/GDC/commit/b2a4421180f70475b52497a75ab0fe760ebc82d7
>
>
> Great! Could you make fdiagnostic-color=auto by default? (instead of
never). Just like gcc.
>
> Thank you.

I'll check to see if you are correct. :)

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


October 01, 2013
On Tuesday, 1 October 2013 at 09:57:38 UTC, Iain Buclaw wrote:
> On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>>
>> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>>
>>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>>
>>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>>
>>>>> It would be possible to implement this for gdc, too:
>>>>
>>>> As for errors, only errors that go through the gcc error system shows
>>>>
>>>> in colours.  So would have to modify the frontend accordingly in that
>>>> case...
>>>>
>>>
>>>
> https://github.com/D-Programming-GDC/GDC/commit/b2a4421180f70475b52497a75ab0fe760ebc82d7
>>
>>
>> Great! Could you make fdiagnostic-color=auto by default? (instead of
> never). Just like gcc.

Sorry, I think I made a mistake. Actually, it depends of the state of the variable GCC_COLORS:

"-fno-diagnostics-color
Use color in diagnostics. WHEN is ‘never’, ‘always’, or ‘auto’. The default is ‘never’ if GCC_COLORS environment variable isn't present in the environment, and ‘auto’ otherwise. ‘auto’ means to use color only when the standard error is a terminal. The forms -fdiagnostics-color and -fno-diagnostics-color are aliases for -fdiagnostics-color=always and -fdiagnostics-color=never, respectively."

http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html

It seems to work the same way.

October 01, 2013
On Tuesday, 1 October 2013 at 11:47:31 UTC, eles wrote:
> On Tuesday, 1 October 2013 at 09:57:38 UTC, Iain Buclaw wrote:
>> On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>>>
>>> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>>>
>>>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>>>
>>>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>>>
> "-fno-diagnostics-color
> Use color in diagnostics. WHEN is ‘never’, ‘always’, or ‘auto’. The default is ‘never’ if GCC_COLORS environment variable isn't present in the environment, and ‘auto’ otherwise. ‘auto’ means to use color only when the standard error is a terminal. The forms -fdiagnostics-color and -fno-diagnostics-color are aliases for -fdiagnostics-color=always and -fdiagnostics-color=never, respectively."
>
> http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html
>
> It seems to work the same way.

Wowo, it *really* works if i set up the GCC_COLORS

For the record, here's mine:

export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01;36:quote=01'

October 02, 2013
On Oct 1, 2013 12:50 PM, "eles" <eles@eles.com> wrote:
>
> On Tuesday, 1 October 2013 at 11:47:31 UTC, eles wrote:
>>
>> On Tuesday, 1 October 2013 at 09:57:38 UTC, Iain Buclaw wrote:
>>>
>>> On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>>>>
>>>>
>>>> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>>>>
>>>>>
>>>>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>>>>
>>>>>>
>>>>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>>>>
>>>>>>>
>> "-fno-diagnostics-color
>> Use color in diagnostics. WHEN is ‘never’, ‘always’, or ‘auto’. The
default is ‘never’ if GCC_COLORS environment variable isn't present in the environment, and ‘auto’ otherwise. ‘auto’ means to use color only when the standard error is a terminal. The forms -fdiagnostics-color and -fno-diagnostics-color are aliases for -fdiagnostics-color=always and -fdiagnostics-color=never, respectively."
>>
>> http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html
>>
>> It seems to work the same way.
>
>
> Wowo, it *really* works if i set up the GCC_COLORS
>

Doesn't surprise me.  A lot of gcc features work without front end interaction.  :)

Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


October 07, 2013
On Tuesday, 1 October 2013 at 11:49:54 UTC, eles wrote:
> On Tuesday, 1 October 2013 at 11:47:31 UTC, eles wrote:
>> On Tuesday, 1 October 2013 at 09:57:38 UTC, Iain Buclaw wrote:
>>> On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>>>>
>>>> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>>>>
>>>>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>>>>
>>>>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>>>>
>> "-fno-diagnostics-color
>> Use color in diagnostics. WHEN is ‘never’, ‘always’, or ‘auto’. The default is ‘never’ if GCC_COLORS environment variable isn't present in the environment, and ‘auto’ otherwise. ‘auto’ means to use color only when the standard error is a terminal. The forms -fdiagnostics-color and -fno-diagnostics-color are aliases for -fdiagnostics-color=always and -fdiagnostics-color=never, respectively."
>>
>> http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html
>>
>> It seems to work the same way.
>
> Wowo, it *really* works if i set up the GCC_COLORS
>
> For the record, here's mine:
>
> export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01;36:quote=01'

Thanks for this info, I did not know about it. :) \o/

October 07, 2013
On Monday, 7 October 2013 at 13:00:10 UTC, Dejan Lekic wrote:
> On Tuesday, 1 October 2013 at 11:49:54 UTC, eles wrote:
>> On Tuesday, 1 October 2013 at 11:47:31 UTC, eles wrote:
>>> On Tuesday, 1 October 2013 at 09:57:38 UTC, Iain Buclaw wrote:
>>>> On Oct 1, 2013 8:20 AM, "eles" <eles@eles.com> wrote:
>>>>>
>>>>> On Tuesday, 1 October 2013 at 03:36:09 UTC, Iain Buclaw wrote:
>>>>>>
>>>>>> On 3 September 2013 17:03, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
>>>>>>>
>>>>>>> On 3 September 2013 16:54, eles <eles@eles.com> wrote:
>>>>>>>>
>>
>> export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01;36:quote=01'
>
> Thanks for this info, I did not know about it. :) \o/

glad it is useful