Browse Source

Prevent auto-completion when typing '(' in import statements.

pull/2/head
mrward 15 years ago
parent
commit
2204e6df7d
  1. 11
      src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs
  2. 8
      src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs

11
src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonCompletionItemList.cs

@ -10,16 +10,17 @@ namespace ICSharpCode.PythonBinding
{ {
public override CompletionItemListKeyResult ProcessInput(char key) public override CompletionItemListKeyResult ProcessInput(char key)
{ {
if (key == '*') { if (IsNormalKey(key)) {
return ProcessAsterisk(); return CompletionItemListKeyResult.NormalKey;
} else if (key == '(') {
return CompletionItemListKeyResult.NormalKey;
} }
return base.ProcessInput(key); return base.ProcessInput(key);
} }
CompletionItemListKeyResult ProcessAsterisk() bool IsNormalKey(char key)
{ {
InsertSpace = false; return (key == '*') || (key == '(');
return CompletionItemListKeyResult.NormalKey;
} }
} }
} }

8
src/AddIns/BackendBindings/Python/PythonBinding/Test/Completion/PythonCompletionItemListTests.cs

@ -29,13 +29,13 @@ namespace PythonBinding.Tests.Completion
} }
[Test] [Test]
public void ProcessInput_KeyIsAsterisk_InsertSpaceSetToFalseAfterMethodCalled() public void ProcessInput_KeyIsOpenParenthesis_ReturnsNormalKey()
{ {
CreatePythonCompletionItemList(); CreatePythonCompletionItemList();
completionItemList.InsertSpace = true; CompletionItemListKeyResult result = completionItemList.ProcessInput('(');
completionItemList.ProcessInput('*'); CompletionItemListKeyResult expectedResult = CompletionItemListKeyResult.NormalKey;
Assert.IsFalse(completionItemList.InsertSpace); Assert.AreEqual(expectedResult, result);
} }
} }
} }

Loading…
Cancel
Save