class Pry::Pager::SystemPager

Public Class Methods

available?() click to toggle source
# File lib/pry/pager.rb, line 66
def self.available?
  if @system_pager.nil?
    @system_pager = begin
      pager_executable = default_pager.split(' ').first
      %xwhich #{ pager_executable }`
    rescue
      false
    end
  else
    @system_pager
  end
end
default_pager() click to toggle source
# File lib/pry/pager.rb, line 55
def self.default_pager
  pager = ENV["PAGER"] || ""

  # Default to less, and make sure less is being passed the correct options
  if pager.strip.empty? or pager =~ /^less\s*/
    pager = "less -R -S -F -X"
  end

  pager
end
new(*) click to toggle source
# File lib/pry/pager.rb, line 79
def initialize(*)
  super
  @pager = SystemPager.default_pager
end

Public Instance Methods

page() click to toggle source
# File lib/pry/pager.rb, line 84
def page
  IO.popen(@pager, 'w') do |io|
    io.write @text
  end
end