public static Node<TokenInfo> ConstructExpressionInfoTree(IPluginInvoker invoker, IEnumerable<IGlobalProvider> providers) { var root = new Node<TokenInfo>(); root.AddChildren(invoker.ListAllPluginTypes().Select(type => type.ToTokenInfo())); root.AddChildren(invoker.ListAllGlobalEnumTypes().Select(type => type.ToTokenInfo())); root.AddChildren(providers.SelectMany(gp => gp.ListGlobals().Select(obj => obj.ToTokenInfo()))); root.SortChildrenRecursive((a, b) => a.Identifier.Value.CompareTo(b.Identifier.Value)); return root; }
public static Node <TokenInfo> ConstructExpressionInfoTree(IPluginInvoker invoker, IEnumerable <IGlobalProvider> providers) { var root = new Node <TokenInfo>(); root.AddChildren(invoker.ListAllPluginTypes().Select(type => type.ToTokenInfo())); root.AddChildren(invoker.ListAllGlobalEnumTypes().Select(type => type.ToTokenInfo())); root.AddChildren(providers.SelectMany(gp => gp.ListGlobals().Select(obj => obj.ToTokenInfo()))); root.SortChildrenRecursive((a, b) => a.Identifier.Value.CompareTo(b.Identifier.Value)); return(root); }
public IEnumerable <IPlugin> InvokeAndConfigureAllScriptDependantPlugins(string script) { var pluginTypes = pluginInvoker.ListAllPluginTypes() .Select(pt => new { Name = GlobalsInfo.GetGlobalName(pt), PluginType = pt } ) .Where(info => script.Contains(info.Name)) .Select(info => info.PluginType).ToList(); return(pluginInvoker.InvokeAndConfigurePlugins(pluginTypes)); }