cscz/cscz/Program.cs

60 lines
1.4 KiB
C#

using System;
using System.Text;
using System.Diagnostics;
using System.Reflection;
using System.IO;
using System.Collections.Generic;
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":
Assembly asm = Assembly.GetExecutingAssembly();
/*** Debug - Lists the names of all embedded resources ***
foreach(string str in asm.GetManifestResourceNames())
Console.WriteLine(str);*/
StreamReader helpTextReader = new StreamReader(asm.GetManifestResourceStream(@"cscz.Help.md"));
string helpText = helpTextReader.ReadToEnd();
helpTextReader.Dispose();
Console.WriteLine(helpText);
return 0;
case "private":
generationMode = GenerationMode.PrivateVariablesWithProperties;
break;
case "public":
generationMode = GenerationMode.PublicVariables;
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;
}
}
}