From 2204e6df7de3e8ea00efbc0c28ee886eed38ff88 Mon Sep 17 00:00:00 2001 From: mrward Date: Sun, 3 Oct 2010 18:53:59 +0100 Subject: [PATCH] Prevent auto-completion when typing '(' in import statements. --- .../Project/Src/PythonCompletionItemList.cs | 11 ++++++----- .../Test/Completion/PythonCompletionItemListTests.cs | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs index 96bcbb202b..833f150562 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs @@ -10,16 +10,17 @@ namespace ICSharpCode.PythonBinding { public override CompletionItemListKeyResult ProcessInput(char key) { - if (key == '*') { - return ProcessAsterisk(); + if (IsNormalKey(key)) { + return CompletionItemListKeyResult.NormalKey; + } else if (key == '(') { + return CompletionItemListKeyResult.NormalKey; } return base.ProcessInput(key); } - CompletionItemListKeyResult ProcessAsterisk() + bool IsNormalKey(char key) { - InsertSpace = false; - return CompletionItemListKeyResult.NormalKey; + return (key == '*') || (key == '('); } } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs index d20773df60..296d1d593e 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs @@ -29,13 +29,13 @@ namespace PythonBinding.Tests.Completion } [Test] - public void ProcessInput_KeyIsAsterisk_InsertSpaceSetToFalseAfterMethodCalled() + public void ProcessInput_KeyIsOpenParenthesis_ReturnsNormalKey() { CreatePythonCompletionItemList(); - completionItemList.InsertSpace = true; - completionItemList.ProcessInput('*'); + CompletionItemListKeyResult result = completionItemList.ProcessInput('('); + CompletionItemListKeyResult expectedResult = CompletionItemListKeyResult.NormalKey; - Assert.IsFalse(completionItemList.InsertSpace); + Assert.AreEqual(expectedResult, result); } } }