Server IP : 162.0.232.140 / Your IP : 3.133.83.94 Web Server : LiteSpeed System : Linux premium139.web-hosting.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : micrcvoy ( 740) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/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