#!/usr/bin/env ruby # encoding: UTF-8 require 'rubygems' gem 'clipboard' require 'curses' require 'optparse' $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) def parse_options options = {} parser = OptionParser.new do |opts| opts.banner = < test if it works possible = Ruco::FileStore.new('~/.ruco/cache').cache('color_possible') do system(%{TERM=xterm-256color ruby -r curses -e 'Curses.noecho' > /dev/null 2>&1}) end ENV['TERM'] = 'xterm-256color' if possible end end end end $ruco_colors = options[:colors] require 'ruco' # draw app and redraw after each keystroke (or paste) Dispel::Screen.open(options) do |screen| $ruco_screen = screen app = Ruco::Application.new(ARGV[0], :convert_tabs => options[:convert_tabs], :undo_stack_size => options[:undo_stack_size], :lines => screen.lines, :columns => screen.columns ) screen.draw *app.display_info Dispel::Keyboard.output do |key| screen.debug_key(key) if options[:debug_keys] if key == :resize app.resize(screen.lines, screen.columns) else result = app.key key break if result == :quit end screen.draw *app.display_info end end