diff options
Diffstat (limited to 'main/src/addins/Xml/Completion/XmlTagCompletionData.cs')
-rw-r--r-- | main/src/addins/Xml/Completion/XmlTagCompletionData.cs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/main/src/addins/Xml/Completion/XmlTagCompletionData.cs b/main/src/addins/Xml/Completion/XmlTagCompletionData.cs index befc32f068..e0d08b5ef2 100644 --- a/main/src/addins/Xml/Completion/XmlTagCompletionData.cs +++ b/main/src/addins/Xml/Completion/XmlTagCompletionData.cs @@ -31,6 +31,7 @@ using System; using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui.Content; using MonoDevelop.Core; +using MonoDevelop.Ide.Editor.Extension; namespace MonoDevelop.Xml.Completion { @@ -66,20 +67,17 @@ namespace MonoDevelop.Xml.Completion get { return element; } } - public override void InsertCompletionText (CompletionListWindow window, ref KeyActions ka, Gdk.Key closeChar, char keyChar, Gdk.ModifierType modifier) + public override void InsertCompletionText (CompletionListWindow window, ref KeyActions ka, KeyDescriptor descriptor) { - IEditableTextBuffer buf = window.CompletionWidget as IEditableTextBuffer; + var buf = window.CompletionWidget; if (buf != null) { //completion context gets nulled from window as soon as we alter the buffer var codeCompletionContext = window.CodeCompletionContext; - using (var undo = buf.OpenUndoGroup ()) { - buf.InsertText (buf.CursorPosition, element); + buf.Replace (buf.CaretOffset, 0, element); - // Move caret into the middle of the tags - buf.CursorPosition = codeCompletionContext.TriggerOffset + cursorOffset; - buf.Select (buf.CursorPosition, buf.CursorPosition); - }
+ // Move caret into the middle of the tags + buf.CaretOffset = codeCompletionContext.TriggerOffset + cursorOffset; } } } |