Skip to content

chore: better catch-all - #33

Merged
k15r merged 4 commits into
mainfrom
delete-command
Apr 15, 2026
Merged

chore: better catch-all#33
k15r merged 4 commits into
mainfrom
delete-command

Conversation

@k15r

@k15r k15r commented Apr 15, 2026

Copy link
Copy Markdown
Owner
  • refactor: move builtin command handlers to dedicated module
  • feat: support [required] and custom names for catch-all args
  • docs: document catch-all arg naming and required support

k15r added 4 commits April 15, 2026 07:30
Extract handle_new, handle_edit, and handle_list from main.rs into
src/builtin.rs for better code organization.
Catch-all args (#@arg:...) now properly parse bracket annotations,
enabling [required] to enforce at least one value is provided.

Introduce #@arg:...name syntax (e.g. #@arg:...files) to give catch-all
args a custom name. This improves error messages (e.g. "<files>..."
instead of "<additional-args>...") and maps to SHUTL_<NAME> env vars.
Plain #@arg:... still defaults to "additional-args" for backwards
compatibility.
Update README and CLAUDE.md with the new #@arg:...name syntax and
[required] annotation support for positional and catch-all args.
@k15r
k15r merged commit 0d96cb3 into main Apr 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant