Download and manage Zig compilers and ZLS versions.
A fork of Zigup with built-in support for Mach releases and ZLS, which itself was forked from Zigdown
zig-sync-down is currently built/tested using zig master (0.14.0-dev).
git clone https://github.com/jrachele/zig-sync
cd zig-sync
# Build in release mode
zig build -Doptimize=ReleaseSafe
<version>
may be any version number, stable
, master
, <version>-mach
, mach-latest
, latest-installed
, or stable-installed
# fetch a compiler + zls version and set it as the default
zig-sync <version>
zig-sync 0.13.0
zig-sync 0.4.0-mach
zig-sync master
zig-sync mach-latest
# fetch a compiler + zls version (does not set it as default)
zig-sync fetch <version>
zig-sync fetch master
# print the default compiler version
zig-sync default
# set the default compiler
zig-sync default <version>
zig-sync default latest-installed
zig-sync default stable-installed
# list the installed compiler versions
zig-sync list
# Removes this compiler
zig-sync clean <version>
# Removes all compilers except latest-installed, latest installed stable, and any kept compilers
zig-sync clean outdated
# mark a compiler to keep
zig-sync keep <version>
# run a specific version of the compiler
zig-sync run <version> <args>...
zig-sync stores each compiler and language server in a subdirectory of the installation directory, by default the data directory from known-folders.
zig-sync can optionally symlink a "default" Zig/ZLS. On windows this will create an executable that forwards invocations to one of the zig
/zls
executables in the install directory.
Options can be configured via the following command line options:
# Single-run
zig-sync <command> --install-dir <DIR>
zig-sync <command> --zig-symlink <FILE_PATH>
zig-sync <command> --zls-symlink <FILE_PATH>
# Persist settings (saves in the default configuration directory from known-folders)
zig-sync set-install-dir <DIR>
zig-sync set-zig-symlink <FILE_PATH>
zig-sync set-zls-symlink <FILE_PATH>
Copyright (c) zig-sync contributers
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.