diff options
Diffstat (limited to 'ruby_1_8_5/ext/curses/view2.rb')
-rw-r--r-- | ruby_1_8_5/ext/curses/view2.rb | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/ruby_1_8_5/ext/curses/view2.rb b/ruby_1_8_5/ext/curses/view2.rb deleted file mode 100644 index 18d9619216..0000000000 --- a/ruby_1_8_5/ext/curses/view2.rb +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/local/bin/ruby - -require "curses" - -if ARGV.size != 1 then - printf("usage: view file\n"); - exit -end -begin - fp = open(ARGV[0], "r") -rescue - raise "cannot open file: #{ARGV[1]}" -end - -# signal(SIGINT, finish) - -Curses.init_screen -Curses.nonl -Curses.cbreak -Curses.noecho - -$screen = Curses.stdscr - -$screen.scrollok(true) -#$screen.keypad(true) - -# slurp the file -$data_lines = [] -fp.each_line { |l| - $data_lines.push(l.chop) -} -fp.close - -$top = 0 -$data_lines[0..$screen.maxy-1].each_with_index{|line, idx| - $screen.setpos(idx, 0) - $screen.addstr(line) -} -$screen.setpos(0,0) -$screen.refresh - -def scroll_up - if( $top > 0 ) - $screen.scrl(-1) - $top -= 1 - str = $data_lines[$top] - if( str ) - $screen.setpos(0, 0) - $screen.addstr(str) - end - return true - else - return false - end -end - -def scroll_down - if( $top + $screen.maxy < $data_lines.length ) - $screen.scrl(1) - $top += 1 - str = $data_lines[$top + $screen.maxy - 1] - if( str ) - $screen.setpos($screen.maxy - 1, 0) - $screen.addstr(str) - end - return true - else - return false - end -end - -while true - result = true - c = Curses.getch - case c - when Curses::KEY_DOWN, Curses::KEY_CTRL_N - result = scroll_down - when Curses::KEY_UP, Curses::KEY_CTRL_P - result = scroll_up - when Curses::KEY_NPAGE, ?\s # white space - for i in 0..($screen.maxy - 2) - if( ! scroll_down ) - if( i == 0 ) - result = false - end - break - end - end - when Curses::KEY_PPAGE - for i in 0..($screen.maxy - 2) - if( ! scroll_up ) - if( i == 0 ) - result = false - end - break - end - end - when Curses::KEY_LEFT, Curses::KEY_CTRL_T - while( scroll_up ) - end - when Curses::KEY_RIGHT, Curses::KEY_CTRL_B - while( scroll_down ) - end - when ?q - break - else - $screen.setpos(0,0) - $screen.addstr("[unknown key `#{Curses.keyname(c)}'=#{c}] ") - end - if( !result ) - Curses.beep - end - $screen.setpos(0,0) -end -Curses.close_screen |