|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/alt/ruby34/share/ruby/syntax_suggest/ |
# frozen_string_literal: true
module SyntaxSuggest
# Mini String IO [Private]
#
# Acts like a StringIO with reduced API, but without having to require that
# class.
#
# The original codebase emitted directly to $stderr, but now SyntaxError#detailed_message
# needs a string output. To accomplish that we kept the original print infrastructure in place and
# added this class to accumulate the print output into a string.
class MiniStringIO
EMPTY_ARG = Object.new
def initialize(isatty: $stderr.isatty)
@string = +""
@isatty = isatty
end
attr_reader :isatty
def puts(value = EMPTY_ARG, **)
if !value.equal?(EMPTY_ARG)
@string << value
end
@string << $/
end
attr_reader :string
end
end