traverse: collect context information about args
rsteube opened this issue · 1 comments
rsteube commented
Request
Since traverse already iterates over the arguments and identifies them this should be stored and optionally returned.
Proposed solution
Provide an array of context information:
- value of the arg
- name of flag/subcommand
- desctiption of flag/subcommand
- type (flag type | argument type | command)
- optarg (embed the same if it is an optarg)
Anything else?
gh issue --repo rsteube/carapace list --label enhancement --state open --web
Could be visualized like:
gh # GitHub CLI
issue # Manage issues
--repo rsteube/carapace # Select another repository using the `[HOST/]OWNER/REPO` format
list # List issues in a repository
--label enhancement # Filter by label
--state open # Filter by state: {open|closed|all}
--web # List issues in the web browser
rsteube commented
Flag chains could pose an issue. Might be more helpful to destructure the arguments (and even prefer the longhand for flags?).
ls -lha /tmp
exa # a modern replacement for ls
-l # display extended file metadata as a table
-h # add a header row to each column
-a # show hidden and 'dot' files
/tmp