Sha256: d9effc647740909a961680c596ac6950ff0a70b0d6462c9b7ed9aa19d621202d
Contents?: true
Size: 1.05 KB
Versions: 9
Compression:
Stored size: 1.05 KB
Contents
require 'rib/more/multiline_history' module Rib::MultilineHistoryFile include Rib::Plugin Shell.use(self) # --------------- Rib API --------------- def before_loop return super if MultilineHistoryFile.disabled? config[:multiline_history_file_token] ||= ' ' super end # --------------- Plugin API --------------- def read_history return super if MultilineHistoryFile.disabled? buffer = [] File.exist?(history_file_path) && history.empty? && IO.readlines(history_file_path).each{ |line| if line.end_with?( "#{config[:multiline_history_file_token]}\n") buffer << line[0... -config[:multiline_history_file_token].size-1] + "\n" else history << (buffer.join + line).chomp buffer = [] end } end def write_history return super if MultilineHistoryFile.disabled? # TODO: hisotroy.map is MRI 1.9+ config[:history] = history.to_a.map{ |line| line.gsub("\n", "#{config[:multiline_history_file_token]}\n") } super end end
Version data entries
9 entries across 9 versions & 1 rubygems