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

<n>J = Clear (part of) the screen.

# File lib/epitools/term.rb, line 63
def clear
  # If n is 2, clear entire screen (and moves cursor to upper left on DOS ANSI.SYS).
  print "\e[2J\e[H"
end
clear_all_above() click to toggle source
# File lib/epitools/term.rb, line 68
def clear_all_above
  # If n is 1, clear from cursor to beginning of the screen.
  print "\e[1J"
end
clear_all_below() click to toggle source
# File lib/epitools/term.rb, line 73
def clear_all_below
  # If n is 0 (or missing), clear from cursor to end of screen.
  print "\e[0J"
end
clear_eol() click to toggle source

0 = clear to end of line

# File lib/epitools/term.rb, line 55
def clear_eol
  print "\e[0K"
end
clear_line() click to toggle source

2 = clear entire line

# File lib/epitools/term.rb, line 50
def clear_line
  print "\e[2K"
end
clear_scrollback_buffer!() click to toggle source
# File lib/epitools/term.rb, line 78
def clear_scrollback_buffer!
  # If n is 3, clear entire screen and delete all lines saved in the scrollback buffer (this feature was added for xterm and is supported by other terminal applications).
  print "\e[3J"
end
color(fore, back=nil) click to toggle source
# File lib/epitools/term.rb, line 116
def color(fore, back=nil)
  @fore = fore
  @back = back if back
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 108
def hide_cursor
  print "\e[?25l"
end
home() click to toggle source
# File lib/epitools/term.rb, line 92
def home
  move_to
end
move_to(row: 1, col: 1) click to toggle source

<n>;<m>H = Move!

# File lib/epitools/term.rb, line 88
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 100
def move_to_bottom
  move_to_row(height-1)
end
move_to_row(n) click to toggle source
# File lib/epitools/term.rb, line 96
def move_to_row(n)
  move_to(row: n)
end
move_to_top() click to toggle source
# File lib/epitools/term.rb, line 104
def move_to_top
  move_to_row(1)
end
show_cursor() click to toggle source
# File lib/epitools/term.rb, line 112
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 rescue [80,25]
end
width() click to toggle source
# File lib/epitools/term.rb, line 35
def width;  size[0]; end