add history to irbrc, use the simple prompt
This commit is contained in:
parent
de199b7937
commit
3ef678c719
1 changed files with 44 additions and 1 deletions
45
irbrc
Normal file → Executable file
45
irbrc
Normal file → Executable file
|
|
@ -1,5 +1,48 @@
|
||||||
|
require 'rubygems'
|
||||||
|
require 'irb/completion'
|
||||||
|
|
||||||
|
# Use awesome print for awesome output
|
||||||
begin
|
begin
|
||||||
require 'ap'
|
require 'awesome_print'
|
||||||
|
|
||||||
|
unless IRB.version.include?('DietRB')
|
||||||
|
IRB::Irb.class_eval do
|
||||||
|
def output_value
|
||||||
|
ap @context.last_value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else # MacRuby
|
||||||
|
IRB.formatter = Class.new(IRB::Formatter) do
|
||||||
|
def inspect_object(object)
|
||||||
|
object.ai
|
||||||
|
end
|
||||||
|
end.new
|
||||||
|
end
|
||||||
rescue LoadError => e
|
rescue LoadError => e
|
||||||
puts "!! Failed to load awesome print."
|
puts "!! Failed to load awesome print."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Use the simple prompt if possible.
|
||||||
|
IRB.conf[:PROMPT_MODE] = :SIMPLE if IRB.conf[:PROMPT_MODE] == :DEFAULT
|
||||||
|
|
||||||
|
# Setup permanent history.
|
||||||
|
HISTFILE = "~/.irb_history"
|
||||||
|
MAXHISTSIZE = 10000
|
||||||
|
begin
|
||||||
|
histfile = File::expand_path(HISTFILE)
|
||||||
|
if File::exists?(histfile)
|
||||||
|
lines = IO::readlines(histfile).collect { |line| line.chomp }
|
||||||
|
puts "Read #{lines.length} saved history commands from '#{histfile}'." if $VERBOSE
|
||||||
|
Readline::HISTORY.push(*lines)
|
||||||
|
else
|
||||||
|
puts "History file '#{histfile}' was empty or non-existant." if $VERBOSE
|
||||||
|
end
|
||||||
|
Kernel::at_exit do
|
||||||
|
lines = Readline::HISTORY.to_a.reverse.uniq.reverse
|
||||||
|
lines = lines[-MAXHISTSIZE, MAXHISTSIZE] if lines.length > MAXHISTSIZE
|
||||||
|
puts "Saving #{lines.length} history lines to '#{histfile}'." if $VERBOSE
|
||||||
|
File::open(histfile, File::WRONLY|File::CREAT|File::TRUNC) { |io| io.puts lines.join("\n") }
|
||||||
|
end
|
||||||
|
rescue => e
|
||||||
|
puts "Error when configuring permanent history: #{e}" if $VERBOSE
|
||||||
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue