Esempio n. 1
0
        public string EvalMacro(string macro)
        {
            if (String.IsNullOrEmpty(macro))
            {
                return(macro);
            }

            string result = macro;
            Regex  r      = new Regex("\\$\\((?<Macro>\\w+)\\)", RegexOptions.IgnoreCase);
            Match  m      = null;
            Group  g      = null;
            IList <PragmaSqlMacros> skipList = new List <PragmaSqlMacros>();

            //for (m = r.Match(macro); m.Success; m = m.NextMatch())
            m = r.Match(macro);
            while (m.Success)
            {
                g = m.Groups["Macro"];
                if (g == null)
                {
                    continue;
                }

                PragmaSqlMacros macroEnum = (PragmaSqlMacros)Enum.Parse(typeof(PragmaSqlMacros), g.Value, true);
                if (skipList.Contains(macroEnum))
                {
                    continue;
                }
                skipList.Add(macroEnum);
                result = result.Replace(m.ToString(), EvalMacro(macroEnum));
                m      = m.NextMatch();
            }
            return(result);
        }
Esempio n. 2
0
        private void OnAddMacroClick(object sender, EventArgs args)
        {
            ToolStripItem mnuItem = sender as ToolStripItem;

            if (mnuItem == null)
            {
                return;
            }

            PragmaSqlMacros m = (PragmaSqlMacros)mnuItem.Tag;

            tbArgs.TextBox.SelectedText = ("$(" + m.ToString() + ")");
        }
Esempio n. 3
0
        public string EvalMacro(PragmaSqlMacros macro)
        {
            string        result       = String.Empty;
            ITextEditor   txtEditor    = HostServicesSingleton.HostServices.EditorServices.CurrentEditor;
            IScriptEditor scriptEditor = HostServicesSingleton.HostServices.EditorServices.CurrentScriptEditor;

            switch (macro)
            {
            case PragmaSqlMacros.Content:
                if (txtEditor != null)
                {
                    result = txtEditor.Content;
                }

                break;

            case PragmaSqlMacros.SelectedContent:
                if (txtEditor != null)
                {
                    result = txtEditor.SelectedText;
                }
                break;

            case PragmaSqlMacros.FileName:
                if (txtEditor != null)
                {
                    result = txtEditor.FileName;
                }
                break;

            case PragmaSqlMacros.ObjectName:
                if (scriptEditor != null)
                {
                    result = scriptEditor.ObjectName;
                }
                break;

            case PragmaSqlMacros.ObjectNames:
                if (scriptEditor != null)
                {
                    IList <string> names = scriptEditor.ObjectNames;
                    string         comma = String.Empty;
                    foreach (string s in names)
                    {
                        result += (String.IsNullOrEmpty(comma) ? String.Empty : comma) + s;
                        comma   = ";";
                    }
                }
                break;

            case PragmaSqlMacros.WordAtCursor:
                if (txtEditor != null)
                {
                    result = txtEditor.WordAtCursor;
                }
                break;

            case PragmaSqlMacros.Connection:
                if (scriptEditor != null)
                {
                    result = scriptEditor.ConnectionString;
                }
                break;

            case PragmaSqlMacros.ServerName:
                if (scriptEditor != null)
                {
                    result = scriptEditor.Server;
                }
                break;

            case PragmaSqlMacros.DatabaseName:
                if (scriptEditor != null)
                {
                    result = scriptEditor.Database;
                }
                break;

            case PragmaSqlMacros.Username:
                scriptEditor = HostServicesSingleton.HostServices.EditorServices.CurrentScriptEditor;
                if (scriptEditor != null)
                {
                    result = scriptEditor.Username;
                }
                break;

            case PragmaSqlMacros.ObjExplorerNode:
                ObjectExplorerNode objExpNode = HostServicesSingleton.HostServices.ObjectExplorerService.SelNode;
                if (objExpNode != null)
                {
                    result = objExpNode.Name;
                }
                break;

            case PragmaSqlMacros.StartupPath:
                result = Application.StartupPath;
                break;

            default:
                break;
            }

            return(result);
        }