class SyntaxSuggest::BlockExpand

此类负责获取缩进较深的现有代码块,然后对其进行迭代扩展,以捕获同一缩进块内的所有内容。

def dog
  puts "bow"
  puts "wow"
end

block = BlockExpand.new(code_lines: code_lines)

.call(CodeBlock.new(lines: code_lines[1]))

puts block.to_s # => puts “bow”

puts "wow"

一旦代码块捕获了给定缩进级别内的所有内容,它就会扩展以捕获周围的缩进。

block = BlockExpand.new(code_lines: code_lines)

.call(block)

block.to_s # => def dog

  puts "bow"
  puts "wow"
end