static private void CompleteTemplate(string Context)
        {
            // get indentation
            ScintillaNet.ScintillaControl Sci = ASContext.MainForm.CurSciControl;
            if (Sci == null)
            {
                return;
            }
            int    position = Sci.CurrentPos;
            int    line     = Sci.LineFromPosition(position);
            int    indent   = Sci.LineIndentPosition(line) - Sci.PositionFromLine(line);
            string tab      = Sci.GetLine(line).Substring(0, indent);
            // get EOL
            int    eolMode = Sci.EOLMode;
            string newline;

            if (eolMode == 0)
            {
                newline = "\r\n";
            }
            else if (eolMode == 1)
            {
                newline = "\r";
            }
            else
            {
                newline = "\n";
            }

            // empty box
            if (Context == null)
            {
                Sci.ReplaceSel(newline + tab + "* " + newline + tab + "*/");
                position += newline.Length + tab.Length + 2;
                Sci.SetSel(position, position);
            }

            // method details
            else
            {
                string box  = newline + tab + "* ";
                Match  mFun = ASClassParser.re_splitFunction.Match(Context);
                if (mFun.Success)
                {
                    // parameters
                    ASMemberList list = ASComplete.ParseMethodParameters(mFun.Groups["params"].Value);
                    foreach (ASMember param in list)
                    {
                        box += newline + tab + "* @param\t" + param.Name;
                    }
                    // return type
                    Match mType = ASClassParser.re_variableType.Match(mFun.Groups["type"].Value);
                    if (mType.Success && (mType.Groups["type"].Value.ToLower() != "void"))
                    {
                        box += newline + tab + "* @return";                     //+mType.Groups["type"].Value;
                    }
                }
                box += newline + tab + "*/";
                Sci.ReplaceSel(box);
                position += newline.Length + tab.Length + 2;
                Sci.SetSel(position, position);
            }
        }