Sha256: 193459af34dc8da0e8fc2b6167490f900192fc0bc09854205b84a9f844f3b5a2
Contents?: true
Size: 990 Bytes
Versions: 4
Compression:
Stored size: 990 Bytes
Contents
require 'rib/core/history' # dependency require 'rib/core/multiline' # dependency module Rib::MultilineHistory include Rib::Plugin Shell.use(self) # --------------- Rib API --------------- def before_loop @multiline_trash = 0 super end def loop_eval input return super if MultilineHistory.disabled? super ensure # SyntaxError might mean we're multiline editing handle_multiline unless multiline?($!) end def handle_interrupt return super if MultilineHistory.disabled? if multiline_buffer.size > 1 multiline_trash @multiline_trash += 1 end super end private def handle_multiline if multiline_buffer.size > 1 # so multiline editing is considering done here # TODO: there's no history.pop(size) (multiline_buffer.size + multiline_trash).times{ history.pop } history << "\n" + multiline_buffer.join("\n") end end def multiline_trash @multiline_trash ||= 0 end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rib-1.0.5 | lib/rib/more/multiline_history.rb |
rib-1.0.4 | lib/rib/more/multiline_history.rb |
rib-1.0.3 | lib/rib/more/multiline_history.rb |
rib-1.0.2 | lib/rib/more/multiline_history.rb |