src/Console/Controllers/MessageController.php
public function actionConfig(RequestApplicationInterface $app, $filePath)
    {
        $filePath = Reaction::getAlias($filePath);
        if (file_exists($filePath)) {
            $confirmPromise = $this->confirm("File '{$filePath}' already exists. Do you wish to overwrite it?");
        } else {
            $confirmPromise = resolve(true);
        }

        return $confirmPromise
            ->then(function() use ($filePath) {
                $array = VarDumper::export($this->getOptionValues($this->getCurrentAction()));
                $content = <<<EOD
<?php
/**
 * Configuration file for 'console {$this->getUniqueId()}/{$this->defaultAction}' command.
 *
 * This file is automatically generated by 'console {$this->getUniqueId()}/{$this->getCurrentAction()}' command.
 * It contains parameters for source code messages extraction.
 * You may modify this file to suit your needs.
 *
 * You can use 'console {$this->getUniqueId()}/{$this->getCurrentAction()}-template' command to create
 * template configuration file with detailed description for each parameter.
 */
return $array;

EOD;
                return FileHelperAsc::exists($filePath)
                    ->then(null, function() use ($filePath) {
                        return FileHelperAsc::create($filePath, $this->filesystemMode);
                    })->then(function() use ($filePath, $content) {
                        return FileHelperAsc::putContents($filePath, $content);
                    })->then(function() use ($filePath) {
                        $this->stdout("Configuration file created: '{$filePath}'.\n\n", Console::FG_GREEN);
                        return true;
                    }, function($error) use ($filePath) {
                        $this->stdout("Configuration file was NOT created: '{$filePath}'.\n\n", Console::FG_RED);
                        return reject($error);
                    });
            });
    }
public function actionConfig(RequestApplicationInterface $app, $filePath)
    {
        $filePath = Reaction::getAlias($filePath);
        if (file_exists($filePath)) {
            $confirmPromise = $this->confirm("File '{$filePath}' already exists. Do you wish to overwrite it?");
        } else {
            $confirmPromise = resolve(true);
        }

        return $confirmPromise
            ->then(function() use ($filePath) {
                $array = VarDumper::export($this->getOptionValues($this->getCurrentAction()));
                $content = <<<EOD
<?php
/**
 * Configuration file for 'console {$this->getUniqueId()}/{$this->defaultAction}' command.
 *
 * This file is automatically generated by 'console {$this->getUniqueId()}/{$this->getCurrentAction()}' command.
 * It contains parameters for source code messages extraction.
 * You may modify this file to suit your needs.
 *
 * You can use 'console {$this->getUniqueId()}/{$this->getCurrentAction()}-template' command to create
 * template configuration file with detailed description for each parameter.
 */
return $array;

EOD;
                return FileHelperAsc::exists($filePath)
                    ->then(null, function() use ($filePath) {
                        return FileHelperAsc::create($filePath, $this->filesystemMode);
                    })->then(function() use ($filePath, $content) {
                        return FileHelperAsc::putContents($filePath, $content);
                    })->then(function() use ($filePath) {
                        $this->stdout("Configuration file created: '{$filePath}'.\n\n", Console::FG_GREEN);
                        return true;
                    }, function($error) use ($filePath) {
                        $this->stdout("Configuration file was NOT created: '{$filePath}'.\n\n", Console::FG_RED);
                        return reject($error);
                    });
            });
    }
Creates a configuration file for the "extract" command using command line options specified.

The generated configuration file contains parameters required
for source code messages extraction.
You may use this configuration file with the "extract" command.

@param RequestApplicationInterface $app
@param string                      $filePath output file name or alias.
@return ExtendedPromiseInterface