module Term

Example usage:

puts Term::Table[ (1..100).to_a ].horizontally #=> prints all the numbers, ordered across rows
puts Term::Table[ (1..100).to_a ].vertically #=> prints all the numbers, ordered across columns
puts Term::Table[ [[1,2], [3,4]] ] #=> prints the table that was supplied

Term::Table.new do |t|
  t.row [...]
  t.rows[5] = [...]
  t.rows << [...]
  t.col []
end.to_s

table.compact.to_s #=> minimize the table's columns

Attributes

wrap[RW]
x[RW]
y[RW]

Public Instance Methods

clear() click to toggle source
# File lib/epitools/term.rb, line 40
def clear
  print "\e[H\e[J"
end
clear_eol() click to toggle source
# File lib/epitools/term.rb, line 48
def clear_eol
  print "\e[0K"
end
clear_line() click to toggle source
# File lib/epitools/term.rb, line 44
def clear_line
  print "\e[2K"
end
color(fore, back=nil) click to toggle source
# File lib/epitools/term.rb, line 80
def color(fore, back=nil)
  @fore = fore
  @back = back if back
end
goto(x,y) click to toggle source
# File lib/epitools/term.rb, line 37
def goto(x,y); @x, @y = x, y; end
height() click to toggle source
# File lib/epitools/term.rb, line 36
def height; size[1]; end
hide_cursor() click to toggle source
# File lib/epitools/term.rb, line 72
def hide_cursor
  print "\e[?25l"
end
home() click to toggle source
# File lib/epitools/term.rb, line 56
def home
  move_to
end
move_to(row: 1, col: 1) click to toggle source
# File lib/epitools/term.rb, line 52
def move_to(row: 1, col: 1)
  print "\e[#{row};#{col}H"
end
move_to_bottom() click to toggle source
# File lib/epitools/term.rb, line 64
def move_to_bottom
  move_to_row(height-1)
end
move_to_row(n) click to toggle source
# File lib/epitools/term.rb, line 60
def move_to_row(n)
  move_to(row: n)
end
move_to_top() click to toggle source
# File lib/epitools/term.rb, line 68
def move_to_top
  move_to_row(1)
end
pos() click to toggle source
# File lib/epitools/term.rb, line 38
def pos; [@x, @y]; end
puts(s) click to toggle source
# File lib/epitools/term.rb, line 85
def puts(s)
  # some curses shit
end
show_cursor() click to toggle source
# File lib/epitools/term.rb, line 76
def show_cursor
  print "\e[?25h"
end
size() click to toggle source

Return the [width,height] of the terminal.

# File lib/epitools/term.rb, line 31
def size
  $stdout.winsize.reverse
end
width() click to toggle source
# File lib/epitools/term.rb, line 35
def width;  size[0]; end