Sha256: 89d132d87e381091b66e429bb9a541ff81cf33ef492b56e0f2cbe1f8aeccabd7
Contents?: true
Size: 902 Bytes
Versions: 3
Compression:
Stored size: 902 Bytes
Contents
require 'ripl' module Ripl::Rc; end module Ripl::Rc::SqueezeHistory include Ripl::Rc # makes U avaliable # write squeezed history def write_history File.open(history_file, 'w'){ |f| f.puts U.squeeze_history(history).join("\n") } end # squeeze history on memory too def eval_input input history.pop if input.strip == '' || (history.size > 1 && input == history[-2]) super end def before_loop super if history.empty? end module Imp def squeeze_history history history.to_a.inject([]){ |result, item| if result.last == item result else result << item end }.last(Ripl.config[:rc_squeeze_history_size]) end end end module Ripl::Rc::U; extend Ripl::Rc::SqueezeHistory::Imp; end Ripl::Shell.include(Ripl::Rc::SqueezeHistory) Ripl.config[:rc_squeeze_history_size] ||= 500
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ripl-rc-0.1.5 | lib/ripl/rc/squeeze_history.rb |
ripl-rc-0.1.4 | lib/ripl/rc/squeeze_history.rb |
ripl-rc-0.1.3 | lib/ripl/rc/squeeze_history.rb |