jw-pkg/src/python/jw
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan Lindemann e3cff8104f
All checks were successful
CI / Packaging - Kali Linux (push) Successful in 3m36s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 3m47s
CI / Packaging test (push) Successful in 0s
lib.App: Find invoked path by walking argv
The discovery re-parse re-parses the full command line at each level
against the subparsers registered so far. A level's subcommand parsers
are not registered until the re-parse descends into them, so the tokens
after the subcommand name are parsed against the current level's
options. An option meant for a deeper level can then collide with a
same-named option of a shallower level, or fail on a missing value.

Replace the re-parse with a single argv walk. The subcommand names at
each level are known once the commands are materialized, so the invoked
path is found by matching tokens against those names and skipping the
options (and the values they consume) that precede them. Walking the
tokens never parses the tail against a half-built parser, so the
collision cannot occur.

Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.84.2
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-08-18 01:14:40 +02:00
..
pkg lib.App: Find invoked path by walking argv 2026-08-18 01:14:40 +02:00
__init__.py jw.pkg: Fix "make check" static code check fallout 2026-05-31 18:20:38 +02:00
Makefile src/python/jw/Makefile: use py-ns-dir.mk 2026-05-31 18:20:34 +02:00