OpenIDE.Core.Language.LanguagePlugin.Run C# (CSharp) Méthode

Run() public méthode

public Run ( string arguments ) : void
arguments string
Résultat void
        public void Run(string[] arguments)
        {
            foreach (var line in Query(arguments))
                _dispatch(line);
        }

Usage Example

Exemple #1
0
 public bool Run(DefinitionCacheItem cmd, IEnumerable<string> args)
 {
     var arguments = args.ToList();
     Logger.Write("Removing the command name from parameters: " + arguments[0]);
     arguments.RemoveAt(0);
     if (cmd.Type == DefinitionCacheItemType.Script || cmd.Type == DefinitionCacheItemType.LanguageScript) {
         Logger.Write("Running command as script");
         var script = new Script(Bootstrapper.Settings.RootPath, Environment.CurrentDirectory, cmd.Location);
         var sb = new StringBuilder();
         // On language commands remove the second argument too if
         // it matches the command name (oi langcommand vs oi C# langcommand)
         if (cmd.Type == DefinitionCacheItemType.LanguageScript &&
             arguments.Count > 0 &&
             Bootstrapper.Settings.EnabledLanguages.Contains(args.ElementAt(0)))
         {
             Logger.Write("Removing second parameter from language command as it's a language script prefixed by language: " + arguments[0]);
             arguments.RemoveAt(0);
         }
         for (int i = 0; i < arguments.Count; i++) {
             sb.Append(" \"" + arguments[i] + "\"");
         }
         script.Run(
             sb.ToString(),
             (command) => {
                 Bootstrapper.DispatchAndCompleteMessage(
                     command,
                     () => {
                         Logger.Write("Writing end of command");
                         script.Write("end-of-command");
                     });
             });
     } else if (cmd.Type == DefinitionCacheItemType.Language) {
         Logger.Write("Running command as language command");
         var language = new LanguagePlugin(cmd.Location, Bootstrapper.DispatchMessage);
         // If default language command add original parameter
         if (args.ElementAt(0) != language.GetLanguage())
             arguments.Insert(0, args.ElementAt(0));
         language.Run(arguments.ToArray());
     } else {
         Logger.Write("Running command as built in command");
         var command = Bootstrapper.GetDefaultHandlers()
             .FirstOrDefault(x => x.Command == args.ElementAt(0));
         if (command == null)
             return false;
         command.Execute(arguments.ToArray());
         _eventDispatcher(string.Format("builtin command ran \"{0}\" {1}", command.Command, new CommandStringParser().GetArgumentString(arguments)));
     }
     return true;
 }