CommandLineParser.cs 709 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections.Generic;
  2. namespace Packages.Rider.Editor.Util
  3. {
  4. public class CommandLineParser
  5. {
  6. public Dictionary<string, string> Options = new Dictionary<string, string>();
  7. public CommandLineParser(string[] args)
  8. {
  9. var i = 0;
  10. while (i < args.Length)
  11. {
  12. var arg = args[i];
  13. if (!arg.StartsWith("-"))
  14. {
  15. i++;
  16. continue;
  17. }
  18. string value = null;
  19. if (i + 1 < args.Length && !args[i + 1].StartsWith("-"))
  20. {
  21. value = args[i + 1];
  22. i++;
  23. }
  24. if (!(Options.ContainsKey(arg)))
  25. {
  26. Options.Add(arg, value);
  27. }
  28. i++;
  29. }
  30. }
  31. }
  32. }