Method: WCC::DiffItem#html_hilite_text

Defined in:
lib/wcc/diff.rb

#html_hilite_text(css_klass = 'hilite') ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/wcc/diff.rb', line 34

def html_hilite_text(css_klass = 'hilite')
  return @text if @hilite.nil?
  
  i = 0
  new_text = ''
  in_span = false
  @text.chars.to_a.each do |c|
    if @hilite.include?(i)
      if not in_span
        new_text += "<span class=\"#{css_klass}\">"
        in_span = true
      end
      new_text += (c == ' ' ? '&nbsp;' : c)
    else
      if in_span
        new_text += "</span>"
        in_span = false
      end
      new_text += c
    end
    i += 1
  end
  new_text += "</span>" if in_span
  new_text
end