From 138677c17ad995e4731189eca4e2852275b13f4f Mon Sep 17 00:00:00 2001 From: Mathieu Guindon Date: Sat, 23 Jun 2018 15:31:30 -0400 Subject: [PATCH] fix block completion --- Rubberduck.Core/AutoComplete/AutoCompleteBlockBase.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Rubberduck.Core/AutoComplete/AutoCompleteBlockBase.cs b/Rubberduck.Core/AutoComplete/AutoCompleteBlockBase.cs index 87174e1098..08d331b506 100644 --- a/Rubberduck.Core/AutoComplete/AutoCompleteBlockBase.cs +++ b/Rubberduck.Core/AutoComplete/AutoCompleteBlockBase.cs @@ -62,7 +62,7 @@ public override bool Execute(AutoCompleteEventArgs e, AutoCompleteSettings setti if (IsMatch(code) && !IsBlockCompleted(module, selection)) { - var indent = code.TakeWhile(c => char.IsWhiteSpace(c)).Count(); + var indent = originalCode.TakeWhile(c => char.IsWhiteSpace(c)).Count(); var newCode = OutputToken.PadLeft(OutputToken.Length + indent, ' '); var stdIndent = IndentBody @@ -99,9 +99,8 @@ public override bool IsMatch(string code) regexOk = Regex.IsMatch(code, pattern, RegexOptions.IgnoreCase); } - return regexOk && - code.HasComment(out int commentIndex) && - code.IndexOf(InputToken) < commentIndex; + var hasComment = code.HasComment(out int commentIndex); + return regexOk && (!hasComment || code.IndexOf(InputToken) < commentIndex); } private bool IsBlockCompleted(ICodeModule module, Selection selection)