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 @@ -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 == '(');
}
}
}

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

@ -29,13 +29,13 @@ namespace PythonBinding.Tests.Completion @@ -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);
}
}
}

Loading…
Cancel
Save