Change the output color of compile error message?

Hello, i set to use a new theme for my wezterm recent day, sadly, this them not work well with most of out of box color which often need do some adjust.

following screenshot is the output of a compile error.

as you can see, the default color of error message is very hard to read.

so, is there any option or easy way to change this?

Thanks.


EDIT, the above error output use sequence [0;33m, like this:

I want change to [0;35m, which display more better.

Hello.

I have done a simple experiment.

git clone https://github.com/crystal-lang/crystal
cd crystal
grep -rl yellow.bold

# . /src/compiler/crystal/compiler.cr
# . /src/compiler/crystal/semantic/exception.cr
# . /src/compiler/crystal/semantic/abstract_def_checker.cr
# . /src/compiler/crystal/semantic/call_error.cr
# . /src/compiler/crystal/syntax/exception.cr

grep -rl yellow.bold | xargs -L1 gsed -i 's/yellow\.bold/green\.bold/g'
make progress=1

As a result, the error message is green.
It appears that the color is likely to be hard-coded?

If ANSI yellow is hard to read, you need to adjust your colorscheme, not recompile Crystal.

And 35 is supposed to be magenta, not brown.

3 Likes

Related: Change the compiler problem report color from yellow · Issue #14094 · crystal-lang/crystal · GitHub

Thanks, i checked this solution, it should work, but change source code before compile is a little tedious and error-prone anyway.

Thanks all, yes, i should change my theme to avoid this anyway.

Finally, i change to use another theme (Novel) instead original (Belafonte Day), it more better. (see screenshot)

Anyway, after year use dark mode, i want to change to use a more light mode.

1 Like

The struggle is real. I went light mode a few weeks back, as I don’t sit hacking in a dark room any more (as if I ever did), and getting annoyed by commands using black text on a red background, as the black really isn’t.

A bit complicated by the fact that vterm just inherits from Emacs colour scheme, which I’m generally quite happy with.

1 Like