class SyntaxSuggest::LexAll

Ripper.lex 无法保证对整个源代码文档进行词法分析

此类通过迭代词法分析 Ripper 停止处来保证整个文档都被词法分析。

Prism 可能没有同样的问题。一旦移除了 Ripper 支持,我们很可能可以降低这里的复杂性,如果不是完全移除这个概念的话。

示例用法

lex = LexAll.new(source: source)
lex.each do |value|
  puts value.line
end