Server IP : 66.29.132.122 / Your IP : 18.116.10.127 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/alt/ruby33/share/ruby/syntax_suggest/ |
Upload File : |
# frozen_string_literal: true module SyntaxSuggest # Capture parse errors from Ripper # # Prism returns the errors with their messages, but Ripper # does not. To get them we must make a custom subclass. # # Example: # # puts RipperErrors.new(" def foo").call.errors # # => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"] class RipperErrors < Ripper attr_reader :errors # Comes from ripper, called # on every parse error, msg # is a string def on_parse_error(msg) @errors ||= [] @errors << msg end alias_method :on_alias_error, :on_parse_error alias_method :on_assign_error, :on_parse_error alias_method :on_class_name_error, :on_parse_error alias_method :on_param_error, :on_parse_error alias_method :compile_error, :on_parse_error def call @run_once ||= begin @errors = [] parse true end self end end end