autoPrefixManagers)) { $this->autoPrefixManagers = new AutoPrefixManagersList(); } return $this->autoPrefixManagers; } /** * Apply the auto prefix managers on a command (until one of them manage it) * * @param Command $command The command * * @return Command The command */ protected function applyAutoPrefixOnCommand (Command $command): Command { foreach ($this->getAutoPrefixManagers() as $autoPrefixManager) { if (($namesPrefix = $autoPrefixManager->getCommandPrefix($command)) !== null) { if (mb_strlen($namesPrefix) > 0) { $namesPrefix .= ':'; } $command->setName($namesPrefix . $command->getName()); $aliases = $command->getAliases(); foreach ($aliases as &$alias) { $alias = $namesPrefix . $alias; } $command->setAliases($aliases); break; } } return $command; } }