class GrenSnip

Constants

DELIMITER
HEADER_SIZE
MARGIN_SIZE
MAX_LINE_SIZE

Public Class Methods

coloring(line, match_datas) click to toggle source
# File lib/milkode/common/grensnip.rb, line 25
def self.coloring(line, match_datas)
  match_datas.each do |m|
    line = line.split(m[0]).join(HighLine::ON_GREEN + m[0] + HighLine::CLEAR)
  end
  
  line = line.split(DELIMITER).join(HighLine::ON_CYAN + DELIMITER + HighLine::CLEAR)

  line
end
snip(str, match_datas) click to toggle source
# File lib/milkode/common/grensnip.rb, line 10
def self.snip(str, match_datas)
  return str if (str.size <= MAX_LINE_SIZE)

  ranges = []
  ranges << (0..HEADER_SIZE-1)
  ranges << (-HEADER_SIZE..-1)

  match_datas.each do |m|
    ranges << (m.begin(0)-MARGIN_SIZE..m.end(0)+MARGIN_SIZE)
  end

  snipper = StringSnip.new(MAX_LINE_SIZE, DELIMITER)
  return snipper.snip(str, ranges)
end