/
CommandNamespace.php
51 lines (40 loc) · 1.18 KB
/
CommandNamespace.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace WP_CLI\Dispatcher;
use WP_CLI;
/**
* Adds a command namespace without actual functionality.
*
* This is meant to provide the means to attach meta information to a namespace
* when there's no actual command needed.
*
* In case a real command gets registered for the same name, it replaces the
* command namespace.
*
* @package WP_CLI
*/
class CommandNamespace extends CompositeCommand {
/**
* Show the usage for all subcommands contained
* by the composite command.
*/
public function show_usage() {
$methods = $this->get_subcommands();
$i = 0;
$count = 0;
foreach ( $methods as $name => $subcommand ) {
$prefix = ( 0 === $i ) ? 'usage: ' : ' or: ';
$i++;
if ( \WP_CLI::get_runner()->is_command_disabled( $subcommand ) ) {
continue;
}
\WP_CLI::line( $subcommand->get_usage( $prefix ) );
$count++;
}
$cmd_name = implode( ' ', array_slice( get_path( $this ), 1 ) );
$message = $count > 0
? "See 'wp help $cmd_name <command>' for more information on a specific command."
: "The namespace $cmd_name does not contain any usable commands in the current context.";
\WP_CLI::line();
\WP_CLI::line( $message );
}
}