57 lines
1.2 KiB
C#
57 lines
1.2 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;
|
|
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;
|
|
}
|
|
}
|
|
}
|