Bläddra i källkod

Try to figure out which editor is available on *nix

Jordi Boggiano 13 år sedan
förälder
incheckning
4e3f4f24fc
1 ändrade filer med 10 tillägg och 1 borttagningar
  1. 10 1
      src/Composer/Command/ConfigCommand.php

+ 10 - 1
src/Composer/Command/ConfigCommand.php

@@ -120,7 +120,16 @@ EOT
         if ($input->getOption('editor')) {
             $editor = getenv('EDITOR');
             if (!$editor) {
-                $editor = defined('PHP_WINDOWS_VERSION_BUILD') ? 'notepad' : 'vi';
+                if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+                    $editor = 'notepad';
+                } else {
+                    foreach (array('vim', 'vi', 'nano', 'pico', 'ed') as $candidate) {
+                        if (exec('which '.$candidate)) {
+                            $editor = $candidate;
+                            break;
+                        }
+                    }
+                }
             }
 
             system($editor . ' ' . $this->configFile->getPath() . (defined('PHP_WINDOWS_VERSION_BUILD') ? '':  ' > `tty`'));