Sha256: 9c504ebaa84bcf64991728630e80b54a22952b0206260c0befbd0dcc030c0914
Contents?: true
Size: 793 Bytes
Versions: 3
Compression:
Stored size: 793 Bytes
Contents
# -*- coding: utf-8 -*- require 'gren/common/string_snip' class GrenSnip MAX_LINE_SIZE = 256 HEADER_SIZE = 32 MARGIN_SIZE = 32 DELIMITER = '<<snip>>' 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 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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gren-1.0.2 | lib/gren/common/grensnip.rb |
gren-1.0.1 | lib/gren/common/grensnip.rb |
gren-1.0.0 | lib/gren/common/grensnip.rb |