# File ruby-3.1.2/lib/reline/terminfo.rb, line 6
def self.curses_dl
false
end
# File ruby-3.1.2/lib/reline/terminfo.rb, line 17
def self.curses_dl_files
case RUBY_PLATFORM
when /mingw/, /mswin/
# aren't supported
[]
when /cygwin/
%w[cygncursesw-10.dll cygncurses-10.dll]
when /darwin/
%w[libncursesw.dylib libcursesw.dylib libncurses.dylib libcurses.dylib]
else
%w[libncursesw.so libcursesw.so libncurses.so libcurses.so]
end
end
# File ruby-3.1.2/lib/reline/terminfo.rb, line 125
def self.enabled?
true
end
TODO: add int tigetflag(char *capname) and int tigetnum(char *capname)
# File ruby-3.1.2/lib/reline/terminfo.rb, line 79
def self.setupterm(term, fildes)
errret_int = String.new("\x00" * 8, encoding: 'ASCII-8BIT')
ret = @setupterm.(term, fildes, errret_int)
errret = errret_int.unpack1('i')
case ret
when 0 # OK
0
when -1 # ERR
case errret
when 1
raise TerminfoError.new('The terminal is hardcopy, cannot be used for curses applications.')
when 0
raise TerminfoError.new('The terminal could not be found, or that it is a generic type, having too little information for curses applications to run.')
when -1
raise TerminfoError.new('The terminfo database could not be found.')
else # unknown
-1
end
else # unknown
-2
end
end