module MonoclePrint::TerminalEscapes

Constants

ANSI_COLORS
ANSI_COLOR_NAMES
ANSI_MODIFIERS
ANSI_MODIFIER_NAMES

Public Instance Methods

ansi_color( type, color, bold = nil ) click to toggle source

def term_info

@term_info ||= TermInfo.new

end

# File lib/monocle-print/terminal-escapes.rb, line 32
def ansi_color( type, color, bold = nil )
  offset =
    case type
    when ?f then 30  # foreground
    when ?b then 40  # background
    end
  code = offset + ANSI_COLORS.fetch( color.to_sym ) do
    raise( ArgumentError, "unknown color name `%s'" % color )
  end
  "\e[#{ '1;' if bold }#{ code }m"
end
ansi_modifier( name ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 62
def ansi_modifier( name )
  code =
    ANSI_MODIFIERS.fetch( name.to_sym ) do
      fail ArgumentError, "unknown modifier name `%s'" % name
    end
  "\e[#{ code }m"
end
bold() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 74
def bold
  "\e[1m"
end
clear_attr() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 70
def clear_attr
  "\e[0m"
end
clear_down() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 155
def clear_down
  "\e[0J"
end
clear_left() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 147
def clear_left
  "\e[1K"
end
clear_line() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 151
def clear_line
  "\e[2K"
end
clear_right() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 143
def clear_right
  "\e[0K"
end
clear_screen() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 163
def clear_screen
  "\e[2J"
end
clear_up() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 159
def clear_up
  "\e[1J"
end
conceal() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 90
def conceal
  "\e[8m"
end
cursor_backward( columns = 1 ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 110
def cursor_backward( columns = 1 )
  "\e[%iD" % columns
end
cursor_down( lines = 1 ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 102
def cursor_down( lines = 1 )
  "\e[%iB" % lines
end
cursor_forward( columns = 1 ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 106
def cursor_forward( columns = 1 )
  "\e[%iC" % columns
end
cursor_up( lines = 1 ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 98
def cursor_up( lines = 1 )
  "\e[%iA" % lines
end
dobule_height_bottom() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 131
def dobule_height_bottom
  "\e#4"
end
double_height_top() click to toggle source

VT100 escapes

# File lib/monocle-print/terminal-escapes.rb, line 127
def double_height_top
  "\e#3"
end
double_width() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 139
def double_width
  "\e#6"
end
konsole_color( type, r, g, b, bold = nil) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 53
def konsole_color( type, r, g, b, bold = nil)
  prefix =
    case type
    when ?f then 38  # foreground
    when ?b then 48  # background
    end
  "\e[#{ prefix };2;#{ r };#{ g };#{ b }m"
end
restore_cursor() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 118
def restore_cursor
  "\e[u"
end
reverse() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 86
def reverse
  "\e[7m"
end
save_cursor() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 114
def save_cursor
  "\e[s"
end
set_cursor( line = 0, column = 0 ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 94
def set_cursor( line = 0, column = 0 )
  "\e[%i;%iH" % [ line, column ]
end
single_width() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 135
def single_width
  "\e#5"
end
underline() click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 78
def underline
  "\e[4m"
end
xterm_color( type, color_index, bold = nil ) click to toggle source
# File lib/monocle-print/terminal-escapes.rb, line 44
def xterm_color( type, color_index, bold = nil )
  prefix =
    case type
    when ?f then 38  # foreground
    when ?b then 48  # background
    end
  "\e[#{ prefix };5;#{ color_index }m"
end