use super::*;
pub(crate) static BUILTINS: [Builtin<'_>; 172] = [
Builtin::Attribute {
name: "arg",
description: "Print help string `HELP` for `ARG` in usage messages.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, help=\"HELP\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Require values of argument `ARG` to be passed as `--LONG` option.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, long=\"LONG\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Require values of argument `ARG` to be passed as short `-S` option.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, short=\"S\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Makes a long option a flag which does not take a value, instead using `VALUE` when the flag is passed.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, long=\"LONG\", value=\"VALUE\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Makes a short option a flag which does not take a value, instead using `VALUE` when the flag is passed.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, short=\"S\", value=\"VALUE\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Makes an option with both long and short forms a flag which does not take a value, instead using `VALUE` when the flag is passed.",
version: "1.46.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, long=\"LONG\", short=\"S\", value=\"VALUE\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Require values of argument `ARG` to match regular expression `PATTERN`.",
version: "1.45.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, pattern=\"PATTERN\""),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "arg",
description: "Configure recipe parameter with multiple options.",
version: "1.45.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ARG, ..."),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "env",
description: "Set an environment variable for the recipe.",
version: "1.47.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("ENV_VAR, VALUE"),
min_args: 2,
max_args: Some(2),
},
Builtin::Attribute {
name: "confirm",
description: "Require confirmation prior to executing recipe.",
version: "1.17.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "confirm",
description: "Require confirmation prior to executing recipe with a custom prompt.",
version: "1.23.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("PROMPT"),
min_args: 1,
max_args: Some(1),
},
Builtin::Attribute {
name: "default",
description: "Use recipe as module's default recipe.",
version: "1.43.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "doc",
description: "Suppress recipe or module's documentation comment.",
version: "1.27.0",
targets: &[AttributeTarget::Module, AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "doc",
description: "Set recipe or module's documentation comment.",
version: "1.27.0",
targets: &[AttributeTarget::Module, AttributeTarget::Recipe],
syntax: Some("DOC"),
min_args: 1,
max_args: Some(1),
},
Builtin::Attribute {
name: "extension",
description: "Set shebang recipe script's file extension. EXT should include a period if one is desired.",
version: "1.32.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("EXT"),
min_args: 1,
max_args: Some(1),
},
Builtin::Attribute {
name: "group",
description: "Put recipe or module in group NAME.",
version: "1.27.0",
targets: &[AttributeTarget::Module, AttributeTarget::Recipe],
syntax: Some("NAME"),
min_args: 1,
max_args: Some(1),
},
Builtin::Attribute {
name: "metadata",
description: "Attach METADATA to recipe.",
version: "1.42.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("METADATA"),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "dragonfly",
description: "Enable recipe on DragonFly BSD.",
version: "1.47.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "freebsd",
description: "Enable recipe on FreeBSD.",
version: "1.47.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "linux",
description: "Enable recipe on Linux.",
version: "1.8.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "macos",
description: "Enable recipe on MacOS.",
version: "1.8.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "no-cd",
description: "Don't change directory before executing recipe.",
version: "1.9.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "exit-message",
description: "Print an error message if recipe fails.",
version: "1.47.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "no-exit-message",
description: "Don't print an error message if recipe fails.",
version: "1.7.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "no-quiet",
description: "Override globally quiet recipes and always echo out the recipe.",
version: "1.23.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "netbsd",
description: "Enable recipe on NetBSD.",
version: "1.47.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "openbsd",
description: "Enable recipe on OpenBSD.",
version: "1.38.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "parallel",
description: "Run this recipe's dependencies in parallel.",
version: "1.42.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "positional-arguments",
description: "Turn on positional arguments for this recipe.",
version: "1.29.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "private",
description: "Make recipe, alias, or variable private.",
version: "1.10.0",
targets: &[
AttributeTarget::Alias,
AttributeTarget::Assignment,
AttributeTarget::Recipe,
],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "script",
description: "Execute recipe as script.",
version: "1.33.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "script",
description: "Execute recipe as a script interpreted by COMMAND.",
version: "1.32.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("COMMAND"),
min_args: 1,
max_args: None,
},
Builtin::Attribute {
name: "unix",
description: "Enable recipe on Unixes. (Includes MacOS)",
version: "1.8.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "windows",
description: "Enable recipe on Windows.",
version: "1.8.0",
targets: &[AttributeTarget::Recipe],
syntax: None,
min_args: 0,
max_args: Some(0),
},
Builtin::Attribute {
name: "working-directory",
description: "Set recipe working directory. PATH may be relative or absolute. If relative, it is interpreted relative to the default working directory.",
version: "1.38.0",
targets: &[AttributeTarget::Recipe],
syntax: Some("PATH"),
min_args: 1,
max_args: Some(1),
},
Builtin::Constant {
name: "HEX",
description: "Lowercase hexadecimal digit string",
value: "\"0123456789abcdef\"",
},
Builtin::Constant {
name: "HEXLOWER",
description: "Explicit lowercase hex digits",
value: "\"0123456789abcdef\"",
},
Builtin::Constant {
name: "HEXUPPER",
description: "Uppercase hexadecimal digit string",
value: "\"0123456789ABCDEF\"",
},
Builtin::Constant {
name: "PATH_SEP",
description: "Path separator (`/` on Unix, `\\` on Windows)",
value: "\"/\"",
},
Builtin::Constant {
name: "PATH_VAR_SEP",
description: "Path list separator (`:` on Unix, `;` on Windows)",
value: "\":\"",
},
Builtin::Constant {
name: "CLEAR",
description: "Clear screen",
value: "\"\\ec\"",
},
Builtin::Constant {
name: "NORMAL",
description: "Reset terminal style",
value: "\"\\e[0m\"",
},
Builtin::Constant {
name: "BOLD",
description: "Bold text",
value: "\"\\e[1m\"",
},
Builtin::Constant {
name: "ITALIC",
description: "Italic text",
value: "\"\\e[3m\"",
},
Builtin::Constant {
name: "UNDERLINE",
description: "Underlined text",
value: "\"\\e[4m\"",
},
Builtin::Constant {
name: "INVERT",
description: "Inverted colors",
value: "\"\\e[7m\"",
},
Builtin::Constant {
name: "HIDE",
description: "Hidden text",
value: "\"\\e[8m\"",
},
Builtin::Constant {
name: "STRIKETHROUGH",
description: "Strikethrough text",
value: "\"\\e[9m\"",
},
Builtin::Constant {
name: "BLACK",
description: "Black text",
value: "\"\\e[30m\"",
},
Builtin::Constant {
name: "RED",
description: "Red text",
value: "\"\\e[31m\"",
},
Builtin::Constant {
name: "GREEN",
description: "Green text",
value: "\"\\e[32m\"",
},
Builtin::Constant {
name: "YELLOW",
description: "Yellow text",
value: "\"\\e[33m\"",
},
Builtin::Constant {
name: "BLUE",
description: "Blue text",
value: "\"\\e[34m\"",
},
Builtin::Constant {
name: "MAGENTA",
description: "Magenta text",
value: "\"\\e[35m\"",
},
Builtin::Constant {
name: "CYAN",
description: "Cyan text",
value: "\"\\e[36m\"",
},
Builtin::Constant {
name: "WHITE",
description: "White text",
value: "\"\\e[37m\"",
},
Builtin::Constant {
name: "BG_BLACK",
description: "Black background",
value: "\"\\e[40m\"",
},
Builtin::Constant {
name: "BG_RED",
description: "Red background",
value: "\"\\e[41m\"",
},
Builtin::Constant {
name: "BG_GREEN",
description: "Green background",
value: "\"\\e[42m\"",
},
Builtin::Constant {
name: "BG_YELLOW",
description: "Yellow background",
value: "\"\\e[43m\"",
},
Builtin::Constant {
name: "BG_BLUE",
description: "Blue background",
value: "\"\\e[44m\"",
},
Builtin::Constant {
name: "BG_MAGENTA",
description: "Magenta background",
value: "\"\\e[45m\"",
},
Builtin::Constant {
name: "BG_CYAN",
description: "Cyan background",
value: "\"\\e[46m\"",
},
Builtin::Constant {
name: "BG_WHITE",
description: "White background",
value: "\"\\e[47m\"",
},
Builtin::Function {
name: "absolute_path",
signature: "absolute_path(path: string) -> string",
description: "Get the absolute path relative to `path` in the working directory.",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "append",
signature: "append(suffix: string, s: string) -> string",
description: "Append suffix to strings",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "arch",
signature: "arch() -> string",
description: "Instruction set architecture",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "blake3",
signature: "blake3(string: string) -> string",
description: "Calculate BLAKE3 hash of string",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "blake3_file",
signature: "blake3_file(path: string) -> string",
description: "Calculate BLAKE3 hash of file",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "cache_directory",
signature: "cache_directory() -> string",
description: "User cache directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "cache_dir",
signature: "cache_dir() -> string",
description: "User cache directory. Alias for `cache_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "canonicalize",
signature: "canonicalize(path: string) -> string",
description: "Canonicalize `path` by resolving symlinks and removing `.`, `..`, and extra `/`s where possible.",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "capitalize",
signature: "capitalize(s: string) -> string",
description: "Convert first character to uppercase",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "choose",
signature: "choose(n: string, alphabet: string) -> string",
description: "Generate random string from alphabet",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "clean",
signature: "clean(path: string) -> string",
description: "Simplify path",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "config_directory",
signature: "config_directory() -> string",
description: "User config directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "config_dir",
signature: "config_dir() -> string",
description: "User config directory. Alias for `config_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "config_local_directory",
signature: "config_local_directory() -> string",
description: "User local config directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "config_local_dir",
signature: "config_local_dir() -> string",
description: "User local config directory. Alias for `config_local_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "data_directory",
signature: "data_directory() -> string",
description: "User data directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "data_dir",
signature: "data_dir() -> string",
description: "User data directory. Alias for `data_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "data_local_directory",
signature: "data_local_directory() -> string",
description: "User local data directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "data_local_dir",
signature: "data_local_dir() -> string",
description: "User local data directory. Alias for `data_local_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "datetime",
signature: "datetime(format: string) -> string",
description: "Get formatted local time",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "datetime_utc",
signature: "datetime_utc(format: string) -> string",
description: "Get formatted UTC time",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "encode_uri_component",
signature: "encode_uri_component(s: string) -> string",
description: "Percent-encode special characters",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "env",
signature: "env(key: string) -> string or env(key: string, default: string) -> string",
description: "Retrieve environment variable",
required_arguments: 1,
accepts_variadic: true,
deprecated: None,
},
Builtin::Function {
name: "env_var",
signature: "env_var(key: string) -> string",
description: "Retrieve environment variable. Aborts if not present.",
required_arguments: 1,
accepts_variadic: false,
deprecated: Some("env"),
},
Builtin::Function {
name: "env_var_or_default",
signature: "env_var_or_default(key: string, default: string) -> string",
description: "Retrieve environment variable, returning default if not present.",
required_arguments: 2,
accepts_variadic: false,
deprecated: Some("env"),
},
Builtin::Function {
name: "error",
signature: "error(message: string) -> !",
description: "Abort with error message",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "executable_directory",
signature: "executable_directory() -> string",
description: "User executable directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "executable_dir",
signature: "executable_dir() -> string",
description: "User executable directory. Alias for `executable_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "extension",
signature: "extension(path: string) -> string",
description: "Get file extension",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "file_name",
signature: "file_name(path: string) -> string",
description: "Get file name",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "file_stem",
signature: "file_stem(path: string) -> string",
description: "Get file name without extension",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "home_directory",
signature: "home_directory() -> string",
description: "User home directory",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "home_dir",
signature: "home_dir() -> string",
description: "User home directory. Alias for `home_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "invocation_directory",
signature: "invocation_directory() -> string",
description: "Current directory when just was invoked",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "invocation_dir",
signature: "invocation_dir() -> string",
description: "Current directory when just was invoked. Alias for `invocation_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "invocation_directory_native",
signature: "invocation_directory_native() -> string",
description: "Current directory when just was invoked (native format)",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "invocation_dir_native",
signature: "invocation_dir_native() -> string",
description: "Current directory when just was invoked (native format). Alias for `invocation_directory_native()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "is_dependency",
signature: "is_dependency() -> string",
description: "Check if recipe is being run as dependency",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "join",
signature: "join(a: string, b: string...) -> string",
description: "Join paths",
required_arguments: 2,
accepts_variadic: true,
deprecated: None,
},
Builtin::Function {
name: "just_executable",
signature: "just_executable() -> string",
description: "Path to just executable",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "just_pid",
signature: "just_pid() -> string",
description: "Process ID of just executable",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "justfile",
signature: "justfile() -> string",
description: "Path of current justfile",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "justfile_directory",
signature: "justfile_directory() -> string",
description: "Directory of current justfile",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "justfile_dir",
signature: "justfile_dir() -> string",
description: "Directory of current justfile. Alias for `justfile_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "kebabcase",
signature: "kebabcase(s: string) -> string",
description: "Convert to kebab-case",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "lowercase",
signature: "lowercase(s: string) -> string",
description: "Convert to lowercase",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "lowercamelcase",
signature: "lowercamelcase(s: string) -> string",
description: "Convert to lowerCamelCase",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "num_cpus",
signature: "num_cpus() -> number",
description: "Number of logical CPUs",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "os",
signature: "os() -> string",
description: "Operating system",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "os_family",
signature: "os_family() -> string",
description: "Operating system family",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "parent_dir",
signature: "parent_dir(path: string) -> string",
description: "Get parent directory. Alias for `parent_directory()`.",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "parent_directory",
signature: "parent_directory(path: string) -> string",
description: "Get parent directory",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "path_exists",
signature: "path_exists(path: string) -> boolean",
description: "Check if path exists",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "prepend",
signature: "prepend(prefix: string, s: string) -> string",
description: "Prepend prefix to strings",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "quote",
signature: "quote(s: string) -> string",
description: "Quote string for shell",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "read",
signature: "read(path: string) -> string",
description: "Read file content",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "replace",
signature: "replace(s: string, from: string, to: string) -> string",
description: "Replace substring",
required_arguments: 3,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "replace_regex",
signature: "replace_regex(s: string, regex: string, replacement: string) -> string",
description: "Replace with regex",
required_arguments: 3,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "require",
signature: "require(name: string) -> string",
description: "Find executable in PATH",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "semver_matches",
signature: "semver_matches(version: string, requirement: string) -> string",
description: "Check if version matches requirement",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "sha256",
signature: "sha256(string: string) -> string",
description: "Calculate SHA-256 hash of string",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "sha256_file",
signature: "sha256_file(path: string) -> string",
description: "Calculate SHA-256 hash of file",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "shell",
signature: "shell(command: string, args: string...) -> string",
description: "Execute shell command",
required_arguments: 1,
accepts_variadic: true,
deprecated: None,
},
Builtin::Function {
name: "shoutykebabcase",
signature: "shoutykebabcase(s: string) -> string",
description: "Convert to SHOUTY-KEBAB-CASE",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "shoutysnakecase",
signature: "shoutysnakecase(s: string) -> string",
description: "Convert to SHOUTY_SNAKE_CASE",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "snakecase",
signature: "snakecase(s: string) -> string",
description: "Convert to snake_case",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "module_directory",
signature: "module_directory() -> string",
description: "Directory of current module file",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "module_dir",
signature: "module_dir() -> string",
description: "Directory of current module file. Alias for `module_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "module_file",
signature: "module_file() -> string",
description: "Path of current module file",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "source_directory",
signature: "source_directory() -> string",
description: "Directory of current source file",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "source_dir",
signature: "source_dir() -> string",
description: "Directory of current source file. Alias for `source_directory()`.",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "source_file",
signature: "source_file() -> string",
description: "Path of current source file",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "style",
signature: "style(name: string) -> string",
description: "Get terminal style escape sequence",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "titlecase",
signature: "titlecase(s: string) -> string",
description: "Convert to Title Case",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim",
signature: "trim(s: string) -> string",
description: "Remove leading and trailing whitespace",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_end",
signature: "trim_end(s: string) -> string",
description: "Remove trailing whitespace",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_end_match",
signature: "trim_end_match(s: string, substring: string) -> string",
description: "Remove suffix",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_end_matches",
signature: "trim_end_matches(s: string, substring: string) -> string",
description: "Repeatedly remove suffix",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_start",
signature: "trim_start(s: string) -> string",
description: "Remove leading whitespace",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_start_match",
signature: "trim_start_match(s: string, substring: string) -> string",
description: "Remove prefix",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "trim_start_matches",
signature: "trim_start_matches(s: string, substring: string) -> string",
description: "Repeatedly remove prefix",
required_arguments: 2,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "uppercamelcase",
signature: "uppercamelcase(s: string) -> string",
description: "Convert to UpperCamelCase",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "uppercase",
signature: "uppercase(s: string) -> string",
description: "Convert to uppercase",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "uuid",
signature: "uuid() -> string",
description: "Generate random UUID",
required_arguments: 0,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "which",
signature: "which(name: string) -> string",
description: "Find executable in PATH or return empty string",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Function {
name: "without_extension",
signature: "without_extension(path: string) -> string",
description: "Get path without extension",
required_arguments: 1,
accepts_variadic: false,
deprecated: None,
},
Builtin::Setting {
name: "allow-duplicate-recipes",
kind: SettingKind::Boolean(false),
description: "Allow recipes appearing later in a `justfile` to override earlier recipes with the same name.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "allow-duplicate-variables",
kind: SettingKind::Boolean(false),
description: "Allow variables appearing later in a `justfile` to override earlier variables with the same name.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "dotenv-filename",
kind: SettingKind::String,
description: "Load a `.env` file with a custom name, if present.",
default: "",
deprecated: None,
},
Builtin::Setting {
name: "dotenv-load",
kind: SettingKind::Boolean(false),
description: "Load a `.env` file, if present.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "dotenv-override",
kind: SettingKind::Boolean(false),
description: "Override existing environment variables with values from the `.env` file.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "dotenv-path",
kind: SettingKind::String,
description: "Load a `.env` file from a custom path and error if not present. Overrides `dotenv-filename`.",
default: "",
deprecated: None,
},
Builtin::Setting {
name: "dotenv-required",
kind: SettingKind::Boolean(false),
description: "Error if a `.env` file isn't found.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "export",
kind: SettingKind::Boolean(false),
description: "Export all variables as environment variables.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "fallback",
kind: SettingKind::Boolean(false),
description: "Search `justfile` in parent directory if the first recipe on the command line is not found.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "no-exit-message",
kind: SettingKind::Boolean(false),
description: "Suppress exit messages for failed recipes by default.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "guards",
kind: SettingKind::Boolean(false),
description: "Enable `?` sigils on recipe lines to conditionally stop recipe execution.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "ignore-comments",
kind: SettingKind::Boolean(false),
description: "Ignore recipe lines beginning with `#`.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "lazy",
kind: SettingKind::Boolean(false),
description: "Don't evaluate unused variables.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "positional-arguments",
kind: SettingKind::Boolean(false),
description: "Pass positional arguments.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "quiet",
kind: SettingKind::Boolean(false),
description: "Disable echoing recipe lines before executing.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "script-interpreter",
kind: SettingKind::Array,
description: "Set command used to invoke recipes with empty `[script]` attribute.",
default: "['sh', '-eu']",
deprecated: None,
},
Builtin::Setting {
name: "shell",
kind: SettingKind::Array,
description: "Set command used to invoke recipes and evaluate backticks.",
default: "",
deprecated: None,
},
Builtin::Setting {
name: "tempdir",
kind: SettingKind::String,
description: "Create temporary directories in `tempdir` instead of the system default temporary directory.",
default: "",
deprecated: None,
},
Builtin::Setting {
name: "unstable",
kind: SettingKind::Boolean(false),
description: "Enable unstable features.",
default: "false",
deprecated: None,
},
Builtin::Setting {
name: "windows-powershell",
kind: SettingKind::Boolean(false),
description: "Use PowerShell on Windows as default shell.",
default: "false",
deprecated: Some("windows-shell"),
},
Builtin::Setting {
name: "windows-shell",
kind: SettingKind::Array,
description: "Set the command used to invoke recipes and evaluate backticks.",
default: "",
deprecated: None,
},
Builtin::Setting {
name: "working-directory",
kind: SettingKind::String,
description: "Set the working directory for recipes and backticks, relative to the default working directory.",
default: "",
deprecated: None,
},
];