id = "chibi-scheme"
name = "Chibi-Scheme"
homepage = "https://github.com/ashinn/chibi-scheme"
description = "A very small library intended for use as an extension and scripting language in C programs"
executables = ["chibi-scheme", "snow-chibi"]
[dotfiles]
paths = ["~/.snow/config.scm"]
secret = []
[commands]
format = 1
label = "Run Scheme"
description = "Run a Scheme script or evaluate expressions with chibi-scheme. Heap images, tracing and module-path options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/unstable/chibi-scheme/chibi-scheme.1.en.html"
revision = "0.12-3"
evidence = """
chibi-scheme [options] [--] [script argument ...]
-V Print the version information and exit immediately.
-q "Quick" load, a shortcut for chibi-scheme -xchibi.
-s Strict mode, treating warnings as fatal errors.
-f Enable case-folding of symbols by the reader as in R5RS.
-Ipath Insert path in front of the load path list.
-Apath Append path to the load path list.
-mmodule Import module as if "(import module)" were evaluated.
-lfile Load Scheme code from file searched for in the default load path.
-eexpr Evaluate Scheme expression expr.
-pexpr Evaluate Scheme expression expr and print the result to stdout.
Space is optional between options and their arguments.
"""
[[commands.field]]
id = "eval"
label = "Evaluate expression"
type = "string"
option = ["-e"]
multiple = true
sources = ["man"]
[[commands.field]]
id = "print"
label = "Evaluate and print"
description = "Evaluate an expression and print the result."
type = "string"
option = ["-p"]
sources = ["man"]
[[commands.field]]
id = "load"
label = "Load file"
type = "path"
option = ["-l"]
path = { kind = "file", role = "input" }
multiple = true
sources = ["man"]
[[commands.field]]
id = "import"
label = "Import module"
description = "Dot notation, e.g. srfi.1 for (srfi 1)."
type = "string"
option = ["-m"]
multiple = true
sources = ["man"]
[[commands.field]]
id = "include"
label = "Prepend load path"
type = "path"
option = ["-I"]
path = { kind = "directory", role = "input" }
multiple = true
sources = ["man"]
[[commands.field]]
id = "quick"
label = "Quick load"
type = "boolean"
option = ["-q"]
sources = ["man"]
[[commands.field]]
id = "strict"
label = "Strict mode"
description = "Treat warnings as fatal errors."
type = "boolean"
option = ["-s"]
sources = ["man"]
[[commands.field]]
id = "fold"
label = "Fold symbol case"
type = "boolean"
option = ["-f"]
sources = ["man"]
[[commands.field]]
id = "version"
label = "Show version"
type = "boolean"
option = ["-V"]
sources = ["man"]
[[commands.field]]
id = "script"
label = "Script"
description = "Leave empty with -e or -p to evaluate expressions, or for a REPL."
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["man"]
[[commands.field]]
id = "args"
label = "Script arguments"
type = "string"
position = 1
multiple = true
sources = ["man"]
[[commands.task]]
id = "run_script"
label = "Run a script"
fields = ["script", "args", "quick", "strict"]
required = ["script"]
[[commands.task]]
id = "eval_print"
label = "Evaluate an expression"
fields = ["print", "import"]
required = ["print"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["script", "args", "eval", "print", "load", "import"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["include", "quick", "strict", "fold", "version"]