From 5ed0197a38e24ab4474caa9fef560e0297b13332 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sun, 11 May 2008 19:29:06 +0000 Subject: [PATCH] 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 --- .../Project/Src/CSharpCompletionBinding.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs index aa47413508..a24953710f 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/CSharpCompletionBinding.cs @@ -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'); } } }