]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: kresctl: completion for 'completion' cmd
authorAleš Mrázek <ales.mrazek@nic.cz>
Mon, 31 Oct 2022 22:41:24 +0000 (23:41 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Tue, 10 Jan 2023 18:57:14 +0000 (19:57 +0100)
manager/knot_resolver_manager/cli/cmd/completion.py

index 88de042fdaf85172344dd0ea985f373de9be292e..cad959619a01a0154d0216ec2802fa20af71de07 100644 (file)
@@ -32,7 +32,12 @@ class CompletionCommand(Command):
 
     @staticmethod
     def completion(args: List[str], parser: argparse.ArgumentParser) -> Dict[str, Optional[str]]:
-        return {}
+        comp: Dict[str, Optional[str]] = {}
+
+        for action in parser._actions:
+            for opt in action.option_strings:
+                comp[opt] = action.help
+        return comp
 
     def run(self, args: CommandArgs) -> None:
         parser = args.parser
@@ -66,5 +71,4 @@ class CompletionCommand(Command):
         elif self.shell == Shells.FISH:
             pass
         else:
-            pass
-            # error
+            raise ValueError(f"unexpected value of {Shells}: {self.shell}")