Example #1
0
        static void InitializeCommandLineArguments(CommandLineParser commandLineParser, Converter converter)
        {
            var helpOption = new Option()
            {
                Switch = true,
                Command = x => PrintUsage(),
            };
            commandLineParser.Options["h"] = helpOption;
            commandLineParser.Options["help"] = helpOption;

            var encodingsOption = new Option()
            {
                Switch = true,
                Command = x => PrintEncodings(),
            };
            commandLineParser.Options["e"] = encodingsOption;
            commandLineParser.Options["encodings"] = encodingsOption;

            var targetEncodingOption = new Option()
            {
                Command = x => converter.TargetEncoding = Encoding.GetEncoding(x)
            };
            commandLineParser.Options["t"] = targetEncodingOption;
            commandLineParser.Options["to"] = targetEncodingOption;

            var sourceEncodingOption = new Option()
            {
                Command = x => converter.SourceEncoding = Encoding.GetEncoding(x)
            };
            commandLineParser.Options["f"] = sourceEncodingOption;
            commandLineParser.Options["from"] = sourceEncodingOption;

            var ignoreEncodingOption = new Option()
            {
                Command = x => converter.SkipEncodings.Add(Encoding.GetEncoding(x))
            };
            commandLineParser.Options["i"] = ignoreEncodingOption;
            commandLineParser.Options["ignore"] = ignoreEncodingOption;

            var logFileOption = new Option()
            {
                Command = x => converter.Logger.Writers.Add(new StreamWriter(File.Open(x, FileMode.Append)))
            };
            commandLineParser.Options["l"] = logFileOption;
            commandLineParser.Options["log"] = logFileOption;

            var verboseOption = new Option()
            {
                Switch = true,
                Command = x => converter.Logger.Level = LogLevel.Debug
            };
            commandLineParser.Options["v"] = verboseOption;
            commandLineParser.Options["verbose"] = verboseOption;
        }
Example #2
0
        static void Main(string[] args)
        {
            Converter converter = new Converter();
            var commandLineParser = new CommandLineParser();

            InitializeCommandLineArguments(commandLineParser, converter);

            if (args.Length == 0) PrintUsage();

            args = commandLineParser.Parse(args);

            converter.Init();

            foreach (var path in args)
            {
                converter.ConvertFile(path);
            }

            #if DEBUG
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
            #endif
        }