Sha256: 37775dd5132330eb3187bc8ec45b11bcd61a69b9cc65250c0c5b657c2e987bf4
Contents?: true
Size: 618 Bytes
Versions: 16
Compression:
Stored size: 618 Bytes
Contents
module Pager def page return if RUBY_PLATFORM =~ /win32/ return unless STDOUT.tty? read, write = IO.pipe unless Kernel.fork # Child process STDOUT.reopen(write) STDERR.reopen(write) if STDERR.tty? read.close write.close return end # Parent process, become pager STDIN.reopen(read) read.close write.close ENV['LESS'] = 'FSRX' unless ENV['LESS'] Kernel.select [STDIN] # Wait until we have input before we start the pager pager = ENV['PAGER'] || 'less' exec pager rescue exec "/bin/sh", "-c", pager rescue StandardError end end
Version data entries
16 entries across 16 versions & 1 rubygems