Zig commit: 0f6fa3f20b3b28958921bd63a9a9d96468455e9c
std: Move std.debug.{TTY.Config,detectTTYConfig} to std.io.tty
Also get rid of the TTY wrapper struct, which was exlusively used as a
namespace - this is done by the tty.zig root struct now.
detectTTYConfig has been renamed to just detectConfig, which is enough
given the new namespace. Additionally, a doc comment had been added.
* Only show actual Zig compiler errors, not build internals to
confused and dismay.
* Remove advanced usage instructions not needed in normal
operation.
Currently addExecutable is called 3 times, unnecessarily making the code
more complex.
The method takes as argument the path to the exercises directory.
Additionally, use the new std.Build.ExecutableOptions.link_libc field.
The new field was added in ziglang/zig@adc9b77d5f on 2023-04-13.
Update the required Zig compiler version.
Note that I added the **current** zig version to the changelog, since
the reason for the change is known only to the person updating the
version.
Update the code to the breaking change in ziglang commit
60eabc0ec (std.Build.CompileStep: remove run() and install())
Update the zig version in the README.md file.
The new parallel build support in Zig broke the exercise chain, so that
each esercise check is no longer strictly serialized.
1. Add the Dexno option, in order to isolate the chain starting from a
named exercise from the normal chain, thus simplify the code.
The current code have an additional issue: it added 4 x n steps,
making reading the help message or the list of steps very hard.
Add only the `install`, `uninstall`, `zigling`, `test` and `start`
steps. The last three steps match the old steps `n`, `n_test` and
`n_start`.
The default step is zigling (note the singular form).
The `install` step override the builtin install step, showing a
custom description and matches the old `n_install` step.
The uninstall step was added for consistency, so that the
description is consistent.
Setup a new chain starting at `zig build -Dexno=n start` so that it
is stricly serialized.
The behavior should be the same as the old one.
2. Handle the code for all the exercises separately.
Add only the `ziglings step`, making it the default step, in
addition to the install and uninstall steps.
Setup a new chain starting at the first exercise, to that it is
strictly serialized.
The behavior should be the same as the old one.
The current code has a know issue: the messages from the ZiglingStep and
the ones from the compiler compilation progress are interleaved, but each
message is written atomically, due to the use of `std.debug.getStderrMutex()`.
Update the README.md file.
Closes#202