diff options
Diffstat (limited to 'lib/syntax_suggest/block_expand.rb')
-rw-r--r-- | lib/syntax_suggest/block_expand.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/syntax_suggest/block_expand.rb b/lib/syntax_suggest/block_expand.rb index 8431d15edd..e85d286768 100644 --- a/lib/syntax_suggest/block_expand.rb +++ b/lib/syntax_suggest/block_expand.rb @@ -125,17 +125,20 @@ module SyntaxSuggest # # We try to resolve this edge case with `lookahead_balance_one_line` below. def expand_neighbors(block) - neighbors = AroundBlockScan.new(code_lines: @code_lines, block: block) + now = AroundBlockScan.new(code_lines: @code_lines, block: block) + + # Initial scan + now .force_add_hidden .stop_after_kw .scan_neighbors_not_empty # Slurp up empties - with_empties = neighbors + now .scan_while { |line| line.empty? } # If next line is kw and it will balance us, take it - expanded_lines = with_empties + expanded_lines = now .lookahead_balance_one_line .lines |