Sha256: e55d1a290e029aa9f33fa1c1b4a12ad47466480e0505c6599c217b26335f4330
Contents?: true
Size: 913 Bytes
Versions: 2
Compression:
Stored size: 913 Bytes
Contents
module TermNote class Show attr_accessor :panes def initialize @panes ||= [] end def add(pane) raise ArgumentError, "Pane required" if pane.nil? panes << pane pane.show = self end def pane @pane || panes.first end def position panes.index pane end def total panes.size end def start active = true while active pane.call $stdout.winsize case command when "j" then forward when "k" then backward when "q" then active = false end end end def forward @pane = panes[position + 1] || panes.first end def backward @pane = panes[position - 1] || panes.last end def header "[#{position + 1}/#{total}] - #{panes.first.title}\n".bold end private def command $stdin.getch end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
termnote-1.5.1 | lib/termnote/show.rb |
termnote-1.5.0 | lib/termnote/show.rb |