public void RemoveSelectedFiles(CmdTrigger <ToolCmdArgs> trigger, IEnumerable <string> parts)
            {
                List <int> indices = null;
                int        index;

                foreach (var part in parts)
                {
                    if (int.TryParse(part, out index))
                    {
                        if (indices == null)
                        {
                            indices = new List <int>();
                        }
                        indices.Add(index);
                    }
                    else
                    {
                        if (!PATool.RemoveSelectedFile(part.Trim()))
                        {
                            trigger.Reply(" File was not selected: " + part.Trim());
                        }
                    }
                }
                if (indices != null)
                {
                    if (!PATool.RemoveSelectedFiles(indices.ToArray()))
                    {
                        trigger.Reply(" One or more indices were invalid: " + indices.ToString(", "));
                    }
                }
                trigger.Reply("Done - Selected files:");
                DisplaySelectedFiles(trigger, " ");
            }
 public override void Process(CmdTrigger <ToolCmdArgs> trigger)
 {
     if (!trigger.Text.HasNext)
     {
         trigger.Reply("No arguments specified - " + CreateInfo(trigger));
     }
     else
     {
         var mod = trigger.Text.NextModifiers();
         if (mod == "l")
         {
             var files = Directory.GetFiles(trigger.Text.NextWord());
             PATool.ClearSelectedFiles();
             trigger.Reply("Deleting selected files");
             for (var i = 0; i < files.Length; i++)
             {
                 var file = files[i];
                 if (PATool.AddSelectedFile(file))
                 {
                     trigger.Reply("{0}. {1}", i, file);
                 }
             }
         }
         else
         {
             var parts = trigger.Text.Remainder.Split(',').TransformArray(part => part.Trim());
             AddSelectedFiles(trigger, parts);
         }
     }
 }
            public override void Process(CmdTrigger <ToolCmdArgs> trigger)
            {
                var location = trigger.Text.NextWord().Trim();

                if (location.Length > 0)
                {
                    PATool.SaveAs(location);
                }
                else
                {
                    PATool.Save();
                }
                trigger.Reply("Done. - Saved to: " + PATool.ActualFile);
            }
 public override void Process(CmdTrigger <ToolCmdArgs> trigger)
 {
     if (!trigger.Text.HasNext)
     {
         trigger.Reply("No arguments specified - " + CreateInfo(trigger));
     }
     else
     {
         if (trigger.Text.NextModifiers() == "a")
         {
             PATool.ClearSelectedFiles();
             trigger.Reply("Done - Selected files:");
             DisplaySelectedFiles(trigger, " ");
         }
         else
         {
             var parts = trigger.Text.Remainder.Split(',').TransformArray(part => part.Trim());
             RemoveSelectedFiles(trigger, parts);
         }
     }
 }
 public override void Process(CmdTrigger <ToolCmdArgs> trigger)
 {
     trigger.Reply("Parsing...");
     PATool.Parse();
     trigger.Reply("Done.");
 }