/**
* Print various data about the CLI environment.
+ *
+ * @synopsis [--format=<format>]
*/
- function info() {
+ function info( $_, $assoc_args ) {
$php_bin = defined( 'PHP_BINARY' ) ? PHP_BINARY : getenv( 'WP_CLI_PHP_USED' );
$runner = WP_CLI::get_runner();
- WP_CLI::line( "PHP binary:\t" . $php_bin );
- WP_CLI::line( "PHP version:\t" . PHP_VERSION );
- WP_CLI::line( "php.ini used:\t" . get_cfg_var( 'cfg_file_path' ) );
- WP_CLI::line( "WP-CLI root:\t" . WP_CLI_ROOT );
- WP_CLI::line( "WP-CLI global config:\t" . $runner->global_config_path );
- WP_CLI::line( "WP-CLI project config:\t" . $runner->project_config_path );
- WP_CLI::line( "WP-CLI version:\t" . WP_CLI_VERSION );
+ if ( isset( $assoc_args['format'] ) && 'json' === $assoc_args['format'] ) {
+ $info = array(
+ 'php_binary_path' => $php_bin,
+ 'global_config_path' => $runner->global_config_path,
+ 'project_config_path' => $runner->project_config_path,
+ 'wp_cli_dir_path' => WP_CLI_ROOT,
+ 'wp_cli_version' => WP_CLI_VERSION,
+ );
+
+ WP_CLI::line( json_encode( $info ) );
+ } else {
+ WP_CLI::line( "PHP binary:\t" . $php_bin );
+ WP_CLI::line( "PHP version:\t" . PHP_VERSION );
+ WP_CLI::line( "php.ini used:\t" . get_cfg_var( 'cfg_file_path' ) );
+ WP_CLI::line( "WP-CLI root dir:\t" . WP_CLI_ROOT );
+ WP_CLI::line( "WP-CLI global config:\t" . $runner->global_config_path );
+ WP_CLI::line( "WP-CLI project config:\t" . $runner->project_config_path );
+ WP_CLI::line( "WP-CLI version:\t" . WP_CLI_VERSION );
+ }
}
/**