class Utils::Grepper
def match_lines(file)
def match_lines(file) for line in file if m = @pattern.match(line) @skip_pattern and @skip_pattern =~ line and next line[m.begin(0)...m.end(0)] = black on_white m[0] @queue and @queue << line case when @args[?l] @output << @filename when @args[?L], @args[?r], @args[?g] @output << "#{@filename}:#{file.lineno}" when @args[?e], @args[?E] @output << "#{@filename}:#{file.lineno}" break else @output << red("#{@filename}:#{file.lineno}") if @args[?B] or @args[?C] @output.concat @queue.data else @output << line end if @args[?A] or @args[?C] where = file.tell lineno = file.lineno @queue.max_size.times do file.eof? and break line = file.readline @queue << line @output << line end file.seek where file.lineno = lineno end end else @queue and @queue << line end end end