Uzupełnianie kodu + historia w IRB

Aby włączyć uzupełnianie nazw metod + historię w IRB (irb lub ./script/console) dodaj poniższy kod do ~/.irbrc

require 'irb/completion' require 'irb/ext/save-history' ARGV.concat [ "--readline", "--prompt-mode", "simple" ] IRB.conf[:SAVE_HISTORY] = 100 IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"

Działa! :slight_smile: Ruby 1.8.6 na OS X 10.4.10. Fajne, dzięki! Ciekawe czemu to nie jest włączone domyślnie.

Fajną rzeczą jest jeszcze przekierowanie logów na STDOUT. Niezastąpione przy sprawdzaniu co tak naprawdę nam ActiveRecord wygeneruje.

[quote=hosiawak]Aby włączyć uzupełnianie nazw metod + historię w IRB (irb lub ./script/console) dodaj poniższy kod do ~/.irbrc

require 'irb/completion' require 'irb/ext/save-history' ARGV.concat [ "--readline", "--prompt-mode", "simple" ] IRB.conf[:SAVE_HISTORY] = 100 IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"
[/quote]
Proponuję jeszcze lepsze rozwiązanie. Zapewnia nie tylko uzupełnianie, ale także wcięcia i kolorowanie. Wpierw należy doinstalować bibliotekę Wirble

sudo gem install Wirble

Plik ~/.irbrc powinien zawierać to:

[code=“ruby”]require ‘rubygems’
require ‘wirble’

Wirble.init
Wirble.colorize

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:IRB_RC] = proc do |conf|
leader = " " * conf.irb_name.length
conf.prompt_i = “#{conf.irb_name} > "
conf.prompt_s = leader + ’ " ’
conf.prompt_c = leader + ’ + ’
conf.return_format = leader + " ==> %s\n\n”
puts “Welcome to better IRB!”
end[/code]
Wirble ma także zintegrowaną obsługę polecenia ri wyświetlającego dokumentację.

Krotka, szybka uwaga - poniewaz ./script/console w railsach uzywa irb, wirble zadzaiala takze tam :slight_smile: Nice :wink: