code: func DescribePlugins() string {
  	str := "Server types:\n"
  	for name := range serverTypes {
  		str += "  " + name + "\n"
  	}
  
  	// List the loaders in registration order
  	str += "\nCaddyfile loaders:\n"
  	for _, loader := range caddyfileLoaders {
  		str += "  " + loader.name + "\n"
  	}
  	if defaultCaddyfileLoader.name != "" {
  		str += "  " + defaultCaddyfileLoader.name + "\n"
  	}
  
  	// Let's alphabetize the rest of these...
  	var others []string
  	for stype, stypePlugins := range plugins {
  		for name := range stypePlugins {
  			var s string
  			if stype != "" {
  				s = stype + "."
  			}
  			s += name
  			others = append(others, s)
  		}
  	}
  	sort.Strings(others)
  	str += "\nOther plugins:\n"
  	for _, name := range others {
  		str += "  " + name + "\n"
  	}
  
  	return str
  }
docs: // DescribePlugins returns a string describing the registered plugins.