diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1dfcbd2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.zig-cache/ diff --git a/build.zig b/build.zig new file mode 100644 index 0000000..6e74a4a --- /dev/null +++ b/build.zig @@ -0,0 +1,19 @@ +const std = @import("std"); + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + + const exe = b.addExecutable(.{ + .name = "zig-learn", + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }); + + b.installArtifact(exe); + + const run_cmd = b.addRunArtifact(exe); + const run_step = b.step("run", "Run the app"); + run_step.dependOn(&run_cmd.step); +} diff --git a/flake.nix b/flake.nix index 5ef69ee..7e94b29 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; zig = zig-overlay.packages.${system}.master; - zls = zls-overlay.packages.${system}.zls; + zls = pkgs.zls; in { devShells.${system}.default = pkgs.mkShell { buildInputs = [ zig zls ]; diff --git a/main b/main new file mode 100755 index 0000000..62835da Binary files /dev/null and b/main differ diff --git a/src/main.zig b/src/main.zig new file mode 100644 index 0000000..692a40c --- /dev/null +++ b/src/main.zig @@ -0,0 +1,12 @@ +// src/main.zig + +const std = @import("std"); + +var x: u32 = 42; +const name = "world"; +var buf: [64]u8 = undefined; +pub fn main() void { + std.debug.print("{d} {s}\n", .{x, name}); + x += 1; + std.debug.print("{d}\n", .{x}); +}