Skip to content

Releases: smorin/toggle

v0.2.3 — togl binary alias

17 Apr 03:47

Choose a tag to compare

Added

  • togl binary aliascargo install togl now installs both toggle and togl. Same behavior under either name; --help, --version, completions, and the man page each self-identify by the invoked name.
$ togl --help
Usage: togl [OPTIONS] [PATHS]...

$ toggle --help
Usage: toggle [OPTIONS] [PATHS]...

Fixed

  • --help and --version now exit with code 0 instead of 1. Pre-existing bug where clap's display-only errors were classified as Usage failures.

crates.io/crates/togl

v0.2.2 — published to crates.io as togl

17 Apr 03:26

Choose a tag to compare

Changed

  • Crate renamed toggletogl for crates.io (toggle was already taken). The installed binary is still toggle.

Install

cargo install togl

This release contains no functional changes from v0.2.1 — only the crate metadata changed so the package could be published.

crates.io/crates/togl

v0.2.1 — shell completions and man page

17 Apr 03:19

Choose a tag to compare

Added

  • --completions <SHELL> — emits a shell completion script to stdout. Supports bash, zsh, fish, powershell, elvish.
    toggle --completions bash > /etc/bash_completion.d/toggle
    
  • --man — emits a roff-formatted man page to stdout.
    toggle --man > toggle.1 && man ./toggle.1
    

Fixed

  • repository field in Cargo.toml now points at the real GitHub URL.

Changed

  • Path argument is now optional so --completions and --man can run without targets.

See CHANGELOG.md for full history.

v0.2.0 — section variants and scan enhancements

16 Apr 21:50

Choose a tag to compare

Highlights

PRD §0.13 (Section Variants) and §0.14 (Scan Enhancements) — bundled as four slices on main.

group:variant section markers (PRD §0.13)

  • New ID syntax: # toggle:start ID=db:postgres groups variants under db.
  • -S group flips a 2-variant pair (active ↔ commented).
  • -S group:variant activates one variant, comments every sibling.
  • -S group --force on|off applies the same state to every variant of the group.
  • Errors when -S group targets a 3+ variant group without a :variant qualifier.

--pair validation flag (PRD §0.13.4)

  • Pre-execution guard that errors when the targeted group does not contain exactly 2 variants.
  • No file mutations occur on failure.

Variant-aware --scan (PRD §0.14.1–§0.14.2, §0.14.4)

  • Per-file table now includes a TYPE column (solo / pair / group).
  • --scan -R recursive summary aggregates per group across files.
  • --scan -S <group> shows the detailed variant-by-variant view with file refs.
  • --scan --json emits a nested { sections: [...] } tree with variants grouped under their parent.

--scan --check validation (PRD §0.14.3)

  • Reports unclosed toggle:start markers, duplicate IDs in a single file, cross-file variant gaps, and (with --pair) pair-mismatches.
  • Exits non-zero on any error finding; warnings do not fail the run.

Repo cleanup

  • Removed the unrunnable task-master npm scaffolding (package.json, scripts/dev.js, etc.) which closed 17 Dependabot alerts in unused npm transitives.

Stats

  • 22 commits since v0.1.0 (P01–P04 + repo cleanup)
  • Tests: 7 doc + 90 unit + 111 integration = 208 passing
  • clippy -D warnings clean

Compatibility

Existing solo-section workflows are unchanged. The TYPE column and nested JSON shape are new — any tooling that parsed the old flat --scan --json array will need to read .sections[] instead.