private void RunScript(RunScriptData scriptData)
 {
     try
     {
         var nppCommands = new NppCommands(nppData);
         IScriptingEngineRunner scriptingEngine;
         if (scriptData.Language == ScriptLanguage.CSharp)
             scriptingEngine = new CSharpScriptingEngineRunner(scriptData.BeforeFileScript, scriptData.LineScript, scriptData.AfterFileScript);
         else if (scriptData.Language == ScriptLanguage.VisualBasic)
             scriptingEngine = new VisualBasicScriptingEngineRunner();
         else
             return;
         var runner = new ScriptRunner(scriptingEngine, nppCommands);
         runner.Run(scriptData.Scope);
     }
     catch (Exception e)
     {
         MessageBox.Show("Error running script. " + e.Message, ERROR_WINDOW_TITLE,
                         MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
     }
 }
 public ScriptRunner(IScriptingEngineRunner scriptingEngine, NppCommands nppCommands)
 {
     this.scriptingEngine = scriptingEngine;
     this.nppCommands = nppCommands;
 }