original_string: protected function get_full_component_list() {
          global $CFG;
  
          $list = \core_component::get_component_list();
          $list['core']['core'] = "{$CFG->dirroot}/lib";
          $formattedlist = [];
          foreach ($list as $plugintype => $plugin) {
              $formattedlist[] = ['plugin_type' => $plugintype, 'plugins' => array_keys($plugin)];
          }
  
          return $formattedlist;
      }
code: protected function get_full_component_list() {
          global $CFG;
  
          $list = \core_component::get_component_list();
          $list['core']['core'] = "{$CFG->dirroot}/lib";
          $formattedlist = [];
          foreach ($list as $plugintype => $plugin) {
              $formattedlist[] = ['plugin_type' => $plugintype, 'plugins' => array_keys($plugin)];
          }
  
          return $formattedlist;
      }
code_tokens: protected function get_full_component_list ( ) { global $ CFG ; $ list = \ core_component :: get_component_list ( ) ; $ list [ 'core' ] [ 'core' ] = "{$CFG->dirroot}/lib" ; $ formattedlist = [ ] ; foreach ( $ list as $ plugintype => $ plugin ) { $ formattedlist [ ] = [ 'plugin_type' => $ plugintype , 'plugins' => array_keys ( $ plugin ) ] ; } return $ formattedlist ; }
docstring: Return the full list of components.
  
  @return array An array of plugin types which contain plugin data.
docstring_tokens: Return the full list of components .