diff --git a/composer.drush.inc b/composer.drush.inc
index b2ae7c1..61e1cc8 100644
--- a/composer.drush.inc
+++ b/composer.drush.inc
@@ -8,45 +8,12 @@
  * Implementation of hook_drush_command().
  */
 function composer_drush_command() {
+  // Create the base Composer details.
   $items['composer'] = array(
     'description' => 'Perform package management and dependency tracking of your projects and libraries.',
     'arguments' => array(
       'command' => 'Run "drush composer" for a list of available commands.',
     ),
-    'options' => array(
-      'dev' => 'Specifies that the development requirements are to be retrieved.',
-      'require-dev' => 'Package to require for development with a version constraint, e.g. foo/bar:1.0.0 or foo/bar=1.0.0 or "foo/bar 1.0.0".',
-      'quiet' => 'Do not output any message.',
-      'version' => 'Display Composer version information.',
-      'ansi' => 'Force ANSI output.',
-      'no-ansi' => 'Disable ANSI output.',
-      'profile' => 'Display timing and memory usage information.',
-      'no-interaction' => 'Do not ask any interactive questions.',
-      'no-custom-installers' => 'Disables all custom installers.',
-      'optimize' => 'Optimizes PSR0 packages to be loaded with classmaps too, good for production.',
-      'verbose' => 'Increase verbosity of messages.',
-      'prefer-source' => 'Forces isntallation from package sources when possible, including VCS information.',
-      'prefer-dist' => 'Forces installation from package dist even for dev versions.',
-      'dry-run' => 'Outputs the operations but will not execute anything.',
-      'no-scripts' => 'Skips the execution of all scripts defined in the composer.json file.',
-      'xml' => 'To output as XML',
-      'help' => 'Display help message.',
-      'working-dir' => 'If specified, use the given directory as working directory.',
-      'global' => 'Apply command to the global config file.',
-      'editor' => 'Open editor',
-      'unset' => 'Unset the given setting-key.',
-      'list' => 'List configuration settings.',
-      'no-update' => 'Disables the automatic update of the dependencies.',
-      'file' => 'If you want to choose a different composer.json or config.json.',
-      'repository-url' => 'Pick a different repository url to look for the package.',
-      'keep-vcs' => 'Whether to prevent deletion vcs folder.',
-      'minimum-stability' => 'Minimum stability (empty or one of: stable, RC, beta, alpha, dev)',
-      'name' => 'Name of the package',
-      'description' => 'Description of package',
-      'author' => 'Author name of package',
-      'homepage' => 'Homepage of package',
-      'only-name' => 'Search only in name',
-    ),
     'examples' => array(
       'drush composer' => 'Display available commands available with Composer.',
       'drush composer install' => 'Parses composer.json in the current directory.',
@@ -56,6 +23,21 @@ function composer_drush_command() {
     ),
     'bootstrap' => DRUSH_BOOTSTRAP_DRUSH,
   );
+
+  // Inject additional information from the list XML file.
+  $xml = simplexml_load_file(__DIR__ . DIRECTORY_SEPARATOR . 'composer.drush.xml');
+  if ($xml) {
+    foreach ($xml->commands->command as $command) {
+      if (isset($command->options->option)) {
+        foreach ($command->options->option as $option) {
+          $name = str_replace('--', '', (string) $option['name']);
+          $description = (string) $option->description;
+          $items['composer']['options'][$name] = $description;
+        }
+      }
+    }
+  }
+
   return $items;
 }
