/// <inheritdoc/>
 public override void Insert(InsertionContext context)
 {
     context.InsertText(context.SelectedText);
     if (string.IsNullOrEmpty(context.SelectedText))
     {
         SnippetCaretElement.SetCaret(context);
     }
 }
        /// <inheritdoc/>
        public override void Insert(InsertionContext context)
        {
            StringBuilder tabString = new StringBuilder();

            for (int i = 0; i < Indentation; i++)
            {
                tabString.Append(context.Tab);
            }

            string indent = tabString.ToString();

            string text = context.SelectedText.TrimStart(' ', '\t');

            text = text.Replace(context.LineTerminator,
                                context.LineTerminator + indent);

            context.Document.Insert(context.InsertionPosition, text);
            context.InsertionPosition += text.Length;

            if (string.IsNullOrEmpty(context.SelectedText))
            {
                SnippetCaretElement.SetCaret(context);
            }
        }