function drush_redispatch_get_options

8.0.x command.inc drush_redispatch_get_options()
6.x command.inc drush_redispatch_get_options()
7.x command.inc drush_redispatch_get_options()
3.x drush.inc drush_redispatch_get_options()
4.x command.inc drush_redispatch_get_options()
5.x command.inc drush_redispatch_get_options()
master command.inc drush_redispatch_get_options()

Get the options that were passed to the current command.

This function returns an array that contains all of the options that are appropriate for forwarding along to drush_invoke_process.

Return value

An associative array of option key => value pairs.

Related topics

4 calls to drush_redispatch_get_options()
drush_do_command_redispatch in includes/drush.inc
Redispatch the specified command using the same options that were passed to this invocation of drush.
drush_do_multiple_command in includes/drush.inc
Used by functions that operate on lists of sites, moving information from the source to the destination. Currenlty this includes 'drush rsync' and 'drush sql sync'.
drush_test_run_class in commands/core/test.drush.inc
make_projects in commands/make/make.drush.inc
Process all projects specified in the make file.

File

includes/command.inc, line 656
The drush command engine.

Code

function drush_redispatch_get_options() {
  // Start off by taking everything from the site alias and command line
  // ('cli' context)
  $cli_context = drush_get_context('cli');
  // local php settings should not override sitealias settings
  unset($cli_context['php']);
  unset($cli_context['php-options']);
  // cli overrides sitealias and command specific
  $options = $cli_context + drush_get_context('alias') + drush_get_context('specific');

  $options = array_diff_key($options, array_flip(drush_sitealias_site_selection_keys()));
  unset($options['command-specific']);
  unset($options['path-aliases']);
  // If we can parse the current command, then examine all contexts
  // in order for any option that is directly related to the current command
  $command = drush_parse_command();
  if (is_array($command)) {
    foreach ($command['options'] as $key => $value) {
      // Strip leading --
      $key = ltrim($key, '-');
      $value = drush_get_option($key);
      if (isset($value)) {
        $options[$key] = $value;
      }
    }
  }
  // If --bootstrap-to-first-arg is specified, do not
  // pass it along to remote commands.
  unset($options['bootstrap-to-first-arg']);

  return $options;
}