diff --git a/jc/cli.py b/jc/cli.py index b51d9646..ba09b342 100644 --- a/jc/cli.py +++ b/jc/cli.py @@ -399,12 +399,6 @@ class JcCli(): else: break - # if -a, -h, or -v found in options, then clear options and bail out - bail_opts = ('a', 'h', 'v') - if len({*bail_opts} & {*self.magic_options}): - self.magic_options = [] - return - # all options popped and no command found - for case like 'jc -x' if len(args_given) == 0: self.magic_options = [] diff --git a/tests/test_jc_cli.py b/tests/test_jc_cli.py index 5e7d0c52..dee91761 100644 --- a/tests/test_jc_cli.py +++ b/tests/test_jc_cli.py @@ -22,12 +22,13 @@ class MyTests(unittest.TestCase): 'jc -prd airport -I': ('--airport', ['p', 'r', 'd'], ['airport', '-I']), 'jc -p nonexistent command': (None, ['p'], ['nonexistent', 'command']), 'jc -ap': (None, [], None), - 'jc -a arp -a': (None, [], None), + 'jc -a arp -a': ('--arp', ['a'], ['arp', '-a']), 'jc -v': (None, [], None), 'jc -h': (None, [], None), 'jc -h --arp': (None, [], None), - 'jc -h arp': (None, [], None), - 'jc -h arp -a': (None, [], None), + 'jc -h arp': ('--arp', ['h'], ['arp']), + 'jc -h arp -a': ('--arp', ['h'], ['arp', '-a']), + 'jc -v arp -a': ('--arp', ['v'], ['arp', '-a']), 'jc --pretty dig': ('--dig', ['p'], ['dig']), 'jc --pretty --monochrome --quiet --raw dig': ('--dig', ['p', 'm', 'q', 'r'], ['dig']), 'jc --about --yaml-out': (None, [], None)