Signed-off-by: Joas Schilling <coding@schilljs.com>tags/v11.0RC2
@@ -29,13 +29,15 @@ use OC\App\CodeChecker\CodeChecker; | |||
use OC\App\CodeChecker\EmptyCheck; | |||
use OC\App\CodeChecker\InfoChecker; | |||
use OC\App\InfoParser; | |||
use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface; | |||
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; | |||
use Symfony\Component\Console\Command\Command; | |||
use Symfony\Component\Console\Input\InputArgument; | |||
use Symfony\Component\Console\Input\InputInterface; | |||
use Symfony\Component\Console\Input\InputOption; | |||
use Symfony\Component\Console\Output\OutputInterface; | |||
class CheckCode extends Command { | |||
class CheckCode extends Command implements CompletionAwareInterface { | |||
/** @var InfoParser */ | |||
private $infoParser; | |||
@@ -197,4 +199,28 @@ class CheckCode extends Command { | |||
$output->writeln("<info>Deprecated file found: $updatePhp - please use repair steps</info>"); | |||
} | |||
} | |||
/** | |||
* @param string $optionName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeOptionValues($optionName, CompletionContext $context) { | |||
if ($optionName === 'checker') { | |||
return ['private', 'deprecation', 'strong-comparison']; | |||
} | |||
return []; | |||
} | |||
/** | |||
* @param string $argumentName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeArgumentValues($argumentName, CompletionContext $context) { | |||
if ($argumentName === 'app-id') { | |||
return \OC_App::getAllApps(); | |||
} | |||
return []; | |||
} | |||
} |
@@ -26,12 +26,14 @@ | |||
namespace OC\Core\Command\App; | |||
use OCP\App\IAppManager; | |||
use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface; | |||
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; | |||
use Symfony\Component\Console\Command\Command; | |||
use Symfony\Component\Console\Input\InputArgument; | |||
use Symfony\Component\Console\Input\InputInterface; | |||
use Symfony\Component\Console\Output\OutputInterface; | |||
class Disable extends Command { | |||
class Disable extends Command implements CompletionAwareInterface { | |||
/** @var IAppManager */ | |||
protected $manager; | |||
@@ -69,4 +71,25 @@ class Disable extends Command { | |||
$output->writeln('No such app enabled: ' . $appId); | |||
} | |||
} | |||
/** | |||
* @param string $optionName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeOptionValues($optionName, CompletionContext $context) { | |||
return []; | |||
} | |||
/** | |||
* @param string $argumentName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeArgumentValues($argumentName, CompletionContext $context) { | |||
if ($argumentName === 'app-id') { | |||
return array_diff(\OC_App::getEnabledApps(true, true), $this->manager->getAlwaysEnabledApps()); | |||
} | |||
return []; | |||
} | |||
} |
@@ -26,13 +26,16 @@ | |||
namespace OC\Core\Command\App; | |||
use OCP\App\IAppManager; | |||
use OCP\IGroup; | |||
use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface; | |||
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; | |||
use Symfony\Component\Console\Command\Command; | |||
use Symfony\Component\Console\Input\InputArgument; | |||
use Symfony\Component\Console\Input\InputInterface; | |||
use Symfony\Component\Console\Input\InputOption; | |||
use Symfony\Component\Console\Output\OutputInterface; | |||
class Enable extends Command { | |||
class Enable extends Command implements CompletionAwareInterface { | |||
/** @var IAppManager */ | |||
protected $manager; | |||
@@ -81,4 +84,31 @@ class Enable extends Command { | |||
} | |||
return 0; | |||
} | |||
/** | |||
* @param string $optionName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeOptionValues($optionName, CompletionContext $context) { | |||
if ($optionName === 'groups') { | |||
return array_map(function(IGroup $group) { | |||
return $group->getGID(); | |||
}, \OC::$server->getGroupManager()->search($context->getCurrentWord())); | |||
} | |||
return []; | |||
} | |||
/** | |||
* @param string $argumentName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeArgumentValues($argumentName, CompletionContext $context) { | |||
if ($argumentName === 'app-id') { | |||
$allApps = \OC_App::getAllApps(); | |||
return array_diff($allApps, \OC_App::getEnabledApps(true, true)); | |||
} | |||
return []; | |||
} | |||
} |
@@ -23,6 +23,7 @@ | |||
namespace OC\Core\Command\App; | |||
use OC\Core\Command\Base; | |||
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; | |||
use Symfony\Component\Console\Input\InputArgument; | |||
use Symfony\Component\Console\Input\InputInterface; | |||
use Symfony\Component\Console\Output\OutputInterface; | |||
@@ -60,4 +61,16 @@ class GetPath extends Base { | |||
// App not found, exit with non-zero | |||
return 1; | |||
} | |||
/** | |||
* @param string $argumentName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeArgumentValues($argumentName, CompletionContext $context) { | |||
if ($argumentName === 'app') { | |||
return \OC_App::getAllApps(); | |||
} | |||
return []; | |||
} | |||
} |
@@ -27,6 +27,7 @@ namespace OC\Core\Command\App; | |||
use OC\Core\Command\Base; | |||
use OCP\App\IAppManager; | |||
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; | |||
use Symfony\Component\Console\Input\InputInterface; | |||
use Symfony\Component\Console\Input\InputOption; | |||
use Symfony\Component\Console\Output\OutputInterface; | |||
@@ -117,4 +118,25 @@ class ListApps extends Base { | |||
break; | |||
} | |||
} | |||
/** | |||
* @param string $optionName | |||
* @param CompletionContext $completionContext | |||
* @return array | |||
*/ | |||
public function completeOptionValues($optionName, CompletionContext $completionContext) { | |||
if ($optionName === 'shipped') { | |||
return ['true', 'false']; | |||
} | |||
return []; | |||
} | |||
/** | |||
* @param string $argumentName | |||
* @param CompletionContext $context | |||
* @return string[] | |||
*/ | |||
public function completeArgumentValues($argumentName, CompletionContext $context) { | |||
return []; | |||
} | |||
} |