cscz/cscz/Program.cs

60 lines
1.3 KiB
C#

using System;
using System.Text;
using System.Diagnostics;
using System.Reflection;
using System.IO;
using System.Collections.Generic;
using SBRLUtilities;
using System.Security.Policy;
namespace cscz
{
class Program
{
public static int Main(string[] args)
{
GenerationMode generationMode = GenerationMode.PublicVariables;
List<string> extras = new List<string>();
for(int i = 0; i < args.Length; i++)
{
if(!args[i].StartsWith("-"))
{
extras.Add(args[i]);
continue;
}
switch(args[i].Trim('-'))
{
case "help":
string helpText = EmbeddedFiles.ReadAllText(@"cscz.Help.md");
helpText = helpText.Replace("{version}", Utilities.GetVersionText());
Console.WriteLine(helpText);
return 0;
case "private":
generationMode = GenerationMode.PrivateVariablesWithProperties;
break;
case "public":
generationMode = GenerationMode.PublicVariables;
break;
case "public-auto":
generationMove = GenerationMode.PublicAutoProperties;
break;
default:
Console.Error.WriteLine("Error: Unknown argument '{0}'.", args[i]);
return 1;
}
}
ClassGenerator cg = new ClassGenerator();
cg.GenerationMode = generationMode;
string source = Console.In.ReadToEnd();
cg.ParseString(source);
Console.WriteLine(cg);
return 0;
}
}
}