예제 #1
0
파일: Program.cs 프로젝트: wfurt/arcade
        private static string GetFilename(IAssembly assembly, WriterType writer, SyntaxWriterType syntax)
        {
            string name = assembly.Name.Value;

            switch (writer)
            {
            case WriterType.DocIds:
            case WriterType.TypeForwards:
                return(name + ".txt");

            case WriterType.TypeList:
            case WriterType.CSDecl:
            default:
                switch (syntax)
                {
                case SyntaxWriterType.Xml:
                    return(name + ".xml");

                case SyntaxWriterType.Html:
                    return(name + ".html");

                case SyntaxWriterType.Text:
                default:
                    return(name + ".cs");
                }
            }
        }
예제 #2
0
        private static string GetFilename(IAssembly assembly, WriterType writer, SyntaxWriterType syntax)
        {
            string name = assembly.Name.Value;

            return(writer switch
            {
                WriterType.DocIds or WriterType.TypeForwards => name + ".txt",
                _ => syntax switch
                {
                    SyntaxWriterType.Xml => name + ".xml",
                    SyntaxWriterType.Html => name + ".html",
                    _ => name + ".cs",
                },
            });
예제 #3
0
        private static string GetHeaderText(string headerFile, WriterType writerType, SyntaxWriterType syntaxWriterType)
        {
            if (!string.IsNullOrEmpty(headerFile))
            {
                return(File.ReadAllText(headerFile));
            }

            string defaultHeader = string.Empty;

            // This header is for CS source only
            if ((writerType == WriterType.CSDecl || writerType == WriterType.TypeForwards) &&
                syntaxWriterType == SyntaxWriterType.Text)
            {
                // Write default header (culture-invariant, so that the generated file will not be language-dependent)
                defaultHeader = string.Format(CultureInfo.InvariantCulture,
                                              DefaultFileHeader, typeof(GenAPITask).Assembly.GetName().Version.ToString());
            }

            return(defaultHeader);
        }
예제 #4
0
파일: Program.cs 프로젝트: wfurt/arcade
        private static IStyleSyntaxWriter GetSyntaxWriter(TextWriter output, WriterType writer, SyntaxWriterType syntax)
        {
            if (writer != WriterType.CSDecl && writer != WriterType.TypeList)
            {
                return(null);
            }

            switch (syntax)
            {
            case SyntaxWriterType.Xml:
                return(new OpenXmlSyntaxWriter(output));

            case SyntaxWriterType.Html:
                return(new HtmlSyntaxWriter(output));

            case SyntaxWriterType.Text:
            default:
                return(new TextSyntaxWriter(output)
                {
                    SpacesInIndent = 4
                });
            }
        }
예제 #5
0
        private static string GetHeaderText(string headerFile, CommandLineApplication app, WriterType writerType, SyntaxWriterType syntaxWriterType)
        {
            if (string.IsNullOrEmpty(headerFile))
            {
                string defaultHeader = String.Empty;
                // This header is for CS source only
                if ((writerType == WriterType.CSDecl || writerType == WriterType.TypeForwards) &&
                    syntaxWriterType == SyntaxWriterType.Text)
                {
                    // Write default header (culture-invariant, so that the generated file will not be language-dependent)
                    defaultHeader = String.Format(CultureInfo.InvariantCulture,
                                                  DefaultFileHeader, app.Name, app.ShortVersionGetter());
                }

                return(defaultHeader);
            }

            if (!File.Exists(headerFile))
            {
                Console.WriteLine("ERROR: header file '{0}' does not exist", headerFile);
                return(null);
            }

            return(File.ReadAllText(headerFile));
        }