模块 Reline::Terminfo
公共类方法
curses_dl() 点击切换源代码
# File lib/reline/terminfo.rb, line 6 def self.curses_dl false end
curses_dl_files() 点击切换源代码
# File 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
enabled?() 点击切换源代码
# File lib/reline/terminfo.rb, line 151 def self.enabled? true end
setupterm(term, fildes) 点击切换源代码
# File lib/reline/terminfo.rb, line 80 def self.setupterm(term, fildes) errret_int = Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT) ret = @setupterm.(term, fildes, errret_int) errret = errret_int[0, Fiddle::SIZEOF_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
tigetflag(capname) 点击切换源代码
# File lib/reline/terminfo.rb, line 127 def self.tigetflag(capname) raise TerminfoError, "capname is not String: #{capname.inspect}" unless capname.is_a?(String) flag = @tigetflag.(capname).to_i case flag when -1 raise TerminfoError, "not boolean capability: #{capname}" when 0 raise TerminfoError, "can't find capability: #{capname}" end flag end
tigetnum(capname) 点击切换源代码
# File lib/reline/terminfo.rb, line 139 def self.tigetnum(capname) raise TerminfoError, "capname is not String: #{capname.inspect}" unless capname.is_a?(String) num = @tigetnum.(capname).to_i case num when -2 raise TerminfoError, "not numeric capability: #{capname}" when -1 raise TerminfoError, "can't find capability: #{capname}" end num end
tigetstr(capname) 点击切换源代码
# File lib/reline/terminfo.rb, line 109 def self.tigetstr(capname) raise TerminfoError, "capname is not String: #{capname.inspect}" unless capname.is_a?(String) capability = @tigetstr.(capname) case capability.to_i when 0, -1 raise TerminfoError, "can't find capability: #{capname}" end StringWithTiparm.new(capability.to_s) end
tiparm(str, *args) 点击切换源代码
# File lib/reline/terminfo.rb, line 119 def self.tiparm(str, *args) new_args = [] args.each do |a| new_args << Fiddle::TYPE_INT << a end @tiparm.(str, *new_args).to_s end