Browse Source

Fixed forum-7772: Autocomplete does not recognize variables that start with underscore (_)

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3069 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
5ed0197a38
  1. 10
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs

10
src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs

@ -99,11 +99,19 @@ namespace CSharpBinding @@ -99,11 +99,19 @@ namespace CSharpBinding
if (char.IsLetter(ch) && CodeCompletionOptions.CompleteWhenTyping) {
char prevChar = cursor > 1 ? editor.Document.GetCharAt(cursor - 1) : ' ';
bool afterUnderscore = prevChar == '_';
if (afterUnderscore) {
cursor--;
prevChar = cursor > 1 ? editor.Document.GetCharAt(cursor - 1) : ' ';
}
if (!char.IsLetterOrDigit(prevChar) && prevChar != '.' && !IsInComment(editor)) {
ExpressionResult result = ef.FindExpression(editor.Text, cursor);
LoggingService.Debug("CC: Beginning to type a word, result=" + result);
if (result.Context != ExpressionContext.IdentifierExpected) {
editor.ShowCompletionWindow(new CtrlSpaceCompletionDataProvider(result.Context) { ShowTemplates = true }, '\0');
editor.ShowCompletionWindow(new CtrlSpaceCompletionDataProvider(result.Context) {
ShowTemplates = true,
AllowCompleteExistingExpression = afterUnderscore
}, '\0');
}
}
}

Loading…
Cancel
Save