Exemple #1
0
        public void Write(TextWriter writer, InteractivePackageManager packageManager)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            var manifestCell = Contents.FirstCell as YamlMetadataCell;

            if (manifestCell == null)
            {
                manifestCell = new YamlMetadataCell();
                if (Contents.FirstCell == null)
                {
                    Contents.AppendCell(manifestCell);
                }
                else
                {
                    Contents.InsertCellBefore(Contents.FirstCell, manifestCell);
                }
            }

            Manifest.Title = title;

            if (packageManager?.InstalledPackages != null)
            {
                Manifest.Packages = packageManager.InstalledPackages.ToImmutableArray();
            }

            manifestCell.Buffer.Value = Manifest.ToString();

            Contents.Write(writer);

            Contents.RemoveCell(manifestCell);
        }