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 extras = new List(); 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; } } }