original_string: public function getShellList()
      {
          $skipFiles = ['app'];
          $hiddenCommands = ['command_list', 'completion'];
          $plugins = Plugin::loaded();
          $shellList = array_fill_keys($plugins, null) + ['CORE' => null, 'app' => null];
  
          $appPath = App::path('Shell');
          $shellList = $this->_findShells($shellList, $appPath[0], 'app', $skipFiles);
  
          $appPath = App::path('Command');
          $shellList = $this->_findShells($shellList, $appPath[0], 'app', $skipFiles);
  
          $skipCore = array_merge($skipFiles, $hiddenCommands, $shellList['app']);
          $corePath = dirname(__DIR__);
          $shellList = $this->_findShells($shellList, $corePath, 'CORE', $skipCore);
  
          $corePath = dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'Command';
          $shellList = $this->_findShells($shellList, $corePath, 'CORE', $skipCore);
  
          foreach ($plugins as $plugin) {
              $pluginPath = Plugin::classPath($plugin) . 'Shell';
              $shellList = $this->_findShells($shellList, $pluginPath, $plugin, []);
          }
  
          return array_filter($shellList);
      }
code: public function getShellList()
      {
          $skipFiles = ['app'];
          $hiddenCommands = ['command_list', 'completion'];
          $plugins = Plugin::loaded();
          $shellList = array_fill_keys($plugins, null) + ['CORE' => null, 'app' => null];
  
          $appPath = App::path('Shell');
          $shellList = $this->_findShells($shellList, $appPath[0], 'app', $skipFiles);
  
          $appPath = App::path('Command');
          $shellList = $this->_findShells($shellList, $appPath[0], 'app', $skipFiles);
  
          $skipCore = array_merge($skipFiles, $hiddenCommands, $shellList['app']);
          $corePath = dirname(__DIR__);
          $shellList = $this->_findShells($shellList, $corePath, 'CORE', $skipCore);
  
          $corePath = dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'Command';
          $shellList = $this->_findShells($shellList, $corePath, 'CORE', $skipCore);
  
          foreach ($plugins as $plugin) {
              $pluginPath = Plugin::classPath($plugin) . 'Shell';
              $shellList = $this->_findShells($shellList, $pluginPath, $plugin, []);
          }
  
          return array_filter($shellList);
      }
code_tokens: public function getShellList ( ) { $ skipFiles = [ 'app' ] ; $ hiddenCommands = [ 'command_list' , 'completion' ] ; $ plugins = Plugin :: loaded ( ) ; $ shellList = array_fill_keys ( $ plugins , null ) + [ 'CORE' => null , 'app' => null ] ; $ appPath = App :: path ( 'Shell' ) ; $ shellList = $ this -> _findShells ( $ shellList , $ appPath [ 0 ] , 'app' , $ skipFiles ) ; $ appPath = App :: path ( 'Command' ) ; $ shellList = $ this -> _findShells ( $ shellList , $ appPath [ 0 ] , 'app' , $ skipFiles ) ; $ skipCore = array_merge ( $ skipFiles , $ hiddenCommands , $ shellList [ 'app' ] ) ; $ corePath = dirname ( __DIR__ ) ; $ shellList = $ this -> _findShells ( $ shellList , $ corePath , 'CORE' , $ skipCore ) ; $ corePath = dirname ( dirname ( __DIR__ ) ) . DIRECTORY_SEPARATOR . 'Command' ; $ shellList = $ this -> _findShells ( $ shellList , $ corePath , 'CORE' , $ skipCore ) ; foreach ( $ plugins as $ plugin ) { $ pluginPath = Plugin :: classPath ( $ plugin ) . 'Shell' ; $ shellList = $ this -> _findShells ( $ shellList , $ pluginPath , $ plugin , [ ] ) ; } return array_filter ( $ shellList ) ; }
docstring: Gets the shell command listing.
  
  @return array
docstring_tokens: Gets the shell command listing .