public function getHelp($name) { $help = parent::getHelp($name); // Make subjects green $subjectpattern = '/(?<! )<<bold>>(.*)<<reset>>/'; $subjectPainter = function ($matches) { return '<<green>>' . ucfirst(strtolower($matches[1])) . '<<reset>>'; }; $help = preg_replace_callback($subjectpattern, $subjectPainter, $help); // Make options yellow $help = preg_replace("/ (-[a-z],?(?! )|--[a-z][a-z-]+)/", ' <<yellow>>\\1<<reset>>', $help); $help = preg_replace("/(?<!<)<([^<> ]+)>(?!>)/", '<<yellow>><\\1><<reset>>', $help); $help = preg_replace("/\\[([^\\[\\] ]+)\\]/", '<<yellow>>[\\1]<<reset>>', $help); return $help; }
try { // Load the configuration .env file Dotenv::load(getcwd()); Dotenv::required(['DISQUS_API_KEY', 'DISQUS_API_SECRET', 'DISQUS_ACCESS_TOKEN']); } catch (\RuntimeException $e) { $stdio->errln($e->getMessage()); exit(Status::CONFIG); } catch (\InvalidArgumentException $e) { $stdio->errln($e->getMessage()); exit(Status::CONFIG); } try { // Initialize the client $api = new DisqusAPI(getenv('DISQUS_API_SECRET')); $client = new Client($api, $stdio); $client->helpText = $help->getHelp($self); // Call the API, display the result, and exit $result = $client->dispatch($optionsParser->getValues()); exit($result); } catch (DisqusInterfaceNotDefined $e) { // Invalid resource or verb error_reporting($level); $stdio->errln('<<red>>'); $stdio->errln($e->getMessage()); $stdio->errln('<<reset>>'); exit(Status::USAGE); } catch (\Exception $e) { // Catch-all error_reporting($level); $stdio->errln('<<red>>'); $stdio->errln($e->getMessage());