Extract sigil-args from sigil monorepo as standalone repo
Filter-repo of packages/sigil-args/ history (31 commits preserved) + single-package scaffolding mirroring sigil-ansi / sigil-socket / sigil-git extractions:
- package.sgl: explicit version 0.13.1, url updated to codeberg:sigil/sigil-args. sigil-stdlib dep unchanged (codeberg:sigil/sigil-lang ^0.13.1). - README.md: usage example + build instructions; full reference in docs/args.md (preserved from monorepo). - dev-redirects.sgl: codeberg:sigil/sigil-lang -> ../sigil-lang for pre-publish local dev. - manifest.scm: pure-Scheme guix-shell environment. - .gitignore: build/, .sigil/. - sigil.lock: pins sigil-stdlib to v0.13.1 (a436005a) via codeberg:sigil/sigil-lang.
Self-bootstrap green: sigil deps install + sigil test --report -> 32/32 passed against published codeberg:sigil/sigil-lang.
See procedures/sigil-package-extraction for the canonical playbook.
.gitignore | 2 ++
README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
dev-redirects.sgl | 6 ++++++
manifest.scm | 7 +++++++
package.sgl | 3 ++-
sigil.lock | 9 +++++++++
6 files changed, 77 insertions(+), 1 deletion(-).gitignoreadded
build/.sigil/README.mdadded
# sigil-argsDeclarative command-line argument parsing for [Sigil](https://codeberg.org/sigil/sigil).Defines CLIs as composable record values: options, commands, subcommands, with automatic help generation.## Usage```scheme(import (sigil args))(define cli (command name: "greet" description: "Print a greeting" options: (list (option name: 'name short: #\n long: "name" value: "NAME" default: "World") (option name: 'loud short: #\l long: "loud" description: "Use uppercase")) handler: (lambda (opts args) (let ((greeting (format "Hello, ~a!" (alist-get 'name opts)))) (display (if (alist-get 'loud opts) (string-upcase greeting) greeting)) (newline)))))(run-command cli (cdr (command-line)))```Supports short flags (`-v`, `-vvv`, `-vf`), long flags (`--verbose`, `--no-verbose`), values (`-o val`, `--output=val`), `--` to stop option parsing, env-var fallback, choice restriction, multi-value (repeatable) options, negatable booleans, custom parsers, and required flags.See [`docs/args.md`](docs/args.md) for the full reference.## Building```shsigil deps installsigil buildsigil test```For local development against an in-tree `sigil-lang` checkout:```shsigil build --redirects ./dev-redirects.sgl```## LicenseBSD-3-Clause. See [LICENSE](LICENSE) (license header lives in `package.sgl`).dev-redirects.sgladded
;; Development redirects — point dependencies at local Sigil checkouts(redirects repos: (list (for-repo url: "codeberg:sigil/sigil-lang" use: (from-path dir: "../sigil-lang"))))manifest.scmadded
;; sigil-args Development Environment;; Use with: guix shell -m manifest.scm(specifications->manifest '("gcc-toolchain" "make" "pkg-config"))package.sglmodified
(package name: "sigil-args" version: "0.13.1" sigil: "^0.13" description: "Command-line argument parsing for Sigil" url: "https://codeberg.org/sigil/sigil" url: "https://codeberg.org/sigil/sigil-args" license: "BSD-3-Clause" authors: (list "David Wilson <[email protected]>")sigil.lockadded
;; Auto-generated by sigil deps install. Do not edit.(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil-lang" ref: "^0.13.1" sha: "a436005a34754522d3c38b608aa892b4f8e13dd3" package-selector: "sigil-stdlib" version: "0.13.1"))