private void LoadCommandPlugins() { var formatter = new MenuFormatter(); var pluginManager = new CommandPluginManager(); try { pluginManager.LoadAllPlugins(Path.Combine(AssemblyDirectory, "Plugins")); var plugins = pluginManager.GetPluginInstances(); // Add config plugin since it is a shared plugin SetupConfigurationPlugin(plugins); foreach (var plugin in plugins) { plugin.Init(_provider4); _provider4.AddGlobalCommand(plugin); } var menuGroups = formatter.GetMenuGroups(plugins); formatter.ConfigureMenu(menuGroups, _provider4); } catch (Exception ex) { MessageBox.Show(ex.ToString()); throw; } }
static void Main(string[] args) { var filePathArg = args[0]; var activePathArg = args[1]; var menu = XmlParser.DeserializeMenuFile(filePathArg); MenuFormatter.AssignActiveMenuItems(ref menu, ref activePathArg); MenuFormatter.PrintMenuToConsole(ref menu); }