diff options
-rw-r--r-- | lib/syntax_suggest/lex_all.rb | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -11,8 +11,8 @@ module SyntaxSuggest include Enumerable def initialize(source:, source_lines: nil) - @lex = Ripper::Lexer.new(source, "-", 1).parse.sort_by(&:pos) - lineno = @lex.last.pos.first + 1 source_lines ||= source.lines last_lineno = source_lines.length @@ -20,17 +20,31 @@ module SyntaxSuggest lines = source_lines[lineno..] @lex.concat( - Ripper::Lexer.new(lines.join, "-", lineno + 1).parse.sort_by(&:pos) ) - lineno = @lex.last.pos.first + 1 end last_lex = nil @lex.map! { |elem| - last_lex = LexValue.new(elem.pos.first, elem.event, elem.tok, elem.state, last_lex) } end def to_a @lex end |