Beispiel #1
0
 public BaseCommandHandlerParameter Parse(string name, string definition)
 {
     try
     {
         if (!definition.Contains("=>"))
         {
             return(new BaseCommandHandlerParameter(name, definition));
         }
         var chunks     = definition.Split(new string[] { "=>" }, StringSplitOptions.None);
         var parameters = new BaseCommandHandlerParameter(name, chunks[0]);
         BaseCommandHandlerParameter parameter = parameters;
         chunks[1]
         .Split(new string[] { "||" }, StringSplitOptions.None).ToList()
         .ForEach(x =>
         {
             var y = x.Split(new string[] { "|" }, StringSplitOptions.None);
             if (y[0].StartsWith("["))
             {
                 parameter = parameter.Add(y[0].Replace("[", "").Replace("]", ""), y[1]).IsOptional();
             }
             else
             {
                 parameter = parameter.Add(y[0], y[1]);
             }
         });
         return(parameters);
     }
     catch
     {
         return(new BaseCommandHandlerParameter(
                    "Usage string is not in the right format: " +
                    "Description string=>Parameter1|Parameter1 description||" +
                    "Parameter2|Parameter2 description",
                    definition));
     }
 }
Beispiel #2
0
        private BaseCommandHandlerParameter getUsage(string template)
        {
            var name       = Path.GetFileNameWithoutExtension(template);
            var definition = new NewTemplate(template, null, _keyPath).GetUsageDefinition();
            var parser     = new TemplateDefinitionParser();
            var usage      = parser.Parse(name, definition);

            if (usage == null)
            {
                return(null);
            }
            var fileParam = new BaseCommandHandlerParameter("FILE", "Path to the file to be create");

            usage.Parameters.ToList()
            .ForEach(x => fileParam.Add(x));
            usage = new BaseCommandHandlerParameter(usage.Name, usage.Description);
            usage.Add(fileParam);
            return(usage);
        }
Beispiel #3
0
 private BaseCommandHandlerParameter getUsage(string template)
 {
     var name = Path.GetFileNameWithoutExtension(template);
     var definition = new CreateTemplate(template, null, _keyPath).GetUsageDefinition();
     var parser = new TemplateDefinitionParser();
     var usage = parser.Parse(name, definition);
     if (usage == null)
         return null;
     var fileParam = new BaseCommandHandlerParameter("ITEM_NAME", "The name of the Project/Item to create");
     usage.Parameters.ToList()
         .ForEach(x => fileParam.Add(x));
     usage = new BaseCommandHandlerParameter(usage.Name, usage.Description);
     usage.Add(fileParam);
     return usage;
 }
Beispiel #4
0
 private BaseCommandHandlerParameter getUsage(string template)
 {
     var name = Path.GetFileNameWithoutExtension(template);
     var definition = new NewTemplate(template, null).GetUsageDefinition();
     var parser = new TemplateDefinitionParser();
     var usage = parser.Parse(name, definition);
     if (usage == null)
         return null;
     var fileParam = new BaseCommandHandlerParameter("FILE", "Path to the file to be create");
     usage.Parameters.ToList()
         .ForEach(x => fileParam.Add(x));
     usage = new BaseCommandHandlerParameter(usage.Name, usage.Description);
     usage.Add(fileParam);
     return usage;
 }