id = "numbat" name = "Numbat" homepage = "https://github.com/sharkdp/numbat" description = "A statically typed programming language for scientific computations with first-class support for physical dimensions and units." executables = ["numbat"] [dotfiles] paths = ["[configHome]/numbat/init.nbt", "[configHome]/numbat/modules/"] secret = [] # Numbat documents init.nbt and the user modules directory below its standard # configuration path for extending the built-in unit system. # https://github.com/sharkdp/numbat [commands] format = 1 label = "Run Numbat" description = "Evaluate expressions, run a script file, or start the interactive session. Script arguments are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "help" kind = "help" url = "https://github.com/sharkdp/numbat/blob/master/numbat-cli/src/main.rs" evidence = """ numbat-cli/src/main.rs (clap derive; field names map to flags): file: Path to source file with Numbat code. If none is given, an interactive session is started. -e, --expression Evaluate a single expression. Can be specified multiple times to evaluate several expressions in sequence. -i, --inspect-interactively Enter interactive session after running a numbat script or expression --no-config Do not load the user configuration file. -N, --no-prelude Do not load the prelude with predefined physical dimensions and units. This implies --no-init. --no-init Do not load the user init file. """ [[commands.field]] id = "file" label = "Script file" description = "Leave empty for an interactive session." type = "path" position = 0 path = { kind = "file", role = "input", must_exist = true } sources = ["help"] [[commands.field]] id = "expression" label = "Expression" type = "string" option = ["--expression", "-e"] multiple = true sources = ["help"] [[commands.field]] id = "interactive" label = "Stay interactive afterwards" type = "boolean" option = ["--inspect-interactively", "-i"] sources = ["help"] [[commands.field]] id = "no_config" label = "Skip user config" type = "boolean" option = ["--no-config"] sources = ["help"] [[commands.field]] id = "no_init" label = "Skip user init file" type = "boolean" option = ["--no-init"] sources = ["help"] [[commands.field]] id = "no_prelude" label = "Skip prelude" type = "boolean" option = ["--no-prelude", "-N"] sources = ["help"] [[commands.task]] id = "eval" label = "Evaluate expression" fields = ["expression", "interactive"] required = ["expression"] [[commands.task]] id = "script" label = "Run script" fields = ["file", "interactive"] required = ["file"] [[commands.group]] id = "basic" label = "Basic" fields = ["expression", "file", "interactive"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["no_config", "no_init", "no_prelude"]