I know close to nothing about internals of Boost.Built.
Simply, I have scanned and read through tools/build/v2/*.jam files and
C source code in tools/build/v2/engine
and came up with the following idea:
Colour is specified by name given as optional argument to ECHO rule:
ECHO "hello world" : green ;
ECHO supports limited number of popular colours: red, green, blue, yellow,
and may be cyan and magenta too.
ECHO could also support extra argument specifying font weight, two
values only: bold or normal
Next, builtin_echo() determines if any of formatting arguments have
and passes relevant arguments to printing like list_print.
It means, list_print and other printing functions need to be modified.
So, the colouring machinery is implemented in C in the
and it should support Unix consoles and Windows.
Once colouring for ECHO rule is available, I'm thinking about updating .jam
parts to format output where it makes sense.
- Compiler and linker errors in red (bold)
- Compiler and linker warnings in yellow (bold)
- In test module: **passed** in green and **failed** in red (bold)
- Boost.Build errors in cyan (normal)
- Boost.Build progress indicated with colours, e.g. final command on
target in green
IMHO, colours if used properly could extremely improve readability of
Is this a good idea?
Am I tackling it from the right angle or there is a better approach?
I'd appreciate any comments.
> I know close to nothing about internals of Boost.Built.
> Simply, I have scanned and read through tools/build/v2/*.jam files and
> C source code in tools/build/v2/engine
> and came up with the following idea:
> Colour is specified by name given as optional argument to ECHO rule:
> ECHO "hello world" : green ;
> Is this a good idea?