module Mustermann::Visualizer::Highlighter::Composite
@!visibility private
Public Instance Methods
highlight(pattern, renderer)
click to toggle source
@!visibility private
# File lib/mustermann/visualizer/highlighter/composite.rb, line 16 def highlight(pattern, renderer) operator = " #{pattern.operator} " patterns = pattern.patterns.map { |p| highlight_nested(p, renderer) }.join(quote(renderer, operator)) renderer.pre(:composite) + patterns + renderer.post(:composite) end
highlight?(pattern)
click to toggle source
@!visibility private
# File lib/mustermann/visualizer/highlighter/composite.rb, line 11 def highlight?(pattern) pattern.is_a? Mustermann::Composite end
highlight_nested(pattern, renderer)
click to toggle source
@!visibility private
# File lib/mustermann/visualizer/highlighter/composite.rb, line 23 def highlight_nested(pattern, renderer) highlighter = Highlighter.highlighter_for(pattern) if highlighter.respond_to? :nested_highlight highlighter.nested_highlight(pattern, renderer) else type = quote(renderer, pattern.class.name[/[^:]+$/].downcase + ":", :type) quote = quote(renderer, ?") type + quote + highlighter.highlight(pattern, renderer) + quote end end
nested_highlight(pattern, renderer)
click to toggle source
@!visibility private
# File lib/mustermann/visualizer/highlighter/composite.rb, line 35 def nested_highlight(pattern, renderer) quote(renderer, ?() + highlight(pattern, renderer) + quote(renderer, ?)) end
quote(renderer, string, type = :quote)
click to toggle source
@!visibility private
# File lib/mustermann/visualizer/highlighter/composite.rb, line 40 def quote(renderer, string, type = :quote) renderer.pre(type) + renderer.escape(string, string) + renderer.post(type) end