using ModpackUpdater.Apps.Manager.Api.Model; using ModpackUpdater.Apps.Manager.Api.Plugins.Params; using Pilz.Plugins.Advanced; namespace ModpackUpdater.Apps.Manager.Features.Workspaces.GitLabRepo; internal class GitLabRepoWorkspaceFeature : PluginFunction, IPluginFeatureProvider { public static GitLabRepoWorkspaceFeature Instance { get; } = new(); public GitLabRepoWorkspaceFeature() : base(FeatureTypes.Workspace, "origin.gitlab", "GitLab repository") { Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.github, Pilz.UI.Symbols.SymbolSize.Small); } protected override object? ExecuteFunction(PluginFunctionParameter? @params) { if (@params is not WorkspaceInitParameters p) return null; /// Open config UI /// ... return new GitLabRepoWorkspace(); } }