Ejemplo n.º 1
0
        void IDescriptionVisitor.Start(Description description)
        {
            if (_level == 0)
            {
                _report.AddDivider('=');
                _report.AddText(description.ToString());
                _report.AddDivider('=');

                writeProperties(4, description);

                writeChildren(4, description);
            }
            else
            {
                var prefix = _prefixes.Peek().GetPrefix();
                var indent = prefix.Length;
                if (_childName.IsNotEmpty())
                {
                    prefix  = prefix + _childName + ":";
                    indent += 5;
                }

                var firstColumn = _childName.IsEmpty() ? prefix : prefix + _childName + ":";
                _report.AddColumnData(firstColumn, description.Title, description.ShortDescription ?? string.Empty);



                writeProperties(indent, description);
                writeChildren(indent, description);
            }
        }
Ejemplo n.º 2
0
        public void add_dividers_and_jagged_columns()
        {
            var report = new TextReport();

            report.AddDivider('=');
            report.StartColumns(3);
            report.AddText("This is the header");
            report.AddDivider('=');

            report.AddColumnData("a1***", "b1", "c1");
            report.AddColumnData("a2", "b2***", "c2");
            report.AddColumnData("a3", "b3", "c3***");
            report.AddDivider('=');

            var writer = new StringWriter();

            report.Write(writer);

            Debug.WriteLine(writer.ToString());

            writer.ToString().ShouldEqualWithLineEndings(@"
=========================
This is the header
=========================
a1***     b1        c1   
a2        b2***     c2   
a3        b3        c3***
=========================
");
        }
Ejemplo n.º 3
0
 void IDescriptionVisitor.Start(Description description)
 {
     if (_level == 0)
     {
         _report.AddDivider('=');
         _report.AddText(description.ToString());
         _report.AddDivider('=');
     }
     else
     {
         _report.AddColumnData(_prefixes.Peek().GetPrefix() + description.Title, description.ShortDescription);
     }
 }
Ejemplo n.º 4
0
        public void simple_dividers_and_text()
        {
            var report = new TextReport();

            report.AddDivider('=');
            report.AddText("the title of this");
            report.AddDivider('=');

            var writer = new StringWriter();

            report.Write(writer);

            writer.ToString().ShouldEqualWithLineEndings(@"
=================
the title of this
=================
");
        }
Ejemplo n.º 5
0
        private static TextReport startReport()
        {
            var report = new TextReport();

            report.StartColumns(2);
            report.AddColumnData("Url", "File");
            report.AddDivider('-');
            return(report);
        }
Ejemplo n.º 6
0
        private static void writePreview(IEnumerable <string> documentsFolders)
        {
            ConsoleWriter.Write(ConsoleColor.Cyan, "Writing snippet preview, can take a little while to find the snippets....");
            Console.WriteLine();

            var snippets = documentsFolders.Select(buildCache).SelectMany(x => x.All())
                           .OrderBy(x => x.Name).GroupBy(x => x.Name + "/" + x.File).Select(x => x.First());

            var report = new TextReport();

            report.AddDivider('-');
            report.StartColumns(2);
            report.AddColumnData("Name", "File");
            report.AddDivider('-');

            snippets.Each(x => report.AddColumnData(x.Name, x.File.PathRelativeTo(Environment.CurrentDirectory)));

            report.WriteToConsole();
        }
Ejemplo n.º 7
0
        private static void writeAssemblies(StringWriter writer)
        {
            var report = new TextReport();

            report.StartColumns(3);
            report.AddDivider('-');
            report.AddText("Assemblies");
            report.AddDivider('-');

            AppDomain.CurrentDomain.GetAssemblies().Each(assem => {
                var assemblyName = assem.GetName();
                var file         = findCodebase(assem);
                report.AddColumnData(assemblyName.Name, assemblyName.Version.ToString(), file);
            });

            report.AddDivider('-');
            report.Write(writer);

            writer.WriteLine();
        }
Ejemplo n.º 8
0
        private static void writePreview(ISnippetCache cache)
        {
            var writer = new TextReport();

            writer.StartColumns(2);

            writer.AddColumnData("Name", "File");
            writer.AddDivider('-');

            cache.All().Each(snippet => { writer.AddColumnData(snippet.Name, snippet.File); });

            writer.WriteToConsole();
        }
Ejemplo n.º 9
0
        private static TextReport displayTimings(IEnumerable <TimedStep> ordered)
        {
            var writer = new TextReport();

            writer.StartColumns(new Column(ColumnJustification.left, 0, 3), new Column(ColumnJustification.right, 0, 3),
                                new Column(ColumnJustification.right, 0, 3), new Column(ColumnJustification.right, 0, 3));
            writer.AddColumnData("Description", "Start", "Finish", "Duration");
            writer.AddDivider('-');

            ordered.Each(
                x => { writer.AddColumnData(x.Text, x.Start.ToString(), x.Finished.ToString(), x.Duration().ToString()); });

            return(writer);
        }
Ejemplo n.º 10
0
        private static void processDirectory(SnippetsInput input, string directory)
        {
            ConsoleWriter.Write(ConsoleColor.White, "Processing code snippets for " + directory);

            ISnippetCache cache = buildCache(directory);

            if (input.ScanFlag)
            {
                writePreview(cache);
            }



            string snippets = directory.AppendPath("snippets");

            fileSystem.DeleteDirectory(snippets);

            string srcDirectory = Environment.CurrentDirectory.AppendPath("src");


            Console.WriteLine("Moving snippet files to " + snippets);
            var writer = new TextReport();

            writer.StartColumns(2);
            writer.AddColumnData("Source", "Destination");
            writer.AddDivider('-');

            cache.All().Each(snippet =>
            {
                string relative = snippet.File.PathRelativeTo(srcDirectory).ParentDirectory();
                string newPath  = snippets.AppendPath(relative);

                writer.AddColumnData(snippet.File, newPath);

                fileSystem.CopyToDirectory(snippet.File, newPath);
            });

            if (!input.QuietFlag)
            {
                writer.WriteToConsole();
            }
        }
Ejemplo n.º 11
0
        public override bool Execute(SnippetsInput input)
        {
            var cache = buildCache(input);

            if (input.ScanFlag)
            {
                writePreview(cache);

                return(true);
            }

            var directory = input.DetermineDocumentsFolder();
            var snippets  = directory.AppendPath("snippets");

            var fileSystem = new FileSystem();

            fileSystem.DeleteDirectory(snippets);

            var srcDirectory = ".".ToFullPath().AppendPath("src");


            Console.WriteLine("Moving snippet files to " + snippets);
            var writer = new TextReport();

            writer.StartColumns(2);
            writer.AddColumnData("Source", "Destination");
            writer.AddDivider('-');

            cache.All().Each(snippet => {
                var relative = snippet.File.PathRelativeTo(srcDirectory).ParentDirectory();
                var newPath  = snippets.AppendPath(relative);

                writer.AddColumnData(snippet.File, newPath);

                fileSystem.CopyToDirectory(snippet.File, newPath);
            });

            writer.WriteToConsole();

            return(true);
        }
Ejemplo n.º 12
0
 private void addDivider()
 {
     _report.AddDivider('=');
 }