diff options
Diffstat (limited to 'lib/syntax_suggest/api.rb')
| -rw-r--r-- | lib/syntax_suggest/api.rb | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/syntax_suggest/api.rb b/lib/syntax_suggest/api.rb index 74e53c2563..5054efa888 100644 --- a/lib/syntax_suggest/api.rb +++ b/lib/syntax_suggest/api.rb @@ -5,9 +5,11 @@ require_relative "version" require "tmpdir" require "stringio" require "pathname" -require "ripper" require "timeout" +# Prism is the new parser, replacing Ripper +require "prism" + module SyntaxSuggest # Used to indicate a default value that cannot # be confused with another input. @@ -119,11 +121,7 @@ module SyntaxSuggest def self.valid_without?(without_lines:, code_lines:) lines = code_lines - Array(without_lines).flatten - if lines.empty? - true - else - valid?(lines) - end + lines.empty? || valid?(lines) end # SyntaxSuggest.invalid? [Private] @@ -133,7 +131,7 @@ module SyntaxSuggest source = source.join if source.is_a?(Array) source = source.to_s - Ripper.new(source).tap(&:parse).error? + Prism.parse(source).failure? end # SyntaxSuggest.valid? [Private] @@ -187,11 +185,10 @@ require_relative "explain_syntax" require_relative "clean_document" # Helpers -require_relative "lex_all" require_relative "code_line" require_relative "code_block" require_relative "block_expand" -require_relative "ripper_errors" +require_relative "mini_stringio" require_relative "priority_queue" require_relative "unvisited_lines" require_relative "around_block_scan" @@ -199,3 +196,5 @@ require_relative "priority_engulf_queue" require_relative "pathname_from_message" require_relative "display_invalid_blocks" require_relative "parse_blocks_from_indent_line" +require_relative "visitor" +require_relative "token" |
