Commands
Reference guide for the command-line interface
Since Sabre is a command-line program, functionality is invoked by it's various available subcommands.
run— Execute a script/project with Sabre.tasks— Runs pre-defined crate manifest tasks.test— Runs all available unit tests with Sabre.bundle— Bundles scripts/projects into executables.format— Formats scripts/projects with the builtin styler.lint— Lints scripts/projects for enhanced static analysis.upgrade— Upgrades to the latest version of Sabre available.
Additionally, the following flags retrieve additional information about the runtime.
# Shows the usage prompt for Sabre
sabre --help
# Gets the current executable version
sabre --version
# Lists all the vendors used by Sabre
sabre --vendorsEnvironment Variables (Internal)
The following environment variables are available across all subcommands.
SABRE_LOGGING_LEVEL
This variable allows setting the debug logging level, which can provide additional debugging information for the underlying runtime and subcommands. It can be one of theses levels: trace, debug, warn, error, fatal and is currently preset to warn.
SABRE_HARDWARE_VPROCS
This variable allows declaring the total underlying virtual processors to be used. By default, Sabre will use the maximum available hardware processors.
# A arbitrary number can be used.
export SABRE_HARDWARE_VPROCS=8
# This forces Sabre into a "single-threaded" mode.
export SABRE_HARDWARE_VPROCS=1
# For when you want to ensure the maximum processors.
export SABRE_HARDWARE_VPROCS=0Note:
Although Sabre can be ran in a single-threaded context, additional threads will still be used internally for type-analysis and garbage collection.
SABRE_STACK_SIZE
This variable allows setting the stack size of user-space threads. The default value is set to 8MB.
SABRE_STACK_LIMIT
This variable allows setting the overflow limit for user-space threads. When the stack usage is below this value, the runtime will panic with a maximum recusion depth exception. The default value is set to 32KB.
Environment Variables (External)
NO_COLOR
Sabre is shipped with the informal NO_COLOR standard. This environment variable can be assigned a value other than 0 to disable all colored outputs. Furthermore, this will also forcibly toggle the enablement of the builtin ANSI crate.
NO_PROGRESS
Sabre is shipped with the informal NO_PROGRESS standard. This environment variable can be assigned a value other than 0 to disable all spinners and progress bars. This is particularly useful for logging testing results without distortions in non-terminal contexts.