Delete macros.
(self, args: argparse.Namespace)
| 4129 | |
| 4130 | @as_subcommand_to("macro", "delete", _build_macro_delete_parser, help="delete macros") |
| 4131 | def _macro_delete(self, args: argparse.Namespace) -> None: |
| 4132 | """Delete macros.""" |
| 4133 | self.last_result = True |
| 4134 | |
| 4135 | if args.all: |
| 4136 | self.macros.clear() |
| 4137 | self.poutput("All macros deleted") |
| 4138 | elif not args.names: |
| 4139 | self.perror("Either --all or macro name(s) must be specified") |
| 4140 | self.last_result = False |
| 4141 | else: |
| 4142 | for cur_name in utils.remove_duplicates(args.names): |
| 4143 | if cur_name in self.macros: |
| 4144 | del self.macros[cur_name] |
| 4145 | self.poutput(f"Macro '{cur_name}' deleted") |
| 4146 | else: |
| 4147 | self.perror(f"Macro '{cur_name}' does not exist") |
| 4148 | |
| 4149 | # macro -> list |
| 4150 | @classmethod |