ghul.cli
0.1.0
Prefix Reserved
See the version list below for details.
dotnet tool install --global ghul.cli --version 0.1.0
dotnet new tool-manifest
dotnet tool install --local ghul.cli --version 0.1.0
#tool dotnet:?package=ghul.cli&version=0.1.0
nuke :add-package ghul.cli --version 0.1.0
ghūl CLI
Run a ghūl script directly, without a project file — on
Linux, including via a #! shebang line.
#!/usr/bin/env ghul
entry(args: string[]) is
IO.Std.write_line("hello, {if args.count > 0 then args[0] else "world" fi}");
si
chmod +x greet.ghul
./greet.ghul world
# hello, world
Or run it directly without the shebang:
ghul greet.ghul world
Installing
dotnet tool install -g ghul.cli
On first use, ghul installs its own private copy of ghul.compiler (into
~/.local/share/ghul-cli/tools) if one isn't already there — nothing else
to set up first.
How it works
Each script is compiled once per script-content-and-compiler-version pair
and the result cached under ~/.cache/ghul-cli/scripts; a later run of an
unchanged script skips straight to running the cached build. Everything
after the script path is passed through unchanged as the running program's
own command-line arguments, and its exit code becomes ghul's own.
There are no reference-assembly options: ghul relies entirely on what
ghul.compiler resolves on its own, and doesn't try to add anything it
wouldn't already find.
Building from source
dotnet tool restore
dotnet build
dotnet test unit-tests
./tests/smoke.sh
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.