Browse Source

Code completion name propsoal now uses the word parser to break words.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
e5d6452d4a
  1. 27
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs

27
ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs

@ -157,23 +157,18 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
} }
yield break; yield break;
} }
string name;
var names = new List<string> (); if (type is SimpleType) {
int offset1 = document.GetOffset(type.StartLocation); name = ((SimpleType)type).Identifier;
int offset2 = document.GetOffset(type.EndLocation); } else if (type is MemberType) {
name = ((SimpleType)type).Identifier;
string name = document.GetText(offset1, offset2 - offset1); } else {
int lastNameStart = 0; yield break;
for (int i = 1; i < name.Length; i++) {
if (Char.IsUpper(name [i])) {
names.Add(name.Substring(lastNameStart, i - lastNameStart));
lastNameStart = i;
}
} }
names.Add(name.Substring(lastNameStart, name.Length - lastNameStart)); var names = WordParser.BreakWords(name);
var possibleName = new StringBuilder (); var possibleName = new StringBuilder();
for (int i = 0; i < names.Count; i++) { for (int i = 0; i < names.Count; i++) {
possibleName.Length = 0; possibleName.Length = 0;
for (int j = i; j < names.Count; j++) { for (int j = i; j < names.Count; j++) {

Loading…
Cancel
Save