Commit graph

242 commits

Author SHA1 Message Date
Nuno Mendes
798bb40396 update zig version in build and readme 2024-09-16 18:34:35 +02:00
Nuno Mendes
335a78f8f5 108: Add a exercise for a labeled switch 2024-09-15 20:14:49 +02:00
Chris Boesch
b2f56c7cea
Fixes several changes in std.builtin.zig 2024-09-02 19:33:59 +02:00
Chris Boesch
8e35cf7990
Insert wrong version number into build file. 2024-08-22 18:32:36 +02:00
Chris Boesch
dab5197027
Fixes changes in zig build system. 2024-08-22 18:19:21 +02:00
Michael Cooper
70b0522cb2
Add build parameter to start at a specific exercise 2024-08-08 08:23:14 -07:00
Chris Boesch
1ba74488e4
Changed needed zig version. 2024-08-04 15:05:11 +02:00
bsubei
e7dcf0b6ef fix build files broken by latest 0.14.0-dev changes to Build.Step.MakeOptions 2024-07-21 12:23:30 -04:00
Chris Boesch
5bf56f03b0
Rename 'std.rand' to 'std.Random' 2024-06-25 10:45:54 +02:00
Chris Boesch
94fe012c77 Merge pull request 'attempt at implementing #113 "Add a way to do one random exercise"' (#117) from hippietrail/exercises:random-exercise into main
Reviewed-on: https://codeberg.org/ziglings/exercises/pulls/117
2024-06-25 08:30:14 +00:00
Andrew Dunbar
2259a18ece attempt at implementing #113 "Add a way to do one random exercise" 2024-06-25 17:22:57 +10:00
Chris Boesch
5c000ce2d7
Fixes because of a new Zig version, which changes some functions. 2024-06-17 11:43:25 +02:00
Sebastian
83f16709ba Calling split is deprecated
The `split` function in std mem is depreacted and a `@compileError`, splitSequence,
splitAny, or splitScalar should be used instead.
2024-06-16 18:58:48 +02:00
Chris Boesch
b224ed510e
Fixed the changes from reworking std.Progress.
For details: https://github.com/ziglang/zig/pull/20059
2024-05-29 21:20:28 +02:00
Chris Boesch
165cc199ca
Fix patches for 106 and 107 2024-05-05 01:16:23 +02:00
Chris Boesch
7875a0f9aa
Zig version changed 2024-04-03 00:37:33 +02:00
kamidev
f06c1f27d1
Fix breaking zig change to @fieldParentPtr parameters
See https://github.com/ziglang/zig/pull/19470
2024-03-31 17:02:29 +02:00
Alan CHUNG
223fc79e44 106 & 107 2024-03-27 16:40:24 +08:00
Alan CHUNG
9ce889b438 106_files.zig actual test 2024-03-26 13:51:59 +08:00
Alan CHUNG
66d08f1e1f modified build.zig 2024-03-25 16:24:42 +08:00
Chris Boesch
d65e3f3f9a
Added second threading exercise. 2024-03-23 16:42:27 +01:00
Chris Boesch
2b9e3da5c8
Fixed the renaming of std.os to std.posix 2024-03-22 00:25:01 +01:00
Chris Boesch
abed92c05e Changes for a new Zig version. 2024-03-15 00:00:17 +01:00
dolichomps
c8f081f3e8 fix exercise 82 output
zig commit bd24e66 changed the floating point formatting implementation so output for exercise 82 no longer matched
2024-03-14 02:28:07 +00:00
Chris Boesch
6984345d0a Added threading exercise 2024-03-05 09:15:57 +01:00
Chris Boesch
55b2ac4c5f Zig version adjusted. 2024-02-16 15:19:10 +01:00
Alexander Saltanov
755911747f Fix zig_exe location in Build struct
Reflect Zig breaking changes as of 105db13536
2024-02-06 00:06:19 +03:00
drglove
ba9447d2c6 Bump version to match required changes. 2024-01-05 08:24:29 +00:00
Zev Averbach
063a74c59a fixed variable declaration by changing it to a const, since it's never mutated 2023-11-21 12:00:34 +01:00
Chris Boesch
cab5ee87bf Changed three dots to colons, see #23 2023-11-07 15:18:00 +01:00
Chris Boesch
55b58fea56 Change the task so that the exercise contains two errors again. 2023-11-06 19:50:47 +01:00
Chris Boesch
8a1fbea5c9 fixed build: renamed exec to run 2023-10-24 11:57:44 +02:00
Chris Boesch
3ab1942156 changed compat check to comptime 2023-10-06 00:33:24 +02:00
Nicolas Chataing
51a88cccf7 fix: main entry point is broken with version 0.11.0-dev.4228 2023-07-25 14:59:17 +02:00
Chris Boesch
a5a36337e8 Revised exercises due to the changes of Zig version 0.11.0-dev.3853 2023-06-26 23:43:39 +02:00
Chris Boesch
a2b0b976a6 First tokenization exerice. 2023-06-26 00:54:39 +02:00
Chris Boesch
9151557d39 Changed error text to bold. 2023-05-30 21:45:33 +02:00
Chris Boesch
940482a07e Merge pull request #308 from perillo/refactor-zigling-step-more
Refactor ZiglingStep more
2023-05-30 20:20:53 +02:00
pseudoc
192bd2e803 change std.debug.TTY to std.io.tty
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.
2023-05-25 18:04:36 +08:00
Manlio Perillo
0b4ad6e99e build: use the old color style
In the `Zigling.printError` method, use a bold red color for the "error:"
string and a dim red color for the error message.

In the `Zigling.check_output` method, use the old color style.
2023-05-22 11:49:46 +02:00
Manlio Perillo
3e38a4fc84 build: in ZiglingStep.check_output panic in case of OOM
This is necessary since, when trimLines returns `std.mem.Allocator.Error`,
no error message will be displayed to the user.

An alternative is to use `std.Build.Step.fail`, but using @panic("OOM")
is simpler and consistent with existing code.
2023-05-20 07:25:53 +02:00
Manlio Perillo
d0de9e5348 build: use std.Build.Step.fail to report errors
Have all error messages handled in a single place (printError), by using
the `std.Build.Step.fail` method.  Ensure that the first letter in the
error message is lower case and remove coloring, since it is done in the
`ZiglingStep.printError` method.

Additionally, in the `ZiglingStep.check_test` method, remove trailing
whitespace from stderr.
2023-05-19 19:27:44 +02:00
Manlio Perillo
699f877bd5 build: remove ZiglingStep.eval
Remove the `ZiglingStep.eval` method and the src/ipc.zig source code.
Use `Step.evalZigProcess`, instead. This greatly simplifies the code.

Print the error messages and error bundle in `ZiglingStep.make`, both in
case of error and success.

Additionally, remove the `ZiglingStep.is_testing` field, since it is no
longer necessary.
2023-05-19 19:27:33 +02:00
Manlio Perillo
9ab9ebf33f Refactor testing support
Following the implementation in `std.Build.Step.Compile, add the Kind
type to differentiate between a normal executable and a test executable
running zig tests.  Replace `Exercise.run_test` field with `kind`.

Compile the exercise in both the exe and test cases, reducing code
duplication.

Add the `check_output` and `check_test` methods in ZiglingStep, in order
to differentiate the code checking a normal executable and a test
executable.

Update the tests to correctly check both the exe and test cases.  Remove
the temporary code added in commit 832772c.
2023-05-15 15:36:31 +02:00
Chris Boesch
c3a73b8e2b Added testing exercise. 2023-05-15 00:06:15 +02:00
Manlio Perillo
8deb6b4d95 build: remove extra comment for named mode
It was added in commit 879eeb6 (Execution of test exercises added.).
2023-05-14 17:27:14 +02:00
Manlio Perillo
1c184c2681 build: remove the install and uninstall steps
They are no longer used.
2023-05-14 17:22:03 +02:00
Manlio Perillo
c393debe44 build: improve the help message in ZiglingStep
Add the Mode enum, so that ZiglingStep can detect if it was called in
normal mode or in named mode.

Update the help method to print the correct message based on the current
build mode.
2023-05-14 17:22:03 +02:00
Manlio Perillo
9b7ef7d8cf build: remove unused declarations
Remove the `Exercise.addExecutable` method and the `SkipStep` struct, since
they are no longer used.
2023-05-14 17:22:03 +02:00
Manlio Perillo
0304dc3d37 build: show the logo in named mode
When running `zig build -Dn=n`, ensure that the logo is printed.

Update the tests.

Closes #214
2023-05-14 17:22:03 +02:00