Compare commits

...

4 commits

3 changed files with 20 additions and 6 deletions

View file

@ -1,3 +1,17 @@
## 0.6.2rc1 (2025-03-19)
### Fix
- better leader support
## 0.6.2rc0 (2025-01-03)
### Fix
- python 2.12 support
## 0.6.1 (2024-11-06)
## 0.6.1rc0 (2024-11-06)
### Fix

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project]
name = "tiramisu_cmdline_parser"
version = "0.6.1"
version = "0.6.2rc1"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "command-line parser using Tiramisu"
@ -37,5 +37,5 @@ name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "pep440"
version_provider = "pep621"
#update_changelog_on_bump = true
update_changelog_on_bump = true
changelog_merge_prerelease = true

View file

@ -374,9 +374,9 @@ class TiramisuCmdlineParser(ArgumentParser):
return self.prefix_chars + name
return self.prefix_chars * 2 + name
def _parse_known_args(self, args=None, namespace=None):
def _parse_known_args(self, args, namespace, *others):
try:
namespace_, args_ = super()._parse_known_args(args, namespace)
namespace_, args_ = super()._parse_known_args(args, namespace, *others)
except (ValueError, LeadershipError, AttributeError) as err:
self.error(err)
if args != args_ and args_ and args_[0].startswith(self.prefix_chars):
@ -397,7 +397,7 @@ class TiramisuCmdlineParser(ArgumentParser):
fullpath=self.fullpath,
)
namespace_, args_ = new_parser._parse_known_args(
args_, new_parser.namespace
args_, new_parser.namespace, *others
)
else:
if self._registries["action"]["help"].needs:
@ -488,7 +488,7 @@ class TiramisuCmdlineParser(ArgumentParser):
# no follower found, search if there is a symlink
for sobj in config.list(uncalculated=True):
try:
if sobj.issymlinkoption() and sobj.option().isleader():
if sobj.issymlinkoption() and sobj.index is None and sobj.option().isleader():
yield sobj, None, None
except ConfigError:
pass