diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs index c823bbb5c7..7b1db1d7fe 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/FormattingStrategy/VBNetFormattingStrategy.cs @@ -360,7 +360,7 @@ namespace VBNetBinding.FormattingStrategy } textArea.Document.Replace(curLine.Offset, curLine.Length, indentation + curLineText.Trim()); - //return indentation.Length; + textArea.Caret.Column = indentation.Length; return; } } @@ -376,15 +376,14 @@ namespace VBNetBinding.FormattingStrategy if (IsElseConstruct(lineAboveText)) SmartIndentLine(textArea, lineNr - 1); - int result = SmartIndentLine(textArea, lineNr) + 1; + textArea.Caret.Column = SmartIndentLine(textArea, lineNr) + 1; } else { textArea.Document.Insert(lineAbove.Offset + lineAbove.Length, "\""); if (IsElseConstruct(lineAboveText)) SmartIndentLine(textArea, lineNr - 1); - int result = SmartIndentLine(textArea, lineNr); + textArea.Caret.Column = SmartIndentLine(textArea, lineNr); } - //return result; } else { @@ -396,7 +395,7 @@ namespace VBNetBinding.FormattingStrategy } if (IsElseConstruct(lineAboveText)) SmartIndentLine(textArea, lineNr - 1); - //return indent.Length; + textArea.Caret.Column = indent.Length; } } else if(ch == '>') diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/FormattingStrategy/DefaultFormattingStrategy.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/FormattingStrategy/DefaultFormattingStrategy.cs index 958154a504..0147e407bb 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/FormattingStrategy/DefaultFormattingStrategy.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Document/FormattingStrategy/DefaultFormattingStrategy.cs @@ -103,9 +103,11 @@ namespace ICSharpCode.TextEditor.Document case IndentStyle.Smart: result = SmartIndentLine(textArea, line); break; + default: + throw new NotSupportedException("Unsupported value for IndentStyle: " + textArea.Document.TextEditorProperties.IndentStyle); } textArea.Document.UndoStack.EndUndoGroup(); - return 0; + return result; } /// diff --git a/src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs b/src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs index 60b88e7394..6356626ad2 100644 --- a/src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs +++ b/src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs @@ -69,7 +69,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor Debug.Assert(false, e.ToString()); } if (charTyped == '\n') { - IndentLine(textArea, lineNr); + textArea.Caret.Column = IndentLine(textArea, lineNr); } textArea.Document.UndoStack.EndUndoGroup(); } diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs index fd09b0e420..fb46e5cde1 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ProjectContent/DefaultProjectContent.cs @@ -105,7 +105,9 @@ namespace ICSharpCode.SharpDevelop.Dom Dictionary oldList = classLists[0]; d = new Dictionary(oldList.Count, language.NameComparer); foreach (KeyValuePair pair in oldList) { - d.Add(pair.Key, pair.Value); + // don't use d.Add(), the new name language might treat two names as equal + // that were unequal in the old dictionary + d[pair.Key] = pair.Value; } } else { d = new Dictionary(language.NameComparer);