public static Provider GetProvider (string provider, params string[] basefilepaths) { switch (provider) { case "addins": return new AddinsProvider (basefilepaths [0]); case "ecma": { EcmaProvider p = new EcmaProvider (); foreach (string d in basefilepaths) p.AddDirectory (d); return p; } case "ecmaspec": return new EcmaSpecProvider (basefilepaths [0]); case "error": return new ErrorProvider (basefilepaths [0]); case "man": return new ManProvider (basefilepaths); case "simple": return new SimpleProvider (basefilepaths [0]); case "xhtml": case "hb": return new XhtmlProvider (basefilepaths [0]); default: throw new NotSupportedException (provider); } }