/**
  * Registers the commands
  */
 public function register()
 {
     $this->commands(['Synga\\PhpStormMeta\\Laravel\\Command\\ExcludeCommand', 'Synga\\PhpStormMeta\\Laravel\\Command\\IncludeCommand', 'Synga\\PhpStormMeta\\Laravel\\Command\\GenerateCommand']);
     $this->app->singleton('Synga\\InheritanceFinder\\InheritanceFinderInterface', function () {
         if (!file_exists(storage_path('class_cache'))) {
             mkdir(storage_path('class_cache'));
         }
         $config = new \Synga\InheritanceFinder\File\FileConfig();
         $config->setApplicationRoot(base_path());
         $config->setCacheDirectory(storage_path('class_cache'));
         return InheritanceFinderFactory::getInheritanceFinder($config);
     });
 }
 /**
  * Register the service provider.
  */
 public function register()
 {
     $this->app->when('Synga\\ServiceProviderHelper\\ServiceProviderAdder')->needs('Synga\\InheritanceFinder\\InheritanceFinderInterface')->give(function () {
         $config = new FileConfig();
         $config->setApplicationRoot(base_path());
         $config->setCacheDirectory(\Config::get('providers.inheritance_finder_storage_path'));
         return InheritanceFinderFactory::getInheritanceFinder($config);
     });
     $this->app->singleton('PhpParser\\Parser', function () {
         return (new ParserFactory())->create(ParserFactory::PREFER_PHP7);
     });
     $this->commands([\Synga\ServiceProviderHelper\Command\AddServiceProviderCommand::class]);
 }