diff options
author | Schneems <[email protected]> | 2023-12-04 16:59:10 -0600 |
---|---|---|
committer | git <[email protected]> | 2023-12-05 17:51:29 +0000 |
commit | 6d39d6d2143f7b910f310de0ff92772839ac72a2 () | |
tree | 7b2071ab9e74334b2a18c05068b3e8a81938c692 /lib | |
parent | 62c96959114ea165f7434da9edc42d15e4aaebfa (diff) |
[ruby/syntax_suggest] Update docs, clean up PR
Removes or updates mentions of Ripper https://.com/ruby/syntax_suggest/commit/08aaa3f50a
-rw-r--r-- | lib/syntax_suggest/api.rb | 3 | ||||
-rw-r--r-- | lib/syntax_suggest/clean_document.rb | 4 | ||||
-rw-r--r-- | lib/syntax_suggest/code_block.rb | 2 | ||||
-rw-r--r-- | lib/syntax_suggest/explain_syntax.rb | 10 | ||||
-rw-r--r-- | lib/syntax_suggest/lex_all.rb | 16 | ||||
-rw-r--r-- | lib/syntax_suggest/ripper_errors.rb | 5 |
6 files changed, 26 insertions, 14 deletions
@@ -227,9 +227,6 @@ require_relative "lex_all" require_relative "code_line" require_relative "code_block" require_relative "block_expand" -if !SyntaxSuggest.use_prism_parser? - require_relative "ripper_errors" -end require_relative "priority_queue" require_relative "unvisited_lines" require_relative "around_block_scan" @@ -47,9 +47,9 @@ module SyntaxSuggest # ## Heredocs # # A heredoc is an way of defining a multi-line string. They can cause many - # problems. If left as a single line, Ripper would try to parse the contents # as ruby code rather than as a string. Even without this problem, we still - # hit an issue with indentation # # 1 foo = <<~HEREDOC # 2 "Be yourself; everyone else is already taken."" @@ -81,7 +81,7 @@ module SyntaxSuggest # lines then the result cannot be invalid # # That means there's no reason to re-check all - # lines with ripper (which is expensive). # Benchmark in commit message @valid = if lines.all? { |l| l.hidden? || l.empty? } true @@ -2,6 +2,10 @@ require_relative "left_right_lex_count" module SyntaxSuggest class GetParseErrors def self.errors(source) @@ -25,8 +29,8 @@ module SyntaxSuggest # # => "Unmatched keyword, missing `end' ?" # # When the error cannot be determined by lexical counting - # then ripper is run against the input and the raw ripper - # errors returned. # # Example: # @@ -101,7 +105,7 @@ module SyntaxSuggest # Returns an array of syntax error messages # # If no missing pairs are found it falls back - # on the original ripper error messages def errors if missing.empty? return GetParseErrors.errors(@code_lines.map(&:original).join) @@ -3,10 +3,18 @@ module SyntaxSuggest # Ripper.lex is not guaranteed to lex the entire source document # - # lex = LexAll.new(source: source) - # lex.each do |value| - # puts value.line - # end class LexAll include Enumerable @@ -1,7 +1,10 @@ # frozen_string_literal: true module SyntaxSuggest - # Capture parse errors from ripper # # Example: # |