Add detail mode to "server" command.
[shpub.git] / src / shpub / Cli.php
index 75f51bdd9c78f120a0de991a7cff283662f472f6..6cc77dc9a9f3a3431ac990dced74fec93c04d30b 100644 (file)
@@ -24,13 +24,17 @@ class Cli
                     $res->command->args['server'],
                     $res->command->args['user'],
                     $res->command->args['key'],
-                    $res->command->options['force']
+                    $res->command->options['force'],
+                    $res->command->options['scope']
                 );
                 break;
 
             case 'server':
                 $cmd = new Command_Server($this->cfg);
-                $cmd->run($res->command->options['verbose']);
+                $cmd->run(
+                    $res->command->args['server'],
+                    $res->command->options['verbose']
+                );
                 break;
 
             default:
@@ -49,7 +53,7 @@ class Cli
     /**
      * Let the CLI option parser parse the options.
      *
-     * @param object $parser Option parser
+     * @param object $optParser Option parser
      *
      * @return object Parsed command line parameters
      */
@@ -89,8 +93,9 @@ class Cli
     protected function loadOptParser()
     {
         $optParser = new \Console_CommandLine();
-        $optParser->description = 'shpub';
-        $optParser->version = '0.0.5';
+        $optParser->name        = 'shpub';
+        $optParser->description = 'Command line micropub client';
+        $optParser->version     = '0.3.0';
         $optParser->subcommand_required = true;
 
         $optParser->addOption(
@@ -115,50 +120,9 @@ class Cli
             )
         );
 
-        $cmd = $optParser->addCommand('connect');
-        $cmd->addOption(
-            'force',
-            array(
-                'short_name'  => '-f',
-                'long_name'   => '--force-update',
-                'description' => 'Force token update if token already available',
-                'action'      => 'StoreTrue',
-                'default'     => false,
-            )
-        );
-        $cmd->addArgument(
-            'server',
-            [
-                'optional'    => false,
-                'description' => 'Server URL',
-            ]
-        );
-        $cmd->addArgument(
-            'user',
-            [
-                'optional'    => true,
-                'description' => 'User URL',
-            ]
-        );
-        $cmd->addArgument(
-            'key',
-            [
-                'optional'    => true,
-                'description' => 'Short name (key)',
-            ]
-        );
-
-        $cmd = $optParser->addCommand('server');
-        $cmd->addOption(
-            'verbose',
-            array(
-                'short_name'  => '-v',
-                'long_name'   => '--verbose',
-                'description' => 'Show more server infos',
-                'action'      => 'StoreTrue',
-                'default'     => false,
-            )
-        );
+        Command_Connect::opts($optParser);
+        Command_Server::opts($optParser);
+        Command_Targets::opts($optParser);
 
         Command_Article::opts($optParser);
         Command_Note::opts($optParser);
@@ -166,11 +130,14 @@ class Cli
         Command_Like::opts($optParser);
         Command_Repost::opts($optParser);
         Command_Rsvp::opts($optParser);
+        Command_Bookmark::opts($optParser);
 
         Command_Delete::opts($optParser);
         Command_Undelete::opts($optParser);
         Command_Update::opts($optParser);
 
+        Command_Upload::opts($optParser);
+
         return $optParser;
     }