@@ -107,7 +107,7 @@ def colorize(text, seq)
107107 # If `complete` is false (code is incomplete), this does not warn compile_error.
108108 # This option is needed to avoid warning a user when the compile_error is happening
109109 # because the input is not wrong but just incomplete.
110- def colorize_code ( code , complete : true )
110+ def colorize_code ( code , complete : true , ignore_error : false )
111111 return code unless colorable?
112112
113113 symbol_state = SymbolState . new
@@ -118,7 +118,7 @@ def colorize_code(code, complete: true)
118118 in_symbol = symbol_state . scan_token ( token )
119119 str . each_line do |line |
120120 line = Reline ::Unicode . escape_for_print ( line )
121- if seq = dispatch_seq ( token , expr , line , in_symbol : in_symbol )
121+ if seq = dispatch_seq ( token , expr , line , in_symbol : in_symbol , ignore_error : ignore_error )
122122 colored << seq . map { |s | "\e [#{ s } m" } . join ( '' )
123123 colored << line . sub ( /\Z / , clear )
124124 else
@@ -183,9 +183,9 @@ def scan(code, allow_last_error:)
183183 $VERBOSE = verbose
184184 end
185185
186- def dispatch_seq ( token , expr , str , in_symbol :)
186+ def dispatch_seq ( token , expr , str , in_symbol :, ignore_error : )
187187 if token == :on_parse_error or token == :compile_error
188- TOKEN_SEQ_EXPRS [ token ] [ 0 ]
188+ ignore_error ? nil : TOKEN_SEQ_EXPRS [ token ] [ 0 ]
189189 elsif in_symbol
190190 [ YELLOW ]
191191 elsif TOKEN_KEYWORDS . fetch ( token , [ ] ) . include? ( str )
0 commit comments