Skip to content

Commit bf1840e

Browse files
committed
fixes #4554
1 parent bde616d commit bf1840e

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

Rubberduck.Core/AutoComplete/Service/SelfClosingPairHandler.cs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ public override bool Handle(AutoCompleteEventArgs e, AutoCompleteSettings settin
6666
break;
6767
}
6868
}
69+
}
6970

70-
if (result == null)
71-
{
72-
return false;
73-
}
71+
if (result == null)
72+
{
73+
return false;
7474
}
7575

7676
var snippetPosition = new Selection(result.SnippetPosition.StartLine, 1, result.SnippetPosition.EndLine, 1);
@@ -109,14 +109,21 @@ private bool HandleInternal(AutoCompleteEventArgs e, CodeString original, SelfCl
109109
return false;
110110
}
111111

112-
result = CodePaneHandler.Prettify(e.Module, result);
112+
var reprettified = CodePaneHandler.Prettify(e.Module, result);
113+
if (pair.OpeningChar == '(' && !reprettified.Equals(result))
114+
{
115+
// VBE eats it. bail out but don't swallow the keypress.
116+
e.Handled = false;
117+
result = null;
118+
return false;
119+
}
113120

114-
var currentLine = result.Lines[result.CaretPosition.StartLine];
121+
var currentLine = reprettified.Lines[reprettified.CaretPosition.StartLine];
115122
if (!string.IsNullOrWhiteSpace(currentLine) &&
116123
currentLine.EndsWith(" ") &&
117-
result.CaretPosition.StartColumn == currentLine.Length)
124+
reprettified.CaretPosition.StartColumn == currentLine.Length)
118125
{
119-
result = result.ReplaceLine(result.CaretPosition.StartLine, currentLine.TrimEnd());
126+
result = reprettified.ReplaceLine(reprettified.CaretPosition.StartLine, currentLine.TrimEnd());
120127
}
121128

122129
if (pair.OpeningChar == '(' &&

0 commit comments

Comments
 (0)