linux/tools/lib/subcmd
Tomas Glozar da62fc3458 tools subcmd: allow parsing distinct --opt and --no-opt
libsubcmd automatically generates for every option --opt an equivalent
negated option, --no-opt, to unset the option. Vice versa, for every
option declared as --no-opt, a shorthand --opt is declared for
convenience.

Add a flag, PARSE_OPT_NOAUTONEG, to disable this behavior. This new flag
behaves similarly to the already existing PARSE_OPT_NONEG, only it does
not reject the --no-opt variant, but leaves it undefined. That is useful
when there is a conflicting distinct --no-opt option in the syntax of
the tool.

PARSE_OPT_NOAUTONEG is enabled per-option, allowing to unset other
options that do not have this conflict.

Link: https://lore.kernel.org/r/20260528103254.2990068-4-tglozar@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
2026-05-28 13:02:48 +02:00
..
Build perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
exec-cmd.c libsubcmd: Avoid two path statics, removing 8192 bytes from .bss 2023-05-28 10:25:55 -03:00
exec-cmd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
help.c libsubcmd: Fix null intersection case in exclude_cmds() 2026-01-13 16:45:43 -03:00
help.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile tools: Drop nonsensical -O6 2024-09-11 13:08:36 -03:00
pager.c tools lib subcmd: Support overwriting the pager 2018-09-19 15:16:19 -03:00
pager.h tools lib subcmd: Support overwriting the pager 2018-09-19 15:16:19 -03:00
parse-options.c tools subcmd: allow parsing distinct --opt and --no-opt 2026-05-28 13:02:48 +02:00
parse-options.h tools subcmd: allow parsing distinct --opt and --no-opt 2026-05-28 13:02:48 +02:00
run-command.c tools subcmd: Tighten the filename size in check_if_command_finished 2025-07-22 18:17:53 -07:00
run-command.h tools subcmd: Add check_if_command_finished() 2024-04-08 17:43:20 -03:00
sigchain.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sigchain.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
subcmd-config.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
subcmd-config.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
subcmd-util.h libsubcmd: Move va_end() before exit 2024-11-13 16:27:35 -03:00