protected override void Run() { var invalid = Path.GetInvalidFileNameChars(); if (Name.Any(c => invalid.Contains(c))) { throw new PSArgumentException($"The file name '{Name}' contains invalid characters"); } var organizer = new SnippetOrganizer(Options, FileAssociations); var package = organizer.CreateCustomWorkspace(Name, Tags, Languages, OrderBy, SortDirection, HideMetaFiles); package.Publish(Options, Overwrite); var manifestGenerator = new ManifestGenerator(); manifestGenerator.Add(package); var manifest = manifestGenerator.ToManifest(OrderBy, SortDirection); manifest.Publish(Options.WorkspacePath); if (Sync || Options.AutoSync) { CommitAndPush("New custom workspace"); } }