private void OptionsControl_Load(object sender, EventArgs e)
        {
            try
            {
                lblInfo.Text = String.Empty;

                _scripterConfig = _scripterConfigStorage.Load();
                cbScriptDatabaseContext.Checked         = _scripterConfig.ScriptDatabaseContext;
                cbScriptDatabaseContext.CheckedChanged += cbScriptDatabaseContext_CheckedChanged;

                _runConfig = _runConfigStorage.Load();

                lblRunnerTool.Text = _runConfig.IsUndefined() || String.IsNullOrEmpty(_runConfig.RunTool) ?
                                     "none" : _runConfig.RunTool;

                if (_runConfig.IsUndefined())
                {
                    _runConfig.RunArgs = "$(Server) $(Database) $(User) $(Password)";
                }
                lblRunnerArgs.Text = _runConfig.RunArgs;
            }
            catch (Exception ex)
            {
                cbScriptDatabaseContext.Enabled = false;
                lblInfo.Text = ex.Message;
            }
        }
        public string Execute()
        {
            ScripterParserInput parserInput = null;

            if (!TryGetParserInput(out parserInput))
            {
                return("Cannot find any input");
            }

            ScripterParserResult parserResult = null;

            if (!_parser.TryParse(parserInput, out parserResult))
            {
                return(parserResult.Error);
            }

            ScripterConfig config = _configStorage.Load();

            var scripterInput = new ScripterInput()
            {
                Database = parserResult.Database,
                Schema   = parserResult.Schema,
                Name     = parserResult.Name,
                ScriptDatabaseContext = config.ScriptDatabaseContext,
            };

            string scriptResult = null;

            if (!TryScript(scripterInput, out scriptResult))
            {
                return(scriptResult);
            }

            IEditor editor = _hostCtx.GetNewEditor();

            editor.SetContent(scriptResult);

            return("Success");
        }